# Installation locale — build de l'image depuis le repo, pas de registre. # Usage: docker compose -f docker-compose/docker-compose.local.yml up -d --build # Variables d'env lues dans docker-compose/.env (même répertoire). services: newtube: build: context: .. dockerfile: docker/Dockerfile.origi image: newtube-angular:latest container_name: newtube ports: # Hôte 4200 -> conteneur 4000 (4000 reste libre pour le serveur de dev local) - "${HOST_PORT:-4200}:4000" environment: - PORT=${PORT:-4000} - NODE_ENV=${NODE_ENV:-production} - JWT_SECRET=${JWT_SECRET:-dev-secret-change-me} - ACCESS_TTL_MIN=${ACCESS_TTL_MIN:-15} - REFRESH_TTL_DAYS=${REFRESH_TTL_DAYS:-2} - REMEMBER_TTL_DAYS=${REMEMBER_TTL_DAYS:-30} - YT_CACHE_TTL_MS=${YT_CACHE_TTL_MS:-1800000} - GEMINI_API_KEY=${GEMINI_API_KEY} - YOUTUBE_API_KEY=${YOUTUBE_API_KEY} - YOUTUBE_API_KEYS=${YOUTUBE_API_KEYS} - VIMEO_ACCESS_TOKEN=${VIMEO_ACCESS_TOKEN} - TWITCH_CLIENT_ID=${TWITCH_CLIENT_ID} - TWITCH_CLIENT_SECRET=${TWITCH_CLIENT_SECRET} - TWITCH_REDIRECT_URI=${TWITCH_REDIRECT_URI} - GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID} - GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET} - GOOGLE_REDIRECT_URI=${GOOGLE_REDIRECT_URI} - OAUTH_APP_BASE_URL=${OAUTH_APP_BASE_URL:-http://localhost:4200} - HOST_PORT=${HOST_PORT:-4200} - DOWNLOAD_PROVIDERS=${DOWNLOAD_PROVIDERS:-youtube,dailymotion,twitch,peertube,odysee,rumble} - DOWNLOAD_MAX_CONCURRENT=${DOWNLOAD_MAX_CONCURRENT:-2} # --- YouTube hybride (Steps 17-18) : innertube > scrape yt-dlp > API --- - YT_SEARCH_MODE=${YT_SEARCH_MODE:-innertube-first} - YT_SCRAPE_TTL_MS=${YT_SCRAPE_TTL_MS:-1800000} - YT_DLP_TIMEOUT_MS=${YT_DLP_TIMEOUT_MS:-20000} - YT_INNERTUBE_GL=${YT_INNERTUBE_GL:-FR} - YT_INNERTUBE_HL=${YT_INNERTUBE_HL:-fr} - YT_TRANSCRIPT_SOURCE=${YT_TRANSCRIPT_SOURCE:-innertube-first} - YT_RELATED_TTL_MS=${YT_RELATED_TTL_MS:-3600000} - YT_COOKIES_FILE=${YT_COOKIES_FILE:-} - YT_PO_TOKEN=${YT_PO_TOKEN:-} - YT_EGRESS_PROXY=${YT_EGRESS_PROXY:-} - TZ=${TZ:-America/Montreal} volumes: # SQLite : volume nommé (locking FS bind monté Windows peu fiable) - newtube-db:/app/db # Téléchargements : bind sur le repo, accessibles depuis Windows - ../tmp/downloads:/app/tmp/downloads restart: unless-stopped volumes: newtube-db: