Skip to main content
The Islandora plugin adds Islandora-specific behavior on top of the core sitectl workflow. The plugin binary is 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 isle-site-template:
sitectl create isle
The create flow:
1

Clone the template

sitectl clones isle-site-template from main into your chosen directory. Pass --template-repo and --template-branch to use a different source.
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. 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.
After create completes, review the generated changes and add your own Git remote before committing the checkout.

Component status

See which components are registered and how the project is currently configured:
sitectl component describe
sitectl component describe --path /path/to/project
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:
ComponentWhat it controlsCommon commands
fcrepoFedora Commons service, volume, Drupal Fedora config, and filesystem migration guidance.sitectl set fcrepo enabled or sitectl set fcrepo superceded --isle-file-system-uri public
blazegraphBlazegraph service, triplestore volume, Alpaca triplestore indexing, and Drupal triplestore actions.sitectl set blazegraph enabled or sitectl set blazegraph disabled
iiifThe IIIF image server implementation: Cantaloupe or Triplet.sitectl set iiif cantaloupe or sitectl set iiif triplet
iiif-topologyWhether IIIF runs in this Compose project or behind an external upstream.sitectl set iiif-topology distributed --iiif-upstream-url https://iiif.example.edu
fits, crayfits, homarus, houdini, hypercube, mergepdfWhether each derivative microservice runs in this Compose project or uses the managed LibOps endpoint.sitectl set homarus distributed or sitectl set homarus enabled
All ISLE component changes are local-only. Run them against the checkout you intend to modify, review the diff, then commit the generated changes.

Shared services and ingress

Islandora contexts use core service commands for shared infrastructure such as MariaDB, Solr, and Traefik. Use sitectl traefik for TLS modes, local certificates, Let’s Encrypt settings, ingress status, and bot mitigation. The Islandora plugin supplies Drupal-specific route and override wiring where the stack needs it, but the operator-facing ingress command surface belongs to core sitectl.

Component set

Turn a component on or off:
sitectl set fcrepo off
sitectl set blazegraph on --yolo
sitectl set iiif triplet
sitectl set iiif-topology distributed --iiif-upstream-url https://iiif.example.edu
sitectl set fits distributed
sitectl set crayfits distributed
sitectl set homarus distributed
sitectl set houdini distributed
sitectl set hypercube distributed
sitectl set mergepdf distributed
sitectl updates the relevant files and Drupal config sync files, then prompts for confirmation. Pass --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 full managed endpoint list. See Traefik service commands for TLS, ingress status, and bot mitigation.

Sync

Copy the fcrepo database from one context to another:
sitectl isle sync fcrepo --source museum-prod --target museum-local
This backs up fcrepo on the source, stages the artifact, and imports it into the target.

Validate

Check that the active context’s project configuration is valid:
sitectl validate

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.
sitectl verify
sitectl verify --fcrepo off --iiif triplet --bot-mitigation on
Use --demo-objects only against disposable CI, preview, development, or staging sites because it creates demo content before checking that repository storage grew.

Migrate

Migrate legacy ISLE Compose service profiles to the current format:
sitectl isle migrate merge-compose-profiles --input docker-compose.yml --output docker-compose.yml

Drupal commands

Because the Islandora plugin includes the Drupal plugin, all sitectl drupal commands work against Islandora contexts:
sitectl drupal drush cr
sitectl drupal sync database --source museum-prod --target museum-local
sitectl drupal login