Reorganize repo: one folder per application under apps/.
Move docker/ and configs/ into apps/<name>/ with config/ subfolders. Proxmox split into hosts/pve and hosts/dell-proxmox. Nginx under infrastructure/. Update sync script, RESTORE.md, and per-app READMEs. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+64
-22
@@ -1,38 +1,80 @@
|
||||
#!/bin/sh
|
||||
# Kopieer actuele NAS-configs naar deze git-repo (draai vóór commit).
|
||||
# Sync actuele NAS-configs → apps/<naam>/ in deze repo.
|
||||
set -e
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
NAS_DOCKER="${NAS_DOCKER:-/volume1/docker}"
|
||||
NAS_CONFIGS="${NAS_CONFIGS:-$NAS_DOCKER/Configs}"
|
||||
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)
|
||||
# --- Docker compose (live NAS-mappen) ---
|
||||
for svc in gitea postgres-web excalidraw guacamole wazuh ha-voice-control; do
|
||||
case "$svc" in
|
||||
postgres-web) app=pgadmin ;;
|
||||
*) app="$svc" ;;
|
||||
esac
|
||||
src="$NAS_DOCKER/$svc/docker-compose.yml"
|
||||
dst="$ROOT/docker/$svc/docker-compose.yml"
|
||||
dst="$ROOT/apps/$app/docker-compose.yml"
|
||||
if [ -f "$src" ]; then
|
||||
mkdir -p "$(dirname "$dst")"
|
||||
cp -f "$src" "$dst"
|
||||
echo " compose: $app"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Klaar. Controleer: git status && git diff"
|
||||
# --- App configs ---
|
||||
mkdir -p "$ROOT/apps/homarr/config"
|
||||
cp -f "$NAS_DOCKER/homarr"/*.json "$ROOT/apps/homarr/config/" 2>/dev/null && echo " homarr" || true
|
||||
|
||||
mkdir -p "$ROOT/apps/adguard/config"
|
||||
if docker ps --format '{{.Names}}' | grep -qx Adguard; then
|
||||
docker cp Adguard:/opt/adguardhome/conf/AdGuardHome.yaml "$ROOT/apps/adguard/config/AdGuardHome.yaml"
|
||||
echo " adguard (uit container)"
|
||||
fi
|
||||
|
||||
mkdir -p "$ROOT/apps/home-assistant/config"
|
||||
for f in configuration.yaml secrets.yaml automations.yaml scripts.yaml scenes.yaml; do
|
||||
[ -f "$NAS_CONFIGS/HA/config/$f" ] && cp -f "$NAS_CONFIGS/HA/config/$f" "$ROOT/apps/home-assistant/config/$f"
|
||||
done
|
||||
echo " home-assistant"
|
||||
|
||||
# Media *arr
|
||||
for pair in "Sonarr:sonarr:config.xml" "Radarr:radarr:config.xml" "Prowlarr:prowlarr:config.xml" "Sabnzb:sabnzbd:sabnzbd.ini"; do
|
||||
IFS=: read -r nasname app file <<EOF
|
||||
$pair
|
||||
EOF
|
||||
src="$NAS_CONFIGS/$nasname/$file"
|
||||
dst="$ROOT/apps/$app/config/$file"
|
||||
if [ -f "$src" ]; then
|
||||
mkdir -p "$(dirname "$dst")"
|
||||
cp -f "$src" "$dst"
|
||||
echo " $app"
|
||||
fi
|
||||
done
|
||||
|
||||
# qBittorrent
|
||||
if [ -d "$NAS_CONFIGS/QBitTorrent/qBittorrent" ]; then
|
||||
mkdir -p "$ROOT/apps/qbittorrent/config"
|
||||
cp -rf "$NAS_CONFIGS/QBitTorrent/qBittorrent" "$ROOT/apps/qbittorrent/config/"
|
||||
echo " qbittorrent"
|
||||
fi
|
||||
|
||||
# Prowlarr Definitions (optioneel, groot)
|
||||
if [ -d "$NAS_CONFIGS/Prowlarr/Definitions" ]; then
|
||||
mkdir -p "$ROOT/apps/prowlarr/config"
|
||||
cp -rf "$NAS_CONFIGS/Prowlarr/Definitions" "$ROOT/apps/prowlarr/config/"
|
||||
echo " prowlarr Definitions"
|
||||
fi
|
||||
|
||||
# --- Monitoring (uit homelab-command) ---
|
||||
if [ -d "$NAS_HOMELAB/monitoring" ]; then
|
||||
cp -f "$NAS_HOMELAB/monitoring/prometheus.yml" "$ROOT/apps/monitoring/"
|
||||
cp -rf "$NAS_HOMELAB/monitoring/prometheus/targets/"* "$ROOT/apps/monitoring/prometheus/targets/" 2>/dev/null || true
|
||||
cp -f "$NAS_HOMELAB/docker-compose.grafana.yml" "$ROOT/apps/monitoring/"
|
||||
cp -f "$NAS_HOMELAB/docker-compose.mesh.yml" "$ROOT/apps/monitoring/"
|
||||
echo " monitoring"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Klaar. Controleer: cd $ROOT && git status && git diff"
|
||||
|
||||
Reference in New Issue
Block a user