caddy_base_dir was {{ /opt/homebrew/etc/caddy if ansible_os_family == Darwin
else /etc/caddy }} with unquoted paths/value, so Jinja parsed '/' as division
-> 'unexpected /' templating error (hit on acp_opencode). Quote the literals:
'{{ "/opt/homebrew/etc/caddy" if ansible_os_family == "Darwin" else "/etc/caddy" }}'
across the 9 affected roles.
|
||
|---|---|---|
| .. | ||
| defaults | ||
| files | ||
| handlers | ||
| tasks | ||
| templates | ||
| README.md | ||
Zitadel Docker role
This role provisions a Zitadel stack with Postgres and the login frontend, then exposes both services on localhost-only ports so the host Caddy instance can terminate TLS and reverse proxy traffic for {{ zitadel_domain }}.
The previous embedded nginx/certbot deployment mode now lives in the separate legacy role docker/zitadel_legacy.
Layout
files/
└── run.sh
templates/
├── docker-compose.yaml
└── zitadel-site.caddy.j2
Defaults
zitadel_deploy_dir:/opt/zitadelzitadel_workspace:{{ zitadel_deploy_dir }}zitadel_domain:auth.svc.pluszitadel_masterkey:MasterkeyNeedsToHave32Characterszitadel_api_bind_host:127.0.0.1zitadel_api_port:19080zitadel_login_bind_host:127.0.0.1zitadel_login_port:19081zitadel_caddy_conf_dir:/etc/caddy/conf.dzitadel_caddy_fragment_path:/etc/caddy/conf.d/zitadel.caddy
RUN
ansible-playbook -i inventory.ini deploy_zitadel_docker.yaml -e "domain=auth.svc.plus" -D -C -l auth.svc.plus ansible-playbook -i inventory.ini deploy_zitadel_docker.yaml -e "domain=auth.svc.plus" -D -l auth.svc.plus