sitectl is the LibOps command-line tool for managing Docker Compose-backed application sites. It keeps contexts, Compose lifecycle commands, service helpers, component changes, local image overrides, validation, health checks, and deployment entrypoints in one consistent CLI.
Documentation: https://sitectl.libops.io
- Docker with the Compose v2 plugin for local application contexts.
- Go 1.26.1 when building
sitectlfrom source. - Application plugins such as
sitectl-drupal,sitectl-isle,sitectl-wp,sitectl-ojs,sitectl-omeka-classic,sitectl-omeka-s, orsitectl-archivesspacefor app-specific create flows and helpers.
Install sitectl, install the app plugin for the template you want to run, then create a local site:
sitectl create wp/default \
--template-repo https://github.com/libops/wp \
--path ./my-wordpress-site \
--type local \
--checkout-source template \
--default-contextStart the site with the context-aware Compose wrapper:
sitectl compose up --remove-orphans -dSee Managed applications for the Compose, local image build, HTTPS, and development override contract.
Compose lifecycle is documented in sitectl compose:
sitectl compose ps
sitectl compose logs -f
sitectl compose downContext and site checks are documented in sitectl healthcheck and sitectl validate:
sitectl healthcheck
sitectl validateLocal image overrides are documented in sitectl image:
sitectl image set --image app=ghcr.io/example/app:pr-123Component changes are written with sitectl set and applied with sitectl converge:
sitectl set ingress enabled --mode https-default --domain app.localhost
sitectl set ingress enabled --trusted-ip 203.0.113.10/32 --max-upload-size 2G --upload-timeout 10m
sitectl convergesitectl is licensed under the MIT License.
- The
configcommands for setting contexts were heavily inspired bykubectl. - Adding a TUI was inspired by 37signals' once CLI.