This commit is contained in:
Your Name
2025-05-03 23:18:52 +12:00
parent 2fe7d4c3d9
commit 3d9b1fa6d2
48 changed files with 59 additions and 199 deletions

View File

@ -1,29 +1,13 @@
#!/bin/bash
source "${AGENT_PATH}/_common.sh"
# Get backup file path from argument
BACKUP_FILE="$1"
if [ -z "$BACKUP_FILE" ]; then
die "Backup file path not provided"
fi
# Check if backup file already exists
if [ -f "$BACKUP_FILE" ]; then
die "Backup file $BACKUP_FILE already exists"
fi
check_required_env_vars "CONTAINER_NAME" "LOCAL_DATA_FOLDER"
# Stop container before backup
_stop_container "$CONTAINER_NAME"
# Create backup of data folder
# We include the parent folder in the backup paths (.), and strip on restore.
echo "Creating backup of $LOCAL_DATA_FOLDER..."
if ! tar zcvf "$BACKUP_FILE" -C "$LOCAL_DATA_FOLDER" .; then
_start_container "$CONTAINER_NAME"
die "Failed to create backup"
fi
autobackup "path=${LOCAL_DATA_FOLDER}" $1 $2 || _die "Failed to create backup"
# Start container after backup
_start_container "$CONTAINER_NAME"
echo "Backup created successfully: $BACKUP_FILE"
echo "Backup created successfully"

View File

@ -1,29 +1,11 @@
#!/bin/bash
source "${AGENT_PATH}/_common.sh"
_check_required_env_vars "IMAGE_REGISTRY" "IMAGE_REPO" "IMAGE_TAG" "CONTAINER_NAME" "LOCAL_DATA_FOLDER"
check_required_env_vars \
"IMAGE_REGISTRY" \
"IMAGE_REPO" \
"IMAGE_TAG" \
"CONTAINER_NAME" \
"LOCAL_DATA_FOLDER"
# Create local data folder if it doesn't exist
if [ -d "${LOCAL_DATA_FOLDER}" ]; then
echo "Local data folder ${LOCAL_DATA_FOLDER} exists, using existing data."
else
echo "Local data folder ${LOCAL_DATA_FOLDER} does not exist, creating..."
mkdir -p "${LOCAL_DATA_FOLDER}"
fi
autocreate path=$LOCAL_DATA_FOLDER || _die "Failed to create local data folder"
# Test Docker
_check_docker_installed || die "Docker test failed, aborting installation..."
# Create deploy and data folders
[ -z "$LOCAL_DATA_FOLDER" ] && die "LOCAL_DATA_FOLDER is not set"
create_folder "$LOCAL_DATA_FOLDER"
_check_docker_installed || _die "Docker test failed, aborting installation..."
# check can pull image on remote host and exit if fails
docker pull "$IMAGE_REGISTRY/$IMAGE_REPO:$IMAGE_TAG" || die "Failed to pull image $IMAGE_REGISTRY/$IMAGE_REPO:$IMAGE_TAG"

View File

@ -1,11 +1,8 @@
#!/bin/bash
source "${AGENT_PATH}/_common.sh"
# check required env vars
check_required_env_vars \
"CONTAINER_NAME"
check_required_env_vars "CONTAINER_NAME"
echo "Container ${CONTAINER_NAME} logs:"
grey_start
_grey_start
docker logs "${CONTAINER_NAME}"
grey_end
_grey_end

View File

@ -1,6 +1,5 @@
#!/bin/bash
source "${AGENT_PATH}/_common.sh"
check_required_env_vars "HOST_PORT"
echo $HOST_PORT

View File

@ -1,39 +1,16 @@
#!/bin/bash
source "${AGENT_PATH}/_common.sh"
check_required_env_vars "CONTAINER_NAME" "LOCAL_DATA_FOLDER"
# RESTORE SCRIPT
# The restore script is OPTIONAL.
# It is used to restore the service on the server from a backup file.
# It is called with one argument: the path to the backup file.
check_required_env_vars "CONTAINER_NAME" "LOCAL_DATA_FOLDER"
# Get backup file path from first argument
BACKUP_FILE="$1"
if [ -z "$BACKUP_FILE" ]; then
die "Backup file path not provided"
fi
# Check if backup file already exists
if [ ! -f "$BACKUP_FILE" ]; then
die "Backup file $BACKUP_FILE does not exist"
fi
# # Stop container before backup
bash ./uninstall.sh || die "Failed to uninstall service before restore"
# Remove existing data folder
echo "Deleting ALL data in $LOCAL_DATA_FOLDER."
_root_remove_tree "$LOCAL_DATA_FOLDER"
[ ! -d "$LOCAL_DATA_FOLDER" ] || die "Failed to delete $LOCAL_DATA_FOLDER"
mkdir -p "$LOCAL_DATA_FOLDER"
[ -d "$LOCAL_DATA_FOLDER" ] || die "Failed to create $LOCAL_DATA_FOLDER"
# Restore data folder from backup
# --strip-components=1 removes the parent folder in the tgz from the restore paths.
if ! tar xzvf "$BACKUP_FILE" -C "$LOCAL_DATA_FOLDER" --strip-components=1; then
die "Failed to restore data folder from backup"
fi
autorestore "path=${LOCAL_DATA_FOLDER}" $1 $2 || die "Failed to restore data folder from backup"
# reinstall service
bash ./install.sh || die "Failed to reinstall service after restore"

View File

@ -1,6 +1,6 @@
#!/bin/bash
source "${AGENT_PATH}/_common.sh"
check_required_env_vars "CONTAINER_NAME"
if ! _is_container_running "$CONTAINER_NAME"; then
die "Container ${CONTAINER_NAME} is not running. Can't connect to it."

View File

@ -1,14 +1,6 @@
#!/bin/bash
source "${AGENT_PATH}/_common.sh"
check_required_env_vars \
"CONTAINER_NAME" \
"HOST_PORT" \
"CONTAINER_PORT" \
"LOCAL_DATA_FOLDER" \
"IMAGE_REGISTRY" \
"IMAGE_REPO" \
"IMAGE_TAG"
check_required_env_vars "CONTAINER_NAME" "HOST_PORT" "CONTAINER_PORT" "LOCAL_DATA_FOLDER" "IMAGE_REGISTRY" "IMAGE_REPO" "IMAGE_TAG"
DOCKER_RUN_CMD="docker run -d \

View File

@ -1,9 +1,6 @@
#!/bin/bash
source "${AGENT_PATH}/_common.sh"
check_required_env_vars \
"CONTAINER_NAME" \
"HOST_PORT"
check_required_env_vars "CONTAINER_NAME" "HOST_PORT"
# check if the service is running
_is_container_running $CONTAINER_NAME || die "Service is not running - did not find container $CONTAINER_NAME."

View File

@ -1,8 +1,6 @@
#!/bin/bash
source "${AGENT_PATH}/_common.sh"
check_required_env_vars \
"CONTAINER_NAME"
check_required_env_vars "CONTAINER_NAME"
_stop_container $CONTAINER_NAME || die "Failed to stop container ${CONTAINER_NAME}"

View File

@ -1,12 +1,12 @@
#!/bin/bash
source "${AGENT_PATH}/_common.sh"
check_required_env_vars "CONTAINER_NAME" "LOCAL_DATA_FOLDER"
# UNINSTALL SCRIPT
# The uninstall script is required for all templates.
# It is used to uninstall the service from the server.
# It is called with the path to the server specific env file as an argument.
check_required_env_vars "CONTAINER_NAME" "IMAGE_REGISTRY" "IMAGE_REPO" "IMAGE_TAG"
_remove_container $CONTAINER_NAME || die "Failed to remove container ${CONTAINER_NAME}"
_is_container_running && die "Couldn't stop existing container"