ci: switch to Portainer auto-build (like mein118.ch)

This commit is contained in:
Pepe Ziberi
2026-04-26 19:40:57 +02:00
parent 62a5a56dea
commit 63a57dcb7c
2 changed files with 37 additions and 38 deletions

View File

@@ -1,29 +1,7 @@
name: Build and Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Login to Registry
run: |
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login 192.168.1.183:3100 -u ${{ secrets.REGISTRY_USERNAME }} --password-stdin
- name: Build Docker Image
run: |
docker build -t 192.168.1.183:3100/adminpepe/lageplan:latest .
- name: Push to Registry
run: |
docker push 192.168.1.183:3100/adminpepe/lageplan:latest
- name: Redeploy via Portainer
if: ${{ secrets.PORTAINER_WEBHOOK != '' }}
run: |
curl -sf -X POST "${{ secrets.PORTAINER_WEBHOOK }}" || echo "Portainer webhook failed (optional)"
# Deployment wird von Portainer erledigt (nicht Gitea Actions).
# Portainer Stack zeigt auf dieses Repo und baut bei Push automatisch neu.
# Siehe docker-compose.portainer.yml für Details.
#
# Dieses File ist leer damit keine pending Jobs mehr entstehen.
name: disabled
on: workflow_dispatch

View File

@@ -1,18 +1,23 @@
##############################################
# Lageplan — Portainer Stack Configuration
# Lageplan — Portainer Stack (Auto-Deploy)
#
# Verwendung in Portainer:
# 1. Stacks → Add Stack
# 2. "Upload" oder diesen Inhalt einfügen
# 3. Environment-Variablen setzen (siehe unten)
# 4. Deploy
# Setup in Portainer:
# 1. Stacks → Add Stack → "Repository"
# 2. Git-URL: https://git.purepixel.ch/adminpepe/Lageplan.git
# 3. Compose-Pfad: docker-compose.portainer.yml
# 4. "GitOps updates" aktivieren + Webhook kopieren
# 5. Webhook in Gitea eintragen (Repo → Einstellungen → Webhooks)
# 6. Environment-Variablen setzen (siehe unten)
# 7. Deploy
#
# Danach: Push auf main → Portainer baut automatisch neu
#
# Benötigte Environment-Variablen:
# POSTGRES_USER (default: lageplan)
# POSTGRES_PASSWORD (ÄNDERN!)
# POSTGRES_DB (default: lageplan)
# NEXTAUTH_SECRET (ÄNDERN! — z.B. openssl rand -base64 32)
# NEXTAUTH_URL (z.B. https://lageplan.example.com)
# NEXTAUTH_URL (z.B. https://lageplan.ch)
# MINIO_ROOT_USER (default: minioadmin)
# MINIO_ROOT_PASSWORD (ÄNDERN!)
# MINIO_PUBLIC_URL (z.B. https://s3.example.com)
@@ -77,7 +82,10 @@ services:
# ─── Lageplan Web App ──────────────────────
web:
image: 192.168.1.183:3100/adminpepe/lageplan:latest
build:
context: .
dockerfile: Dockerfile
image: git.purepixel.ch/adminpepe/lageplan:latest
restart: unless-stopped
environment:
DATABASE_URL: postgresql://${POSTGRES_USER:-lageplan}:${POSTGRES_PASSWORD:-lageplan_secret}@db:5432/${POSTGRES_DB:-lageplan}
@@ -100,6 +108,19 @@ services:
networks:
- lageplan
# ─── Watchtower (Auto-Restart bei neuen Images) ─
watchtower:
image: containrrr/watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
WATCHTOWER_POLL_INTERVAL: 60
WATCHTOWER_CLEANUP: "true"
WATCHTOWER_LABEL_ENABLE: "false"
networks:
- lageplan
volumes:
postgres_data:
minio_data: