Files
Tools/DEPLOY.md
T
Nirodan 9c0efcd89b
Build & Deploy / build (release) Has been cancelled
Add Gitea Actions CI/CD workflow and production deployment files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 14:04:55 +02:00

2.2 KiB
Raw Blame History

Deployment Guide

Voraussetzungen auf Unraid

  • Docker installiert
  • Gitea Act Runner läuft als Container
  • Watchtower läuft als Container

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)

2. Repository Actions aktivieren

Im Repository unter Settings → "Enable Repository Actions" aktivieren.

3. Act Runner auf Unraid starten

Token holen unter: https://git.nirodan.de/-/admin/actions/runners

docker run -d \
  --restart always \
  --name gitea-runner \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /mnt/user/appdata/gitea-runner:/data \
  -e GITEA_INSTANCE_URL=https://git.nirodan.de/ \
  -e GITEA_RUNNER_REGISTRATION_TOKEN=DEIN_TOKEN \
  -e GITEA_RUNNER_NAME=unraid-runner \
  gitea/act_runner:latest

4. Watchtower auf Unraid starten

Einmalig in der Registry einloggen damit Credentials gespeichert werden:

docker login git.nirodan.de

Watchtower starten:

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

docker run -d \
  --name tools-app \
  --restart unless-stopped \
  -p 5000:5000 \
  --env-file .env \
  git.nirodan.de/Nirodan/tools-app:latest

Release erstellen = Deployment auslösen

# Tag erstellen und pushen
git tag v1.0.0
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.

Rollback auf alte Version

In Unraid den Container stoppen und mit altem Tag neu starten:

docker stop tools-app
docker run -d \
  --name tools-app \
  --restart unless-stopped \
  -p 5000:5000 \
  --env-file .env \
  git.nirodan.de/Nirodan/tools-app:v0.9.0