# Rippy udev-Setup ## Problem Rippy findet kein Laufwerk, obwohl eines am Host angeschlossen ist. ## Ursache Die `docker-compose.yml` nutzte anonyme Volumes für `/dev/disc`, `/dev/cdrom`, `/dev/dvd`: ```yaml volumes: - disc:/dev/disc # ❌ Anonymes Volume, leer ``` ## Lösung Direkte Mounts vom Host in den Worker-Container: ### 1. docker-compose.yml anpassen ```yaml volumes: - /dev/cdrom:/dev/cdrom:ro - /dev/dvd:/dev/dvd:ro - /dev/sr0:/dev/sr0:ro - disc:/dev/disc # ✅ Shared-Mount für udev-Symlinks ``` ### 2. Worker-Dockerfile erweitern - `isoinfo` für Disc-Typ-Erkennung - `udev` für Geräteverwaltung ### 3. udev-Regel installieren Kopiere `99-disc-ripper.rules` nach `/etc/udev/rules.d/` ### 4. udev-Daemon ausführen Der Daemon (`udev_daemon.py`) läuft im Worker-Container und erstellt Symlinks mit UUID/Serial. ## Installation auf Arcane VM ```bash cd /path/to/rippy/udev bash install-arcane.sh ``` ## Testen 1. Leg eine CD/DVD ein 2. Logs prüfen: `docker logs -f rippy-worker` 3. Symlinks: `docker exec rippy-worker ls -la /dev/disc` 4. Devices: `docker exec rippy-worker ls -la /dev/cdrom /dev/dvd /dev/sr0` ## Dateien - `99-disc-ripper.rules` — udev-Regel für Einwurf/Auswurf - `udev_daemon.py` — Daemon für Disc-Erkennung - `rippy-udev.service` — systemd-Service (optional) - `install-arcane.sh` — Installations-Skript für Arcane VM