Creates automated backup procedures, executes restoration operations, and implements disaster recovery workflows for network infrastructure...
Works with Docker volumes (caddy_data, pihole_data), configuration files, and .env secrets.
Complete backup and disaster recovery procedures for network infrastructure including Docker volumes, configuration files, and secrets.
Quick full backup:
# Create backup directory
backup_dir="/home/dawiddutoit/projects/network/backups/full-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$backup_dir"
# Backup Docker volumes
tar -czf "$backup_dir/pihole_data.tar.gz" \
-C /var/lib/docker/volumes/network_pihole_data/_data .
tar -czf "$backup_dir/caddy_data.tar.gz" \
-C /var/lib/docker/volumes/network_caddy_data/_data .
# Backup configuration
cp -r /home/dawiddutoit/projects/network/docker-compose.yml "$backup_dir/"
cp -r /home/dawiddutoit/projects/network/caddy "$backup_dir/"
cp -r /home/dawiddutoit/projects/network/config "$backup_dir/"
cp -r /home/dawiddutoit/projects/network/.env "$backup_dir/.env"
echo "Backup completed: $backup_dir"
Explicit Triggers:
Implicit Triggers:
Debugging Triggers:
Use this skill to create and restore infrastructure backups. The skill provides workflows for:
See detailed procedures in sections below and references/backup-procedures.md for comprehensive guides.
Create complete backup with all components:
backup_dir="/home/dawiddutoit/projects/network/backups/full-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$backup_dir"
# Backup Docker volumes
tar -czf "$backup_dir/pihole_data.tar.gz" \
-C /var/lib/docker/volumes/network_pihole_data/_data .
tar -czf "$backup_dir/caddy_data.tar.gz" \
-C /var/lib/docker/volumes/network_caddy_data/_data .
# Backup configuration
cp /home/dawiddutoit/projects/network/docker-compose.yml "$backup_dir/"
cp /home/dawiddutoit/projects/network/.env "$backup_dir/.env"
cp -r /home/dawiddutoit/projects/network/caddy "$backup_dir/"
cp -r /home/dawiddutoit/projects/network/config "$backup_dir/"
echo "Backup completed: $backup_dir"
What's backed up: Pi-hole data, Caddy certificates, configuration files, secrets (.env)
Restore from complete backup:
backup_dir="/home/dawiddutoit/projects/network/backups/full-backup-20260120"
# Stop services
cd /home/dawiddutoit/projects/network
docker compose down
# Restore volumes
docker volume rm network_pihole_data network_caddy_data
docker volume create network_pihole_data
docker volume create network_caddy_data
tar -xzf "$backup_dir/pihole_data.tar.gz" \
-C /var/lib/docker/volumes/network_pihole_data/_data
tar -xzf "$backup_dir/caddy_data.tar.gz" \
-C /var/lib/docker/volumes/network_caddy_data/_data
# Restore configuration
cp "$backup_dir/docker-compose.yml" .
cp "$backup_dir/.env" .
cp -r "$backup_dir/caddy" .
cp -r "$backup_dir/config" .
# Start services
docker compose up -d
For complete rebuild on new hardware, see references/backup-procedures.md section "Disaster Recovery".
Quick overview:
Recovery time: 15-30 minutes
| File | Purpose |
|---|---|
references/backup-procedures.md |
Detailed backup/restore procedures, disaster recovery, retention policies |
Success:
Partial Success:
Failure Indicators: