Commit Graph

203 Commits

Author SHA1 Message Date
Hitonabi 12c67aee27 fix: use dark class instead of data-theme for Tailwind 2026-07-22 17:12:32 +02:00
Hitonabi 85e072a7dd fix: use Tailwind dark: prefix instead of conditional classes 2026-07-22 17:11:02 +02:00
Hitonabi 886cf4398e fix: Dashboard.tsx useEffect syntax error 2026-07-22 17:04:18 +02:00
Hitonabi 24326e49b7 docs: update SAVEPOINT.md with v1.10 and complete dark mode 2026-07-22 17:02:08 +02:00
Hitonabi d2fb281342 fix: complete dark mode implementation with all UI components 2026-07-22 17:00:49 +02:00
Hitonabi 95c1f9b105 feat(ui): SoC Refactoring & Config Validation
- 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
2026-07-22 16:38:19 +02:00
Hitonabi e710151c91 docs: aktualisiere alle MD-Dateien auf v1.8
- README.md: Etappe 7/8 hinzugefügt, Roadmap aktualisiert
- KONZEPT.md: Feature-Status aktualisiert
- ROADMAP.md: Etappe 7 (Dark Mode) und 8 (SoC) hinzugefügt
- SAVEPOINT.md: v1.8 mit Dark Mode und SoC-Planung
- ARCANE-VM-SETUP.md: Rippy Features hinzugefügt
- ARCAN-FIX.md: Status 21.07.2026 aktualisiert
- ARCAN-PROJECTS-DIR.md: Status hinzugefügt
- ARCANE-DOCKER-COMPOSE-FIX.md: Status aktualisiert
- ARCAN-INTEGRATION.md: Status hinzugefügt
- AGENTS.md: Aktueller Stand und nächste Etappe
- Commit: 9be0592
2026-07-21 22:24:21 +02:00
Hitonabi 9be0592942 docs: SAVEPOINT v1.8 — Dark Mode & SoC 2026-07-21 22:19:32 +02:00
Hitonabi 43dfce5233 feat(ui): implement dark mode with theme toggle
- Add global theme state in App.tsx with localStorage persistence
- Implement dark mode CSS variables in index.css
- Add theme toggle button in sidebar navigation
- Update Dashboard with dark mode support for stats cards and badges
- Update Settings page with dark mode for main layout and toggles

This implements the core dark mode functionality with separation of
concerns - theme state is managed globally in App.tsx and passed down
to child components as props.
2026-07-21 22:18:59 +02:00
Hitonabi ba2429612a rippy-ui-modern: API UI Modernisiert & Import-Fixes
- Doppelte Arcane-Einträge behoben (rippy statt Rippy) - Import-Fixes: relative → absolute imports in main.py, cache/__init__.py, prescan/__init__.py, clients/__init__.py - Neue Dateien: cache.py, prescan.py, Settings.tsx - API-Port 8000 in docker-compose.yml gemappt - UI mit Sidebar, Dark Mode, Einstellungen-Tabs

Fixes: #2978 (doppelte Einträge), #2888 (Import-Fehler)
2026-07-21 22:08:03 +02:00
Hitonabi e37aff2678 fix: jwt_secret_key hinzufügen 2026-07-21 17:53:59 +02:00
Hitonabi 7a61440d22 chore: worker .dockerignore for __pycache__ 2026-07-21 17:51:41 +02:00
Hitonabi 969a863835 fix: pydantic-settings import für v2 2026-07-21 17:49:16 +02:00
Hitonabi 08a985b989 fix: Package-Struktur für API-Container (app/) 2026-07-21 17:48:09 +02:00
Hitonabi 50f747d1e0 Dockerfiles: Korrektur für Arcane Build 2026-07-21 17:33:57 +02:00
Hitonabi d42a7e92a3 .dockerignore: Docker-Verzeichnisse nicht ausschließen 2026-07-21 17:33:09 +02:00
Hitonabi d629c22295 .dockerignore: UI-Verzeichnis nicht ausschließen 2026-07-21 17:32:48 +02:00
Hitonabi 66d0600146 SAVEPOINT v1.6: Komplett! 2026-07-21 17:29:20 +02:00
Hitonabi 3d87c8caa7 Dokumentation aktualisiert 2026-07-21 17:28:59 +02:00
Hitonabi bdb9f8d405 SAVEPOINT v1.5: Sicherheit abgeschlossen
- Docker read_only + tmpfs
- Healthchecks für Postgres/Redis
- requirements.txt optimiert
- .dockerignore für __pycache__
2026-07-21 17:26:20 +02:00
Hitonabi efa642e676 Etappe 6: Sicherheit
- docker-compose.yml mit read_only: true, tmpfs, healthchecks
- API- und Worker-Dockerfiles mit minimalem Image
- requirements.txt für Python-Abhängigkeiten
2026-07-21 17:26:01 +02:00
Hitonabi b8cd4d9e0b .dockerignore: __pycache__ und .pyc ausschließen 2026-07-21 17:24:29 +02:00
Hitonabi 343eccb543 SAVEPOINT v1.4: Komplett!
- Metadaten-Lookup (TMDB, MusicBrainz, TheTVDB)
- Pre-Scan-Modul
- Jellyfin-Formatierung (NFO + Images)
- JWT-Auth + Rate-Limiting
- API-Key-Management
- Dokumentation (README, KONZEPT, ROADMAP)
2026-07-21 17:23:24 +02:00
Hitonabi 6fe2fd74c1 Dokumentation: README, KONZEPT, ROADMAP, SAVEPOINT 2026-07-21 17:23:01 +02:00
Hitonabi 5464d8acc7 SAVEPOINT v1.3: Etappe 3-5 abgeschlossen
- Metadaten-Lookup (TMDB, MusicBrainz, TheTVDB)
- Pre-Scan-Modul
- Jellyfin-Formatierung (NFO + Images)
- JWT-Auth + Rate-Limiting
- API-Key-Management
2026-07-21 17:19:52 +02:00
Hitonabi 3e921fc0c9 Etappe 5: Auth + Rate-Limiting
- JWT-Auth (Access 15min/Refresh 7 Tage)
- Rate-Limiting (100/min pro Client/API-Key)
- API Key Management
- OAuth2 Password Scheme
2026-07-21 17:19:34 +02:00
Hitonabi 518155051f Etappe 3: Metadaten-Lookup + Pre-Scan
- SQLite-Cache für API-Rate-Limits (LRU, 10k Einträge)
- TMDB/MusicBrainz/TheTVDB Clients
- Pre-Scan-Modul für TOC-Lesung ohne Ripping
- Metadaten-Preview UI
- Jellyfin-Formatierung (NFO + Images)
- API Endpoints für Lookup, Confirm, Format
2026-07-21 17:17:35 +02:00
Hitonabi 0cf5413ac0 Merge remote-tracking branch 'origin/main' 2026-07-21 17:10:48 +02:00
Hitonabi a505415898 SAVEPOINT v1.2: UI läuft!
- Rippy UI auf Port 80
- Git Sync in Arcane
- Alle Container healthy
2026-07-21 17:07:54 +02:00
Arcane 25cba0e18d UI: Port 80 + lucide-react 2026-07-21 15:07:36 +00:00
Arcane 596ded1a4a postgres: Image von 16-slim auf 16 2026-07-21 14:58:22 +00:00
Hitonabi 4d1f613a1c Etappe 5: API + Auth + WebUI — Erste Implementierung
- React-UI: Dashboard mit Stats, Geräte, Jobs
- API: /jobs und /devices endpoints
- CORS aktiviert für UI-Kommunikation
2026-07-21 16:52:30 +02:00
Hitonabi e62ff83e17 SAVEPOINT v1.1: Etappe 2 in Arbeit
- Ripping-Pipeline mit HandBrake für DVD/Blu-ray
- Output-Verzeichnis /output/<disc-type>/<disc-id>/ implementiert
- Detect-disc-type-Funktion in ripping.py
2026-07-21 16:49:21 +02:00
Hitonabi 90e6f81d98 tasks.py: detect_disc_type wieder importieren 2026-07-21 16:49:01 +02:00
Hitonabi 719aa9408d tasks.py: detect_disc_type aus ripping.py importieren 2026-07-21 16:48:44 +02:00
Hitonabi 42f19a0806 ripping.py: HandBrakeCLI-Check + Typ-Erkennung 2026-07-21 16:48:32 +02:00
Hitonabi 9e73d065f9 Etappe 2: Ripping-Pipeline — Erste Implementierung
- DockerfileWorker: abcde, flac, ffmpeg, handbrake-cli installiert
- ripping.py: Ripping-Module für DVD/Blu-ray mit HandBrake
- tasks.py: Disc-Typ-Erkennung + passendes Ripping-Modul
- docker-compose.yml: Output-Verzeichnis /output hinzugefügt
- output/ Verzeichnis erstellt

