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
+9 -1
View File
@@ -29,6 +29,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "recipes"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: 'Receptkezelő és étkezés tervező a családnak'
@@ -47,4 +55,4 @@ app_info:
- 'Jelentkezz be: changeme@example.com / MyPassword'
- 'Változtasd meg azonnal az email címet és jelszót'
- 'Importáld az első receptet egy weboldal URL beillesztésével'
- 'Próbáld ki az étkezés tervezőt'
- 'Próbáld ki az étkezés tervezőt'
+3 -3
View File
@@ -1,5 +1,5 @@
# Mealie - Recipe Manager & Meal Planner
# Domain: recipes.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (SQLite, built-in)
# RAM: ~200MB (mem_limit: 1000M) | Pi-compatible: Yes (arm64 only)
#
@@ -25,7 +25,7 @@ services:
- TZ=Europe/Budapest
- MAX_WORKERS=1
- WEB_CONCURRENCY=1
- BASE_URL=https://recipes.${DOMAIN}
- BASE_URL=https://${SUBDOMAIN}.${DOMAIN}
volumes:
- mealie_data:/app/data/
networks:
@@ -42,7 +42,7 @@ services:
start_period: 60s
labels:
- "traefik.enable=true"
- "traefik.http.routers.mealie.rule=Host(`recipes.${DOMAIN}`)"
- "traefik.http.routers.mealie.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.mealie.entrypoints=websecure"
- "traefik.http.routers.mealie.tls=true"
- "traefik.http.routers.mealie.tls.certresolver=letsencrypt"