- 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.
51 lines
1.6 KiB
YAML
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:
|