sitectl-isle. Direct plugin commands live under sitectl isle for ISLE-only operations such as cache warming, migration helpers, and fcrepo sync. Create, validate, healthcheck, verify, debug, set, converge, and component inspection are core sitectl commands that dispatch to the Islandora plugin through the active context.
Because every Islandora site is also a Drupal-backed stack, the Islandora plugin includes the Drupal plugin. Shared service commands for MariaDB, Solr, and Traefik come from core sitectl and work against Islandora contexts automatically.
Create
Start a new Islandora site from the LibOps ISLE template:1
Clone the template
sitectl-isle v1.0.1 clones libops/isle from its reviewed v1.0.0 template ref into your chosen directory. Pass --template-repo and --template-branch to use a different reviewed source. The template has since published v1.1.0; selecting that newer ref is an explicit downstream update until a later plugin release advances its default.2
Configure a context
sitectl creates a local sitectl context for the new project directory.
3
Answer component questions
sitectl asks about each application component that requires a decision at create time, including fcrepo, Blazegraph, and IIIF. Cross-domain feature bundles can be selected with create flags. You can answer interactively or pre-supply answers with flags.
4
Apply component state
sitectl writes the file and Drupal config changes that reflect your component choices, so the first
docker compose up starts the stack you asked for.Component status
See which components are registered and how the project is currently configured:sitectl component describe is a core command that dispatches to the Islandora plugin based on the active context. See Components for a full explanation of what each status value means.
Managed components
The Islandora plugin currently manages these application components directly:
Review component changes through version control before promoting them. Some file mutations can run against remote contexts for QA or recovery, but the normal path is still to run them against the checkout you intend to commit.
If a checkout has a dev-mode override generated by an older plugin release, rerun
sitectl set dev-mode enabled (including any assistant flags you use). This regenerates Traefik development wiring with file-provider routes and removes the obsolete Docker-provider flags.
Updating ISLE
ISLE records each container image directly in Compose as a reviewed reference and retains an immutable digest where one is tracked. A shared environment tag is not an update interface. This also applies to Traefik: letsitectl bump propose its
tracked Compose update with the other images instead of editing a separate runtime
override.
Use this operator sequence:
- In a development checkout, run
sitectl bumpwith the intended update level and--dry-run, then run the reviewed bump without--dry-run. Read every intervening release note when crossing a major version. - If Drupal dependencies need a targeted authoring change, enable dev mode and use
sitectl drupal composer; commit both Composer manifests. If Search API Solr changed, refresh and review the tracked Solr configuration in development. - Test the branch, including any component migration named by the release notes. Before production rollout, back up MariaDB, Drupal public/private files, and any enabled Fedora or Blazegraph state, and test the restore path.
- Merge the reviewed source changes and run
sitectl deploy. It pulls images and rebuilds the Islandora/Drupal image while the current stack is online, then runs the ordered down/up rollout. The Drupal gate waits for installation and runsdrush updb -yanddrush cr; either failure stops the deploy before the final bounded full-stack start. - Run
sitectl mariadb upgradeafter a MariaDB image change. Import reviewed Drupal config-sync changes explicitly withsitectl drupal drush cim -y. - After configuration import, refresh the Drupal Solr config with
--reindexwhen Solr, Search API Solr, or search-related Drupal configuration changed. The refresh is a no-op when generated, tracked, and runtime configuration already match. Finish withsitectl healthcheck,sitectl verify, and site-specific smoke tests before discarding backups.
Shared services and ingress
Islandora contexts use core service commands for shared infrastructure such as MariaDB, Solr, and Traefik status. Use theingress component for TLS mode, domain, Cloudflare Origin CA, Let’s Encrypt, custom certificates, mkcert development certificates, trusted proxies, and upload/read timeout settings. The Islandora plugin supplies Drupal-specific route and override wiring where the stack needs it.
Component set
Turn a component on or off:--yolo to skip confirmation in automation.
Use enabled to move a distributed derivative service back into the base Compose stack, for example sitectl set homarus enabled.
See derivative microservices for the managed endpoint list and feature bundles for cross-domain ownership and rollout guidance.
Sync
Copy the fcrepo database from one context to another:Validate
Check that the active context’s project configuration is valid:Verify
After the site is online or after a site update, run verification checks for the Islandora stack. These checks are meant for CI and update validation: basic runtime status plus Islandora-specific functionality that should keep working.--demo-objects only against disposable CI, preview, development, or staging
sites because it creates demo content before checking that repository storage
grew.
Drupal commands
Because the Islandora plugin includes the Drupal plugin, allsitectl drupal commands work against Islandora contexts:

