Files
rippy/SAVEPOINT.md
T
2026-07-21 15:13:45 +02:00

58 lines
2.1 KiB
Markdown

# SAVEPOINT — Rippy
## Aktueller Stand
**v1.0 — Etappe 1 abgeschlossen (21.07.2026).**
Container-Infrastruktur und udev-Erkennung erfolgreich implementiert:
- ✅ Docker Compose mit 5 Containern (api, worker, ui, postgres, redis)
- ✅ Basis-Dockerfiles für jeden Service (Python/FastAPI, Python/Celery, Node/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 allen notwendigen Variablen
-`.gitignore` für Docker, .env, node_modules
- ✅ Commit: `5d23b1e` — "Etappe 1: Container-Infrastruktur + udev-Erkennung"
- ✅ Commit: `e3e4b0e` — SAVEPOINT v1.0 aktualisiert
- ✅ Commit: `5ca67b1` — ARCAN-INTEGRATION.md erstellt
-**Repo sync mit Arcane über Git Sync konfiguriert**
### Git Sync Konfiguration für Arcane
| Einstellung | Wert |
|-------------|------|
| Repository URL | `https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/rippy.git` |
| Branch | `main` |
| Compose File Path | `docker-compose.yml` |
| Sync Name | `rippy` |
### Docker-Container
| Container | Port | Beschreibung |
|-----------|------|--------------|
| rippy-api | 8000 | FastAPI-Backend |
| rippy-worker | - | Celery-Worker |
| rippy-ui | 80 | React-UI (Vite) |
| rippy-postgres | 5432 | PostgreSQL-Datenbank |
| rippy-redis | 6379 | Redis (mit AOF-Persistence) |
### 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`
## Nächste Schritte
### Etappe 2: Ripping-Pipeline
- CD-Ripping via `abcde` → FLAC + AcoustID + MusicBrainz
- DVD/Blu-ray-Ripping via `makemkvcon` → MKV
- Ripping-Status über Celery an SSE-Stream
- Fortschritts-Reporting an UI
## Offene Fragen
- Wie soll die udev-Integration konkret aussehen? (Host-System vs. Container)
- Soll MakeMKV im Worker-Container integriert werden?
- Soll HandBrake für Transcoding integriert werden (Etappe 2+)?