Hitonabi
61af353559
fix(worker): mount host devices for disc detection
...
Ampel / ampel (push) Failing after 30s
- 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
Hitonabi
9c010d2dc5
Notfall-Deploy: eigener Klon (~/notfall-rippy, stable) statt Arcane-Verzeichnis
...
Ampel / ampel (push) Successful in 33s
22.07. gelernt: git-Klon im Arcane-Projektverzeichnis kollidiert mit
dessen Promote (read-only .git-Objekte). Arcane gehoert ~/projects/rippy
jetzt allein; .env wird nur gelesen.
2026-07-22 22:54:59 +02:00
Hitonabi
0b93276302
Gruen-Gate: Ampel gruen auf main -> automatische Befoerderung auf stable
...
Ampel / ampel (push) Successful in 31s
Arcane-GitSync deployt kuenftig von stable (rot deployt NIE).
deploy.sh wird zum Notfall-Hebel. MakeMKV-Entscheid: Konzept gilt,
lossless als Etappe 10 in der ROADMAP verankert.
2026-07-22 22:45:46 +02:00
Hitonabi
419ba42c38
CI: Beweis-Lauf nach Runner-Upgrade auf 0.6.1 (Status-Bug-Fix)
Ampel / ampel (push) Successful in 28s
2026-07-22 22:26:51 +02:00
Hitonabi
ad48276fdd
Fix: Fortschritts-Regex toleriert Leerzeichen vor % (Testfund)
...
Ampel / ampel (push) Failing after 14m47s
Echtes HandBrake schreibt "45.50 %" mit Leerzeichen - die alte Regex
hat aus echter Ausgabe NIE einen Fortschritt geparst. Der neue Test
mit realistischer Zeile hat es sofort gefangen.
2026-07-22 19:39:35 +02:00
Hitonabi
0ea5f10b31
Fix-Runde nach Review: alle Befunde behoben + echte Tests
...
Ampel / ampel (push) Failing after 12m31s
- Metadaten-Preview WIEDERHERGESTELLT (Stub ueberschattete echte
prescan-Implementierung), tote Altmodule geloescht
- Celery update_state statt Phantom-Task/erfundener API
- abcde-Kommando korrigiert (CD-Ripping war nie funktionsfaehig)
- JWT: fester Schluessel Pflicht, echtes Logout, Cleanup nur Abgelaufene
- main.py: crashende Endpoints (Path/secrets/api_keys), year-Bug,
Admin-Login aus .env
- Ruff gruen (29 Funde), Tests: auth/cache_keys/ripping_helpers,
Placebo-test_health raus
- SAVEPOINT: offene MakeMKV-Entscheidung SICHTBAR gemacht (Regel B)
2026-07-22 19:31:48 +02:00
Hitonabi
728f650bf8
Ampel v3: bash -e des Runners abschalten - vollstaendiges Urteil statt Abbruch
...
Ampel / ampel (push) Failing after 15m5s
Lauf 5 urteilte korrekt ROT (Ruff-Funde + giftiger Placebo-Test),
aber -e schnitt Node-Teil und Klartext-Fazit ab.
2026-07-22 19:19:15 +02:00
Hitonabi
13c0c4b066
Ampel v2: universelle Vorlage (Fix: checkout braucht Node im Container)
...
Ampel / ampel (push) Failing after 12m54s
+ package-lock.json (fehlte komplett - Builds waren nie reproduzierbar)
2026-07-22 19:11:27 +02:00
Hitonabi
57bda55af4
Harte Regeln (Ampel-Pflicht, Spec-Stopp, deploy.sh-only, keine
...
CI / ui (push) Failing after 13m34s
CI / api-und-worker (push) Failing after 14m28s
erfundenen APIs) + idempotentes deploy.sh
Lehren aus dem Review 22.07.: stille MakeMKV->HandBrake-Abweichung,
Doppel-Anlage auf der VM, halluzinierte Celery/abcde-Schnittstellen.
2026-07-22 18:59:53 +02:00
Hitonabi
be7f615a4b
CI-Ampel: Gitea Actions Workflow (Linter, Deps, Imports, Pytest, UI-Build)
...
CI / ui (push) Failing after 11m51s
CI / api-und-worker (push) Failing after 12m54s
Rot ist ein Ergebnis: ohne echte Tests bleibt die Ampel rot.
Teil der Wasserdicht-Runde 22.07.
2026-07-22 18:56:28 +02:00
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