feat(webhook): redeploy

This commit is contained in:
2026-03-10 21:56:24 +01:00
parent 49c86b1c85
commit 723e2a571a
18 changed files with 100 additions and 78 deletions

View File

@@ -1,5 +1,3 @@
services: services:
adguardhome: adguardhome:
image: adguard/adguardhome:v0.107.69 image: adguard/adguardhome:v0.107.69
@@ -9,7 +7,7 @@ services:
ports: ports:
- 3003:3000 - 3003:3000
volumes: volumes:
- /docker/Daten/adguardhome/work:/opt/adguardhome/work - /srv/docker/daten/adguardhome/work:/opt/adguardhome/work
- /docker/Daten/adguardhome/conf:/opt/adguardhome/conf - /srv/docker/daten/adguardhome/conf:/opt/adguardhome/conf
environment: environment:
TZ: Europe/Berlin TZ: Europe/Berlin

View File

@@ -1,3 +1,5 @@
######### AKTUELL DOWN ##########
services: services:
caddy: caddy:
image: caddy:latest image: caddy:latest

View File

@@ -10,7 +10,7 @@ services:
- gitea - gitea
- bruchtal-net # 👈 neu für bruchtal-webhook - bruchtal-net # 👈 neu für bruchtal-webhook
volumes: volumes:
- /docker/Daten/gitea/data:/data - /srv/docker/daten/gitea/data:/data
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
ports: ports:
@@ -22,4 +22,3 @@ networks:
external: false external: false
bruchtal-net: # 👈 neu für bruchtal-webhook bruchtal-net: # 👈 neu für bruchtal-webhook
external: true external: true
##

View File

@@ -3,13 +3,14 @@ services:
image: lscr.io/linuxserver/heimdall:latest image: lscr.io/linuxserver/heimdall:latest
container_name: heimdall2 container_name: heimdall2
environment: environment:
- PUID=1000 - PUID=1001
- PGID=1000 - PGID=1001
- TZ=Europe/Berlin - TZ=Europe/Berlin
volumes: volumes:
- /docker/Daten/heimdall/config:/config - /srv/docker/daten/heimdall/config:/config
ports: ports:
- 1280:80 - 1280:80
- 12443:443 - 12443:443
restart: unless-stopped restart: unless-stopped

View File

@@ -1,5 +1,4 @@
version: "3.8" ######### AKTUELL DOWN ##########
services: services:
kea-dhcp4: kea-dhcp4:
image: serhiymakarenko/isc-kea-dhcp4-server:latest image: serhiymakarenko/isc-kea-dhcp4-server:latest

View File

@@ -1,9 +1,8 @@
version: "3"
services: services:
newt: newt:
command: command:
- newt - newt
container_name: newt2 container_name: newt
entrypoint: entrypoint:
- /entrypoint.sh - /entrypoint.sh
environment: environment:

View File

@@ -1,45 +1,24 @@
version: '3.7'
services: services:
db: db:
image: mariadb:latest image: mariadb:latest
container_name: nextcloud-db container_name: nextcloud-db
volumes: volumes:
#- /home/christian/docker/nextcloud/nextcloud-db-data:/var/lib/mysql - /srv/docker/daten/nextcloud/db:/var/lib/mysql
# - /docker/Daten/nextcloud/db:/var/lib/mysql
- ../../../Daten/nextcloud/db:/var/lib/mysql
#/docker/Bruchtal/docker/nextcloud
networks: networks:
- default - default
restart: always restart: always
environment: environment:
TZ: europe/berlin TZ: europe/berlin
#MYSQL_ROOT_PASSWORD: zazen17
#MYSQL_DATABASE: db
#MYSQL_USER: dbuser
#MYSQL_PASSWORD: zazen17
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER} MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD} MYSQL_PASSWORD: ${MYSQL_PASSWORD}
# redis:
# image: redis:latest
# restart: always
# networks:
# - default
# volumes:
# - redis:/var/lib/redis
redis: redis:
image: redis:latest image: redis:latest
container_name: nextcloud-redis container_name: nextcloud-redis
restart: always restart: always
volumes: volumes:
# - /docker/Daten/nextcloud/redis:/data - /srv/docker/daten/nextcloud/redis:/data
- ../../../Daten/nextcloud/redis:/data
nextcloud: nextcloud:
depends_on: depends_on:
@@ -48,35 +27,29 @@ services:
image: nextcloud image: nextcloud
container_name: nextcloud container_name: nextcloud
volumes: volumes:
# - /home/christian/docker/nextcloud/nextcloud-www:/var/www/html - /srv/docker/daten/nextcloud/www:/var/www/html
# - /docker/Daten/nextcloud/www:/var/www/html
- ../../../Daten/nextcloud/www:/var/www/html
networks: networks:
- proxy - proxy
- default - default
ports: ports:
- 1180:80 - 1180:80
- 1444:443 - 1444:443
restart: always restart: always
environment: environment:
REDIS_HOST: redis REDIS_HOST: redis
MYSQL_HOST: db:3306 MYSQL_HOST: db:3306
#MYSQL_DATABASE: db
#MYSQL_USER: dbuser
#MYSQL_PASSWORD: zazen17
MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER} MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD} MYSQL_PASSWORD: ${MYSQL_PASSWORD}
PUID: "1001"
PGID: "1001"
networks: networks:
proxy: proxy:
#external: true
volumes: volumes:
nextcloud-db-data: nextcloud-db-data:
name: nextcloud-db-data name: nextcloud-db-data
redis: redis:
name: nextcloud-redis name: nextcloud-redis

