Techniverse Community

VDO.Ninja Docker

Docker Image für VDO.Ninja

🏰 Website · 📰 Community · 🐘 Mastodon · 💬 Support


![VDO.Ninja Docker](./assets/img/vdo_img1.png) Docker Image für [VDO.Ninja](https://github.com/steveseguin/vdo.ninja) – die kostenlose, browserbasierte Peer-to-Peer-Video-Streaming-Lösung. [VDO.Ninja](https://vdo.ninja) (ehemals OBS.Ninja) ermöglicht es, Video- und Audiostreams direkt im Browser zu teilen – ohne Server, ohne Accounts, ohne Software-Installation. Es wird häufig in Kombination mit OBS Studio verwendet, um Gäste remote in Livestreams einzubinden. Da das Original-Repository **kein offizielles Docker Image** anbietet, übernimmt dieses Projekt den automatisierten Build und die Bereitstellung als Docker Container. ## 📦 Image-Tags | Tag | Beschreibung | |---|---| | `latest` | Immer das neueste Build | | `vX.Y` | VDO.Ninja Upstream-Version (z.B. `v29.0`) | ### Beispiel: Bestimmte Version verwenden ```bash # Immer die neueste Version docker pull git.techniverse.net/scriptos/vdo-ninja:latest # Bestimmte Version pinnen docker pull git.techniverse.net/scriptos/vdo-ninja:v29.0 ``` Alle Docker Images findest du hier: [📦 Container Registry](https://git.techniverse.net/scriptos/-/packages/container/vdo-ninja) ## ✨ Features - 🏷️ **Versionierte Tags** – Jedes Image wird mit Upstream-Version (z.B. `v29.0`) und `latest` getaggt - 🪶 **Leichtgewichtig** – Basiert auf `nginx:alpine` für minimale Imagegröße - 🔒 **Security Headers** – Nginx-Konfiguration mit Sicherheits-Headern - 📦 **Gzip-Komprimierung** – Optimierte Auslieferung der statischen Dateien - ❤️ **Healthcheck** – Integrierter Docker-Healthcheck ## 🚀 Schnellstart ### Docker Run ```bash docker run -d \ --name vdo-ninja \ -p 8080:80 \ --restart unless-stopped \ git.techniverse.net/scriptos/vdo-ninja:latest ``` Danach ist VDO.Ninja unter `http://localhost:8080` erreichbar. ### Docker Compose Eine fertige `docker-compose.yml` liegt im Repository: ```bash docker compose up -d ``` Oder manuell erstellen: ```yaml services: vdo-ninja: build: context: . image: git.techniverse.net/scriptos/vdo-ninja:latest container_name: vdo-ninja restart: unless-stopped ports: - "8080:80" ``` ## ⚙️ Konfiguration ### 🔌 Ports | Container-Port | Beschreibung | |---|---| | `80` | HTTP (Nginx Webserver) | Der Container lauscht intern auf Port `80`. Über `-p` oder `ports:` kann dieser auf einen beliebigen Host-Port gemappt werden. ### 🔐 Reverse Proxy (empfohlen) > **Wichtig:** WebRTC benötigt eine sichere Verbindung (HTTPS). Für den produktiven Einsatz sollte ein Reverse Proxy mit TLS-Terminierung vorgeschaltet werden. #### Beispiel: Traefik (via Docker Labels) ```yaml services: vdo-ninja: image: git.techniverse.net/scriptos/vdo-ninja:latest container_name: vdo-ninja restart: unless-stopped labels: - "traefik.enable=true" - "traefik.http.routers.vdo-ninja.rule=Host(`vdo.example.de`)" - "traefik.http.routers.vdo-ninja.entrypoints=websecure" - "traefik.http.routers.vdo-ninja.tls.certresolver=letsencrypt" - "traefik.http.services.vdo-ninja.loadbalancer.server.port=80" networks: - proxy networks: proxy: external: true ``` #### Beispiel: Caddy ``` vdo.example.de { reverse_proxy vdo-ninja:80 } ``` ## ⚖️ Lizenzhinweis Die Docker-Packaging-Dateien in diesem Repository stehen unter der [MIT-Lizenz](./LICENSE). Das in den Docker Images enthaltene [VDO.Ninja](https://github.com/steveseguin/vdo.ninja) selbst steht **nicht** unter MIT, sondern wird von den Upstream-Autoren unter der **GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later)** bereitgestellt. Dieses Docker Image enthält daher AGPL-lizenzierte Software. Bitte beachte die Lizenzbedingungen des Upstream-Projekts, insbesondere bei Weitergabe, Veröffentlichung oder Bereitstellung des Images. ## 🔗 Links | | Link | |---|---| | 🌐 VDO.Ninja | https://vdo.ninja | | 📦 Original-Repository | https://github.com/steveseguin/vdo.ninja | | 📖 VDO.Ninja Dokumentation | https://docs.vdo.ninja | | 🐳 Docker Image (Registry) | [git.techniverse.net/scriptos/vdo-ninja](https://git.techniverse.net/scriptos/-/packages/container/vdo-ninja) |

© Patrick Asmus · Techniverse Network · Lizenz