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