diff --git a/README.md b/README.md index 5ddc464..e57d350 100644 --- a/README.md +++ b/README.md @@ -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. -## 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 - 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) +### 📀 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 @@ -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` - Re-Encode aus RAW, Review-Neustart, Encode-Neustart, Retry und Resume laufender/unterbrochener Jobs -### Audio-CD +### 🎵 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 +### 🎧 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 -- 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 +### 🔄 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 +### 🛠️ 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 @@ -52,7 +58,7 @@ Ripster ist eine lokale Web-Anwendung für Disc-Ripping, Audiobook-Verarbeitung - Pushover-Benachrichtigungen für zentrale Pipeline-Ereignisse - MakeMKV-Betakey-Prüfung/-Übernahme und Cover-Art-Recovery -## Oberfläche +## 🖥️ Oberfläche - `Ripper`: Disc-Erkennung, Pipeline-Status, Queue, Review-Dialoge und aktive 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) - 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. Unterstützte Systeme laut Installer: - Debian - Ubuntu -- Linux Mint -- Pop!_OS Standardinstallation: -```bash -curl -fsSL https://raw.githubusercontent.com/Mboehmlaender/ripster/main/setup.sh | bash -s -- --branch dev -``` - -Alternativ per Datei: - ```bash 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: - `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. 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: - `--branch ` - `--dir ` @@ -120,29 +119,29 @@ Was der Installer typischerweise einrichtet: - Repository-Checkout bzw. Update - npm-Abhängigkeiten, Frontend-Build und `ripster-backend`-systemd-Service -## Update +## ♻️ Update Standard-Update einer bestehenden Installation: ```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: ```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: ```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. -## Entwicklung +## 🧪 Entwicklung Schnellstart für lokale Entwicklung: @@ -159,7 +158,7 @@ Wichtige npm-Skripte: - `npm run build:frontend` - `npm run start` -## Konfiguration +## ⚙️ 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 @@ -192,40 +191,14 @@ Frontend: - `VITE_API_BASE` - `VITE_WS_URL` -## Daten, Logs und API +## 🗂️ 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 - -```text -ripster/ - backend/ - frontend/ - db/ - docs/ - install.sh - setup.sh - start.sh -``` - -## Dokumentation +## 📚 Dokumentation Ausführlichere Dokumentation liegt in `docs/` und veröffentlicht unter: