3 Commits

Author SHA1 Message Date
Nirodan c95738d0a0 Migrate CI/CD from Gitea Registry to Docker Hub, remove Watchtower
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>
2026-05-22 09:17:38 +02:00
Nirodan 256c8ffdec Fix image registry path: use correct lowercase nirdoan username
Build & Deploy / build (release) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 19:24:03 +02:00
Nirodan 918ff02216 URL Fehler
Build & Deploy / build (release) Has been cancelled
2026-05-06 14:33:15 +02:00
5 changed files with 52 additions and 34 deletions
+9
View File
@@ -0,0 +1,9 @@
{
"permissions": {
"allow": [
"Bash(cd Y:/Tools && docker compose -f docker-compose.dev.yml up -d --build 2>&1 | tail -30)",
"Bash(git add *)",
"Bash(git commit -m ' *)"
]
}
}
+7 -7
View File
@@ -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/${{ gitea.repository_owner }}/tools-app:latest . docker build -t DEINUSERNAME/tools-app:latest .
docker build -t git.nirodan.de/${{ gitea.repository_owner }}/tools-app:${{ gitea.ref_name }} . docker build -t DEINUSERNAME/tools-app:${{ gitea.ref_name }} .
docker push git.nirodan.de/${{ gitea.repository_owner }}/tools-app:latest docker push DEINUSERNAME/tools-app:latest
docker push git.nirodan.de/${{ gitea.repository_owner }}/tools-app:${{ gitea.ref_name }} docker push DEINUSERNAME/tools-app:${{ gitea.ref_name }}
+1
View File
@@ -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/*
+34 -26
View File
@@ -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/Nirodan/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/Nirodan/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
``` ```
+1 -1
View File
@@ -1,6 +1,6 @@
services: services:
tools-app: tools-app:
image: git.nirodan.de/Nirodan/tools-app:latest image: git.nirodan.de/Nirdoan/tools-app:latest
container_name: tools-app container_name: tools-app
restart: unless-stopped restart: unless-stopped
ports: ports: