Settings API¶
Endpunkte zum Lesen und Schreiben der Anwendungseinstellungen.
GET /api/settings¶
Gibt alle Einstellungen kategorisiert zurück.
Response:
{
"paths": {
"raw_dir": {
"value": "/mnt/nas/raw",
"schema": {
"type": "string",
"label": "Raw-Verzeichnis",
"description": "Speicherort für rohe MKV-Dateien",
"required": true
}
},
"movie_dir": {
"value": "/mnt/nas/movies",
"schema": { ... }
}
},
"tools": { ... },
"encoding": { ... },
"drive": { ... },
"makemkv": { ... },
"omdb": { ... },
"notifications": { ... }
}
PUT /api/settings/:key¶
Aktualisiert eine einzelne Einstellung.
URL-Parameter: key – Einstellungs-Schlüssel
Request:
Response:
Fehlerfälle: - 400 – Ungültiger Wert (Validierungsfehler) - 404 – Einstellung nicht gefunden
Encode-Review-Refresh
Wenn eine encoding-relevante Einstellung geändert wird (z.B. handbrake_preset), wird der Encode-Plan für den aktuell wartenden Job automatisch neu berechnet.
PUT /api/settings¶
Aktualisiert mehrere Einstellungen auf einmal.
Request:
{
"raw_dir": "/mnt/storage/raw",
"movie_dir": "/mnt/storage/movies",
"handbrake_preset": "H.265 MKV 720p30"
}
Response:
POST /api/settings/pushover/test¶
Sendet eine Test-Benachrichtigung über PushOver.
Request: Kein Body erforderlich (verwendet gespeicherte Zugangsdaten)
Response (Erfolg):
Response (Fehler):
Skript-Verwaltung¶
Post-Encode-Skripte werden über eigene Endpunkte unter /api/settings/scripts verwaltet.
GET /api/settings/scripts¶
Gibt alle konfigurierten Skripte zurück.
Response:
{
"scripts": [
{
"id": "script-abc123",
"name": "Zu Plex verschieben",
"command": "/home/michael/scripts/move-to-plex.sh",
"description": "Verschiebt die fertige Datei ins Plex-Verzeichnis",
"createdAt": "2024-01-15T10:00:00.000Z"
}
]
}
POST /api/settings/scripts¶
Legt ein neues Post-Encode-Skript an.
Request:
{
"name": "Zu Plex verschieben",
"command": "/home/michael/scripts/move-to-plex.sh",
"description": "Verschiebt die fertige Datei ins Plex-Verzeichnis"
}
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
name | string | ✅ | Anzeigename |
command | string | ✅ | Shell-Befehl oder absoluter Skriptpfad |
description | string | — | Optionale Beschreibung |
Response:
{
"ok": true,
"script": {
"id": "script-abc123",
"name": "Zu Plex verschieben",
"command": "/home/michael/scripts/move-to-plex.sh"
}
}
PUT /api/settings/scripts/:scriptId¶
Aktualisiert ein vorhandenes Skript.
URL-Parameter: scriptId
Request: Gleiche Felder wie beim Anlegen (alle optional).
Response: { "ok": true }
DELETE /api/settings/scripts/:scriptId¶
Löscht ein Skript.
URL-Parameter: scriptId
Response: { "ok": true }
Referenzen in Jobs
Wenn das Skript in laufenden oder abgeschlossenen Jobs referenziert wird, wird es trotzdem gelöscht. In zukünftigen Encode-Reviews erscheint es nicht mehr.
POST /api/settings/scripts/:scriptId/test¶
Führt ein Skript mit Platzhalter-Umgebungsvariablen aus (Testlauf).
URL-Parameter: scriptId
Response (Erfolg):
Response (Fehler):
{
"ok": false,
"exitCode": 1,
"stdout": "",
"stderr": "Datei nicht gefunden: /home/michael/scripts/move-to-plex.sh",
"durationMs": 12
}
Platzhalter-Werte beim Testlauf:
| Variable | Testwert |
|---|---|
RIPSTER_OUTPUT_PATH | /tmp/ripster-test-output.mkv |
RIPSTER_JOB_ID | 0 |
RIPSTER_TITLE | Test Film |
RIPSTER_YEAR | 2024 |
RIPSTER_IMDB_ID | tt0000000 |
RIPSTER_RAW_PATH | /tmp/ripster-test-raw.mkv |
Einstellungs-Schlüssel Referenz¶
Eine vollständige Liste aller Einstellungs-Schlüssel:
| Schlüssel | Kategorie | Typ | Beschreibung |
|---|---|---|---|
raw_dir | paths | string | Raw-MKV Verzeichnis |
movie_dir | paths | string | Ausgabe-Verzeichnis |
log_dir | paths | string | Log-Verzeichnis |
makemkv_command | tools | string | MakeMKV-Befehl |
handbrake_command | tools | string | HandBrake-Befehl |
mediainfo_command | tools | string | MediaInfo-Befehl |
handbrake_preset | encoding | string | HandBrake-Preset-Name |
handbrake_extra_args | encoding | string | Zusatz-Argumente |
output_extension | encoding | string | Dateiendung (z.B. mkv) |
filename_template | encoding | string | Dateiname-Template |
drive_mode | drive | select | auto oder explicit |
drive_device | drive | string | Geräte-Pfad |
disc_poll_interval_ms | drive | number | Polling-Intervall (ms) |
makemkv_min_length_minutes | makemkv | number | Min. Titellänge (Minuten) |
makemkv_backup_mode | makemkv | boolean | Backup-Modus aktivieren |
omdb_api_key | omdb | string | OMDb API-Key |
omdb_default_type | omdb | select | Standard-Suchtyp |
pushover_user_key | notifications | string | PushOver User-Key |
pushover_api_token | notifications | string | PushOver API-Token |