1 Getting-Started
xpltd_admin edited this page 2026-04-03 23:04:25 -06:00

Getting Started

Meta Value
Repo xpltdco/media-rip
Page Getting-Started
Audience developers, newcomers
Last Updated 2026-04-04
Status current

Quick Start (Docker)

docker run -d --name media-rip \
  -p 8080:8000 \
  -v ./downloads:/downloads \
  -v mediarip-data:/data \
  --restart unless-stopped \
  ghcr.io/xpltdco/media-rip:latest

Open http://localhost:8080 in your browser.

Docker Compose

git clone https://git.xpltd.co/xpltdco/media-rip.git
cd media-rip
docker compose up -d

Access at http://localhost:8080.

Local Development

Prerequisites

Requirement Version Purpose
Python >= 3.12 Backend
Node.js >= 22 Frontend
yt-dlp Latest Media downloading
ffmpeg Any recent Post-processing

Backend

cd backend
pip install -r requirements.txt
python start.py

Backend starts on http://localhost:8000.

Frontend

cd frontend
npm install
npm run dev

Vite dev server starts on http://localhost:5173 with HMR.

Environment Variables

See full Configuration page. Quick essentials:

Variable Default Purpose
MEDIARIP__SERVER__PORT 8000 Server port
MEDIARIP__DOWNLOADS__OUTPUT_DIR /downloads Where media goes
MEDIARIP__SESSION__MODE isolated isolated, shared, or open
MEDIARIP__ADMIN__ENABLED true Admin panel toggle
MEDIARIP__ADMIN__PASSWORD Admin password (hashed at startup)

Troubleshooting

Downloads fail immediately

  • Check yt-dlp is installed and updated: yt-dlp --version
  • Check ffmpeg is available: ffmpeg -version
  • View error details in admin panel error log

Network filesystem issues

  • If /downloads is on NFS/CIFS/SMB, SQLite automatically uses DELETE journal mode
  • If you see "database is locked" errors, ensure only one instance accesses the DB

Themes not loading

  • Custom themes mount to /themes volume
  • Each theme needs metadata.json + theme.css