sitectl service namespace rather than an app-specific helper.
Status
Check the Traefik container or ingress settings:TLS Modes
Switch the active context between supported TLS modes:| Mode | Use when |
|---|---|
http | Local development or internal traffic should run without HTTPS. |
mkcert | Local development should use locally trusted certificates generated by mkcert. |
letsencrypt | Public HTTP traffic can reach Traefik and it should request certificates through ACME HTTP-01. |
self-managed | Certificate and key material are mounted or managed outside sitectl. |
URI_SCHEMETLS_PROVIDERTRAEFIK_TLS_ENABLEDACME_EMAILandACME_URLwhen provided for Let’s Encrypt
mkcert, sitectl generates certs/cert.pem and certs/privkey.pem. For self-managed, sitectl installs the provided certificate and key to the same standard paths.
When a docker-compose.tls.yml override exists and the context is named, sitectl adds or removes that override from the context’s compose file list as the TLS mode changes. Application templates can use the shared env values to set app-specific HTTPS behavior, but TLS mode selection belongs to the Traefik service command.
Let’s Encrypt
Useletsencrypt when the public domain points at this Traefik instance and inbound HTTP traffic can reach port 80 for the ACME HTTP-01 challenge:
--acme-url when you need a specific ACME directory, such as a staging endpoint while testing:
Bot Mitigation
Switch bot mitigation on or off:BOT_MITIGATION, TRAEFIK_BOT_MITIGATION, and optional Turnstile values to the context env file. Application route templates attach those settings to app-specific middleware.
Templates can use Cloudflare Turnstile test keys for local validation:
TURNSTILE_SITE_KEY and TURNSTILE_SECRET_KEY in the site’s environment before deploying bot mitigation.
Traefik’s normal plugin setup can download plugin assets when the container starts. LibOps templates avoid that production-time network dependency by mounting local captcha-protect plugin source into Traefik when bot mitigation is enabled. The site repository carries the plugin source and challenge template Traefik needs, so recreating Traefik does not require a remote plugin download.
For app-level component toggles, plugins should use the core Traefik helper instead of carrying their own captcha-protect implementation. The plugin supplies its router name, route config path, and any app-specific middleware values:
ProtectRoutes, ExcludeRoutes, GoodBots, or ChallengeURL while still reusing the same local plugin install, Turnstile environment defaults, and Traefik middleware rendering.
Disabling bot mitigation removes the Traefik command, mounts, Turnstile environment defaults, and app router middleware entry. It does not need to delete an existing local plugin source directory or challenge template from the checkout.
Standalone Traefik Compose projects may still exist, but the shared command surface belongs to core sitectl, not to a dedicated Traefik CLI plugin.
Reference
tls
Switch Traefik TLS mode: http, mkcert, letsencrypt, or self-managed
| Flag | Default | Description |
|---|---|---|
--acme-url | ACME directory URL to set when using letsencrypt | |
--cert-file | Public certificate file to install for self-managed TLS | |
--domain | Domain to use for mkcert; defaults to DOMAIN from the env file or localhost | |
--email | ACME email to set when using letsencrypt | |
--env-file | Env file to update; defaults to the first context env-file or .env | |
--key-file | Private key file to install for self-managed TLS | |
--tls-compose-file | docker-compose.tls.yml | TLS compose override to add/remove from the context when it exists |
bot-mitigation
Switch Traefik bot mitigation on or off
| Flag | Default | Description |
|---|---|---|
--env-file | Env file to update; defaults to the first context env-file or .env | |
--turnstile-secret-key | Cloudflare Turnstile secret key to write to the env file | |
--turnstile-site-key | Cloudflare Turnstile site key to write to the env file |
status
Show the compose service container status
| Flag | Default | Description |
|---|---|---|
--service | traefik | Compose service name |
ingress-status
Show Traefik ingress TLS and bot-mitigation settings
| Flag | Default | Description |
|---|---|---|
--env-file | Env file to update; defaults to the first context env-file or .env |

