1.0.0 Readme
This commit is contained in:
@@ -2,16 +2,20 @@
|
|||||||
|
|
||||||
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.
|
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
|
## ⚠️ Rechtlicher Hinweis
|
||||||
|
|
||||||
### Medien-Workflows
|
Ripster ist ausschließlich für die Sicherung von Titeln gedacht, die dir selbst gehören oder für die du die erforderlichen Nutzungsrechte besitzt. Bitte prüfe vor der Nutzung die in deinem Land geltenden Urheberrechts-, Privatkopie- und Kopierschutzregelungen. Die Software ist nicht für Piraterie oder die Verarbeitung unberechtigt beschaffter Inhalte gedacht.
|
||||||
|
|
||||||
|
## 🎬 Funktionsumfang
|
||||||
|
|
||||||
|
### 🎞️ Medien-Workflows
|
||||||
- Blu-ray-Ripping und -Encoding
|
- Blu-ray-Ripping und -Encoding
|
||||||
- DVD-Ripping und -Encoding
|
- DVD-Ripping und -Encoding
|
||||||
- Audio-CD-Ripping und -Encoding
|
- Audio-CD-Ripping und -Encoding
|
||||||
- Audiobook-Verarbeitung aus `.aax`
|
- Audiobook-Verarbeitung aus `.aax`
|
||||||
- Datei-Converter für Audio-, Video- und ISO-Dateien
|
- Datei-Converter für Audio-, Video- und ISO-Dateien
|
||||||
|
|
||||||
### Video (Blu-ray / DVD)
|
### 📀 Video (Blu-ray / DVD)
|
||||||
- automatische Disc-Erkennung, Rescan einzelner Laufwerke und Live-Status im Ripper
|
- automatische Disc-Erkennung, Rescan einzelner Laufwerke und Live-Status im Ripper
|
||||||
- Metadaten-Suche über TMDB für Filme und Serien
|
- Metadaten-Suche über TMDB für Filme und Serien
|
||||||
- HandBrake-Review mit Playlist-/Titel-Auswahl, Audio-/Untertitel-Track-Auswahl und Encode-Vorschau
|
- HandBrake-Review mit Playlist-/Titel-Auswahl, Audio-/Untertitel-Track-Auswahl und Encode-Vorschau
|
||||||
@@ -21,27 +25,29 @@ Ripster ist eine lokale Web-Anwendung für Disc-Ripping, Audiobook-Verarbeitung
|
|||||||
- Multipart-Movie-Workflows über mehrere Discs inkl. Merge-Job via `mkvmerge`
|
- 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
|
- Re-Encode aus RAW, Review-Neustart, Encode-Neustart, Retry und Resume laufender/unterbrochener Jobs
|
||||||
|
|
||||||
### Audio-CD
|
### 🎵 Audio-CD
|
||||||
- TOC-Analyse und Rip mit `cdparanoia`
|
- TOC-Analyse und Rip mit `cdparanoia`
|
||||||
- MusicBrainz-Suche und Übernahme von Album-/Track-Metadaten
|
- MusicBrainz-Suche und Übernahme von Album-/Track-Metadaten
|
||||||
- Track-Auswahl und Ausgabe als FLAC, WAV, MP3, Opus oder Ogg Vorbis
|
- Track-Auswahl und Ausgabe als FLAC, WAV, MP3, Opus oder Ogg Vorbis
|
||||||
- RAW-Wiederverwendung und CD-Review-/Encode-Neustart aus vorhandenen Daten
|
- RAW-Wiederverwendung und CD-Review-/Encode-Neustart aus vorhandenen Daten
|
||||||
|
|
||||||
### Audiobooks
|
### 🎧 Audiobooks
|
||||||
|
|
||||||
|
Diese Funktion ist für eine Archivierung von gekauften Titeln. Das System ermittelt keine Activation-Bytes und verweist dafür auf eine externe Seite
|
||||||
|
|
||||||
- Upload und Verarbeitung von Audible-/AAX-Dateien
|
- 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
|
- Metadaten- und Kapitelanreicherung über Audnex plus lokale Probe-Daten
|
||||||
- Ausgabe als M4B, MP3 oder FLAC
|
- Ausgabe als M4B, MP3 oder FLAC
|
||||||
- Einzeldatei oder kapitelweises Splitten
|
- Einzeldatei oder kapitelweises Splitten
|
||||||
|
|
||||||
### Converter
|
### 🔄 Converter
|
||||||
- Dateibaum und Datei-Explorer für das Converter-RAW-Verzeichnis
|
- Dateibaum und Datei-Explorer für das Converter-RAW-Verzeichnis
|
||||||
- Upload, Ordner anlegen, Umbenennen, Verschieben und Löschen
|
- Upload, Ordner anlegen, Umbenennen, Verschieben und Löschen
|
||||||
- Jobs aus Dateiauswahl erzeugen, Dateien bestehenden Jobs zuweisen oder daraus entfernen
|
- Jobs aus Dateiauswahl erzeugen, Dateien bestehenden Jobs zuweisen oder daraus entfernen
|
||||||
- Audio-/Video-Erkennung und automatische RAW-Scans per Polling
|
- Audio-/Video-Erkennung und automatische RAW-Scans per Polling
|
||||||
- TMDB-Metadatenzuordnung für passende Video-Jobs
|
- TMDB-Metadatenzuordnung für passende Video-Jobs
|
||||||
|
|
||||||
### Automation, Betrieb und Verwaltung
|
### 🛠️ Automation, Betrieb und Verwaltung
|
||||||
- Queue mit normalen Jobs sowie zusätzlichen `script`-, `chain`- und `wait`-Einträgen
|
- Queue mit normalen Jobs sowie zusätzlichen `script`-, `chain`- und `wait`-Einträgen
|
||||||
- Pre-/Post-Encode-Skripte und Skript-Ketten
|
- Pre-/Post-Encode-Skripte und Skript-Ketten
|
||||||
- Cron-Jobs für Skripte und Ketten inkl. Validierung, Logs und manueller Auslösung
|
- Cron-Jobs für Skripte und Ketten inkl. Validierung, Logs und manueller Auslösung
|
||||||
@@ -52,7 +58,7 @@ Ripster ist eine lokale Web-Anwendung für Disc-Ripping, Audiobook-Verarbeitung
|
|||||||
- Pushover-Benachrichtigungen für zentrale Pipeline-Ereignisse
|
- Pushover-Benachrichtigungen für zentrale Pipeline-Ereignisse
|
||||||
- MakeMKV-Betakey-Prüfung/-Übernahme und Cover-Art-Recovery
|
- MakeMKV-Betakey-Prüfung/-Übernahme und Cover-Art-Recovery
|
||||||
|
|
||||||
## Oberfläche
|
## 🖥️ Oberfläche
|
||||||
|
|
||||||
- `Ripper`: Disc-Erkennung, Pipeline-Status, Queue, Review-Dialoge und aktive Jobs
|
- `Ripper`: Disc-Erkennung, Pipeline-Status, Queue, Review-Dialoge und aktive Jobs
|
||||||
- `Converter`: Dateibaum, Uploads und Converter-Jobs
|
- `Converter`: Dateibaum, Uploads und Converter-Jobs
|
||||||
@@ -63,40 +69,33 @@ Ripster ist eine lokale Web-Anwendung für Disc-Ripping, Audiobook-Verarbeitung
|
|||||||
- `Database`: Orphan-RAW-Verwaltung (im Expertenmodus)
|
- `Database`: Orphan-RAW-Verwaltung (im Expertenmodus)
|
||||||
- Zusatzansichten: `Hardware` und `TMDB Migration`
|
- Zusatzansichten: `Hardware` und `TMDB Migration`
|
||||||
|
|
||||||
## Installation
|
## 🚀 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.
|
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:
|
Unterstützte Systeme laut Installer:
|
||||||
- Debian
|
- Debian
|
||||||
- Ubuntu
|
- Ubuntu
|
||||||
- Linux Mint
|
|
||||||
- Pop!_OS
|
|
||||||
|
|
||||||
Standardinstallation:
|
Standardinstallation:
|
||||||
|
|
||||||
```bash
|
|
||||||
curl -fsSL https://raw.githubusercontent.com/Mboehmlaender/ripster/main/setup.sh | bash -s -- --branch dev
|
|
||||||
```
|
|
||||||
|
|
||||||
Alternativ per Datei:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
wget -qO setup.sh https://raw.githubusercontent.com/Mboehmlaender/ripster/main/setup.sh
|
wget -qO setup.sh https://raw.githubusercontent.com/Mboehmlaender/ripster/main/setup.sh
|
||||||
bash setup.sh --branch dev
|
bash setup.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Es gibt 2 Branches: main und dev
|
||||||
|
|
||||||
|
main enthält das aktuelle stbale release
|
||||||
|
dev enthält den aktuellen Stand der Weiterentwicklung
|
||||||
|
|
||||||
Hinweise:
|
Hinweise:
|
||||||
- `setup.sh` nutzt bei Bedarf `sudo`; root-Rechte und Internetzugang sind erforderlich.
|
- `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.
|
- Ohne `--branch` bietet `setup.sh` lokal eine Branch-Auswahl an.
|
||||||
- Der eigentliche Installer ist `install.sh`; `setup.sh` ist der empfohlene Einstiegspunkt.
|
- Der eigentliche Installer ist `install.sh`; `setup.sh` ist der empfohlene Einstiegspunkt.
|
||||||
|
|
||||||
Wichtige Standardparameter für den Installationslauf:
|
Wichtige Standardparameter für den Installationslauf:
|
||||||
|
|
||||||
```bash
|
|
||||||
bash setup.sh --branch dev --dir /opt/ripster --user ripster --port 3001 --host 192.168.1.10
|
|
||||||
```
|
|
||||||
|
|
||||||
Verfügbare Optionen:
|
Verfügbare Optionen:
|
||||||
- `--branch <branch>`
|
- `--branch <branch>`
|
||||||
- `--dir <pfad>`
|
- `--dir <pfad>`
|
||||||
@@ -120,29 +119,29 @@ Was der Installer typischerweise einrichtet:
|
|||||||
- Repository-Checkout bzw. Update
|
- Repository-Checkout bzw. Update
|
||||||
- npm-Abhängigkeiten, Frontend-Build und `ripster-backend`-systemd-Service
|
- npm-Abhängigkeiten, Frontend-Build und `ripster-backend`-systemd-Service
|
||||||
|
|
||||||
## Update
|
## ♻️ Update
|
||||||
|
|
||||||
Standard-Update einer bestehenden Installation:
|
Standard-Update einer bestehenden Installation:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo bash /opt/ripster/install.sh --reinstall --branch dev
|
sudo bash Pfad_zur_Installation/install.sh --reinstall
|
||||||
```
|
```
|
||||||
|
|
||||||
Wenn die Installation mit abweichenden Kernparametern eingerichtet wurde, diese beim Update wieder mitgeben:
|
Wenn die Installation mit abweichenden Kernparametern eingerichtet wurde, diese beim Update wieder mitgeben:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo bash /opt/ripster/install.sh --reinstall --branch dev --dir /opt/ripster --user ripster --port 3001 --host 192.168.1.10
|
sudo bash Pfad_zur_Installation/install.sh --reinstall --dir /opt/ripster --user ripster --port 3001 --host 192.168.1.10
|
||||||
```
|
```
|
||||||
|
|
||||||
Alternativ kann auch erneut über `setup.sh` gebootstrapped werden:
|
Alternativ kann auch erneut über `setup.sh` gebootstrapped werden:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://raw.githubusercontent.com/Mboehmlaender/ripster/main/setup.sh | bash -s -- --branch dev --reinstall
|
sudo bash Pfad_zur_Installation/setup.sh --reinstall
|
||||||
```
|
```
|
||||||
|
|
||||||
`--reinstall` aktualisiert die Installation und behält die persistenten Daten der bestehenden Instanz bei.
|
`--reinstall` aktualisiert die Installation und behält die persistenten Daten der bestehenden Instanz bei.
|
||||||
|
|
||||||
## Entwicklung
|
## 🧪 Entwicklung
|
||||||
|
|
||||||
Schnellstart für lokale Entwicklung:
|
Schnellstart für lokale Entwicklung:
|
||||||
|
|
||||||
@@ -159,7 +158,7 @@ Wichtige npm-Skripte:
|
|||||||
- `npm run build:frontend`
|
- `npm run build:frontend`
|
||||||
- `npm run start`
|
- `npm run start`
|
||||||
|
|
||||||
## Konfiguration
|
## ⚙️ Konfiguration
|
||||||
|
|
||||||
Die meisten Einstellungen werden in der Weboberfläche unter `Settings` gepflegt und in SQLite gespeichert. Dazu gehören insbesondere:
|
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
|
- Pfade und Output-Templates für Blu-ray, DVD, Serie, CD, Audiobook, Converter, Downloads und Logs
|
||||||
@@ -192,40 +191,14 @@ Frontend:
|
|||||||
- `VITE_API_BASE`
|
- `VITE_API_BASE`
|
||||||
- `VITE_WS_URL`
|
- `VITE_WS_URL`
|
||||||
|
|
||||||
## Daten, Logs und API
|
## 🗂️ Daten, Logs und API
|
||||||
|
|
||||||
- Standard-DB: `backend/data/ripster.db`
|
- Standard-DB: `backend/data/ripster.db`
|
||||||
- Standard-Logs: `backend/logs`
|
- Standard-Logs: `backend/logs`
|
||||||
- Standard-Outputs liegen relativ zum Datenverzeichnis, sofern in den Settings nichts anderes gesetzt ist.
|
- 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.
|
- Das Schema wird beim Start geprüft und fehlende DB-Elemente werden migriert.
|
||||||
|
|
||||||
REST-Gruppen:
|
## 📚 Dokumentation
|
||||||
- `/api/health`
|
|
||||||
- `/api/pipeline/*`
|
|
||||||
- `/api/converter/*`
|
|
||||||
- `/api/history/*`
|
|
||||||
- `/api/downloads/*`
|
|
||||||
- `/api/settings/*`
|
|
||||||
- `/api/crons/*`
|
|
||||||
- `/api/runtime/*`
|
|
||||||
|
|
||||||
Realtime:
|
|
||||||
- WebSocket unter `/ws`
|
|
||||||
|
|
||||||
## Projektstruktur
|
|
||||||
|
|
||||||
```text
|
|
||||||
ripster/
|
|
||||||
backend/
|
|
||||||
frontend/
|
|
||||||
db/
|
|
||||||
docs/
|
|
||||||
install.sh
|
|
||||||
setup.sh
|
|
||||||
start.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
## Dokumentation
|
|
||||||
|
|
||||||
Ausführlichere Dokumentation liegt in `docs/` und veröffentlicht unter:
|
Ausführlichere Dokumentation liegt in `docs/` und veröffentlicht unter:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user