# Services Docker du développement local, lancés par ./chopin sous WSL (Docker Engine, pas Docker Desktop). # Le backend et le frontend tournent hors Docker (Node.js Linux) : seuls WARP et bgutil sont ici. # Usage manuel : docker compose -f docker-compose.dev.yml -p chopin-dev up -d name: chopin-dev services: # Proxy Cloudflare WARP (HTTP + SOCKS5 sur 1080) utilisé par yt-dlp : WARP_PROXY=http://127.0.0.1:1080 warp: image: caomingjun/warp container_name: chopin-dev-warp # Pas de relance au démarrage de Docker : seulement après un plantage restart: on-failure # 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+ # Uniquement sur la boucle locale : sinon ce serait un proxy ouvert ports: - "127.0.0.1:1080:1080" volumes: # Inscription WARP conservée entre deux lancements - chopin-dev-warp-data:/var/lib/cloudflare-warp # Fournisseur de PO tokens pour yt-dlp (le plugin bgutil est installé côté WSL par ./chopin). # Réseau de l'hôte : yt-dlp transmet son --proxy (http://127.0.0.1:1080) dans chaque requête, # et bgutil s'en sert lui-même. Dans un réseau bridge, 127.0.0.1 serait le conteneur bgutil, # pas le port WARP publié ; avec network_mode: host, c'est bien la boucle locale de WSL. # Le serveur n'a pas d'authentification : on l'écoute seulement sur 127.0.0.1 (l'image écoute # par défaut sur 0.0.0.0, d'où la commande). La version doit correspondre à BGUTIL_VERSION dans ./chopin. bgutil-provider: image: brainicism/bgutil-ytdlp-pot-provider:2.0.1 container_name: chopin-dev-bgutil restart: on-failure init: true network_mode: host command: ["--host", "127.0.0.1", "--port", "4416"] volumes: chopin-dev-warp-data: