From 21eafc610b14b470de7a1ec124396e81f6024232 Mon Sep 17 00:00:00 2001 From: h Date: Thu, 8 Oct 2026 04:37:26 +0000 Subject: [PATCH] fix(caddy): domain variable valid for a dashed slug, /Caddyfile anchored so routes named caddyfile stay tracked --- template/caddy/.env.example.jinja | 2 +- template/caddy/.gitignore | 2 +- template/caddy/README.md.jinja | 4 ++-- template/caddy/site.caddy.jinja | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/template/caddy/.env.example.jinja b/template/caddy/.env.example.jinja index 1246d17..0d4fedb 100644 --- a/template/caddy/.env.example.jinja +++ b/template/caddy/.env.example.jinja @@ -1,2 +1,2 @@ -{{ project_slug | upper }}_DOMAIN={{ project_slug | replace('_', '-') }}.localhost +{{ project_slug | upper | replace('-', '_') }}_DOMAIN={{ project_slug | replace('_', '-') }}.localhost CLOUDFLARE_API_TOKEN= diff --git a/template/caddy/.gitignore b/template/caddy/.gitignore index acd0b35..a9e5752 100644 --- a/template/caddy/.gitignore +++ b/template/caddy/.gitignore @@ -1,2 +1,2 @@ .env -Caddyfile +/Caddyfile diff --git a/template/caddy/README.md.jinja b/template/caddy/README.md.jinja index 2434b06..d593235 100644 --- a/template/caddy/README.md.jinja +++ b/template/caddy/README.md.jinja @@ -1,7 +1,7 @@ {%- set dash = project_slug | replace('_', '-') -%} # caddy -`site.caddy` routes `{{ '{$' }}{{ project_slug | upper }}_DOMAIN}` to the project's services over the external `caddy` docker network. It works standalone and inside a shared Caddy that fronts several projects. +`site.caddy` routes `{{ '{$' }}{{ project_slug | upper | replace('-', '_') }}_DOMAIN}` to the project's services over the external `caddy` docker network. It works standalone and inside a shared Caddy that fronts several projects. Standalone: @@ -12,7 +12,7 @@ cp .env.example .env docker compose up -d ``` -Shared Caddy: mount this directory as `/etc/caddy/projects.d/{{ dash }}:ro`, keep `import /etc/caddy/projects.d/*/site.caddy` in its Caddyfile and put `{{ project_slug | upper }}_DOMAIN` in its environment. +Shared Caddy: mount this directory as `/etc/caddy/projects.d/{{ dash }}:ro`, keep `import /etc/caddy/projects.d/*/site.caddy` in its Caddyfile and put `{{ project_slug | upper | replace('-', '_') }}_DOMAIN` in its environment. Rules that keep `site.caddy` portable: diff --git a/template/caddy/site.caddy.jinja b/template/caddy/site.caddy.jinja index bd27659..5d10367 100644 --- a/template/caddy/site.caddy.jinja +++ b/template/caddy/site.caddy.jinja @@ -1,5 +1,5 @@ {%- set dash = project_slug | replace('_', '-') -%} -{%- set domain = project_slug | upper ~ '_DOMAIN' -%} +{%- set domain = project_slug | upper | replace('-', '_') ~ '_DOMAIN' -%} {$ {{- domain -}} } { encode zstd gzip {% if 'api' in routes and 'frontend' in routes %} -- 2.54.0