The LibOps ISLE Template is a fork of ISLE Site Template that's been customized using sitectl-isle components. It includes Drupal, Traefik, MariaDB, Solr, ActiveMQ, Alpaca, and LibOps derivative services.
Docs:
- sitectl installed on the host that will run the site.
sitectl-isleinstalled for ISLE create, validation, healthcheck, and helper commands.sitectl-drupalinstalled because ISLE includes the Drupal plugin surface.- Docker with the Compose v2 plugin installed on the same host.
Create a new ISLE site from this template:
sitectl create isle/default \
--template-repo https://github.com/libops/isle \
--path ./my-isle-site \
--type local \
--checkout-source template \
--default-contextThe site is served through Traefik at http://localhost by default.
The drupal service builds this checkout on top of the LibOps Islandora base image. The Dockerfile copies Composer lockfiles and assets before local recipes, modules, themes, config, and rootfs additions so Docker can reuse dependency layers when only site customizations change. Local builds use the platform selected by the Docker CLI and do not push images.
Run these from the generated checkout, or add --context <name> when operating from elsewhere.
Start or update the stack with sitectl compose:
sitectl compose up --remove-orphans -dCheck the site and context configuration with sitectl healthcheck and sitectl validate:
sitectl healthcheck
sitectl validateUpdate image tags or pin a full image reference with sitectl image:
sitectl image set --tag drupal=nginx-1.30.3-php84 --tag solr=9 --tag alpaca=main
sitectl image set --image drupal=libops/islandora:nginx-1.30.3-php84@sha256:...Enable local development bind mounts with sitectl set, then apply the component change with sitectl converge:
sitectl set dev-mode enabled
sitectl convergePublish a domain, switch HTTP/TLS mode, configure Let's Encrypt, trust upstream proxies, or tune upload limits with the ingress component:
sitectl set ingress enabled --mode https-default --domain islandora.localhost
sitectl set ingress enabled --mode https-letsencrypt --domain islandora.example.org --acme-email ops@example.org
sitectl set ingress enabled --trusted-ip 203.0.113.10/32 --max-upload-size 2G --upload-timeout 10m
sitectl convergeEnable ISLE bot mitigation with sitectl set, then apply it with sitectl converge:
sitectl set bot-mitigation on
sitectl convergeSee the ISLE sitectl plugin docs for Fedora, Blazegraph, IIIF, derivative microservices, cache, sync, migration, ingress, and bot mitigation details.
The Makefile is intentionally small. It only keeps ISLE-specific targets that are not core sitectl operations:
make demo-objects
make sync-solr-conf
make create-starter-site-pr
make cleanUse sitectl compose ... and sitectl set ... directly for normal stack operations.
This template starts from the upstream ISLE Site Template and applies LibOps defaults:
- Drupal codebase at the repository root.
- Fedora replaced with Drupal private files by default.
- Blazegraph removed by default.
- Cantaloupe replaced with Triplet.
- LibOps images for the application services.
The Docker Compose template and LibOps-specific setup in this repository are licensed under the MIT License. The upstream Islandora starter site is licensed separately under the GNU General Public License v2; see LICENSE.islandora-starter-site.
Forked from https://github.com/Islandora-Devops/isle-site-template