- Repo-Backups: nachts um 04:00 werden alle Gitea-Repos als git-Bundle gesichert — eine Datei pro Repo mit kompletter Historie, aus der sich direkt wieder klonen lässt. 14 Tage Rotation wie beim DB-Backup, Schalter und "Repos jetzt sichern" im System-Tab. Nutzt den bereits vorhandenen Gitea-Token; Dockerfile installiert dafür git mit. - Gitea-Theme im D4RKST3R-Look (docs/gitea-theme/): Neon-Gelb/Orange auf Schwarz, gebaut gegen die Variablen von Gitea 1.26, Diff-Farben bleiben lesbar. Einbau-Anleitung liegt daneben. - Auto-Deploy statt manuellem "Pull and redeploy": Workflow für Gitea Actions (prüft Server-Syntax und Frontend-Build, bevor deployed wird) plus dokumentierter Runner-loser Weg über den Portainer-Webhook. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
50 lines
1.3 KiB
YAML
50 lines
1.3 KiB
YAML
# Auto-Deploy: prüft den Code und stößt danach das Redeploy in Portainer an.
|
|
# Braucht einen laufenden Act-Runner und das Repo-Secret PORTAINER_WEBHOOK
|
|
# (Portainer → Stack → Webhook-URL). Siehe docs/auto-deploy.md.
|
|
name: Deploy
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Code holen
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Node einrichten
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '22'
|
|
|
|
- name: Abhängigkeiten installieren
|
|
run: npm ci
|
|
|
|
- name: Server-Code prüfen
|
|
run: |
|
|
for f in $(find src -name "*.js"); do
|
|
node --check "$f" || exit 1
|
|
done
|
|
|
|
- name: Frontend bauen
|
|
run: |
|
|
cd frontend
|
|
npm ci
|
|
npm run build
|
|
|
|
deploy:
|
|
needs: check
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Portainer-Redeploy auslösen
|
|
run: |
|
|
if [ -z "${{ secrets.PORTAINER_WEBHOOK }}" ]; then
|
|
echo "PORTAINER_WEBHOOK ist nicht gesetzt — übersprungen."
|
|
exit 0
|
|
fi
|
|
code=$(curl -s -o /dev/null -w "%{http_code}" -X POST "${{ secrets.PORTAINER_WEBHOOK }}")
|
|
echo "Portainer antwortete mit HTTP $code"
|
|
[ "$code" -lt 400 ] || exit 1
|