7.5 KiB
Ripster
Ripster ist eine lokale Web-Anwendung für Disc-Ripping, Audiobook-Verarbeitung und Datei-Konvertierung. Das System kombiniert MakeMKV, HandBrake, FFmpeg, cdparanoia, mkvmerge, SQLite und eine React-Oberfläche zu einer durchgehenden Pipeline mit Queue, Historie, Downloads, Skript-Automation und Echtzeitstatus per WebSocket.
Funktionsumfang
Medien-Workflows
- Blu-ray-Ripping und -Encoding
- DVD-Ripping und -Encoding
- Audio-CD-Ripping und -Encoding
- Audiobook-Verarbeitung aus
.aax - Datei-Converter für Audio-, Video- und ISO-Dateien
Video (Blu-ray / DVD)
- automatische Disc-Erkennung, Rescan einzelner Laufwerke und Live-Status im Ripper
- Metadaten-Suche über TMDB für Filme und Serien
- HandBrake-Review mit Playlist-/Titel-Auswahl, Audio-/Untertitel-Track-Auswahl und Encode-Vorschau
- MakeMKV-Rip mit profilspezifischen Modi und Zusatzargumenten
- HandBrake-Encoding mit User-Presets, offiziellen HandBrake-Presets und Extra-Args
- Serien-Workflows für DVD- und Blu-ray-Discs inkl. Episoden-Zuordnung und Batch-Encoding
- Multipart-Movie-Workflows über mehrere Discs inkl. Merge-Job via
mkvmerge - Re-Encode aus RAW, Review-Neustart, Encode-Neustart, Retry und Resume laufender/unterbrochener Jobs
Audio-CD
- TOC-Analyse und Rip mit
cdparanoia - MusicBrainz-Suche und Übernahme von Album-/Track-Metadaten
- Track-Auswahl und Ausgabe als FLAC, WAV, MP3, Opus oder Ogg Vorbis
- RAW-Wiederverwendung und CD-Review-/Encode-Neustart aus vorhandenen Daten
Audiobooks
- Upload und Verarbeitung von Audible-/AAX-Dateien
- Activation-Bytes-Cache für DRM-geschützte Titel
- Metadaten- und Kapitelanreicherung über Audnex plus lokale Probe-Daten
- Ausgabe als M4B, MP3 oder FLAC
- Einzeldatei oder kapitelweises Splitten
Converter
- Dateibaum und Datei-Explorer für das Converter-RAW-Verzeichnis
- Upload, Ordner anlegen, Umbenennen, Verschieben und Löschen
- Jobs aus Dateiauswahl erzeugen, Dateien bestehenden Jobs zuweisen oder daraus entfernen
- Audio-/Video-Erkennung und automatische RAW-Scans per Polling
- TMDB-Metadatenzuordnung für passende Video-Jobs
Automation, Betrieb und Verwaltung
- Queue mit normalen Jobs sowie zusätzlichen
script-,chain- undwait-Einträgen - Pre-/Post-Encode-Skripte und Skript-Ketten
- Cron-Jobs für Skripte und Ketten inkl. Validierung, Logs und manueller Auslösung
- Download-Queue für ZIP-Archive aus Historienjobs
- Historie mit Detailansicht, Re-Encode, Review-/Encode-Neustart, Retry und Löschfunktionen
/database-Ansicht für Orphan-RAW-Ordner (Import oder Löschen vorhandener RAW-Daten)- Hardware-Monitoring mit Live-Werten und Verlaufshistorie
- Pushover-Benachrichtigungen für zentrale Pipeline-Ereignisse
- MakeMKV-Betakey-Prüfung/-Übernahme und Cover-Art-Recovery
Oberfläche
Ripper: Disc-Erkennung, Pipeline-Status, Queue, Review-Dialoge und aktive JobsConverter: Dateibaum, Uploads und Converter-JobsAudiobooks: AAX-Uploads und Audiobook-JobsSettings: Pfade, Tools, Templates, Queue, Monitoring, Notifications, Scripts, Chains, PresetsHistorie: abgeschlossene und fehlerhafte Jobs mit FolgeaktionenDownloads: vorbereitete ZIP-DownloadsDatabase: Orphan-RAW-Verwaltung (im Expertenmodus)- Zusatzansichten:
HardwareundTMDB Migration
Installation
Der korrekte Bootstrap läuft über setup.sh. setup.sh lädt das passende install.sh aus dem gewünschten Branch und startet es mit denselben Parametern.
Unterstützte Systeme laut Installer:
- Debian
- Ubuntu
- Linux Mint
- Pop!_OS
Standardinstallation:
curl -fsSL https://raw.githubusercontent.com/Mboehmlaender/ripster/main/setup.sh | bash -s -- --branch dev
Alternativ per Datei:
wget -qO setup.sh https://raw.githubusercontent.com/Mboehmlaender/ripster/main/setup.sh
bash setup.sh --branch dev
Hinweise:
setup.shnutzt bei Bedarfsudo; root-Rechte und Internetzugang sind erforderlich.- Ohne
--branchbietetsetup.shlokal eine Branch-Auswahl an. Beicurl | bashsollte--branchgesetzt werden. - Der eigentliche Installer ist
install.sh;setup.shist der empfohlene Einstiegspunkt.
Wichtige Standardparameter für den Installationslauf:
bash setup.sh --branch dev --dir /opt/ripster --user ripster --port 3001 --host 192.168.1.10
Verfügbare Optionen:
--branch <branch>--dir <pfad>--user <benutzer>--port <port>--host <hostname|ip>--no-makemkv--no-handbrake--no-nginx--no-system-deps--reinstall--help
Was der Installer typischerweise einrichtet:
- Node.js 20
ffmpeg,ffprobe,mediainfo,mkvtoolnix- CD-Tools (
cdparanoia,flac,lame,opus-tools,vorbis-tools) - optional MakeMKV
- optional HandBrakeCLI
- optional nginx
- Repository-Checkout bzw. Update
- npm-Abhängigkeiten, Frontend-Build und
ripster-backend-systemd-Service
Update
Standard-Update einer bestehenden Installation:
sudo bash /opt/ripster/install.sh --reinstall --branch dev
Wenn die Installation mit abweichenden Kernparametern eingerichtet wurde, diese beim Update wieder mitgeben:
sudo bash /opt/ripster/install.sh --reinstall --branch dev --dir /opt/ripster --user ripster --port 3001 --host 192.168.1.10
Alternativ kann auch erneut über setup.sh gebootstrapped werden:
curl -fsSL https://raw.githubusercontent.com/Mboehmlaender/ripster/main/setup.sh | bash -s -- --branch dev --reinstall
--reinstall aktualisiert die Installation und behält die persistenten Daten der bestehenden Instanz bei.
Entwicklung
Schnellstart für lokale Entwicklung:
./start.sh
start.sh prüft Node.js, installiert fehlende Abhängigkeiten und startet Backend und Frontend im Dev-Modus.
Wichtige npm-Skripte:
npm run devnpm run dev:backendnpm run dev:frontendnpm run build:frontendnpm run start
Konfiguration
Die meisten Einstellungen werden in der Weboberfläche unter Settings gepflegt und in SQLite gespeichert. Dazu gehören insbesondere:
- Pfade und Output-Templates für Blu-ray, DVD, Serie, CD, Audiobook, Converter, Downloads und Logs
- Tool-Kommandos für MakeMKV, HandBrake, MediaInfo, FFmpeg, FFprobe,
cdparanoiaundmkvmerge - Laufwerksmodus, Disc-Erkennung und Queue-/Parallelisierungsregeln
- Hardware-Monitoring, Logging, Expert Mode und Cover-Art-Recovery
- TMDB-Zugangsdaten, Pushover, Skripte, Skript-Ketten, User-Presets und Preset-Defaults
Zusätzliche Bootstrap-/Override-Variablen:
Backend:
PORTDB_PATHLOG_DIRLOG_LEVELCORS_ORIGINDEFAULT_TEMP_DIRDEFAULT_RAW_DIRDEFAULT_MOVIE_DIRDEFAULT_SERIES_DIRDEFAULT_CD_DIRDEFAULT_AUDIOBOOK_RAW_DIRDEFAULT_AUDIOBOOK_DIRDEFAULT_DOWNLOAD_DIRDEFAULT_CONVERTER_RAW_DIRDEFAULT_CONVERTER_MOVIE_DIRDEFAULT_CONVERTER_AUDIO_DIR
Frontend:
VITE_API_BASEVITE_WS_URL
Daten, Logs und API
- Standard-DB:
backend/data/ripster.db - Standard-Logs:
backend/logs - Standard-Outputs liegen relativ zum Datenverzeichnis, sofern in den Settings nichts anderes gesetzt ist.
- Das Schema wird beim Start geprüft und fehlende DB-Elemente werden migriert.
REST-Gruppen:
/api/health/api/pipeline/*/api/converter/*/api/history/*/api/downloads/*/api/settings/*/api/crons/*/api/runtime/*
Realtime:
- WebSocket unter
/ws
Projektstruktur
ripster/
backend/
frontend/
db/
docs/
install.sh
setup.sh
start.sh
Dokumentation
Ausführlichere Dokumentation liegt in docs/ und veröffentlicht unter: