Files
rippy/udev/README.md
Hitonabi 61af353559
Ampel / ampel (push) Failing after 30s
fix(worker): mount host devices for disc detection
- 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

1.4 KiB

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:

volumes:
  - disc:/dev/disc    # ❌ Anonymes Volume, leer

Lösung

Direkte Mounts vom Host in den Worker-Container:

1. docker-compose.yml anpassen

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

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