config.yaml is the operator-managed configuration source.
Application and paths
app.name, app.version, app.dashboard_url
app.environment: development or production
paths.docker_compose and paths.docker_compose_dev
- generated environment, DNS secret, Traefik, storage, log, campaign, and
certificate paths
Relative paths resolve from the repository root.
Docker
docker.images defines each image’s tag, build context, enabled state, and
either one Dockerfile or optional architecture-specific Dockerfiles. The
shipped Selkies image uses one multi-architecture Dockerfile.
docker.compose_images lists images built by Compose. docker.socket and
docker.timeout configure host tooling.
TLS and DNS
ssl.auto_generate controls local certificate provisioning. Certificate
identity fields and validity_days apply to generated local certificates.
The shipped configuration uses placeholders for certificate identity. Replace
them before running setup when automatic local certificate generation is
enabled:
In production, also set ssl.acme_email to an operator-controlled address for
ACME certificate notifications. Do not use a maintainer’s personal address.
ssl.dns_challenge contains:
provider: Traefik/lego provider name;
credentials: required secret variable names;
environment: non-secret provider variables.
For production deployments, replace the shipped placeholders before running
setup:
credentials must contain the environment-variable names required by the
selected provider, not their values. During setup, the CLI securely prompts
for those values and stores them as separate local secret files.
See Traefik’s ACME DNS challenge provider reference
for supported provider names and required environment variables. Credential values must
not be stored in config.yaml.
Administration and sessions
admin defines the bootstrap username/email and admin session limits.
sessions defines active-session capacity, token TTL, startup/handshake
timeouts, and admission rate limits.
Networks, cleanup, and CLI
network controls IP detection and named Docker networks. containers
defines application naming patterns. cleanup defines policy defaults.
cli.confirm_destructive controls confirmation prompts; keep it enabled for
interactive deployments.
Run python3 p-bitm.py setup after changing values that generate runtime
state.Last modified on September 10, 2026