Files
rippy/SAVEPOINT.md
T
Hitonabi 5d23b1e6c8 Etappe 1: Container-Infrastruktur + udev-Erkennung
- Docker Compose mit 5 Containern (api, worker, ui, postgres, redis)
- Basis-Dockerfiles für FastAPI, Celery, React/Vite, PostgreSQL, Redis
- udev-Regel + Python-Daemon für Disc-Einwurf-Erkennung
- Device-Resolver (UUID/Serial → /dev/disc/<uuid>)
- Celery-Worker mit Dummy-Job-Task (Disc-Erkennung)
- .env.example mit Umgebungsvariablen
- .gitignore für Docker, .env, node_modules
- README, SAVEPOINT, ROADMAP aktualisiert
2026-07-21 14:59:09 +02:00

1.6 KiB

SAVEPOINT — Rippy

Aktueller Stand

v1.0 — Etappe 1 abgeschlossen.

Container-Infrastruktur und udev-Erkennung erfolgreich implementiert:

  • Docker Compose mit 5 Containern (api, worker, ui, postgres, redis)
  • Basis-Dockerfiles für jeden Service (Python/FastAPI, Python/Celery, Node/Vite, PostgreSQL, Redis)
  • udev-Regel + Python-Daemon für Disc-Einwurf-Erkennung
  • Device-Resolver (UUID/Serial → /dev/disc/)
  • Celery-Worker mit Dummy-Job-Task (Disc-Erkennung)
  • .env.example mit allen notwendigen Variablen
  • .gitignore für Docker, .env, node_modules

Docker-Container

Container Port Beschreibung
rippy-api 8000 FastAPI-Backend
rippy-worker - Celery-Worker
rippy-ui 80 React-UI (Vite)
rippy-postgres 5432 PostgreSQL-Datenbank
rippy-redis 6379 Redis (mit AOF-Persistence)

udev-Integration

  1. Kopiere udev/99-disc-ripper.rules nach /etc/udev/rules.d/
  2. Kopiere udev/udev_daemon.py nach /app/ (im Worker-Container)
  3. Lade udev-Regeln neu: sudo udevadm control --reload-rules && sudo udevadm trigger

Nächste Schritte

Etappe 2: Ripping-Pipeline

  • CD-Ripping via abcde → FLAC + AcoustID + MusicBrainz
  • DVD/Blu-ray-Ripping via makemkvcon → MKV
  • Ripping-Status über Celery an SSE-Stream
  • Fortschritts-Reporting an UI

Offene Fragen

  • Wie soll die udev-Integration konkret aussehen? (Host-System vs. Container)
  • Soll MakeMKV im Worker-Container integriert werden?
  • Soll HandBrake für Transcoding integriert werden (Etappe 2+)?