Update Readme.md
This commit is contained in:
179
README.md
179
README.md
@@ -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>
|
||||
|
||||
---
|
||||

|
||||
|
||||
## 📋 Ü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.
|
||||
|
||||
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
|
||||
- 🧠 **Intelligenter Update-Check** – Baut nur, wenn sich im Upstream etwas geändert hat
|
||||
## 📦 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
|
||||
|
||||
@@ -37,7 +71,7 @@ docker run -d \
|
||||
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
|
||||
|
||||
@@ -61,8 +95,6 @@ services:
|
||||
- "8080:80"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Konfiguration
|
||||
|
||||
### 🔌 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
|
||||
|
||||
@@ -235,10 +149,13 @@ Dieses Repository (Dockerfile, Workflow, Konfiguration) steht unter der [MIT-Liz
|
||||
| 📖 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">
|
||||
<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>
|
||||
© Patrick Asmus · Techniverse Network · <a href="./LICENSE">Lizenz</a>
|
||||
</sub>
|
||||
</p>
|
||||
BIN
assets/img/vdo_img1.png
Normal file
BIN
assets/img/vdo_img1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 73 KiB |
Reference in New Issue
Block a user