#!/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"