- Add traefik.docker.network=traefik-network label to homepage service - Prevent Traefik from using wrong IP from homelab-network - Resolve 504 Gateway Timeout issues after authentication - Update various docker-compose configurations and templates - Clean up unused configuration files
48 lines
1.6 KiB
Bash
Executable File
48 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# Core Services Backup Script
|
|
# Run this script to backup critical configuration files and database
|
|
|
|
BACKUP_DIR="/opt/stacks/core/backups"
|
|
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
|
BACKUP_NAME="core_backup_${TIMESTAMP}"
|
|
|
|
echo "Creating backup: ${BACKUP_NAME}"
|
|
|
|
# Create backup directory
|
|
mkdir -p "${BACKUP_DIR}/${BACKUP_NAME}"
|
|
|
|
# Backup Authelia configuration and database
|
|
echo "Backing up Authelia..."
|
|
cp -r /opt/stacks/core/authelia/config "${BACKUP_DIR}/${BACKUP_NAME}/"
|
|
|
|
# Backup Traefik configuration (excluding certificates for security)
|
|
echo "Backing up Traefik configuration..."
|
|
mkdir -p "${BACKUP_DIR}/${BACKUP_NAME}/traefik"
|
|
cp -r /opt/stacks/core/traefik/config "${BACKUP_DIR}/${BACKUP_NAME}/traefik/"
|
|
cp -r /opt/stacks/core/traefik/dynamic "${BACKUP_DIR}/${BACKUP_NAME}/traefik/"
|
|
# Note: letsencrypt/acme.json contains private keys - backup separately if needed
|
|
|
|
# Backup docker-compose.yml
|
|
echo "Backing up docker-compose.yml..."
|
|
cp /opt/stacks/core/docker-compose.yml "${BACKUP_DIR}/${BACKUP_NAME}/"
|
|
|
|
# Backup environment file (contains sensitive data - handle carefully)
|
|
echo "Backing up .env file..."
|
|
cp /opt/stacks/core/.env "${BACKUP_DIR}/${BACKUP_NAME}/"
|
|
|
|
# Create archive
|
|
echo "Creating compressed archive..."
|
|
cd "${BACKUP_DIR}"
|
|
tar -czf "${BACKUP_NAME}.tar.gz" "${BACKUP_NAME}"
|
|
|
|
# Cleanup uncompressed backup
|
|
rm -rf "${BACKUP_NAME}"
|
|
|
|
echo "Backup completed: ${BACKUP_DIR}/${BACKUP_NAME}.tar.gz"
|
|
echo "Backup size: $(du -h "${BACKUP_DIR}/${BACKUP_NAME}.tar.gz" | cut -f1)"
|
|
|
|
# Keep only last 10 backups
|
|
echo "Cleaning up old backups..."
|
|
ls -t "${BACKUP_DIR}"/*.tar.gz | tail -n +11 | xargs -r rm -f
|
|
|
|
echo "Backup script completed successfully" |