mirror of
https://github.com/xpltdco/media-rip.git
synced 2026-04-03 02:53:58 -06:00
The 403 was a VPN IP issue, not a client selection issue. yt-dlp already picks the right player clients (android_vr + web_safari). Moved YTDLP__EXTRACTOR_ARGS out of 'Most Useful Settings' into a 'Troubleshooting: YouTube 403 Errors' section that explains the actual common causes (VPN IPs, private content) before the escape hatch.
43 lines
1.4 KiB
YAML
43 lines
1.4 KiB
YAML
# media.rip() — Docker Compose
|
|
#
|
|
# Usage:
|
|
# docker compose up
|
|
#
|
|
# Open http://localhost:8080 and paste a URL.
|
|
# On first run, you'll be prompted to set an admin password.
|
|
|
|
services:
|
|
mediarip:
|
|
image: ghcr.io/xpltdco/media-rip:latest
|
|
# build: . # Uncomment to build from source
|
|
ports:
|
|
- "8080:8000"
|
|
volumes:
|
|
- ./downloads:/downloads # Downloaded media — browsable on host
|
|
- mediarip-data:/data # Database, sessions, logs (persist this)
|
|
# - ./themes:/themes:ro # Custom theme CSS (optional)
|
|
# - ./config.yaml:/app/config.yaml:ro # Full config file (optional)
|
|
# environment:
|
|
## ── Uncomment to customize (all have sane defaults) ──
|
|
#
|
|
## Session isolation: isolated (default) | shared | open
|
|
# - MEDIARIP__SESSION__MODE=isolated
|
|
#
|
|
## Max parallel downloads (default: 3)
|
|
# - MEDIARIP__DOWNLOADS__MAX_CONCURRENT=3
|
|
#
|
|
## Auto-purge completed downloads after N minutes (default: 1440 = 24h)
|
|
# - MEDIARIP__PURGE__MAX_AGE_MINUTES=1440
|
|
#
|
|
## Pre-set admin password (skip first-run wizard):
|
|
# - MEDIARIP__ADMIN__PASSWORD_HASH=$2b$12$...
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8000/api/health"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
volumes:
|
|
mediarip-data:
|