version: "3.9" services: # Proxy Cloudflare WARP (HTTP + SOCKS5 sur le port 1080) utilisé par yt-dlp warp: image: caomingjun/warp container_name: subsonics-warp restart: unless-stopped # Requis pour que WARP puisse créer son interface TUN device_cgroup_rules: - "c 10:200 rwm" cap_add: - MKNOD - AUDIT_WRITE - NET_ADMIN sysctls: - net.ipv6.conf.all.disable_ipv6=0 - net.ipv4.conf.all.src_valid_mark=1 environment: - WARP_SLEEP=2 # - WARP_LICENSE_KEY= # optionnel : clé WARP+ # Exposé uniquement en local (pour le dev hors Docker), jamais sur l'extérieur : ce serait un proxy ouvert ports: - "127.0.0.1:1080:1080" volumes: - subsonics-warp-data:/var/lib/cloudflare-warp subsonics-backend: build: context: . # dossier backend dockerfile: Dockerfile container_name: subsonics-backend ports: - "4000:4000" environment: - WARP_PROXY=http://warp:1080 # Si WARP tombe ou se fait bloquer, on retente en connexion directe - WARP_FALLBACK_DIRECT=true depends_on: - warp volumes: - subsonics-backend-data:/app/data restart: unless-stopped volumes: subsonics-backend-data: subsonics-warp-data: