services: crowdsec: container_name: crowdsec image: ghcr.io/crowdsecurity/crowdsec:v1.6.10 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: proxy: ipv4_address: 172.30.0.3 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: docker.io/ryuupendragon/caddy-crowdsec:2.10.0 restart: unless-stopped depends_on: crowdsec: condition: service_healthy cap_add: - NET_ADMIN environment: - 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: proxy: ipv4_address: 172.30.0.2 networks: proxy: name: proxy driver: bridge ipam: config: - subnet: 172.30.0.0/16 gateway: 172.30.0.1