Migrate CI/CD from Gitea Registry to Docker Hub, remove Watchtower
Build & Deploy / build (release) Has been cancelled
Build & Deploy / build (release) Has been cancelled
- Switch runner to self-hosted - Docker login and image paths now target docker.io / DEINUSERNAME - Replace Watchtower with Unraid built-in container update - Add section for external users pulling the public image - Update .gitignore to exclude .claude/ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,16 +2,15 @@
|
||||
|
||||
## Voraussetzungen auf Unraid
|
||||
- Docker installiert
|
||||
- Gitea Act Runner läuft als Container
|
||||
- Watchtower läuft als Container
|
||||
- Gitea Act Runner läuft als Container (Label: `self-hosted`)
|
||||
|
||||
## Einmalige Einrichtung
|
||||
|
||||
### 1. Gitea Secrets setzen
|
||||
Im Repository unter Settings → Secrets folgende Secrets anlegen:
|
||||
- `REGISTRY_USER` – dein Gitea Benutzername
|
||||
- `REGISTRY_TOKEN` – ein Gitea Access Token mit `packages` Berechtigung
|
||||
(Gitea → Einstellungen → Applications → Token erstellen)
|
||||
- `REGISTRY_USER` – dein Docker Hub Benutzername
|
||||
- `REGISTRY_TOKEN` – ein Docker Hub Access Token
|
||||
(Docker Hub → Account Settings → Security → New Access Token)
|
||||
|
||||
### 2. Repository Actions aktivieren
|
||||
Im Repository unter Settings → "Enable Repository Actions" aktivieren.
|
||||
@@ -31,35 +30,29 @@ docker run -d \
|
||||
gitea/act_runner:latest
|
||||
```
|
||||
|
||||
### 4. Watchtower auf Unraid starten
|
||||
Einmalig in der Registry einloggen damit Credentials gespeichert werden:
|
||||
### 4. App Container auf Unraid starten
|
||||
Einmalig in Docker Hub einloggen damit Credentials gespeichert werden:
|
||||
```bash
|
||||
docker login git.nirodan.de
|
||||
docker login docker.io
|
||||
```
|
||||
|
||||
Watchtower 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
|
||||
Container starten:
|
||||
```bash
|
||||
docker run -d \
|
||||
--name tools-app \
|
||||
--restart unless-stopped \
|
||||
-p 5000:5000 \
|
||||
--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
|
||||
|
||||
```bash
|
||||
@@ -71,8 +64,8 @@ git push origin v1.0.0
|
||||
Dann in Gitea:
|
||||
Repository → Releases → "New Release" → Tag auswählen → Publish
|
||||
|
||||
Der Runner baut automatisch das Image und pusht es.
|
||||
Watchtower erkennt das neue Image innerhalb von 5 Minuten und startet den Container neu.
|
||||
Der Runner baut automatisch das Image und pusht es auf Docker Hub.
|
||||
Anschließend im Unraid Docker-Tab manuell auf Update klicken.
|
||||
|
||||
## Rollback auf alte Version
|
||||
|
||||
@@ -84,5 +77,20 @@ docker run -d \
|
||||
--restart unless-stopped \
|
||||
-p 5000:5000 \
|
||||
--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