Files
homelab-configs/scripts/sync-from-nas.sh
T
mo 21dbee4b53 Add full NAS service catalog for disaster recovery.
Compose files and configs for postgres, adguard, duckdns, homarr, neo4j,
portainer, remotely, and monitoring; RESTORE.md and sync-from-nas script.
Sanitize pgAdmin secrets; document homelab-command as separate repo.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-17 13:15:48 +02:00

39 lines
1.4 KiB
Bash

#!/bin/sh
# Kopieer actuele NAS-configs naar deze git-repo (draai vóór commit).
set -e
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
NAS_DOCKER="${NAS_DOCKER:-/volume1/docker}"
NAS_HOMELAB="${NAS_HOMELAB:-/volume1/homes/mo/homelab-command}"
echo "Sync → $ROOT"
# Homarr dashboards
mkdir -p "$ROOT/configs/homarr"
cp -f "$NAS_DOCKER/homarr"/*.json "$ROOT/configs/homarr/" 2>/dev/null || true
# AdGuard (config zit vaak in container; export als map leeg is)
mkdir -p "$ROOT/configs/adguard"
if docker ps --format '{{.Names}}' | grep -qx Adguard; then
docker cp Adguard:/opt/adguardhome/conf/AdGuardHome.yaml "$ROOT/configs/adguard/AdGuardHome.yaml"
fi
# Prometheus targets + compose bron
if [ -d "$NAS_HOMELAB/monitoring" ]; then
cp -f "$NAS_HOMELAB/monitoring/prometheus.yml" "$ROOT/docker/monitoring/"
cp -rf "$NAS_HOMELAB/monitoring/prometheus/targets/"* "$ROOT/docker/monitoring/prometheus/targets/" 2>/dev/null || true
cp -f "$NAS_HOMELAB/docker-compose.grafana.yml" "$ROOT/docker/monitoring/"
cp -f "$NAS_HOMELAB/docker-compose.mesh.yml" "$ROOT/docker/monitoring/"
fi
# Live compose uit docker-mappen (bron van waarheid op NAS)
for svc in gitea postgres-web excalidraw guacamole wazuh ha-voice-control; do
src="$NAS_DOCKER/$svc/docker-compose.yml"
dst="$ROOT/docker/$svc/docker-compose.yml"
if [ -f "$src" ]; then
mkdir -p "$(dirname "$dst")"
cp -f "$src" "$dst"
fi
done
echo "Klaar. Controleer: git status && git diff"