Initial commit mit MkDocs-Dokumentation

This commit is contained in:
2026-03-04 14:18:33 +00:00
parent 6115090da1
commit 31d3e36597
97 changed files with 27518 additions and 1 deletions

View File

@@ -0,0 +1,96 @@
# Umgebungsvariablen
Umgebungsvariablen überschreiben die Standardwerte und eignen sich für Server-Deployments.
---
## Backend-Umgebungsvariablen
Konfigurationsdatei: `backend/.env`
| Variable | Standard | Beschreibung |
|---------|---------|-------------|
| `PORT` | `3001` | Port des Express-Servers |
| `DB_PATH` | `./data/ripster.db` | Pfad zur SQLite-Datenbankdatei |
| `CORS_ORIGIN` | `http://localhost:5173` | Erlaubter CORS-Origin |
| `LOG_DIR` | `./logs` | Verzeichnis für Log-Dateien |
| `LOG_LEVEL` | `info` | Log-Level (`debug`, `info`, `warn`, `error`) |
### Beispiel: backend/.env
```env
PORT=3001
DB_PATH=/var/lib/ripster/ripster.db
CORS_ORIGIN=http://192.168.1.100:5173
LOG_DIR=/var/log/ripster
LOG_LEVEL=info
```
---
## Frontend-Umgebungsvariablen
Konfigurationsdatei: `frontend/.env`
| Variable | Standard | Beschreibung |
|---------|---------|-------------|
| `VITE_API_BASE` | `http://localhost:3001` | Backend-API-URL |
| `VITE_WS_URL` | `ws://localhost:3001` | WebSocket-URL |
| `VITE_PUBLIC_ORIGIN` | — | Öffentliche Origin-URL (für CORS) |
| `VITE_HMR_HOST` | — | Vite HMR-Host (für Remote-Entwicklung) |
| `VITE_HMR_PORT` | — | Vite HMR-Port |
### Beispiel: frontend/.env (Entwicklung)
```env
VITE_API_BASE=http://localhost:3001
VITE_WS_URL=ws://localhost:3001
```
### Beispiel: frontend/.env (Netzwerk-Zugriff)
```env
VITE_API_BASE=http://192.168.1.100:3001
VITE_WS_URL=ws://192.168.1.100:3001
VITE_PUBLIC_ORIGIN=http://192.168.1.100:5173
```
---
## .env.example Dateien
Das Repository enthält Vorlagen für beide Konfigurationsdateien:
```bash
# Backend
cp backend/.env.example backend/.env
# Frontend
cp frontend/.env.example frontend/.env
```
---
## Priorität der Konfiguration
Einstellungen werden in folgender Reihenfolge geladen (höhere Priorität überschreibt niedrigere):
```
1. Systemumgebungsvariablen (export VAR=value)
2. .env-Datei
3. Hardcodierte Standardwerte in config.js
```
---
## LOG_LEVEL
| Level | Ausgabe |
|-------|---------|
| `debug` | Alle Meldungen inkl. Debugging |
| `info` | Normale Betriebsinformationen |
| `warn` | Warnungen + Fehler |
| `error` | Nur Fehler |
!!! tip "Produktionsempfehlung"
Für Produktionsumgebungen `LOG_LEVEL=info` oder `LOG_LEVEL=warn` verwenden. `debug` erzeugt sehr viele Log-Einträge.

View File

@@ -0,0 +1,21 @@
# Konfiguration
<div class="grid cards" markdown>
- :material-tune: **Einstellungsreferenz**
---
Alle verfügbaren Einstellungen mit Typen, Standardwerten und Beschreibungen.
[:octicons-arrow-right-24: Einstellungsreferenz](settings-reference.md)
- :material-variable: **Umgebungsvariablen**
---
Umgebungsvariablen für Backend und Frontend.
[:octicons-arrow-right-24: Umgebungsvariablen](environment.md)
</div>

View File

