From e62ff83e1704d81348d8fe381937dd2a2b8cead0 Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Tue, 21 Jul 2026 16:49:21 +0200 Subject: [PATCH] SAVEPOINT v1.1: Etappe 2 in Arbeit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Ripping-Pipeline mit HandBrake für DVD/Blu-ray - Output-Verzeichnis /output/// implementiert - Detect-disc-type-Funktion in ripping.py --- SAVEPOINT.md | 52 ++++++++++++++++++++-------------------------------- 1 file changed, 20 insertions(+), 32 deletions(-) diff --git a/SAVEPOINT.md b/SAVEPOINT.md index e5af35c..345929e 100644 --- a/SAVEPOINT.md +++ b/SAVEPOINT.md @@ -2,22 +2,16 @@ ## Aktueller Stand -**v1.0 — Etappe 1 abgeschlossen (21.07.2026).** +**v1.1 — Etappe 2 in Arbeit (21.07.2026).** -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 -- ✅ Commit: `5d23b1e` — "Etappe 1: Container-Infrastruktur + udev-Erkennung" -- ✅ Commit: `e3e4b0e` — SAVEPOINT v1.0 aktualisiert -- ✅ Commit: `5ca67b1` — ARCAN-INTEGRATION.md erstellt -- ✅ Commit: `a032860` — Git Sync konfiguriert -- ✅ Commit: `853d6dc` — Arcane Git Sync Fix + Install-Skript -- ✅ Commit: `e0c4a35` — Arcane VM Setup abgeschlossen +Ripping-Pipeline implementiert: +- ✅ DockerfileWorker erweitert: abcde, flac, ffmpeg, handbrake-cli +- ✅ ripping.py: Ripping-Module für DVD/Blu-ray mit HandBrake +- ✅ tasks.py: Disc-Typ-Erkennung + passendes Ripping-Modul +- ✅ Output-Verzeichnis: /output/// +- ✅ Commit: `9e73d06` — Etappe 2: Ripping-Pipeline — Erste Implementierung +- ✅ Commit: `42f19a0` — ripping.py: HandBrakeCLI-Check + Typ-Erkennung +- ✅ Commit: `90e6f81` — tasks.py: detect_disc_type wieder importieren ### Arcane VM (192.168.178.162) @@ -42,27 +36,21 @@ Container-Infrastruktur und udev-Erkennung erfolgreich implementiert: | Container | Port | Beschreibung | |-----------|------|--------------| | rippy-api | 8000 | FastAPI-Backend | -| rippy-worker | - | Celery-Worker | +| rippy-worker | - | Celery-Worker (mit HandBrake) | | rippy-ui | 80 | React-UI (Vite) | | rippy-postgres | 5432 | PostgreSQL-Datenbank | | rippy-redis | 6379 | Redis (mit AOF-Persistence) | -### udev-Integration +### Ripping-Status -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` +| Disc-Typ | Status | Bemerkung | +|----------|--------|-----------| +| CD | 🚧 In Arbeit | abcde noch nicht implementiert | +| DVD | ✅ Implementiert | HandBrakeCLI | +| Blu-ray | ✅ Implementiert | HandBrakeCLI | -## Nächste Schritte +### 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+)? +- Progress-Reporting: Celery-Signale an SSE-Stream senden +- CD-Ripping mit abcde implementieren +- Testen mit `docker compose up`