feat: use ${SUBDOMAIN} variable in all templates

All 51 docker-compose.yml: replaced hardcoded subdomain.${DOMAIN}
with ${SUBDOMAIN}.${DOMAIN} in Traefik labels, app env vars, and
comments.

All 51 .felhom.yml: added SUBDOMAIN deploy field (type: subdomain)
with default matching existing subdomain metadata value.

Works with felhom-controller v0.27.0 which validates and stores the
user-chosen subdomain in app.yaml. Existing deployed apps get
SUBDOMAIN auto-injected via InjectMissingFields() on next sync.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-22 15:06:44 +01:00
parent a969cbd557
commit 87d0e5e59d
102 changed files with 542 additions and 134 deletions
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "travel"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: SECRET_KEY
label: "Titkosítási kulcs"
type: secret
+6 -6
View File
@@ -1,5 +1,5 @@
# AdventureLog - Utazási napló és kalandtervező
# Domain: travel.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: postgres
# RAM: ~100M (mem_limit: 384M) | Pi-compatible: Yes
#
@@ -22,9 +22,9 @@ services:
- PGDATABASE=adventurelog
- PGUSER=adventurelog
- PGPASSWORD=${DB_PASSWORD}
- PUBLIC_URL=https://travel.${DOMAIN}
- CSRF_TRUSTED_ORIGINS=https://travel.${DOMAIN}
- FRONTEND_URL=https://travel.${DOMAIN}
- PUBLIC_URL=https://${SUBDOMAIN}.${DOMAIN}
- CSRF_TRUSTED_ORIGINS=https://${SUBDOMAIN}.${DOMAIN}
- FRONTEND_URL=https://${SUBDOMAIN}.${DOMAIN}
volumes:
- adventurelog_media:/code/media
networks:
@@ -70,13 +70,13 @@ services:
environment:
- PUBLIC_SERVER_URL=http://adventurelog:8000
- BODY_SIZE_LIMIT=Infinity
- ORIGIN=https://travel.${DOMAIN}
- ORIGIN=https://${SUBDOMAIN}.${DOMAIN}
networks:
- traefik-public
- adventurelog-internal
labels:
- "traefik.enable=true"
- "traefik.http.routers.adventurelog.rule=Host(`travel.${DOMAIN}`)"
- "traefik.http.routers.adventurelog.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.adventurelog.entrypoints=websecure"
- "traefik.http.routers.adventurelog.tls=true"
- "traefik.http.routers.adventurelog.tls.certresolver=letsencrypt"