All checks were successful
Test and Publish Templates / test-and-publish (push) Successful in 42s
31 lines
961 B
Bash
Executable File
31 lines
961 B
Bash
Executable File
#!/bin/bash
|
|
# shellcheck disable=SC1091
|
|
source "${AGENT_PATH}/common.sh"
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
source "${SCRIPT_DIR}/_volumes.sh"
|
|
_check_required_env_vars "CONTAINER_NAME" "DATA_PATH" "DB_NAME" "DB_USER"
|
|
|
|
# Export variables for docker compose
|
|
export CONTAINER_NAME DATA_PATH HTTP_PORT PUID PGID TZ IMAGE_TAG DB_NAME DB_USER DB_PASS
|
|
|
|
cd "$SCRIPT_DIR"
|
|
|
|
# Dump PostgreSQL database before backup
|
|
echo "Dumping PostgreSQL database..."
|
|
docker exec ${CONTAINER_NAME}_db pg_dump -U "$DB_USER" "$DB_NAME" > "${DATA_PATH}/database.sql" || _die "Failed to dump database"
|
|
|
|
# Stop containers for consistent backup
|
|
docker compose stop
|
|
|
|
# Backup using dropshell's backup system
|
|
# shellcheck disable=SC2046
|
|
backup_items $(get_wikijs_volumes) || _die "Failed to create backup"
|
|
|
|
# Clean up database dump (it's now in the backup)
|
|
rm -f "${DATA_PATH}/database.sql"
|
|
|
|
# Restart containers
|
|
docker compose start
|
|
|
|
echo "Backup created successfully"
|