From 7f897b6e2637de9b0c1298e85209f99a60ce8e84 Mon Sep 17 00:00:00 2001 From: xpltd_admin Date: Fri, 3 Apr 2026 23:03:31 -0600 Subject: [PATCH] Create Home wiki page for media-rip --- Home.md | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Home.md diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..c73f763 --- /dev/null +++ b/Home.md @@ -0,0 +1,73 @@ +# media-rip + +| Meta | Value | +|------|-------| +| **Repo** | `xpltdco/media-rip` | +| **Page** | `Home` | +| **Audience** | developers, agents, newcomers | +| **Last Updated** | 2026-04-04 | +| **Status** | current | + +## What is media-rip? + +media-rip is a self-hosted media downloader with a web UI. It wraps yt-dlp to provide a clean, themeable browser interface for downloading video and audio from YouTube, SoundCloud, and hundreds of other platforms. It features per-session download isolation, real-time progress via Server-Sent Events, an admin panel, automatic cleanup, and a custom theme system. + +## Current Status + +**Actively developed.** Published as multi-arch Docker images (amd64 + arm64) on GitHub Container Registry. Features are production-ready with comprehensive test coverage and CI/CD. + +## Key URLs + +| Resource | URL | +|----------|-----| +| **Application** | `https://mediarip.xpltd.co` | +| **Repository** | `https://git.xpltd.co/xpltdco/media-rip` | +| **Container Image** | `ghcr.io/xpltdco/media-rip:latest` | +| **Health Check** | `https://mediarip.xpltd.co/api/health` | + +## Core Features + +- **Web UI** — Clean Vue 3 interface for submitting URLs and monitoring downloads +- **Format Selection** — Browse available formats (video resolutions, audio codecs) before downloading +- **Playlist Support** — Automatically splits playlists into individual download jobs +- **Real-Time Progress** — SSE-based live progress (percentage, speed, ETA) in the browser +- **Session Isolation** — Three modes: isolated (per-browser), shared (all users), open (single session) +- **9 Built-in Themes** — Cyberpunk, dark, midnight, hacker, neon, light, paper, arctic, solarized +- **Custom Themes** — Mount your own CSS themes via `/themes` volume +- **Admin Panel** — Password-protected settings management, storage stats, error logs +- **Auto-Purge** — Scheduled cleanup of old downloads with configurable retention +- **Privacy Mode** — Aggressive cleanup of downloads and logs +- **API Keys** — Optional key-based authentication for non-browser access +- **Cookie Support** — Upload cookies.txt for authenticated downloads (per-session) + +## Tech Stack + +| Component | Technology | +|-----------|------------| +| Backend | Python 3.12, FastAPI, Uvicorn | +| Frontend | Vue 3, TypeScript, Pinia, Vite | +| Database | SQLite (async via aiosqlite) | +| Downloader | yt-dlp + ffmpeg | +| Real-time | Server-Sent Events (SSE) | +| Testing | pytest (backend), Vitest (frontend) | +| Deployment | Docker (multi-arch), Caddy (optional TLS) | + +## Wiki Pages + +| Page | Description | +|------|-------------| +| [Architecture](Architecture) | System design, data flow, SSE broker, design decisions | +| [Getting Started](Getting-Started) | Docker quick start, local dev setup | +| [Data Model](Data-Model) | SQLite schema, session management | +| [API Reference](API-Reference) | Complete REST + SSE endpoint inventory | +| [Deployment](Deployment) | Docker, Caddy, volumes, health checks | +| [Configuration](Configuration) | All environment variables and YAML config | +| [Development Guide](Development-Guide) | Code patterns, testing, CI/CD | +| [Agent Context](Agent-Context) | Structured metadata for LLM agents | + +## Infrastructure Context + +- **ub01** (10.0.0.10) — Server running all Docker services +- **nginx01** (10.0.0.9) — Reverse proxy with TLS for `*.xpltd.co` +- **AdGuard Home** — Internal DNS rewriting to nginx01 +- **Cloudflare** — External DNS \ No newline at end of file