Files
baikal-server/docker-compose.yml
T
ARIA 4dfcc3303f Let's Encrypt Support: DOMAIN+LETSENCRYPT_EMAIL in .env aktivieren echtes Zertifikat
- caddy/entrypoint.sh generiert Caddyfile jetzt dynamisch: sind DOMAIN und
  LETSENCRYPT_EMAIL gesetzt, holt Caddy automatisch ein Let's-Encrypt-Zertifikat;
  sonst Fallback auf das bisherige selbstsignierte 100-Jahres-Zertifikat.
- .env.example um DOMAIN/LETSENCRYPT_EMAIL ergaenzt (auskommentiert), inkl. Erklaerung.
- Caddy /data und /config (ACME-Cache) jetzt unter ./daten gebind-mounted statt
  Named Volumes, damit ein einzelner Ordner fuer Backup/Umzug reicht.
- statische Caddyfile entfernt (wird zur Laufzeit erzeugt), README entsprechend
  um beide Zertifikats-Modi erweitert.
2026-07-20 20:20:49 +00:00

51 lines
1.6 KiB
YAML

version: "3.8"
# Baikal CalDAV/CardDAV Server + Caddy Reverse Proxy
# Alle persistenten Daten (Baikal-Konfig, Kalender/Kontakte, TLS-Zertifikat)
# liegen unter ./daten im Projektverzeichnis.
services:
baikal:
image: ckulka/baikal:nginx
container_name: baikal
restart: unless-stopped
environment:
- TZ=Europe/Berlin
volumes:
- ./daten/config:/var/www/baikal/config
- ./daten/data:/var/www/baikal/Specific
networks:
- baikal_net
caddy:
build: ./caddy
container_name: baikal_caddy
restart: unless-stopped
environment:
# Hostname/CN fuer das selbstsignierte 100-Jahres-Zertifikat (Fallback,
# nur relevant wenn DOMAIN/LETSENCRYPT_EMAIL NICHT gesetzt sind).
- CADDY_CERT_CN=${CADDY_CERT_CN:-baikal.local}
# Domain + Kontakt-Email fuer ein echtes Let's Encrypt Zertifikat.
# Sind BEIDE gesetzt, holt/verwaltet Caddy automatisch ein Let's-Encrypt-
# Zertifikat fuer DOMAIN. Ist eines von beiden leer, faellt der
# Entrypoint auf das selbstsignierte 100-Jahres-Zertifikat zurueck.
- DOMAIN=${DOMAIN:-}
- LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL:-}
ports:
- "80:80"
- "443:443"
volumes:
- ./daten/caddy_certs:/certs
# /data enthaelt u.a. den Let's-Encrypt-Zertifikatscache (Modus 1),
# /config Caddys Runtime-Config-Autosave. Beides unter ./daten, damit
# dieser eine Ordner fuer beide Zertifikats-Modi ausreicht (Backup/Umzug).
- ./daten/caddy_data:/data
- ./daten/caddy_config:/config
depends_on:
- baikal
networks:
- baikal_net
networks:
baikal_net: