Files
vdo.ninja-docker/README.md
Patrick Asmus (scriptos) 2faabbda3a
All checks were successful
Daily Docker Build / Update-Check & Build (push) Successful in 11s
Lizenzdetails ergänzt
2026-04-22 20:52:03 +02:00

170 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<p align="center">
<a href="https://techniverse.net">
<img src="https://assets.techniverse.net/f1/git/graphics/repo-techniverse-logo.png" alt="Techniverse Community" height="70" />
</a>
</p>
<h1 align="center">VDO.Ninja Docker</h1>
<h4 align="center">
Docker Image für VDO.Ninja
</h4>
<h6 align="center">
<a href="https://www.cleveradmin.de">🏰 Website</a>
·
<a href="https://techniverse.net">📰 Community</a>
·
<a href="https://social.techniverse.net/@donnerwolke">🐘 Mastodon</a>
·
<a href="https://matrix.to/#/#support:techniverse.net">💬 Support</a>
</h6>
<br><br>
![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) |
<br><br>
<p align="center">
<img src="https://assets.techniverse.net/f1/git/graphics/gray0-catonline.svg" alt="">
</p>
<p align="center">
<sub>
© Patrick Asmus · Techniverse Network · <a href="./LICENSE">Lizenz</a>
</sub>
</p>