diff --git a/docker/edge/entrypoint-edge.sh b/docker/edge/entrypoint-edge.sh index 1b5f94f..6db96b7 100755 --- a/docker/edge/entrypoint-edge.sh +++ b/docker/edge/entrypoint-edge.sh @@ -234,6 +234,13 @@ fi rm -f "$_fetch_log" done) & +# Nomad template renders Caddyfile to /local/Caddyfile via service discovery; +# copy it into the expected location if present (compose uses the mounted path). +if [ -f /local/Caddyfile ]; then + cp /local/Caddyfile /etc/caddy/Caddyfile + echo "edge: using Nomad-rendered Caddyfile from /local/Caddyfile" >&2 +fi + # Caddy as main process — run in foreground via wait so background jobs survive # (exec replaces the shell, which can orphan backgrounded subshells) caddy run --config /etc/caddy/Caddyfile --adapter caddyfile & diff --git a/nomad/jobs/edge.hcl b/nomad/jobs/edge.hcl index 1f3e855..779b53b 100644 --- a/nomad/jobs/edge.hcl +++ b/nomad/jobs/edge.hcl @@ -114,6 +114,58 @@ job "edge" { read_only = false } + # ── Caddyfile via Nomad service discovery (S5-fix-7, issue #1018) ──── + # Renders staging upstream from Nomad service registration instead of + # hardcoded staging:80. Caddy picks up /local/Caddyfile via entrypoint. + template { + destination = "local/Caddyfile" + change_mode = "restart" + data = <