diff --git a/README.md b/README.md index 2466f9d..c13cd36 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,63 @@ -# 🐳 VDO.Ninja Docker +

+ + Techniverse Community + +

-Automatisiertes Docker Image für [VDO.Ninja](https://github.com/steveseguin/vdo.ninja) – die kostenlose, browserbasierte Peer-to-Peer-Video-Streaming-Lösung. +

VDO.Ninja Docker

-Dieses Repository baut täglich ein aktuelles Docker Image aus dem originalen VDO.Ninja-Quellcode und stellt es über die Gitea Container Registry bereit. +

+ Docker Image für VDO.Ninja +

+
+ 🏰 Website + · + 📰 Community + · + 🐘 Mastodon + · + 💬 Support +
+

---- +![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. 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) | +

-License License | Matrix Matrix | Mastodon Mastodon -

+ + © Patrick Asmus · Techniverse Network · Lizenz + +

\ No newline at end of file diff --git a/assets/img/vdo_img1.png b/assets/img/vdo_img1.png new file mode 100644 index 0000000..4ba913d Binary files /dev/null and b/assets/img/vdo_img1.png differ