ci: switch to Portainer auto-build (like mein118.ch)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -1,18 +1,23 @@
|
||||
##############################################
|
||||
# Lageplan — Portainer Stack Configuration
|
||||
#
|
||||
# Verwendung in Portainer:
|
||||
# 1. Stacks → Add Stack
|
||||
# 2. "Upload" oder diesen Inhalt einfügen
|
||||
# 3. Environment-Variablen setzen (siehe unten)
|
||||
# 4. Deploy
|
||||
# Lageplan — Portainer Stack (Auto-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:
|
||||
|
||||
Reference in New Issue
Block a user