0.16.1-1 release snapshot

This commit is contained in:
2026-04-29 08:35:24 +00:00
parent 6115090da1
commit 901a3b1ad7
269 changed files with 127336 additions and 1 deletions
+102
View File
@@ -0,0 +1,102 @@
# Ersteinrichtung
Diese Seite ist die Betriebs-Checkliste vor dem ersten produktiven Lauf.
## Ziel der Ersteinrichtung
Vor dem ersten Job müssen drei Dinge stabil sein:
1. Pfade stimmen (RAW, Output, Logs)
2. Tools sind aufrufbar (MakeMKV, HandBrake, MediaInfo)
3. Metadatenzugänge funktionieren (OMDb, optional TMDb/MusicBrainz)
## Empfohlene Reihenfolge
### 1) Basis in `Settings -> Konfiguration`
Setze zuerst:
- `Raw-Ordner` und `Film-/Serien-Ordner`
- `Log Ordner`
- `MakeMKV Kommando`, `HandBrake Kommando`, `Mediainfo Kommando`
- `OMDb API Key`
Dann speichern.
### 2) Profile pro Medium festziehen
Ripster löst viele Werte profilspezifisch auf (`bluray`, `dvd`, `cd`, `audiobook`).
Pflichtprüfung:
- RAW-Pfade je Profil
- Output-Pfade je Profil
- HandBrake-Preset je Profil
- Output-Templates je Profil
Für Serien zusätzlich:
- `RAW-Ordner (Blu-ray/DVD Serie)`
- `Serien-Ordner (Blu-ray/DVD)`
- Serien-Templates (Episode/Multi-Episode)
### 3) Queue-Verhalten definieren
Stelle ein:
- `Max. parallele Film/Video Encodes`
- `Max. parallele Audio CD Jobs`
- `Max. Encodes gesamt`
- optional `Audio CDs: Queue-Reihenfolge überspringen`
Damit steuerst du Durchsatz, Priorität und Lastverteilung.
### 4) Metadatenquellen absichern
Film:
- OMDb-Key prüfen
Serien:
- TMDb Read Access Token setzen
- Sprache/Fallback-Sprachen festlegen
CD/Audiodaten:
- `MusicBrainz aktiviert` nach Bedarf
### 5) Optional: Benachrichtigungen
- PushOver-Zugangsdaten setzen
- `PushOver Test` ausführen
- Event-Toggles pro Phase prüfen
### 6) Optional: Automatisierung
1. Skripte testen
2. Skriptketten bauen/testen
3. Cronjobs erst danach aktivieren
## Funktionsprüfung (Kurztest)
1. Disc in `Ripper` erkennen lassen.
2. `Analyse starten`.
3. Metadaten übernehmen.
4. Bis `Bereit zum Encodieren` laufen.
5. Encode starten und Abschluss in `Historie` prüfen.
## Typische Konfigurationsfehler
| Symptom | Häufige Ursache |
|---|---|
| Job bleibt früh auf Fehler | Toolkommando falsch oder nicht im PATH |
| RAW/Output landet am falschen Ort | Profilpfade nicht gesetzt, Fallback greift |
| Serienausgabe landet bei Filmen | Serienpfade/Serientemplates fehlen |
| Queue verhält sich unerwartet | Gesamtlimit und Lane-Limits widersprechen sich |
## Weiter
- [Erster Lauf](quickstart.md)
- [GUI-Seiten](../gui/index.md)
- [Workflows aus Nutzersicht](../workflows/index.md)
+33
View File
@@ -0,0 +1,33 @@
# Benutzerhandbuch Überblick
Dieses Kapitel ist für den **Betrieb von Ripster im Alltag** geschrieben.
## Zielgruppe
- Anwender, die Discs verarbeiten wollen
- Betreiber, die den täglichen Ablauf stabil fahren möchten
- Power-User, die Queue/Skripte/Cron im UI steuern möchten
## Kapitelstruktur
| Kapitel | Zweck |
|---|---|
| [Voraussetzungen](prerequisites.md) | Produktions- vs. Dev-Voraussetzungen klar trennen |
| [Installation](installation.md) | Ripster aufsetzen und starten |
| [Ersteinrichtung](configuration.md) | Pfade, Tools und Metadaten korrekt setzen |
| [Erster Lauf](quickstart.md) | Ein kompletter Job von Disc bis Datei |
| [GUI-Seiten](../gui/index.md) | Alle Ansichten und Aktionen im Detail |
| [Workflows](../workflows/index.md) | Typische Abläufe und Entscheidungen aus User-Sicht |
## Wenn du neu startest
1. [Voraussetzungen](prerequisites.md)
2. [Installation](installation.md)
3. [Ersteinrichtung](configuration.md)
4. [Erster Lauf](quickstart.md)
## Wenn Ripster bereits läuft
1. [GUI-Seiten](../gui/index.md)
2. [Workflows](../workflows/index.md)
3. Bei Detailfragen: [Technischer Anhang](../appendix/index.md)
+109
View File
@@ -0,0 +1,109 @@
# Installation
Die empfohlene Installation läuft über `install.sh` und richtet Ripster vollständig ein.
Du musst dafür **keine Tools manuell vorinstallieren**. Das Skript installiert die benötigten Abhängigkeiten automatisch, sofern sie nicht explizit mit `--no-*` übersprungen werden.
## Unterstützte Systeme und Anforderungen
- unterstützt laut Script: `debian`, `ubuntu`, `linuxmint`, `pop`
- Ausführung als `root` (oder via `sudo`)
- Internetzugang während der Installation
## Schritt-für-Schritt
### 1. Installationsskript herunterladen
```bash
wget -qO install.sh https://raw.githubusercontent.com/Mboehmlaender/ripster/main/install.sh
```
### 2. Installation ausführen
```bash
sudo bash install.sh
```
Während der Installation wählst du den HandBrake-Modus:
- `1` Standard (Paketinstallation)
- `2` GPU/NVDEC (gebündeltes Binary)
### 3. Dienststatus prüfen
```bash
sudo systemctl status ripster-backend
```
### 4. Weboberfläche öffnen
- mit nginx (Standard): `http://<Server-IP>`
- ohne nginx (`--no-nginx`): API auf `http://<Server-IP>:3001/api`
## Was `install.sh` konkret einrichtet
1. prüft Betriebssystem, Root-Rechte und ermittelt Host/IP
2. aktualisiert Paketquellen und installiert Basispakete (`curl`, `wget`, `git`, `mediainfo`, `udev` ...)
3. installiert Node.js 20 (falls nicht passend vorhanden)
4. installiert optional MakeMKV (Build aus den offiziellen Quellen)
5. installiert optional HandBrakeCLI (Standard oder GPU/NVDEC)
6. installiert optional nginx
7. legt den Systembenutzer `ripster` an (ohne Login-Shell, ohne Home) und ergänzt Gruppen (`cdrom`, `optical`, `disk`, `video`, `render`, falls vorhanden)
8. klont das Repository nach `/opt/ripster` (oder aktualisiert bei `--reinstall`)
9. legt Verzeichnisse an:
- `/opt/ripster/backend/data`
- `/opt/ripster/backend/logs`
- `/opt/ripster/backend/data/output/raw`
- `/opt/ripster/backend/data/output/movies`
- `/opt/ripster/backend/data/logs`
10. installiert npm-Abhängigkeiten (Root, Backend, Frontend) und baut das Frontend
11. erzeugt `backend/.env` (bei `--reinstall` bleibt bestehende `.env` erhalten)
12. setzt Rechte/Besitz und erstellt bei sudo-Installation zusätzlich `~/.MakeMKV` für den aufrufenden Benutzer
13. erzeugt und startet `ripster-backend.service`
14. konfiguriert und startet nginx (falls nicht übersprungen)
## Wichtige Optionen
| Option | Default laut Script | Zweck |
|---|---|---|
| `--branch <branch>` | `dev` | Branch für die Installation |
| `--dir <pfad>` | `/opt/ripster` | Installationsverzeichnis |
| `--user <benutzer>` | `ripster` | Service-Benutzer |
| `--port <port>` | `3001` | Backend-Port |
| `--host <hostname>` | automatisch ermittelte Host-IP | Hostname/IP für Webzugriff/CORS |
| `--no-makemkv` | aus | MakeMKV-Installation überspringen |
| `--no-handbrake` | aus | HandBrake-Installation überspringen |
| `--no-nginx` | aus | nginx-Setup überspringen |
| `--reinstall` | aus | bestehende Installation aktualisieren |
Beispiele:
```bash
sudo bash install.sh --branch dev
sudo bash install.sh --port 8080 --host ripster.local
sudo bash install.sh --reinstall
```
## Betrieb im Alltag
```bash
# Logs live ansehen
sudo journalctl -u ripster-backend -f
# Dienst neu starten
sudo systemctl restart ripster-backend
# Update aus bestehender Installation
sudo bash /opt/ripster/install.sh --reinstall
```
## Häufige Stolperstellen
- Laufwerk nicht zugreifbar: Laufwerksrechte/Gruppen prüfen
- CLI-Tool fehlt wegen `--no-*`: Tool nachinstallieren oder Befehl in Settings korrigieren
- UI nicht erreichbar: nginx-Status und Firewall prüfen
## Danach weiter
1. [Ersteinrichtung](configuration.md)
2. [Erster Lauf](quickstart.md)
+48
View File
@@ -0,0 +1,48 @@
# Voraussetzungen
Die Voraussetzungen hängen davon ab, **wie** du Ripster betreibst.
## Produktionsbetrieb mit `install.sh` (Standard)
Für den normalen Betrieb sind nur wenige Punkte vorab nötig.
### Pflicht
- unterstütztes Linux-System (laut Script: Debian, Ubuntu, Linux Mint, Pop!_OS)
- `root`-Rechte
- Internetzugang während der Installation
- optisches Laufwerk für Disc-Betrieb
`install.sh` installiert die benötigten Tools selbst (u. a. Node.js, MakeMKV, HandBrakeCLI, MediaInfo), sofern sie nicht explizit per `--no-*` übersprungen werden.
### Laufwerk kurz prüfen
```bash
ls /dev/sr*
lsblk | grep rom
```
Wenn nötig Rechte setzen (Beispiel):
```bash
sudo chmod a+rw /dev/sr0
```
### Optional vorab
- OMDb API-Key (kann auch nach Installation in den `Settings` gesetzt werden)
- PushOver-Zugangsdaten (optional)
## Entwicklungsmodus (nur für Dev)
Wenn du lokal entwickelst (`./start.sh`, `npm run dev`), gelten zusätzliche Voraussetzungen:
- Node.js >= 20.19.0
- `makemkvcon`, `HandBrakeCLI`, `mediainfo` im `PATH`
Details: [Entwicklungsumgebung](../deployment/development.md)
## Abschluss-Checkliste
- [ ] Produktionsbetrieb: Linux + root + Internet + Laufwerk vorhanden
- [ ] Dev-Modus (nur falls benötigt): Node.js und CLI-Tools verfügbar
+90
View File
@@ -0,0 +1,90 @@
# Erster Lauf
Dieser Ablauf führt einen vollständigen Disc-Job von Erkennung bis fertiger Datei durch.
## 1) Disc erkennen
1. `Ripper` öffnen.
2. Disc einlegen.
3. Auf `Medium erkannt` warten.
Prüfen:
- `Disk-Information` zeigt Device/Label.
- Falls nicht: `Laufwerk neu lesen`.
## 2) Analyse starten
Aktion:
- `Analyse starten`
Erwartung:
- Status `Analyse`
- danach Metadaten-Dialog
## 3) Metadaten bestätigen
Im Dialog:
1. Treffer suchen/auswählen.
2. Bei Serie zusätzlich Disc-Nummer setzen.
3. `Auswahl übernehmen`.
Mögliche Abzweigungen:
- Duplikatfilm -> `Übernahme erzwingen` oder `Multipart movie`
- vorhandenes RAW -> Entscheidungsdialog (weiterverwenden oder neu rippen)
## 4) Rip/Review-Phase
Normalfall:
- `Startbereit` -> `Rippen` -> `Mediainfo-Pruefung`
Mögliche Alternativen:
- vorhandenes RAW: direkter Sprung in Prüfung
- Blu-ray/DVD-Entscheidung nötig: `Warte auf Auswahl` für Playlist/Titel
## 5) Encode-Review abschließen
Bei `Bereit zum Encodieren`:
- Titel festlegen
- Audio-/Subtitle-Spuren prüfen
- optional Preset auswählen
- optional Pre-/Post-Skripte wählen
Dann:
- `Encoding starten`
## 6) Encoding überwachen
Während `Encodieren`:
- Fortschritt/ETA im Ripper
- Queue- und Runtime-Status beobachten
- optional Logkontrolle in Historie
## 7) Ergebnis verifizieren
Nach `Fertig`:
1. `Historie` öffnen.
2. Jobdetail prüfen.
3. Output-Pfad und Log plausibilisieren.
Kontrollpunkte:
- finale Datei am erwarteten Template-Pfad
- RAW-Ordnerzustand finalisiert (kein `Incomplete_`)
## 8) Typische Folgeaktionen
- falsche Metadaten: `OMDb neu zuordnen`
- andere Trackauswahl: `Review neu starten`
- erneuter Encode aus RAW: `RAW neu encodieren`
- gleicher Plan erneut: `Encode neu starten`