59 lines
1.7 KiB
YAML
59 lines
1.7 KiB
YAML
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-cloudflare-ddns-crowdsec:2.10.0
|
|
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:
|
|
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
|