Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c95738d0a0 | |||
| 256c8ffdec |
@@ -6,19 +6,19 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: self-hosted
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Login to Gitea Registry
|
- name: Login to Docker Hub
|
||||||
run: |
|
run: |
|
||||||
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.nirodan.de \
|
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login docker.io \
|
||||||
-u ${{ secrets.REGISTRY_USER }} --password-stdin
|
-u ${{ secrets.REGISTRY_USER }} --password-stdin
|
||||||
|
|
||||||
- name: Build & Push latest + version tag
|
- name: Build & Push latest + version tag
|
||||||
run: |
|
run: |
|
||||||
docker build -t git.nirodan.de/Nirdoan/tools-app:latest .
|
docker build -t DEINUSERNAME/tools-app:latest .
|
||||||
docker build -t git.nirodan.de/Nirdoan/tools-app:${{ gitea.ref_name }} .
|
docker build -t DEINUSERNAME/tools-app:${{ gitea.ref_name }} .
|
||||||
docker push git.nirodan.de/Nirdoan/tools-app:latest
|
docker push DEINUSERNAME/tools-app:latest
|
||||||
docker push git.nirodan.de/Nirdoan/tools-app:${{ gitea.ref_name }}
|
docker push DEINUSERNAME/tools-app:${{ gitea.ref_name }}
|
||||||
|
|||||||
@@ -73,3 +73,4 @@ Thumbs.db
|
|||||||
*.sublime-project
|
*.sublime-project
|
||||||
*.sublime-workspace
|
*.sublime-workspace
|
||||||
logs/Screenshot 2026-01-22 151541.png
|
logs/Screenshot 2026-01-22 151541.png
|
||||||
|
.claude/*
|
||||||
|
|||||||
@@ -2,16 +2,15 @@
|
|||||||
|
|
||||||
## Voraussetzungen auf Unraid
|
## Voraussetzungen auf Unraid
|
||||||
- Docker installiert
|
- Docker installiert
|
||||||
- Gitea Act Runner läuft als Container
|
- Gitea Act Runner läuft als Container (Label: `self-hosted`)
|
||||||
- Watchtower läuft als Container
|
|
||||||
|
|
||||||
## Einmalige Einrichtung
|
## Einmalige Einrichtung
|
||||||
|
|
||||||
### 1. Gitea Secrets setzen
|
### 1. Gitea Secrets setzen
|
||||||
Im Repository unter Settings → Secrets folgende Secrets anlegen:
|
Im Repository unter Settings → Secrets folgende Secrets anlegen:
|
||||||
- `REGISTRY_USER` – dein Gitea Benutzername
|
- `REGISTRY_USER` – dein Docker Hub Benutzername
|
||||||
- `REGISTRY_TOKEN` – ein Gitea Access Token mit `packages` Berechtigung
|
- `REGISTRY_TOKEN` – ein Docker Hub Access Token
|
||||||
(Gitea → Einstellungen → Applications → Token erstellen)
|
(Docker Hub → Account Settings → Security → New Access Token)
|
||||||
|
|
||||||
### 2. Repository Actions aktivieren
|
### 2. Repository Actions aktivieren
|
||||||
Im Repository unter Settings → "Enable Repository Actions" aktivieren.
|
Im Repository unter Settings → "Enable Repository Actions" aktivieren.
|
||||||
@@ -31,35 +30,29 @@ docker run -d \
|
|||||||
gitea/act_runner:latest
|
gitea/act_runner:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4. Watchtower auf Unraid starten
|
### 4. App Container auf Unraid starten
|
||||||
Einmalig in der Registry einloggen damit Credentials gespeichert werden:
|
Einmalig in Docker Hub einloggen damit Credentials gespeichert werden:
|
||||||
```bash
|
```bash
|
||||||
docker login git.nirodan.de
|
docker login docker.io
|
||||||
```
|
```
|
||||||
|
|
||||||
Watchtower starten:
|
Container starten:
|
||||||
```bash
|
|
||||||
docker run -d \
|
|
||||||
--name watchtower \
|
|
||||||
--restart always \
|
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
||||||
-v /root/.docker/config.json:/config.json \
|
|
||||||
containrrr/watchtower \
|
|
||||||
--interval 300 \
|
|
||||||
--cleanup \
|
|
||||||
tools-app
|
|
||||||
```
|
|
||||||
|
|
||||||
### 5. App Container auf Unraid starten
|
|
||||||
```bash
|
```bash
|
||||||
docker run -d \
|
docker run -d \
|
||||||
--name tools-app \
|
--name tools-app \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
-p 5000:5000 \
|
-p 5000:5000 \
|
||||||
--env-file .env \
|
--env-file .env \
|
||||||
git.nirodan.de/Nirdoan/tools-app:latest
|
DEINUSERNAME/tools-app:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 5. Auto-Update auf Unraid
|
||||||
|
Unraid hat ein eingebautes Update-Feature – kein Watchtower nötig.
|
||||||
|
|
||||||
|
**Docker-Tab → Container → Update-Symbol (↓) anklicken**
|
||||||
|
|
||||||
|
Das zieht automatisch das neueste Image und startet den Container neu.
|
||||||
|
|
||||||
## Release erstellen = Deployment auslösen
|
## Release erstellen = Deployment auslösen
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -71,8 +64,8 @@ git push origin v1.0.0
|
|||||||
Dann in Gitea:
|
Dann in Gitea:
|
||||||
Repository → Releases → "New Release" → Tag auswählen → Publish
|
Repository → Releases → "New Release" → Tag auswählen → Publish
|
||||||
|
|
||||||
Der Runner baut automatisch das Image und pusht es.
|
Der Runner baut automatisch das Image und pusht es auf Docker Hub.
|
||||||
Watchtower erkennt das neue Image innerhalb von 5 Minuten und startet den Container neu.
|
Anschließend im Unraid Docker-Tab manuell auf Update klicken.
|
||||||
|
|
||||||
## Rollback auf alte Version
|
## Rollback auf alte Version
|
||||||
|
|
||||||
@@ -84,5 +77,20 @@ docker run -d \
|
|||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
-p 5000:5000 \
|
-p 5000:5000 \
|
||||||
--env-file .env \
|
--env-file .env \
|
||||||
git.nirodan.de/Nirdoan/tools-app:v0.9.0
|
DEINUSERNAME/tools-app:v0.9.0
|
||||||
|
```
|
||||||
|
|
||||||
|
## Nutzung durch andere
|
||||||
|
|
||||||
|
Das Image ist öffentlich auf Docker Hub verfügbar. Einfach pullen und starten:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker pull DEINUSERNAME/tools-app:latest
|
||||||
|
|
||||||
|
docker run -d \
|
||||||
|
--name tools-app \
|
||||||
|
--restart unless-stopped \
|
||||||
|
-p 5000:5000 \
|
||||||
|
--env-file .env \
|
||||||
|
DEINUSERNAME/tools-app:latest
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user