Update Readme.md

This commit is contained in:
2026-04-22 20:23:46 +02:00
parent 5b637873fd
commit 03ffee7837
2 changed files with 49 additions and 132 deletions

181
README.md
View File

@@ -1,29 +1,63 @@
# 🐳 VDO.Ninja Docker <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>
Automatisiertes Docker Image für [VDO.Ninja](https://github.com/steveseguin/vdo.ninja) die kostenlose, browserbasierte Peer-to-Peer-Video-Streaming-Lösung. <h1 align="center">VDO.Ninja Docker</h1>
Dieses Repository baut täglich ein aktuelles Docker Image aus dem originalen VDO.Ninja-Quellcode und stellt es über die Gitea Container Registry bereit. <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)
## 📋 Übersicht 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. [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. Da das Original-Repository **kein offizielles Docker Image** anbietet, übernimmt dieses Projekt den automatisierten Build und die Bereitstellung als Docker Container.
### ✨ Features
- 🔄 **Täglicher automatischer Build** Prüft täglich um 20:00 Uhr auf neue Commits ## 📦 Image-Tags
- 🧠 **Intelligenter Update-Check** Baut nur, wenn sich im Upstream etwas geändert hat
| 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 - 🏷️ **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 - 🪶 **Leichtgewichtig** Basiert auf `nginx:alpine` für minimale Imagegröße
- 🔒 **Security Headers** Nginx-Konfiguration mit Sicherheits-Headern - 🔒 **Security Headers** Nginx-Konfiguration mit Sicherheits-Headern
- 📦 **Gzip-Komprimierung** Optimierte Auslieferung der statischen Dateien - 📦 **Gzip-Komprimierung** Optimierte Auslieferung der statischen Dateien
- ❤️ **Healthcheck** Integrierter Docker-Healthcheck - ❤️ **Healthcheck** Integrierter Docker-Healthcheck
---
## 🚀 Schnellstart ## 🚀 Schnellstart
@@ -37,7 +71,7 @@ docker run -d \
git.techniverse.net/scriptos/vdo-ninja:latest git.techniverse.net/scriptos/vdo-ninja:latest
``` ```
Danach ist VDO.Ninja unter `http://localhost:8080` erreichbar. Alle verfügbaren Versionen findest du in der [📦 Container Registry](https://git.techniverse.net/scriptos/-/packages/container/vdo-ninja). Danach ist VDO.Ninja unter `http://localhost:8080` erreichbar.
### Docker Compose ### Docker Compose
@@ -61,8 +95,6 @@ services:
- "8080:80" - "8080:80"
``` ```
---
## ⚙️ Konfiguration ## ⚙️ Konfiguration
### 🔌 Ports ### 🔌 Ports
@@ -107,124 +139,6 @@ vdo.example.de {
} }
``` ```
---
## 🔄 Automatische Updates
Der Gitea Workflow (`.gitea/workflows/daily-docker.yml`) prüft **täglich um 20:00 Uhr (MESZ)** ob es neue Commits im [originalen VDO.Ninja Repository](https://github.com/steveseguin/vdo.ninja) gibt.
### So funktioniert der Update-Check:
1. 🔍 **Versions-Tag abrufen** Der neueste Versions-Tag (z.B. `v29.0`) wird via `git ls-remote` vom Upstream abgefragt
2. 🏷️ **Registry prüfen** Es wird geprüft, ob ein Image mit diesem Versions-Tag bereits in der Registry existiert
3. 🏗️ **Nur bei neuer Version bauen** Ein neues Image wird nur gebaut, wenn die Version noch nicht vorhanden ist
4. 📤 **Push zur Registry** Das fertige Image wird mit `latest` und dem Versions-Tag in die Registry gepusht
### ⏰ Zeitplan
| Zeitzone | Uhrzeit |
|---|---|
| MESZ (Sommerzeit) | 20:00 Uhr |
| MEZ (Winterzeit) | 19:00 Uhr |
| UTC | 18:00 Uhr |
> Der Workflow kann jederzeit auch manuell über die Gitea-Oberfläche gestartet werden (`workflow_dispatch`).
---
## 📦 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
```
---
## 🏗️ Manuell bauen
Das Image kann auch lokal gebaut werden:
```bash
# Docker Image bauen
docker build -t vdo-ninja:local .
# Container starten
docker run -d -p 8080:80 --name vdo-ninja vdo-ninja:local
```
Der VDO.Ninja-Quellcode wird beim Build automatisch aus dem Upstream-Repository geladen. Ohne weitere Angaben wird der Default-Branch des Upstream-Repositories verwendet.
Optional kann ein bestimmter Branch oder Tag gebaut werden:
```bash
docker build \
--build-arg VDO_NINJA_REF=v29.0 \
-t vdo-ninja:v29.0 \
.
```
Mit Compose geht das ebenfalls:
```bash
VDO_NINJA_REF=v29.0 VDO_NINJA_IMAGE=vdo-ninja:v29.0 docker compose build
```
---
## 🛡️ Secrets & Variablen
Folgende Secrets und Variablen müssen in Gitea konfiguriert sein:
### Secrets
| Name | Beschreibung |
|---|---|
| `REGISTRY_USER` | Benutzername für die Container Registry |
| `REGISTRY_TOKEN` | Token/Passwort für die Container Registry |
### Variablen
| Name | Beschreibung | Beispiel |
|---|---|---|
| `REGISTRY_URL` | URL der Container Registry | `https://git.techniverse.net` |
---
## 🗂️ Projektstruktur
```
.
├── .gitea/
│ └── workflows/
│ └── daily-docker.yml # 🔄 Gitea Workflow (täglicher Build)
├── Dockerfile # 🐳 Docker-Bauanleitung
├── nginx.conf # ⚙️ Nginx-Konfiguration
├── docker-compose.yml # 🚀 Compose-Datei für einfaches Deployment
├── .dockerignore # 🚫 Dateien die nicht ins Image gehören
├── LICENSE # 📄 MIT-Lizenz (dieses Repo)
└── README.md # 📖 Diese Datei
```
---
## 📄 Lizenz
Dieses Repository (Dockerfile, Workflow, Konfiguration) steht unter der [MIT-Lizenz](./LICENSE).
**VDO.Ninja** selbst steht unter der [AGPL-3.0-Lizenz](https://github.com/steveseguin/vdo.ninja/blob/master/AGPLv3.md).
---
## 🔗 Links ## 🔗 Links
@@ -235,10 +149,13 @@ Dieses Repository (Dockerfile, Workflow, Konfiguration) steht unter der [MIT-Liz
| 📖 VDO.Ninja Dokumentation | https://docs.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) | | 🐳 Docker Image (Registry) | [git.techniverse.net/scriptos/vdo-ninja](https://git.techniverse.net/scriptos/-/packages/container/vdo-ninja) |
<br><br>
<p align="center"> <p align="center">
<img src="https://assets.techniverse.net/f1/git/graphics/gray0-catonline.svg" alt=""> <img src="https://assets.techniverse.net/f1/git/graphics/gray0-catonline.svg" alt="">
</p> </p>
<p align="center"> <p align="center">
<img src="https://assets.techniverse.net/f1/logos/small/license.png" alt="License" width="15" height="15"> <a href="./LICENSE">License</a> | <img src="https://assets.techniverse.net/f1/logos/small/matrix2.svg" alt="Matrix" width="15" height="15"> <a href="https://matrix.to/#/#community:techniverse.net">Matrix</a> | <img src="https://assets.techniverse.net/f1/logos/small/mastodon2.svg" alt="Mastodon" width="15" height="15"> <a href="https://social.techniverse.net/@donnerwolke">Mastodon</a> <sub>
</p> © Patrick Asmus · Techniverse Network · <a href="./LICENSE">Lizenz</a>
</sub>
</p>

BIN
assets/img/vdo_img1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB