5d23b1e6c8
- 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
1.6 KiB
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.examplemit allen notwendigen Variablen - ✅
.gitignorefü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
- Kopiere
udev/99-disc-ripper.rulesnach/etc/udev/rules.d/ - Kopiere
udev/udev_daemon.pynach/app/(im Worker-Container) - 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+)?