Initial commit mit MkDocs-Dokumentation
This commit is contained in:
96
docs/configuration/environment.md
Normal file
96
docs/configuration/environment.md
Normal 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.
|
||||
21
docs/configuration/index.md
Normal file
21
docs/configuration/index.md
Normal 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>
|
||||
138
docs/configuration/settings-reference.md
Normal file
138
docs/configuration/settings-reference.md
Normal 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` | 1000–60000 | 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.
|
||||
Reference in New Issue
Block a user