All checks were successful
Daily Docker Build / Update-Check & Build (push) Successful in 11s
170 lines
4.9 KiB
Markdown
170 lines
4.9 KiB
Markdown
<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>
|
||
|
||

|
||
|
||
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>
|