Hitonabi
a456e8587c
fix(worker): remove invalid udev package, use syslinux-utils for isoinfo
Ampel / ampel (push) Failing after 28s
2026-07-23 12:24:31 +02:00
Hitonabi
61af353559
fix(worker): mount host devices for disc detection
...
Ampel / ampel (push) Failing after 30s
- Add direct device mounts (cdrom, dvd, sr0) to worker
- Add SYS_ADMIN capability for udev access
- Install isoinfo and udev in worker container
- Add pyudev for device monitoring
- Update udev rules with correct paths
2026-07-23 12:15:55 +02:00
Hitonabi
ad48276fdd
Fix: Fortschritts-Regex toleriert Leerzeichen vor % (Testfund)
...
Ampel / ampel (push) Failing after 14m47s
Echtes HandBrake schreibt "45.50 %" mit Leerzeichen - die alte Regex
hat aus echter Ausgabe NIE einen Fortschritt geparst. Der neue Test
mit realistischer Zeile hat es sofort gefangen.
2026-07-22 19:39:35 +02:00
Hitonabi
0ea5f10b31
Fix-Runde nach Review: alle Befunde behoben + echte Tests
...
Ampel / ampel (push) Failing after 12m31s
- Metadaten-Preview WIEDERHERGESTELLT (Stub ueberschattete echte
prescan-Implementierung), tote Altmodule geloescht
- Celery update_state statt Phantom-Task/erfundener API
- abcde-Kommando korrigiert (CD-Ripping war nie funktionsfaehig)
- JWT: fester Schluessel Pflicht, echtes Logout, Cleanup nur Abgelaufene
- main.py: crashende Endpoints (Path/secrets/api_keys), year-Bug,
Admin-Login aus .env
- Ruff gruen (29 Funde), Tests: auth/cache_keys/ripping_helpers,
Placebo-test_health raus
- SAVEPOINT: offene MakeMKV-Entscheidung SICHTBAR gemacht (Regel B)
2026-07-22 19:31:48 +02:00
Hitonabi
95c1f9b105
feat(ui): SoC Refactoring & Config Validation
...
- Theme Context ausgelagert (ThemeContext.tsx + useDarkMode.ts)
- Config Validation mit TMDB-API-Key Pflicht (config_validation.py)
- Cache Key Centralization (cache/keys.py)
- CD-Ripping mit abcde implementiert (Worker)
- Docker Compose mit Healthchecks & LOG_LEVEL
- ROADMAP.md & SAVEPOINT.md aktualisiert
2026-07-22 16:38:19 +02:00
Hitonabi
7a61440d22
chore: worker .dockerignore for __pycache__
2026-07-21 17:51:41 +02:00
Hitonabi
efa642e676
Etappe 6: Sicherheit
...
- docker-compose.yml mit read_only: true, tmpfs, healthchecks
- API- und Worker-Dockerfiles mit minimalem Image
- requirements.txt für Python-Abhängigkeiten
2026-07-21 17:26:01 +02:00
Hitonabi
90e6f81d98
tasks.py: detect_disc_type wieder importieren
2026-07-21 16:49:01 +02:00
Hitonabi
719aa9408d
tasks.py: detect_disc_type aus ripping.py importieren
2026-07-21 16:48:44 +02:00
Hitonabi
42f19a0806
ripping.py: HandBrakeCLI-Check + Typ-Erkennung
2026-07-21 16:48:32 +02:00
Hitonabi
9e73d065f9
Etappe 2: Ripping-Pipeline — Erste Implementierung
...
- DockerfileWorker: abcde, flac, ffmpeg, handbrake-cli installiert
- ripping.py: Ripping-Module für DVD/Blu-ray mit HandBrake
- tasks.py: Disc-Typ-Erkennung + passendes Ripping-Modul
- docker-compose.yml: Output-Verzeichnis /output hinzugefügt
- output/ Verzeichnis erstellt
WIP: CD-Ripping mit abcde noch nicht implementiert
2026-07-21 16:47:50 +02:00
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