0.13.1-4 release snapshot

This commit is contained in:
2026-04-13 11:52:07 +00:00
parent 6115090da1
commit ba3732af6b
176 changed files with 103457 additions and 1 deletions
+67
View File
@@ -0,0 +1,67 @@
# Umgebungsvariablen
Umgebungsvariablen steuern Backend/Vite außerhalb der DB-basierten UI-Settings.
---
## Backend (`backend/.env`)
| Variable | Default (Code) | Beschreibung |
|---------|------------------|-------------|
| `PORT` | `3001` | Express-Port |
| `DB_PATH` | `backend/data/ripster.db` | SQLite-Datei (relativ zu `backend/`) |
| `LOG_DIR` | `backend/logs` | Fallback-Logverzeichnis (wenn `log_dir`-Setting nicht gesetzt/lesbar) |
| `CORS_ORIGIN` | `*` | CORS-Origin für API |
| `LOG_LEVEL` | `info` | `debug`, `info`, `warn`, `error` |
Beispiel:
```env
PORT=3001
DB_PATH=/var/lib/ripster/ripster.db
LOG_DIR=/var/log/ripster
CORS_ORIGIN=http://192.168.1.50:5173
LOG_LEVEL=info
```
Hinweis: `backend/.env.example` enthält bewusst dev-freundliche Werte (z. B. lokaler `CORS_ORIGIN`).
---
## Frontend (`frontend/.env`)
| Variable | Default | Beschreibung |
|---------|---------|-------------|
| `VITE_API_BASE` | `/api` | API-Basis für Fetch-Client |
| `VITE_WS_URL` | automatisch aus `window.location` + `/ws` | Optional explizite WebSocket-URL |
| `VITE_PUBLIC_ORIGIN` | leer | Öffentliche Vite-Origin (Remote-Dev) |
| `VITE_ALLOWED_HOSTS` | `true` | Komma-separierte Hostliste für Vite `allowedHosts` |
| `VITE_HMR_PROTOCOL` | abgeleitet aus `VITE_PUBLIC_ORIGIN` | HMR-Protokoll (`ws`/`wss`) |
| `VITE_HMR_HOST` | abgeleitet aus `VITE_PUBLIC_ORIGIN` | HMR-Host |
| `VITE_HMR_CLIENT_PORT` | abgeleitet aus `VITE_PUBLIC_ORIGIN` | HMR-Client-Port |
Beispiele:
```env
# lokal (mit Vite-Proxy)
VITE_API_BASE=/api
```
```env
# remote dev
VITE_API_BASE=http://192.168.1.50:3001/api
VITE_WS_URL=ws://192.168.1.50:3001/ws
VITE_PUBLIC_ORIGIN=http://192.168.1.50:5173
VITE_ALLOWED_HOSTS=192.168.1.50,ripster.local
VITE_HMR_PROTOCOL=ws
VITE_HMR_HOST=192.168.1.50
VITE_HMR_CLIENT_PORT=5173
```
---
## Priorität
1. Prozess-Umgebungsvariablen
2. `.env`
3. Code-Defaults
+29
View File
@@ -0,0 +1,29 @@
# Anhang: Konfiguration
Dieser Abschnitt ist die technische Referenz zu allen Konfigurationsarten in Ripster.
## Inhalte
<div class="grid cards" markdown>
- :material-tune: **Einstellungsreferenz**
---
Vollständige Liste aller UI-Settings (Typ, Default, Hinweise).
[:octicons-arrow-right-24: Einstellungsreferenz](settings-reference.md)
- :material-variable: **Umgebungsvariablen**
---
`backend/.env` und `frontend/.env` inkl. Prioritäten.
[:octicons-arrow-right-24: Umgebungsvariablen](environment.md)
</div>
## Zurück zum Handbuch
- [Benutzerhandbuch Überblick](../getting-started/index.md)
+181
View File
@@ -0,0 +1,181 @@
# Einstellungsreferenz
Diese Seite listet die Felder so, wie sie in der GUI unter `Settings` angezeigt werden.
Hinweis: Interne Schlüsselnamen werden hier bewusst nicht verwendet. Falls du sie für Integrationen brauchst, nutze die API-Dokumentation.
---
## Profil-System
Viele Felder sind pro Medientyp getrennt vorhanden:
- Blu-ray
- DVD
- Sonstiges
- Audiobook (neu ab v0.12.0)
---
## Template-Platzhalter
### Video-Templates
- `${title}` — Titel
- `${year}` — Erscheinungsjahr
- `${imdbId}` — IMDb-ID
### Audiobook-Templates
- `{author}` — Autor
- `{title}` — Titel
- `{year}` — Erscheinungsjahr
- `{narrator}` — Sprecher
- `{series}` — Buchreihe
- `{part}` — Teil-Nummer
- `{format}` — Ausgabeformat
### Converter-Templates (Video)
- `{title}`, `{year}`
### Converter-Templates (Audio)
- `{artist}`, `{title}`, `{album}`, `{year}`, `{trackNr}`
Nicht gesetzte Werte werden zu `unknown`.
---
## Kategorie: Pfade
| Feldname in der GUI | Typ | Default |
|---|---|---|
| `Raw Ausgabeordner` | path | `data/output/raw` |
| `Raw Ausgabeordner (Blu-ray)` | path | `null` |
| `Raw Ausgabeordner (DVD)` | path | `null` |
| `Raw Ausgabeordner (Sonstiges)` | path | `null` |
| `Eigentümer Raw-Ordner (Blu-ray)` | string | `null` |
| `Eigentümer Raw-Ordner (DVD)` | string | `null` |
| `Eigentümer Raw-Ordner (Sonstiges)` | string | `null` |
| `Film Ausgabeordner` | path | `data/output/movies` |
| `Film Ausgabeordner (Blu-ray)` | path | `null` |
| `Film Ausgabeordner (DVD)` | path | `null` |
| `Film Ausgabeordner (Sonstiges)` | path | `null` |
| `Eigentümer Film-Ordner (Blu-ray)` | string | `null` |
| `Eigentümer Film-Ordner (DVD)` | string | `null` |
| `Eigentümer Film-Ordner (Sonstiges)` | string | `null` |
| `Log Ordner` | path | `data/logs` |
| `Audiobook RAW-Ordner` | path | `null` |
| `Eigentümer Audiobook RAW-Ordner` | string | `null` |
| `Audiobook Output-Ordner` | path | `null` |
| `Eigentümer Audiobook Output-Ordner` | string | `null` |
| `Output Template (Audiobook)` | string | `{author}/{author} - {title} ({year})` |
| `Audiobook RAW Template` | string | `{author} - {title} ({year})` |
| `Converter Raw-Ordner` | path | `null` |
| `Converter Ausgabe (Video)` | path | `null` |
| `Converter Ausgabe (Audio)` | path | `null` |
| `Output-Template (Video)` | string | `{title}` |
| `Output-Template (Audio)` | string | `{artist} - {title}` |
---
## Kategorie: Laufwerk
| Feldname in der GUI | Typ | Default | Hinweis |
|---|---|---|---|
| `Laufwerksmodus` | select | `auto` | `Auto Discovery` oder `Explizites Device` |
| `Device Pfad` | path | `/dev/sr0` | relevant bei `Explizites Device` |
| `MakeMKV Source Index` | number | `0` | Disc-Index im Auto-Modus |
| `Disc Auto-Erkennung aktiviert` | boolean | `true` | Automatische Disc-Erkennung per Polling |
| `Polling Intervall (ms)` | number | `4000` | 1000..60000 |
---
## Kategorie: Monitoring
| Feldname in der GUI | Typ | Default |
|---|---|---|
| `Hardware Monitoring aktiviert` | boolean | `true` |
| `Hardware Monitoring Intervall (ms)` | number | `5000` |
---
## Kategorie: Tools (global)
| Feldname in der GUI | Typ | Default |
|---|---|---|
| `MakeMKV Kommando` | string | `makemkvcon` |
| `MakeMKV Key` | string | `null` |
| `Mediainfo Kommando` | string | `mediainfo` |
| `Minimale Titellaenge (Minuten)` | number | `60` |
| `HandBrake Kommando` | string | `HandBrakeCLI` |
| `FFmpeg Kommando` | string | `ffmpeg` |
| `FFprobe Kommando` | string | `ffprobe` |
| `Encode-Neustart: unvollständige Ausgabe löschen` | boolean | `true` |
| `Parallele Jobs` | number | `1` |
### Blu-ray-spezifisch
| Feldname in der GUI | Typ | Default |
|---|---|---|
| `Mediainfo Extra Args` (Blu-ray) | string | `null` |
| `MakeMKV Rip Modus` (Blu-ray) | select | `backup` |
| `MakeMKV Analyze Extra Args` (Blu-ray) | string | `null` |
| `MakeMKV Rip Extra Args` (Blu-ray) | string | `null` |
| `HandBrake Preset` (Blu-ray) | string | `H.264 MKV 1080p30` |
| `HandBrake Extra Args` (Blu-ray) | string | `null` |
| `Ausgabeformat` (Blu-ray) | select | `mkv` |
| `Dateiname Template` (Blu-ray) | string | `${title} (${year})` |
| `Ordnername Template` (Blu-ray) | string | `null` |
### DVD-spezifisch
| Feldname in der GUI | Typ | Default |
|---|---|---|
| `Mediainfo Extra Args` (DVD) | string | `null` |
| `MakeMKV Rip Modus` (DVD) | select | `mkv` |
| `MakeMKV Analyze Extra Args` (DVD) | string | `null` |
| `MakeMKV Rip Extra Args` (DVD) | string | `null` |
| `HandBrake Preset` (DVD) | string | `H.264 MKV 480p30` |
| `HandBrake Extra Args` (DVD) | string | `null` |
| `Ausgabeformat` (DVD) | select | `mkv` |
| `Dateiname Template` (DVD) | string | `${title} (${year})` |
| `Ordnername Template` (DVD) | string | `null` |
---
## Kategorie: Converter
| Feldname in der GUI | Typ | Default | Hinweis |
|---|---|---|---|
| `Erlaubte Datei-Endungen*` | string | `mkv,mp4,m2ts,iso,avi,mov,flac,mp3,wav,m4a,ogg,opus` | In der UI als Checkbox-Liste, ohne Punkt |
| `Auto-Scan (Polling)` | boolean | `false` | Converter-Ordner automatisch scannen |
| `Polling-Intervall (Sekunden)` | number | `300` | 30..86400 |
---
## Kategorie: Metadaten
| Feldname in der GUI | Typ | Default |
|---|---|---|
| `OMDb API Key` | string | `null` |
| `OMDb Typ` | select | `movie` |
---
## Kategorie: Benachrichtigungen (PushOver)
| Feldname in der GUI | Typ | Default |
|---|---|---|
| `PushOver aktiviert` | boolean | `false` |
| `PushOver Token` | string | `null` |
| `PushOver User` | string | `null` |
| `PushOver Device (optional)` | string | `null` |
| `PushOver Titel-Präfix` | string | `Ripster` |
| `PushOver Priority` | number | `0` |
| `PushOver Timeout (ms)` | number | `7000` |
| `Bei Metadaten-Auswahl senden` | boolean | `true` |
| `Bei Rip-Start senden` | boolean | `true` |
| `Bei Encode-Start senden` | boolean | `true` |
| `Bei Erfolg senden` | boolean | `true` |
| `Bei Fehler senden` | boolean | `true` |
| `Bei Abbruch senden` | boolean | `true` |
| `Bei Re-Encode Start senden` | boolean | `true` |
| `Bei Re-Encode Erfolg senden` | boolean | `true` |