Docker Compose is the runtime source of truth. Ansible prepares the host,
stages configuration, and starts the Compose-defined stacks.
core shared runtime services
observability metrics, logs, and dashboards
llm LLM gateway, key management, tracing, and audit
wiki public Wiki.js documentation
local Compose base files plus dev overlays
production Compose base files plus prod overlays staged under /srv/apps
Production deployment runs through GitHub Actions and Ansible:
validate -> deploy
The deploy job runs preflight and stack playbooks sequentially so Python,
Ansible, SSH, and Infisical setup happen once per deployment.
Ansible owns host orchestration. Compose owns service topology. Runtime secrets
are external and staged as env files before Compose starts services.