feat(webhook): redeploy
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
|
||||
|
||||
services:
|
||||
adguardhome:
|
||||
image: adguard/adguardhome:v0.107.69
|
||||
@@ -9,7 +7,7 @@ services:
|
||||
ports:
|
||||
- 3003:3000
|
||||
volumes:
|
||||
- /docker/Daten/adguardhome/work:/opt/adguardhome/work
|
||||
- /docker/Daten/adguardhome/conf:/opt/adguardhome/conf
|
||||
- /srv/docker/daten/adguardhome/work:/opt/adguardhome/work
|
||||
- /srv/docker/daten/adguardhome/conf:/opt/adguardhome/conf
|
||||
environment:
|
||||
TZ: Europe/Berlin
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
######### AKTUELL DOWN ##########
|
||||
|
||||
services:
|
||||
caddy:
|
||||
image: caddy:latest
|
||||
|
||||
@@ -10,7 +10,7 @@ services:
|
||||
- gitea
|
||||
- bruchtal-net # 👈 neu für bruchtal-webhook
|
||||
volumes:
|
||||
- /docker/Daten/gitea/data:/data
|
||||
- /srv/docker/daten/gitea/data:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
@@ -22,4 +22,3 @@ networks:
|
||||
external: false
|
||||
bruchtal-net: # 👈 neu für bruchtal-webhook
|
||||
external: true
|
||||
##
|
||||
@@ -3,13 +3,14 @@ services:
|
||||
image: lscr.io/linuxserver/heimdall:latest
|
||||
container_name: heimdall2
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- PUID=1001
|
||||
- PGID=1001
|
||||
- TZ=Europe/Berlin
|
||||
volumes:
|
||||
- /docker/Daten/heimdall/config:/config
|
||||
- /srv/docker/daten/heimdall/config:/config
|
||||
|
||||
ports:
|
||||
- 1280:80
|
||||
- 12443:443
|
||||
restart: unless-stopped
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
version: "3.8"
|
||||
|
||||
######### AKTUELL DOWN ##########
|
||||
services:
|
||||
kea-dhcp4:
|
||||
image: serhiymakarenko/isc-kea-dhcp4-server:latest
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
version: "3"
|
||||
services:
|
||||
newt:
|
||||
command:
|
||||
- newt
|
||||
container_name: newt2
|
||||
container_name: newt
|
||||
entrypoint:
|
||||
- /entrypoint.sh
|
||||
environment:
|
||||
|
||||
@@ -1,45 +1,24 @@
|
||||
version: '3.7'
|
||||
|
||||
services:
|
||||
db:
|
||||
image: mariadb:latest
|
||||
container_name: nextcloud-db
|
||||
volumes:
|
||||
#- /home/christian/docker/nextcloud/nextcloud-db-data:/var/lib/mysql
|
||||
# - /docker/Daten/nextcloud/db:/var/lib/mysql
|
||||
- ../../../Daten/nextcloud/db:/var/lib/mysql
|
||||
#/docker/Bruchtal/docker/nextcloud
|
||||
|
||||
- /srv/docker/daten/nextcloud/db:/var/lib/mysql
|
||||
networks:
|
||||
- default
|
||||
restart: always
|
||||
environment:
|
||||
TZ: europe/berlin
|
||||
#MYSQL_ROOT_PASSWORD: zazen17
|
||||
#MYSQL_DATABASE: db
|
||||
#MYSQL_USER: dbuser
|
||||
#MYSQL_PASSWORD: zazen17
|
||||
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
||||
MYSQL_DATABASE: ${MYSQL_DATABASE}
|
||||
MYSQL_USER: ${MYSQL_USER}
|
||||
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
||||
|
||||
|
||||
# redis:
|
||||
# image: redis:latest
|
||||
# restart: always
|
||||
# networks:
|
||||
# - default
|
||||
# volumes:
|
||||
# - redis:/var/lib/redis
|
||||
redis:
|
||||
image: redis:latest
|
||||
container_name: nextcloud-redis
|
||||
restart: always
|
||||
volumes:
|
||||
# - /docker/Daten/nextcloud/redis:/data
|
||||
- ../../../Daten/nextcloud/redis:/data
|
||||
|
||||
- /srv/docker/daten/nextcloud/redis:/data
|
||||
|
||||
nextcloud:
|
||||
depends_on:
|
||||
@@ -48,35 +27,29 @@ services:
|
||||
image: nextcloud
|
||||
container_name: nextcloud
|
||||
volumes:
|
||||
# - /home/christian/docker/nextcloud/nextcloud-www:/var/www/html
|
||||
# - /docker/Daten/nextcloud/www:/var/www/html
|
||||
- ../../../Daten/nextcloud/www:/var/www/html
|
||||
|
||||
- /srv/docker/daten/nextcloud/www:/var/www/html
|
||||
networks:
|
||||
- proxy
|
||||
- default
|
||||
ports:
|
||||
- 1180:80
|
||||
- 1444:443
|
||||
|
||||
restart: always
|
||||
environment:
|
||||
REDIS_HOST: redis
|
||||
MYSQL_HOST: db:3306
|
||||
#MYSQL_DATABASE: db
|
||||
#MYSQL_USER: dbuser
|
||||
#MYSQL_PASSWORD: zazen17
|
||||
MYSQL_DATABASE: ${MYSQL_DATABASE}
|
||||
MYSQL_USER: ${MYSQL_USER}
|
||||
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
||||
|
||||
PUID: "1001"
|
||||
PGID: "1001"
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
#external: true
|
||||
|
||||
volumes:
|
||||
nextcloud-db-data:
|
||||
name: nextcloud-db-data
|
||||
redis:
|
||||
name: nextcloud-redis
|
||||
name: nextcloud-redis
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ services:
|
||||
- "9000:9000" # Webinterface
|
||||
- "9443:9443"
|
||||
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
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ services:
|
||||
- TZ=Europe/Berlin
|
||||
|
||||
volumes:
|
||||
- /docker/Daten/tvheadend/config:/config
|
||||
- /docker/Daten/tvheadend/recordings:/recordings
|
||||
- /srv/docker/daten/tvheadend/config:/config
|
||||
- /srv/docker/daten/tvheadend/recordings:/recordings
|
||||
|
||||
restart: unless-stopped
|
||||
restart: unless-stopped
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
version: '3.7'
|
||||
|
||||
services:
|
||||
vaultwarden:
|
||||
image: vaultwarden/server:latest
|
||||
container_name: vaultwarden4
|
||||
restart: always
|
||||
volumes:
|
||||
- /docker/Daten/vaultwarden/bw-data:/data
|
||||
- /srv/docker/daten/vaultwarden/bw-data:/data
|
||||
|
||||
environment:
|
||||
- ADMIN_TOKEN=${VAULTWARDEN_ADMIN_TOKEN}
|
||||
@@ -14,3 +12,4 @@ services:
|
||||
ports:
|
||||
- 1380:80
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
vaultwarden_backup:
|
||||
image: bruceforce/vaultwarden-backup
|
||||
@@ -6,7 +5,7 @@ services:
|
||||
restart: unless-stopped
|
||||
init: true
|
||||
volumes:
|
||||
- /docker/Daten/vaultwarden/bw-data:/data/
|
||||
- /srv/docker/daten/vaultwarden/bw-data:/data/
|
||||
- /mnt/vaultwardenBackupOnQnap:/backups/
|
||||
- /mnt/vaultwardenBackupOnQnap/logs:/logs/
|
||||
environment:
|
||||
@@ -22,4 +21,4 @@ services:
|
||||
- BACKUP_ADD_ICON_CACHE=true
|
||||
- BACKUP_ADD_RSA_KEY=true
|
||||
- LOG_LEVEL=INFO
|
||||
- TZ= Europe/Berlin
|
||||
- TZ= Europe/Berlin
|
||||
|
||||
@@ -6,8 +6,8 @@ services:
|
||||
ports:
|
||||
- "9001:9001"
|
||||
volumes:
|
||||
- /docker/Bruchtal:/workspace
|
||||
- /docker/Bruchtal/scripts/webhook-deploy/hooks.json:/hooks/hooks.json:ro
|
||||
- /srv/docker:/workspace
|
||||
- /srv/docker/scripts/webhook-deploy/hooks.json:/hooks/hooks.json:ro
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /root/.ssh:/root/.ssh:ro
|
||||
command: ["-hooks", "/hooks/hooks.json", "-verbose", "-port", "9001", "-ip", "0.0.0.0"]
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
######### AKTUELL DOWN ##########
|
||||
|
||||
services:
|
||||
wikijs:
|
||||
image: linuxserver/wikijs:2.5.312
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Reparieren des Gitea-Repos
|
||||
## Ausgangslage: aus Versehen Datei auf Vm editier anstatt in VS Code
|
||||
Problem: das Repo ist auseiander gelaufen.
|
||||
|
||||
## Voraussetzung:
|
||||
docker/gitea muss laufen
|
||||
|
||||
@@ -13,7 +14,8 @@ git push origin main --force
|
||||
|
||||
auf der VM:
|
||||
``` snippet
|
||||
cd /docker/Bruchtal
|
||||
cd /srv/docker
|
||||
|
||||
|
||||
git fetch origin
|
||||
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
|
||||
|
||||
# -----------------------------
|
||||
# 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..."
|
||||
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