Create Getting-Started wiki page for media-rip

xpltd_admin 2026-04-03 23:04:25 -06:00
parent 664eea9977
commit bbf39247ed

90
Getting-Started.-.md Normal file

@ -0,0 +1,90 @@
# Getting Started
| Meta | Value |
|------|-------|
| **Repo** | `xpltdco/media-rip` |
| **Page** | `Getting-Started` |
| **Audience** | developers, newcomers |
| **Last Updated** | 2026-04-04 |
| **Status** | current |
## Quick Start (Docker)
```bash
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
```bash
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
```bash
cd backend
pip install -r requirements.txt
python start.py
```
Backend starts on http://localhost:8000.
### Frontend
```bash
cd frontend
npm install
npm run dev
```
Vite dev server starts on http://localhost:5173 with HMR.
## Environment Variables
See full [Configuration](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`