Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dc89229372 | |||
| c95738d0a0 | |||
| 256c8ffdec | |||
| 918ff02216 | |||
| 9c0efcd89b |
@@ -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 ' *)"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
name: Build & Deploy
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Login to Docker Hub
|
||||
run: |
|
||||
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login docker.io \
|
||||
-u ${{ secrets.REGISTRY_USER }} --password-stdin
|
||||
|
||||
- name: Build & Push latest + version tag
|
||||
run: |
|
||||
docker build -t DEINUSERNAME/tools-app:latest .
|
||||
docker build -t DEINUSERNAME/tools-app:${{ gitea.ref_name }} .
|
||||
docker push DEINUSERNAME/tools-app:latest
|
||||
docker push DEINUSERNAME/tools-app:${{ gitea.ref_name }}
|
||||
@@ -73,3 +73,4 @@ Thumbs.db
|
||||
*.sublime-project
|
||||
*.sublime-workspace
|
||||
logs/Screenshot 2026-01-22 151541.png
|
||||
.claude/*
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
# Deployment Guide
|
||||
|
||||
## Voraussetzungen auf Unraid
|
||||
- Docker installiert
|
||||
- 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 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.
|
||||
|
||||
### 3. Act Runner auf Unraid starten
|
||||
Token holen unter: https://git.nirodan.de/-/admin/actions/runners
|
||||
|
||||
```bash
|
||||
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. App Container auf Unraid starten
|
||||
Einmalig in Docker Hub einloggen damit Credentials gespeichert werden:
|
||||
```bash
|
||||
docker login docker.io
|
||||
```
|
||||
|
||||
Container starten:
|
||||
```bash
|
||||
docker run -d \
|
||||
--name tools-app \
|
||||
--restart unless-stopped \
|
||||
-p 5000:5000 \
|
||||
--env-file .env \
|
||||
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
|
||||
# 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 auf Docker Hub.
|
||||
Anschließend im Unraid Docker-Tab manuell auf Update klicken.
|
||||
|
||||
## Rollback auf alte Version
|
||||
|
||||
In Unraid den Container stoppen und mit altem Tag neu starten:
|
||||
```bash
|
||||
docker stop tools-app
|
||||
docker run -d \
|
||||
--name tools-app \
|
||||
--restart unless-stopped \
|
||||
-p 5000:5000 \
|
||||
--env-file .env \
|
||||
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
|
||||
```
|
||||
@@ -0,0 +1,15 @@
|
||||
services:
|
||||
tools-app:
|
||||
image: git.nirodan.de/Nirdoan/tools-app:latest
|
||||
container_name: tools-app
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "5000:5000"
|
||||
env_file:
|
||||
- .env
|
||||
networks:
|
||||
- tools-net
|
||||
|
||||
networks:
|
||||
tools-net:
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user