View File

@@ -7,7 +7,6 @@ services:
- "9000:9000" # Webinterface - "9000:9000" # Webinterface
- "9443:9443" - "9443:9443"
volumes: volumes:
- /docker/Daten/portainer-data:/data:rw # Portainer-Daten (DB + Key) - /srv/docker/daten/portainer-data:/data:rw # Portainer-Daten (DB + Key)
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro

View File

@@ -10,7 +10,7 @@ services:
- TZ=Europe/Berlin - TZ=Europe/Berlin
volumes: volumes:
- /docker/Daten/tvheadend/config:/config - /srv/docker/daten/tvheadend/config:/config
- /docker/Daten/tvheadend/recordings:/recordings - /srv/docker/daten/tvheadend/recordings:/recordings
restart: unless-stopped restart: unless-stopped

View File

@@ -1,12 +1,10 @@
version: '3.7'
services: services:
vaultwarden: vaultwarden:
image: vaultwarden/server:latest image: vaultwarden/server:latest
container_name: vaultwarden4 container_name: vaultwarden4
restart: always restart: always
volumes: volumes:
- /docker/Daten/vaultwarden/bw-data:/data - /srv/docker/daten/vaultwarden/bw-data:/data
environment: environment:
- ADMIN_TOKEN=${VAULTWARDEN_ADMIN_TOKEN} - ADMIN_TOKEN=${VAULTWARDEN_ADMIN_TOKEN}
@@ -14,3 +12,4 @@ services:
ports: ports:
- 1380:80 - 1380:80

View File

@@ -1,4 +1,3 @@
version: "3.8"
services: services:
vaultwarden_backup: vaultwarden_backup:
image: bruceforce/vaultwarden-backup image: bruceforce/vaultwarden-backup
@@ -6,7 +5,7 @@ services:
restart: unless-stopped restart: unless-stopped
init: true init: true
volumes: volumes:
- /docker/Daten/vaultwarden/bw-data:/data/ - /srv/docker/daten/vaultwarden/bw-data:/data/
- /mnt/vaultwardenBackupOnQnap:/backups/ - /mnt/vaultwardenBackupOnQnap:/backups/
- /mnt/vaultwardenBackupOnQnap/logs:/logs/ - /mnt/vaultwardenBackupOnQnap/logs:/logs/
environment: environment:

View File

@@ -6,8 +6,8 @@ services:
ports: ports:
- "9001:9001" - "9001:9001"
volumes: volumes:
- /docker/Bruchtal:/workspace - /srv/docker:/workspace
- /docker/Bruchtal/scripts/webhook-deploy/hooks.json:/hooks/hooks.json:ro - /srv/docker/scripts/webhook-deploy/hooks.json:/hooks/hooks.json:ro
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- /root/.ssh:/root/.ssh:ro - /root/.ssh:/root/.ssh:ro
command: ["-hooks", "/hooks/hooks.json", "-verbose", "-port", "9001", "-ip", "0.0.0.0"] command: ["-hooks", "/hooks/hooks.json", "-verbose", "-port", "9001", "-ip", "0.0.0.0"]

View File

@@ -1,3 +1,5 @@
######### AKTUELL DOWN ##########
services: services:
wikijs: wikijs:
image: linuxserver/wikijs:2.5.312 image: linuxserver/wikijs:2.5.312

View File

@@ -1,6 +1,7 @@
# Reparieren des Gitea-Repos # Reparieren des Gitea-Repos
## Ausgangslage: aus Versehen Datei auf Vm editier anstatt in VS Code ## Ausgangslage: aus Versehen Datei auf Vm editier anstatt in VS Code
Problem: das Repo ist auseiander gelaufen. Problem: das Repo ist auseiander gelaufen.
## Voraussetzung: ## Voraussetzung:
docker/gitea muss laufen docker/gitea muss laufen
@@ -13,7 +14,8 @@ git push origin main --force
auf der VM: auf der VM:
``` snippet ``` snippet
cd /docker/Bruchtal cd /srv/docker
git fetch origin git fetch origin
git reset --hard origin/main git reset --hard origin/main

View File

@@ -1,8 +0,0 @@
#!/bin/bash
cd /docker/Bruchtal/compose
for d in */; do
echo "Deploying $d"
(cd "$d" && docker compose up -d)
done

View File

@@ -0,0 +1,60 @@
#!/bin/bash
# Auto-update Docker-Compose stacks nach Git-Pull
# Läuft als dockeradmin, prüft geänderte Compose-Dateien
# Stillgelegte Container werden ignoriert
REPO_DIR="/srv/docker"
LOGFILE="/var/log/docker-update.log"
INACTIVE_CONTAINERS=("adguard" "kea" "caddy" "wikijs")
log() {
echo "$(date '+%Y-%m-%d %H:%M:%S') | $*" | tee -a "$LOGFILE"
}
log "===== Starting Auto-Update (changed Compose only) ====="
cd "$REPO_DIR" || { log "ERROR: Cannot enter $REPO_DIR"; exit 1; }
# 1⃣ Pull neueste Änderungen
git fetch --all &>/dev/null
git reset --hard origin/main &>/dev/null
log "Pulled latest changes from Git."
# 2⃣ Geänderte Compose-Dateien ermitteln
CHANGED=$(git diff --name-only HEAD~1 HEAD | grep -E '^compose/.+/docker-compose\.yml$' || true)
if [ -z "$CHANGED" ]; then
log "No Compose files changed. Nothing to update."
exit 0
fi
# 3⃣ Nur geänderte Container updaten
for FILE in $CHANGED; do
CONTAINER_NAME=$(echo "$FILE" | cut -d'/' -f2)
# Inaktive Container überspringen
if [[ " ${INACTIVE_CONTAINERS[@]} " =~ " ${CONTAINER_NAME} " ]]; then
log "Skipping inactive container: $CONTAINER_NAME"
continue
fi
COMPOSE_DIR="$REPO_DIR/compose/$CONTAINER_NAME"
if [ ! -d "$COMPOSE_DIR" ]; then
log "Warning: $COMPOSE_DIR does not exist, skipping..."
continue
fi
log "Updating container: $CONTAINER_NAME"
cd "$COMPOSE_DIR" || continue
docker compose pull &>/dev/null
docker compose up -d &>/dev/null
if [ $? -eq 0 ]; then
log "$CONTAINER_NAME updated successfully"
else
log "❌ Failed to update $CONTAINER_NAME"
fi
done
log "===== Auto-Update Completed ====="

View File

@@ -1,8 +0,0 @@
#!/bin/bash
cd /docker/Bruchtal/compose
for d in */; do
echo "Updating $d"
(cd "$d" && docker compose pull && docker compose up -d)
done

View File

@@ -29,7 +29,13 @@ log "Pulling latest changes from Gitea"
git pull git pull
# ----------------------------- # -----------------------------
# 3Check for Markdown changes # 3Redeploy changed containers
# -----------------------------
#/srv/docker/scripts/deploy-changed-containers.sh
# -----------------------------
# 4⃣ Check for Markdown changes
# ----------------------------- # -----------------------------
log "Checking for new or modified Markdown files..." log "Checking for new or modified Markdown files..."
changed=$(git diff --name-status HEAD~1 HEAD | grep -E '^[AM]\s.*(\.md$|mkdocs\.yml$)' | awk '{print $2}' || true) changed=$(git diff --name-status HEAD~1 HEAD | grep -E '^[AM]\s.*(\.md$|mkdocs\.yml$)' | awk '{print $2}' || true)