5d23b1e6c8
- 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
67 lines
1.6 KiB
Markdown
67 lines
1.6 KiB
Markdown
# Rippy
|
||
|
||
Ein modernes, eigenständiges System zum automatischen Rippen von CD, DVD und Blu-ray.
|
||
Es erkennt Disc-Einwürfe automatisch, sucht Metadaten vor, rippt verlustfrei und legt
|
||
alles in Jellyfin-konformer Struktur ab — mit Echtzeit-UI statt veralteter Flask-Oberfläche.
|
||
|
||
## Was du brauchst
|
||
|
||
- Ein System mit einem optischen Laufwerk (DVD/Blu-ray)
|
||
- Docker + Docker Compose
|
||
- 1–2 Stunden Zeit für den ersten Bau
|
||
|
||
## So legst du los
|
||
|
||
1. Clone das Repo:
|
||
```
|
||
git clone https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/rippy.git
|
||
cd rippy
|
||
```
|
||
2. Lies **KONZEPT.md** — das sagt, was das Projekt ist.
|
||
3. Lies **ROADMAP.md** — das sagt, in welcher Reihenfolge es gebaut wird.
|
||
4. Fang mit Etappe 1 an (Fundament + udev-Erkennung).
|
||
|
||
## Entwicklungsumgebung (Docker)
|
||
|
||
### Starten
|
||
```
|
||
docker compose up -d
|
||
```
|
||
|
||
### Stoppen
|
||
```
|
||
docker compose down
|
||
```
|
||
|
||
### Logs ansehen
|
||
```
|
||
docker compose logs -f
|
||
```
|
||
|
||
### Container neu bauen
|
||
```
|
||
docker compose build
|
||
docker compose up -d
|
||
```
|
||
|
||
## Etappe 1: Fundament
|
||
|
||
Aktueller Stand:
|
||
- ✅ Docker Compose mit 5 Containern (api, worker, ui, postgres, redis)
|
||
- ✅ Basis-Dockerfiles für jeden Service
|
||
- ✅ udev-Regel + Daemon für Disc-Einwurf-Erkennung
|
||
- ✅ Device-Resolver (UUID/Serial)
|
||
- ✅ Celery-Job-Erstellung
|
||
|
||
### udev-Integration
|
||
|
||
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`
|
||
|
||
## Weitere Etappen
|
||
|
||
Siehe ROADMAP.md für Details zu Etappe 2+.
|
||
|
||
Alles andere steht in den Docs. Viel Spaß beim Bauen.
|