StreamDock – Dokumentation
Willkommen zur Dokumentation von StreamDock, einem web-basierten Stream-Player und Recorder mit Benutzerverwaltung, Last.fm-Integration und zeitgesteuerter Aufnahme.
Hinweis: StreamDock befindet sich aktuell im Alpha-Stadium. Funktionen können sich ändern, und es ist mit Fehlern zu rechnen.
Inhaltsverzeichnis
| Dokument | Beschreibung |
|---|---|
| Installation & Schnellstart | Docker-Setup, erster Start, Voraussetzungen |
| Konfiguration | Umgebungsvariablen, .env-Datei, SMTP, Last.fm, Plik |
| Architektur | Projektstruktur, Technologie-Stack, Systemübersicht |
| Features | Alle Funktionen im Detail |
| API-Referenz | Sämtliche REST-Endpunkte mit Beschreibung |
| Docker & Deployment | Dockerfile, Compose, Volumes, Netzwerk, Sicherheit |
| Benutzerverwaltung | Rollen, Rechte, Quotas, Admin-Panel |
| Integrationen | Last.fm, Radio-Browser, Plik, Ntfy |
| Sicherheit | Authentifizierung, Empfehlungen, bekannte Einschränkungen |
| Entwicklung | Lokal bauen, testen, Makefile-Targets, Beitrag leisten |
Über das Projekt
StreamDock ist eine selbst-gehostete Lösung für:
- Audio- und Video-Streams abspielen, verwalten und aufnehmen
- Zeitgesteuerte Aufnahmen per Cron-Ausdruck oder Einzeltermin
- Last.fm Scrobbling – automatisches Melden des aktuellen Titels
- Radio-Browser – Zugriff auf über 30.000 freie Radiosender
- Benachrichtigungen per E-Mail, Webhook oder Ntfy
- PWA – als native App auf Smartphone/Desktop installierbar
Tech-Stack
| Komponente | Technologie |
|---|---|
| Backend | Go 1.23+, Chi Router |
| Datenbank | SQLite (modernc.org/sqlite) |
| Frontend | Vanilla JS, Alpine.js, Web Audio API |
| Video | HLS.js |
| Auth | JWT + bcrypt |
| Scheduler | robfig/cron |
| Container | Docker, Alpine Linux |
StreamDock – Patrick Asmus – MIT License