Caddy per Schalter in der .env statt per CLI-Flag
Frage aus dem Betrieb: laesst sich ein Compose-Abschnitt ueber eine Variable in der .env zu- und abschalten, statt ihn auszukommentieren? Bedingte Bloecke kennt Compose nicht - aber COMPOSE_PROFILES darf in der .env stehen und aktiviert das Profil, ohne dass ein Flag noetig ist. COMPOSE_PROFILES= -> Caddy wird nicht angelegt (Standard) COMPOSE_PROFILES=caddy -> Caddy startet bei `docker-compose up -d` mit Vorteil gegenueber `--profile caddy`: der Schalter wirkt auch bei down, logs und ps, wo das Flag leicht vergessen wird und dann verwaiste Container zurueckbleiben. Empirisch geprueft mit einem separaten Testprojekt (compose 1.29.2): ohne den Eintrag startete nur der ungeschuetzte Dienst, mit Eintrag beide. Dokumentiert in .env.example, im Kommentar am caddy-Dienst und in der README. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+11
-3
@@ -54,9 +54,17 @@ JWT_REFRESH_EXPIRES_IN=7d
|
|||||||
ENCRYPTION_KEY=change-this-to-64-hex-characters-please-rotate-before-production-xx
|
ENCRYPTION_KEY=change-this-to-64-hex-characters-please-rotate-before-production-xx
|
||||||
|
|
||||||
# ---------- Optionaler Reverse-Proxy (Caddy) ----------
|
# ---------- Optionaler Reverse-Proxy (Caddy) ----------
|
||||||
# Nur nötig, wenn du KEINEN eigenen Reverse-Proxy hast und Caddy das SSL
|
# Brauchst du nur, wenn du KEINEN eigenen Reverse-Proxy hast (nginx, Nginx
|
||||||
# übernehmen soll. Starten dann mit: docker-compose --profile caddy up -d
|
# Proxy Manager, Traefik) und Caddy das SSL übernehmen soll.
|
||||||
# Ohne dieses Profil bleibt Caddy aus und ändert nichts am Setup.
|
#
|
||||||
|
# EIN/AUS über diesen Schalter – nichts auskommentieren:
|
||||||
|
# leer lassen -> Caddy wird nicht einmal angelegt (Standard)
|
||||||
|
# =caddy -> Caddy startet bei jedem `docker-compose up -d` mit
|
||||||
|
# Der Schalter wirkt auch bei `down`, `logs` usw. – im Gegensatz zum
|
||||||
|
# Kommandozeilen-Flag `--profile caddy`, das man leicht vergisst.
|
||||||
|
COMPOSE_PROFILES=
|
||||||
|
|
||||||
|
# Nur relevant, wenn oben `caddy` gesetzt ist:
|
||||||
DOMAIN=crm.example.com
|
DOMAIN=crm.example.com
|
||||||
CADDY_DIR=./data/caddy
|
CADDY_DIR=./data/caddy
|
||||||
CADDY_CONFIG_DIR=./data/caddy-config
|
CADDY_CONFIG_DIR=./data/caddy-config
|
||||||
|
|||||||
@@ -826,17 +826,22 @@ dahinter hängst.
|
|||||||
Hast du **keinen**, kannst du Caddy als optionalen Dienst dazuschalten. Er holt
|
Hast du **keinen**, kannst du Caddy als optionalen Dienst dazuschalten. Er holt
|
||||||
und erneuert das SSL-Zertifikat automatisch:
|
und erneuert das SSL-Zertifikat automatisch:
|
||||||
|
|
||||||
```bash
|
Dafür gibt es einen Schalter in der `.env` – nichts muss auskommentiert werden:
|
||||||
# In der .env die Domain setzen
|
|
||||||
|
```env
|
||||||
|
COMPOSE_PROFILES=caddy # leer = kein Caddy (Standard)
|
||||||
DOMAIN=crm.example.de
|
DOMAIN=crm.example.de
|
||||||
HTTPS_ENABLED=true
|
HTTPS_ENABLED=true
|
||||||
|
|
||||||
# Mit Caddy starten (Ports 80 + 443 müssen frei sein)
|
|
||||||
docker-compose --profile caddy up -d
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Ohne `--profile caddy` bleibt Caddy aus und nichts ändert sich – der Dienst
|
```bash
|
||||||
wird dann gar nicht erst angelegt.
|
docker-compose up -d # startet jetzt zusätzlich Caddy
|
||||||
|
```
|
||||||
|
|
||||||
|
Solange `COMPOSE_PROFILES` leer ist, wird der Caddy-Dienst **gar nicht erst
|
||||||
|
angelegt** – der Stack verhält sich exakt wie ohne ihn. Der Schalter wirkt auch
|
||||||
|
bei `down`, `logs` und `ps`, im Gegensatz zum Flag `--profile caddy`, das man
|
||||||
|
bei Folgebefehlen leicht vergisst.
|
||||||
|
|
||||||
**Was dabei zu beachten ist:**
|
**Was dabei zu beachten ist:**
|
||||||
|
|
||||||
|
|||||||
+7
-3
@@ -91,9 +91,13 @@ services:
|
|||||||
- ${BANKDATA_DIR:-./data/bankdata}:/app/bankdata
|
- ${BANKDATA_DIR:-./data/bankdata}:/app/bankdata
|
||||||
|
|
||||||
# Optionaler Reverse-Proxy mit automatischem SSL – nur fuer Betreiber OHNE
|
# Optionaler Reverse-Proxy mit automatischem SSL – nur fuer Betreiber OHNE
|
||||||
# eigenen Proxy. Startet NICHT mit `docker-compose up -d`, sondern nur mit:
|
# eigenen Proxy. Wird standardmaessig NICHT angelegt.
|
||||||
# docker-compose --profile caddy up -d
|
#
|
||||||
# Wer nginx / Nginx Proxy Manager / Traefik davor hat, laesst das weg.
|
# Einschalten ueber die .env (kein Auskommentieren noetig):
|
||||||
|
# COMPOSE_PROFILES=caddy
|
||||||
|
# Danach reicht wie gewohnt `docker-compose up -d`. Alternativ einmalig per
|
||||||
|
# Flag: `docker-compose --profile caddy up -d`.
|
||||||
|
# Wer nginx / Nginx Proxy Manager / Traefik davor hat, laesst das Feld leer.
|
||||||
caddy:
|
caddy:
|
||||||
image: caddy:2-alpine
|
image: caddy:2-alpine
|
||||||
container_name: opencrm-caddy
|
container_name: opencrm-caddy
|
||||||
|
|||||||
Reference in New Issue
Block a user