feat(webhook): redeploy
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
######### AKTUELL DOWN ##########
|
||||||
|
|
||||||
services:
|
services:
|
||||||
caddy:
|
caddy:
|
||||||
image: caddy:latest
|
image: caddy:latest
|
||||||
|
|||||||
@@ -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
|
||||||
##
|
|
||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
||||||
@@ -22,4 +21,4 @@ services:
|
|||||||
- BACKUP_ADD_ICON_CACHE=true
|
- BACKUP_ADD_ICON_CACHE=true
|
||||||
- BACKUP_ADD_RSA_KEY=true
|
- BACKUP_ADD_RSA_KEY=true
|
||||||
- LOG_LEVEL=INFO
|
- LOG_LEVEL=INFO
|
||||||
- TZ= Europe/Berlin
|
- TZ= Europe/Berlin
|
||||||
|
|||||||
@@ -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"]
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
######### AKTUELL DOWN ##########
|
||||||
|
|
||||||
services:
|
services:
|
||||||
wikijs:
|
wikijs:
|
||||||
image: linuxserver/wikijs:2.5.312
|
image: linuxserver/wikijs:2.5.312
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
cd /docker/Bruchtal/compose
|
|
||||||
|
|
||||||
for d in */; do
|
|
||||||
echo "Deploying $d"
|
|
||||||
(cd "$d" && docker compose up -d)
|
|
||||||
done
|
|
||||||
60
scripts/redeploy-containers.sh
Normal file
60
scripts/redeploy-containers.sh
Normal 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 ====="
|
||||||
@@ -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
|
|
||||||
@@ -29,7 +29,13 @@ log "Pulling latest changes from Gitea"
|
|||||||
git pull
|
git pull
|
||||||
|
|
||||||
# -----------------------------
|
# -----------------------------
|
||||||
# 3️⃣ Check for Markdown changes
|
# 3️⃣ Redeploy 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)
|
||||||
|
|||||||
Reference in New Issue
Block a user