Hitonabi
96c6e1fe42
Compose: /dev/sg1 fuer den Worker — MakeMKV geht ueber SCSI-Generic
...
Ampel / ampel (push) Successful in 33s
Befund: mit nur /dev/sr0 meldet makemkvcon "can't find any usable optical
drives" — es nutzt die sg-Schicht (libdriveio), nicht den Block-Knoten.
sg1 = BD-Laufwerk in der VM (sg0 = Systemplatte).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-23 15:16:07 +02:00
Hitonabi
eee3a83d0e
Compose: Laufwerk als devices: statt Bind-Mount, Ausgabe aufs media-Volume
...
Bind-Mounts unter volumes: geben dem Container den Geräteknoten, aber keine
Device-Cgroup-Erlaubnis — jedes open() scheiterte mit EPERM. Totes
disc:-Volume raus (kein udevd legt dort je Symlinks an), depends_on wartet
jetzt auf healthy, Worker-read_only bis zur Härtung ausgesetzt (MakeMKV
braucht HOME).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-23 15:02:13 +02:00
Hitonabi
977da015fb
fix: remove read_only for API container to allow device mounts
Ampel / ampel (push) Successful in 30s
2026-07-23 13:37:51 +02:00
Hitonabi
0ae9378fca
fix: add device mounts to API container for /devices endpoint
Ampel / ampel (push) Successful in 35s
2026-07-23 13:36:44 +02:00
Hitonabi
524d2e570e
fix(docker-compose): simplify device mounts, remove redundant volumes
...
Ampel / ampel (push) Failing after 29s
- Remove cdrom/dvd anonymous volumes (not needed with direct mounts)
- Remove redundant devices/cap_add (mounts are sufficient)
2026-07-23 12:20:56 +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
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
ba2429612a
rippy-ui-modern: API UI Modernisiert & Import-Fixes
...
- Doppelte Arcane-Einträge behoben (rippy statt Rippy) - Import-Fixes: relative → absolute imports in main.py, cache/__init__.py, prescan/__init__.py, clients/__init__.py - Neue Dateien: cache.py, prescan.py, Settings.tsx - API-Port 8000 in docker-compose.yml gemappt - UI mit Sidebar, Dark Mode, Einstellungen-Tabs
Fixes : #2978 (doppelte Einträge), #2888 (Import-Fehler)
2026-07-21 22:08:03 +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
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