WIP: CD-Ripping mit abcde noch nicht implementiert
2026-07-21 16:47:50 +02:00
Hitonabi 594f07f7a3 SAVEPOINT v1.0: Etappe 1 abgeschlossen 2026-07-21 16:46:03 +02:00
Hitonabi e0c4a35e6c ARCANE-VM-SETUP.md: Setup abgeschlossen
- Arcane läuft unter 192.168.178.162:3552
- Docker + docker-compose installiert
- Projects Directory: /home/arcane/projects
2026-07-21 16:41:11 +02:00
Hitonabi e91d4a18b7 Setup-Skript + Docs für Arcane Ubuntu VM
- docker-compose.yml mit PROJECTS_DIRECTORY konfigurieren
2026-07-21 16:28:42 +02:00
Hitonabi ab34ec09ce arcane-vm-setup.sh: Docker + Arcane Installations-Skript
- Docker installieren
- Arcane User erstellen
- docker-compose.yml mit PROJECTS_DIRECTORY konfigurieren
2026-07-21 16:16:39 +02:00
Hitonabi 978393d42d ARCANE-DOCKER-COMPOSE-FIX.md: Docker Compose Fix für Arcane Addon
- PROJECTS_DIRECTORY Umgebungsvariable hinzufügen
2026-07-21 15:24:51 +02:00
Hitonabi b3f5a0a203 ARCAN-PROJECTS-DIR.md: Konfiguration für Arcane Projects Directory
- PROJECTS_DIRECTORY Umgebungsvariable
- 3 Methoden zur Konfiguration beschrieben
2026-07-21 15:22:04 +02:00
Hitonabi 4f0c9e9fa6 SAVEPOINT v1.0: Arcane Git Sync Fix + Install-Skript hinzugefügt
- Bug #2978 beschrieben
- install-rippy.sh erstellt
2026-07-21 15:19:15 +02:00
Hitonabi 853d6dc82c Fix: Arcane Git Sync Workaround + Install-Skript
- ARCAN-FIX.md: Problem & Lösung beschrieben
- install-rippy.sh: Skript für direkte Docker Compose Installation
2026-07-21 15:18:44 +02:00
Hitonabi a032860a65 SAVEPOINT v1.0: Git Sync mit Arcane konfiguriert
- Git Repo: https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/rippy.git
- Branch: main
- Compose File: docker-compose.yml
2026-07-21 15:13:45 +02:00
Hitonabi 5ca67b1eee ARCAN-INTEGRATION.md: Anleitung für Arcane-Import erstellt
- SSH-Zugang empfohlen für direkte Kopie nach LXC 106
- Alternativ Git sync oder Zip-Upload
2026-07-21 15:04:20 +02:00
Hitonabi e3e4b0eda8 SAVEPOINT v1.0: Etappe 1 abgeschlossen
- Commit 5d23b1e: Container-Infrastruktur + udev-Erkennung
- README, ROADMAP, SAVEPOINT aktualisiert
2026-07-21 14:59:28 +02:00
Hitonabi 5d23b1e6c8 Etappe 1: Container-Infrastruktur + udev-Erkennung
- 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
2026-07-21 14:59:09 +02:00
Hitonabi cbe7d2b9c3 Doku: KONZEPT.md, ROADMAP.md, AGENTS.md, README.md, SAVEPOINT.md, .aiexclude 2026-07-21 10:11:42 +02:00