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
|
||||
|
||||
# ---------- Optionaler Reverse-Proxy (Caddy) ----------
|
||||
# Nur nötig, wenn du KEINEN eigenen Reverse-Proxy hast und Caddy das SSL
|
||||
# übernehmen soll. Starten dann mit: docker-compose --profile caddy up -d
|
||||
# Ohne dieses Profil bleibt Caddy aus und ändert nichts am Setup.
|
||||
# Brauchst du nur, wenn du KEINEN eigenen Reverse-Proxy hast (nginx, Nginx
|
||||
# Proxy Manager, Traefik) und Caddy das SSL übernehmen soll.
|
||||
#
|
||||
# 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
|
||||
CADDY_DIR=./data/caddy
|
||||
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
|
||||
und erneuert das SSL-Zertifikat automatisch:
|
||||
|
||||
```bash
|
||||
# In der .env die Domain setzen
|
||||
Dafür gibt es einen Schalter in der `.env` – nichts muss auskommentiert werden:
|
||||
|
||||
```env
|
||||
COMPOSE_PROFILES=caddy # leer = kein Caddy (Standard)
|
||||
DOMAIN=crm.example.de
|
||||
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
|
||||
wird dann gar nicht erst angelegt.
|
||||
```bash
|
||||
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:**
|
||||
|
||||
|
||||
+7
-3
@@ -91,9 +91,13 @@ services:
|
||||
- ${BANKDATA_DIR:-./data/bankdata}:/app/bankdata
|
||||
|
||||
# Optionaler Reverse-Proxy mit automatischem SSL – nur fuer Betreiber OHNE
|
||||
# eigenen Proxy. Startet NICHT mit `docker-compose up -d`, sondern nur mit:
|
||||
# docker-compose --profile caddy up -d
|
||||
# Wer nginx / Nginx Proxy Manager / Traefik davor hat, laesst das weg.
|
||||
# eigenen Proxy. Wird standardmaessig NICHT angelegt.
|
||||
#
|
||||
# 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:
|
||||
image: caddy:2-alpine
|
||||
container_name: opencrm-caddy
|
||||
|
||||
Reference in New Issue
Block a user