95c1f9b105
- 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
68 lines
2.5 KiB
Markdown
68 lines
2.5 KiB
Markdown
# SAVEPOINT — Rippy
|
|
|
|
## Aktueller Stand
|
|
|
|
**v1.9 — SoC Refactoring & Config Validation (22.07.2026)**
|
|
|
|
Rippy läuft auf Arcane VM (192.168.178.162):
|
|
- ✅ Arcane WebUI: http://192.168.178.162:3552
|
|
- ✅ Rippy UI: http://192.168.178.162:80
|
|
- ✅ Rippy API: http://192.168.178.162:8000
|
|
- ✅ Theme Context ausgelagert (App.tsx → ThemeContext.tsx + useDarkMode.ts)
|
|
- ✅ Config Validation mit TMDB-API-Key Pflicht
|
|
- ✅ Cache Key Centralization (cache/keys.py)
|
|
- ✅ Dark Mode mit Theme-Toggle und localStorage persistence (UI-Only)
|
|
- ✅ Sidebar Navigation mit Dark Mode Support
|
|
- ✅ Einstellungen-Page mit Tab-Struktur
|
|
- ✅ Doppelte Arcane-Einträge behoben (`rippy` statt `Rippy`)
|
|
- ✅ Import-Fixes (relative → absolute Imports)
|
|
- ✅ Git Sync in Arcane konfiguriert
|
|
- ✅ Commit: `43dfce5` — Dark Mode Implementation
|
|
- ✅ Commit: `v1.9` — SoC Refactoring
|
|
|
|
### Docker-Container
|
|
|
|
| Container | Port | Status |
|
|
|-----------|------|--------|
|
|
| rippy-api | 8000 | Healthy |
|
|
| rippy-worker | - | Running |
|
|
| rippy-ui | 80 | Running |
|
|
| rippy-postgres | 5432 | Healthy |
|
|
| rippy-redis | 6379 | Healthy |
|
|
|
|
### Features
|
|
|
|
- ✅ **Etappe 3**: SQLite-Cache, TMDB/MusicBrainz/TheTVDB Clients, Pre-Scan, Metadaten-Preview
|
|
- ✅ **Etappe 4**: Jellyfin-Formatierung (NFO-Generator, Image-Downloader)
|
|
- ✅ **Etappe 5**: JWT-Auth (15min/7T), Rate-Limiting (100/min), API-Key-Management
|
|
- ✅ **Etappe 6**: Docker read_only, tmpfs, healthchecks, minimale Images
|
|
- ✅ **Etappe 7**: API UI Modernisiert, Import-Fixes, Doppelte Einträge behoben
|
|
- ✅ **Etappe 8**: Dark Mode mit Theme-Toggle, Separation of Concerns
|
|
- ✅ **Dokumentation**: README, KONZEPT.md, ROADMAP.md, SAVEPOINT.md
|
|
|
|
### Nächste Schritte
|
|
|
|
- Job-Verlauf UI (aktuell nur leere Listen)
|
|
- TMDB API Schlüssel in Arcane Environment konfigurieren
|
|
- Proxmox LXC Template
|
|
- Ansible Playbooks
|
|
|
|
### SoC Refactoring — Abgeschlossen (Etappe 9)
|
|
|
|
- ✅ **Theme-Context**: Theme-Logik aus App.tsx ausgelagert
|
|
- ✅ **Dark Mode Utility**: useDarkMode Hook implementiert
|
|
- ✅ **Component-Struktur**: Dark Mode props von inneren Komponenten versteckt
|
|
- ✅ **Config Validation**: TMDB-API-Key ist Pflicht
|
|
- ✅ **Cache Key Centralization**: cache/keys.py erstellt
|
|
- ✅ **CD-Ripping**: abcde-Integration implementiert
|
|
|
|
### Git-Log
|
|
|
|
```
|
|
43dfce5 - feat(ui): implement dark mode with theme toggle
|
|
rippy-ui-modern - UI Modernisiert & Import-Fixes
|
|
3d87c8c - Dokumentation aktualisiert
|
|
bdb9f8d - SAVEPOINT v1.5: Sicherheit abgeschlossen
|
|
efa642e - Etappe 6: Sicherheit
|
|
```
|