Files
docker-compose/caddy-cloudflare-ddns-crowdsec/docker-compose.yml
2025-11-18 19:36:53 +05:30

52 lines
1.6 KiB
YAML

services:
crowdsec:
container_name: crowdsec
image: ghcr.io/crowdsecurity/crowdsec:v1.7.3@sha256:4beb1633cf4f41bb6f9e64d065d151d3aa5e3aa7082d5c3061a243037db0d890
restart: unless-stopped
environment:
- BOUNCER_KEY_CADDY=${CROWDSEC_API_KEY}
- GID=${GID}
- COLLECTIONS=${COLLECTIONS}
volumes:
- ${APPDATA_PATH}/caddy/crowdsec-acquis.d:/etc/crowdsec/acquis.d
- ${APPDATA_PATH}/caddy/crowdsec-db:/var/lib/crowdsec/data/
- ${APPDATA_PATH}/caddy/crowdsec-config:/etc/crowdsec/
- ${APPDATA_PATH}/caddy/caddy-logs:/var/log/caddy:ro
networks:
- frontend
healthcheck:
test: ["CMD-SHELL", "wget --spider --quiet --tries=1 --timeout=5 http://localhost:8080/health > /dev/null 2>&1 || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
caddy:
container_name: caddy
image: ghcr.io/ryuupendragon/caddy-cloudflare-ddns-crowdsec:2.10.2@sha256:eee459bb606ed6ab49b0742436f76bd4dd10b062fced17350d7ec39b6e9c675e
restart: unless-stopped
depends_on:
crowdsec:
condition: service_healthy
cap_add:
- NET_ADMIN
environment:
- CLOUDFLARE_API_TOKEN=${CLOUDFLARE_API_TOKEN}
- CROWDSEC_API_KEY=${CROWDSEC_API_KEY}
volumes:
- ${APPDATA_PATH}/caddy/caddy-file:/etc/caddy
- ${APPDATA_PATH}/caddy/caddy-config:/config
- ${APPDATA_PATH}/caddy/caddy-data:/data
- ${APPDATA_PATH}/caddy/caddy-logs:/logs
- ${APPDATA_PATH}/caddy/caddy-srv:/srv
ports:
- ${HTTP_PORT}:80
- ${HTTPS_PORT}:443
- ${HTTPS_PORT}:443/udp
networks:
- frontend
networks:
frontend:
external: true