Files
ripster/README.md
T
michael c6d884dc3f
Deploy Docs to GitHub Pages / Build Documentation (push) Has been cancelled
Deploy Docs to GitHub Pages / Deploy to GitHub Pages (push) Has been cancelled
1.0.0 1.0.0 final
2026-06-12 09:48:45 +02:00

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- und wait-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 Jobs
  • Converter: Dateibaum, Uploads und Converter-Jobs
  • Audiobooks: AAX-Uploads und Audiobook-Jobs
  • Settings: Pfade, Tools, Templates, Queue, Monitoring, Notifications, Scripts, Chains, Presets
  • Historie: abgeschlossene und fehlerhafte Jobs mit Folgeaktionen
  • Downloads: vorbereitete ZIP-Downloads
  • Database: Orphan-RAW-Verwaltung (im Expertenmodus)
  • Zusatzansichten: Hardware und TMDB 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.sh nutzt bei Bedarf sudo; root-Rechte und Internetzugang sind erforderlich.
  • Ohne --branch bietet setup.sh lokal eine Branch-Auswahl an. Bei curl | bash sollte --branch gesetzt werden.
  • Der eigentliche Installer ist install.sh; setup.sh ist 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 dev
  • npm run dev:backend
  • npm run dev:frontend
  • npm run build:frontend
  • npm 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, cdparanoia und mkvmerge
  • 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:

  • PORT
  • DB_PATH
  • LOG_DIR
  • LOG_LEVEL
  • CORS_ORIGIN
  • DEFAULT_TEMP_DIR
  • DEFAULT_RAW_DIR
  • DEFAULT_MOVIE_DIR
  • DEFAULT_SERIES_DIR
  • DEFAULT_CD_DIR
  • DEFAULT_AUDIOBOOK_RAW_DIR
  • DEFAULT_AUDIOBOOK_DIR
  • DEFAULT_DOWNLOAD_DIR
  • DEFAULT_CONVERTER_RAW_DIR
  • DEFAULT_CONVERTER_MOVIE_DIR
  • DEFAULT_CONVERTER_AUDIO_DIR

Frontend:

  • VITE_API_BASE
  • VITE_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:

https://mboehmlaender.github.io/ripster/