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
This commit is contained in:
Hitonabi
2026-07-21 14:59:09 +02:00
parent cbe7d2b9c3
commit 5d23b1e6c8
22 changed files with 607 additions and 34 deletions
+7 -5
View File
@@ -11,15 +11,17 @@
**Was gebaut wird:**
- Docker Compose mit `api`, `worker`, `ui`, `postgres`, `redis`
- Basis-Dockerfiles für jeden Service (Python/FastAPI, Python/Celery, Node/React, PostgreSQL, Redis)
- udev-Regel + separater Daemon (Go oder Python), der Disc-Einwurf erkennt und Jobs an den Worker sendet
- udev-Regel + separater Daemon (Python), der Disc-Einwurf erkennt und Jobs an den Worker sendet
- Device-Resolver: ermittelt UUID/Serial des Laufwerks, erzeugt Symlink `/dev/disc/<uuid>`
- Job-Erstellung in Celery-Queue mit Disc-Typ und Device-Pfad
**Fertig wenn:**
- `docker compose up` startet alle 5 Container
- `makejungles` liest die TOC einer eingelegten Disc
- udev-Event löst Job-Erstellung aus
- Celery-Worker nimmt den Job entgegen und gibt "Disc erkannt: DVD, Titel: 'xyz'" aus
- `docker compose up` startet alle 5 Container
- ✅ udev-Regel erkennt Disc-Einwurf
- udev-Daemon erstellt Celery-Job
- Celery-Worker nimmt den Job entgegen und gibt "Disc erkannt: DVD, Device: /dev/disc/xxx" aus
**Status:** Abgeschlossen
---