mirror of
https://github.com/xpltdco/media-rip.git
synced 2026-04-03 02:53:58 -06:00
Dockerfile (multi-stage): - Stage 1: Node 22 builds frontend (npm ci + npm run build) - Stage 2: Python 3.12 installs backend deps - Stage 3: Slim runtime with ffmpeg + deno (yt-dlp needs both) - Non-root user (mediarip), healthcheck, PYTHONUNBUFFERED - Volumes: /downloads (media), /data (SQLite DB) docker-compose.example.yml: - Caddy reverse proxy with automatic TLS via Let's Encrypt - Separate Caddyfile.example for domain configuration - Health-dependent startup ordering - Environment variables for admin setup CI/CD (.github/workflows/): - ci.yml: backend lint+test, frontend typecheck+test, Docker smoke build. Runs on PRs and pushes to main. - publish.yml: multi-platform build (amd64+arm64), pushes to ghcr.io/xpltd/media-rip on v*.*.* tags. Semantic version tags (v1.0.0 → latest + 1.0.0 + 1.0 + 1). Auto GitHub Release. .dockerignore: excludes dev artifacts, .gsd/, node_modules/, .venv/ |
||
|---|---|---|
| .. | ||
| src | ||
| .gitignore | ||
| env.d.ts | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||