erster docker release

This commit is contained in:
Patrick Asmus
2026-09-15 18:10:57 +02:00
parent 794156a088
commit 9fa589789e
21 changed files with 3182 additions and 71 deletions
+85
View File
@@ -0,0 +1,85 @@
# Plugins
Plugins erweitern den Recorder um zusätzliche Funktionen. Alle Plugins sind pro Job einzeln aktivierbar.
## NTFY-Benachrichtigungen
Push-Nachrichten per [ntfy.sh](https://ntfy.sh) bei verschiedenen Events.
### Einrichtung
1. **Einstellungen → NTFY URL**: Topic-URL eintragen (z.B. `https://ntfy.sh/mein-topic`)
2. **Einstellungen → Events**: Kommaseparierte Liste der gewünschten Events
3. **Pro Job**: Checkbox „Benachrichtigungen (NTFY)" aktivieren
### Events
| Event | Tag | Beschreibung |
|-------|-----|-------------|
| `start` | 🔴 | Aufnahme gestartet |
| `stop` | ✅ | Aufnahme beendet |
| `error` | 🚨 | Fehler oder Verbindungsabbruch |
| `upload` | 📤 | Plik-Upload abgeschlossen (mit Link) |
### Authentifizierung
Für private Topics kann ein Bearer-Token in den Einstellungen hinterlegt werden.
---
## Plik-Upload
Automatischer Upload von Aufnahmen auf einen [Plik](https://github.com/root-gg/plik)-Server nach Aufnahme-Ende.
### Einrichtung
1. **Einstellungen → Plik URL**: Server-URL eintragen
2. **Einstellungen → TTL**: Aufbewahrungsdauer (Standard: `30d`)
3. **Pro Job**: Checkbox „Plik-Upload" aktivieren
### Optionen pro Job
| Option | Beschreibung |
|--------|-------------|
| **Plik-Upload** | Upload nach Aufnahme-Ende aktivieren |
| **Nach Upload löschen** | Lokale Datei nach erfolgreichem Upload entfernen |
### Links
Nach dem Upload werden zwei URLs generiert:
- **Browser-URL**: `https://plik.example.com/#/?id=UPLOAD_ID` — Übersichtsseite mit In-Browser-Wiedergabe
- **Download-URL**: Direkter Datei-Download
Bei aktiviertem NTFY wird die Browser-URL in der Push-Nachricht mitgeschickt.
### Segment-Upload
Bei Segment-Splitting werden alle Segmente einzeln hochgeladen. Die NTFY-Nachricht enthält die Anzahl der hochgeladenen Segmente.
---
## Euer-Radio Metadata-Monitor
Erkennt automatisch, ob eine bestimmte Show live sendet, indem der Stream-Titel via `ffprobe` abgefragt wird. Wenn das konfigurierte Pattern nicht mehr im Titel erscheint, wird die Aufnahme nach einer Karenzzeit gestoppt.
### Einrichtung
Pro Job im Web-UI:
| Option | Standard | Beschreibung |
|--------|----------|-------------|
| **Show-Pattern** | _(leer)_ | Text, der im Stream-Titel vorkommen muss (z.B. Sendungsname) |
| **Karenzzeit** | 5 Min. | Wie lange gewartet wird, nachdem das Pattern verschwunden ist |
| **Poll-Intervall** | 30 Sek. | Wie oft der Stream-Titel abgefragt wird |
### Funktionsweise
1. Der Monitor fragt regelmäßig den Stream-Titel per `ffprobe` ab
2. Solange das Pattern im Titel vorkommt, läuft die Aufnahme weiter
3. Wenn das Pattern verschwindet, startet die Karenzzeit
4. Taucht das Pattern innerhalb der Karenzzeit wieder auf, wird der Timer zurückgesetzt
5. Läuft die Karenzzeit ab, wird die Aufnahme gestoppt
### Anwendungsfall
Ideal für Streams mit wechselnden Shows (z.B. Internet-Radio), bei denen die Aufnahmedauer nicht vorher feststeht. Der Stream-Titel zeigt an, welche Show gerade läuft, und der Monitor erkennt automatisch das Ende.