@@ -0,0 +1,138 @@
# Einstellungsreferenz
Vollständige Übersicht aller Ripster-Einstellungen. Alle Einstellungen werden über die Web-Oberfläche unter **Einstellungen** verwaltet.
---
## Kategorie: Pfade (paths)
| Schlüssel | Typ | Standard | Pflicht | Beschreibung |
|---------|-----|---------|---------|-------------|
| `raw_dir` | string | — | ✅ | Verzeichnis für rohe MKV-Dateien nach dem Ripping |
| `movie_dir` | string | — | ✅ | Ausgabeverzeichnis für encodierte Filme |
| `log_dir` | string | `./logs` | — | Verzeichnis für Log-Dateien |
!!! example "Beispielkonfiguration"
```
raw_dir = /mnt/nas/raw
movie_dir = /mnt/nas/movies
log_dir = /var/log/ripster
```
---
## Kategorie: Tools (tools)
| Schlüssel | Typ | Standard | Beschreibung |
|---------|-----|---------|-------------|
| `makemkv_command` | string | `makemkvcon` | Befehl oder absoluter Pfad zu MakeMKV |
| `handbrake_command` | string | `HandBrakeCLI` | Befehl oder absoluter Pfad zu HandBrake |
| `mediainfo_command` | string | `mediainfo` | Befehl oder absoluter Pfad zu MediaInfo |
!!! tip "Absolute Pfade verwenden"
Falls die Tools nicht im `PATH` des Systems sind:
```
makemkv_command = /usr/local/bin/makemkvcon
handbrake_command = /usr/local/bin/HandBrakeCLI
mediainfo_command = /usr/bin/mediainfo
```
---
## Kategorie: Encoding (encoding)
| Schlüssel | Typ | Standard | Beschreibung |
|---------|-----|---------|-------------|
| `handbrake_preset` | string | `H.265 MKV 1080p30` | Name des HandBrake-Presets |
| `handbrake_extra_args` | string | _(leer)_ | Zusätzliche HandBrake CLI-Argumente |
| `output_extension` | string | `mkv` | Dateiendung der Ausgabedatei |
| `filename_template` | string | `{title} ({year})` | Template für den Dateinamen |
### Verfügbare HandBrake-Presets
Eine vollständige Liste der verfügbaren Presets:
```bash
HandBrakeCLI --preset-list
```
Häufig verwendete Presets:
| Preset | Beschreibung |
|--------|-------------|
| `H.265 MKV 1080p30` | H.265/HEVC, Full-HD, 30fps |
| `H.265 MKV 720p30` | H.265/HEVC, HD, 30fps |
| `H.264 MKV 1080p30` | H.264/AVC, Full-HD, 30fps |
| `HQ 1080p30 Surround` | Hohe Qualität, Full-HD mit Surround |
### Dateiname-Template-Platzhalter
| Platzhalter | Beispiel |
|------------|---------|
| `{title}` | `Inception` |
| `{year}` | `2010` |
| `{imdb_id}` | `tt1375666` |
| `{type}` | `movie` |
---
## Kategorie: Laufwerk (drive)
| Schlüssel | Typ | Standard | Optionen | Beschreibung |
|---------|-----|---------|---------|-------------|
| `drive_mode` | select | `auto` | `auto`, `explicit` | Laufwerk-Erkennungsmodus |
| `drive_device` | string | `/dev/sr0` | — | Geräte-Pfad (nur bei `explicit`) |
| `disc_poll_interval_ms` | number | `5000` | 100060000 | Polling-Intervall in Millisekunden |
**`drive_mode` Optionen:**
| Modus | Beschreibung |
|------|-------------|
| `auto` | Ripster erkennt das Laufwerk automatisch |
| `explicit` | Verwendet das in `drive_device` konfigurierte Gerät |
---
## Kategorie: MakeMKV (makemkv)
| Schlüssel | Typ | Standard | Min | Max | Beschreibung |
|---------|-----|---------|-----|-----|-------------|
| `makemkv_min_length_minutes` | number | `15` | `0` | `999` | Mindest-Titellänge in Minuten |
| `makemkv_backup_mode` | boolean | `false` | — | — | Backup-Modus statt MKV-Modus |
**`makemkv_min_length_minutes`:** Titel kürzer als dieser Wert werden von MakeMKV ignoriert. Verhindert das Rippen von Menü-Schleifen und kurzen Extra-Clips.
**`makemkv_backup_mode`:** Im Backup-Modus erstellt MakeMKV eine vollständige Disc-Kopie mit Menüs. Im Standard-Modus werden direkt MKV-Dateien erstellt.
---
## Kategorie: OMDb (omdb)
| Schlüssel | Typ | Standard | Pflicht | Beschreibung |
|---------|-----|---------|---------|-------------|
| `omdb_api_key` | string | — | ✅ | API-Key von [omdbapi.com](https://www.omdbapi.com/) |
| `omdb_default_type` | select | `movie` | — | Standard-Suchtyp: `movie` oder `series` |
---
## Kategorie: Benachrichtigungen (notifications)
| Schlüssel | Typ | Standard | Beschreibung |
|---------|-----|---------|-------------|
| `pushover_user_key` | string | — | PushOver User-Key |
| `pushover_api_token` | string | — | PushOver API-Token |
Beide Felder müssen konfiguriert sein, um PushOver-Benachrichtigungen zu aktivieren. Die Verbindung kann mit dem **Test-Button** in den Einstellungen geprüft werden.
---
## Standard-Einstellungen zurücksetzen
Über die Datenbank können Einstellungen auf Standardwerte zurückgesetzt werden:
```bash
sqlite3 backend/data/ripster.db \
"DELETE FROM settings_values WHERE key = 'handbrake_preset';"
```
Beim nächsten Laden der Einstellungen wird der Standardwert verwendet.