63 lines
1.6 KiB
Bash
63 lines
1.6 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
set -e
|
||
|
|
|
||
|
|
BASE_DIR="/home/Dejan/Docker/Netbird-compose"
|
||
|
|
cd "$BASE_DIR"
|
||
|
|
|
||
|
|
STAMP="$(date +%F-%H%M)"
|
||
|
|
BACKUP_DIR="$BASE_DIR/backup/$STAMP"
|
||
|
|
|
||
|
|
mkdir -p "$BACKUP_DIR"
|
||
|
|
|
||
|
|
echo "=== Backing up NetBird+Zitadel config files to $BACKUP_DIR ..."
|
||
|
|
|
||
|
|
# 1) Backup local files (exclude backup and .git)
|
||
|
|
tar --exclude='./backup' \
|
||
|
|
--exclude='./.git' \
|
||
|
|
-czf "$BACKUP_DIR/netbird-compose-files.tar.gz" \
|
||
|
|
docker-compose.yml \
|
||
|
|
.env \
|
||
|
|
dashboard.env \
|
||
|
|
relay.env \
|
||
|
|
zitadel.env \
|
||
|
|
zdb.env \
|
||
|
|
management.json \
|
||
|
|
turnserver.conf \
|
||
|
|
machinekey \
|
||
|
|
traefik-stack \
|
||
|
|
install-netbird-traefik.sh \
|
||
|
|
reinit*.sh \
|
||
|
|
uninstall-netbird-traefik.sh \
|
||
|
|
readme.md 2>/dev/null || true
|
||
|
|
|
||
|
|
echo " → Config files archived."
|
||
|
|
|
||
|
|
# 2) Backup Docker volumes (management DB, Zitadel DB, certs)
|
||
|
|
echo "=== Backing up Docker volumes ..."
|
||
|
|
|
||
|
|
# netbird_management volume
|
||
|
|
docker run --rm \
|
||
|
|
-v netbird_management:/data \
|
||
|
|
-v "$BACKUP_DIR":/backup \
|
||
|
|
alpine sh -c "cd /data && tar -czf /backup/netbird_management-volume.tar.gz ."
|
||
|
|
|
||
|
|
echo " → netbird_management done."
|
||
|
|
|
||
|
|
# netbird_zdb_data (Postgres for Zitadel)
|
||
|
|
docker run --rm \
|
||
|
|
-v netbird_zdb_data:/data \
|
||
|
|
-v "$BACKUP_DIR":/backup \
|
||
|
|
alpine sh -c "cd /data && tar -czf /backup/netbird_zdb_data-volume.tar.gz ."
|
||
|
|
|
||
|
|
echo " → netbird_zdb_data done."
|
||
|
|
|
||
|
|
# netbird_zitadel_certs
|
||
|
|
docker run --rm \
|
||
|
|
-v netbird_zitadel_certs:/data \
|
||
|
|
-v "$BACKUP_DIR":/backup \
|
||
|
|
alpine sh -c "cd /data && tar -czf /backup/netbird_zitadel_certs-volume.tar.gz ."
|
||
|
|
|
||
|
|
echo " → netbird_zitadel_certs done."
|
||
|
|
|
||
|
|
echo "=== All done. Backup stored in: $BACKUP_DIR"
|