Files
chopin/docker-compose.dev.yml
T

49 lines
2.0 KiB
YAML

# 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: