Add 1 and update 7 files
All checks were successful
Test and Publish Templates / test-and-publish (push) Successful in 12s

This commit is contained in:
j
2026-01-15 11:42:04 +13:00
parent 8d4f24af4e
commit 878938307c
8 changed files with 27 additions and 8 deletions

12
immich/_compose.sh Normal file
View File

@@ -0,0 +1,12 @@
#!/bin/bash
# Helper to detect and use the correct docker compose command
# Detect which compose command is available
if docker compose version &>/dev/null; then
docker_compose() { docker compose "$@"; }
elif command -v docker-compose &>/dev/null; then
docker_compose() { docker-compose "$@"; }
else
echo "Error: Neither 'docker compose' nor 'docker-compose' found"
exit 1
fi

View File

@@ -3,6 +3,7 @@
source "${AGENT_PATH}/common.sh" source "${AGENT_PATH}/common.sh"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/_volumes.sh" source "${SCRIPT_DIR}/_volumes.sh"
source "${SCRIPT_DIR}/_compose.sh"
_check_required_env_vars "CONTAINER_NAME" "BACKUP_FILE" "TEMP_DIR" "UPLOAD_LOCATION" "DB_DATA_LOCATION" "DB_USERNAME" _check_required_env_vars "CONTAINER_NAME" "BACKUP_FILE" "TEMP_DIR" "UPLOAD_LOCATION" "DB_DATA_LOCATION" "DB_USERNAME"
@@ -21,14 +22,14 @@ docker exec "${CONTAINER_NAME}_postgres" pg_dumpall -U "${DB_USERNAME}" > "${TEM
cp "${TEMP_DIR}/database.sql" "${DB_DATA_LOCATION}/database_backup.sql" cp "${TEMP_DIR}/database.sql" "${DB_DATA_LOCATION}/database_backup.sql"
# Stop containers for consistent backup # Stop containers for consistent backup
docker compose stop docker_compose stop
# Backup volumes # Backup volumes
# shellcheck disable=SC2046 # shellcheck disable=SC2046
backup_items $(get_immich_volumes) || _die "Failed to create backup" backup_items $(get_immich_volumes) || _die "Failed to create backup"
# Restart containers # Restart containers
docker compose start docker_compose start
# Clean up # Clean up
rm -f "${DB_DATA_LOCATION}/database_backup.sql" rm -f "${DB_DATA_LOCATION}/database_backup.sql"

View File

@@ -3,6 +3,7 @@
source "${AGENT_PATH}/common.sh" source "${AGENT_PATH}/common.sh"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/_volumes.sh" source "${SCRIPT_DIR}/_volumes.sh"
source "${SCRIPT_DIR}/_compose.sh"
_check_required_env_vars "CONTAINER_NAME" _check_required_env_vars "CONTAINER_NAME"
@@ -12,7 +13,7 @@ cd "$SCRIPT_DIR" || _die "Failed to change to script directory"
# Stop and remove containers and volumes # Stop and remove containers and volumes
if [ -f docker-compose.yml ]; then if [ -f docker-compose.yml ]; then
docker compose down -v 2>/dev/null || true docker_compose down -v 2>/dev/null || true
fi fi
# Destroy data directories # Destroy data directories

View File

@@ -3,6 +3,7 @@
source "${AGENT_PATH}/common.sh" source "${AGENT_PATH}/common.sh"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/_volumes.sh" source "${SCRIPT_DIR}/_volumes.sh"
source "${SCRIPT_DIR}/_compose.sh"
_check_required_env_vars "CONTAINER_NAME" "UPLOAD_LOCATION" "DB_DATA_LOCATION" "DB_PASSWORD" _check_required_env_vars "CONTAINER_NAME" "UPLOAD_LOCATION" "DB_DATA_LOCATION" "DB_PASSWORD"
@@ -45,7 +46,7 @@ _create_folder "${DB_DATA_LOCATION}"
# Pull images # Pull images
echo "Pulling Immich images..." echo "Pulling Immich images..."
docker compose pull || _die "Failed to pull images" docker_compose pull || _die "Failed to pull images"
# Stop and remove existing containers # Stop and remove existing containers
bash ./stop.sh 2>/dev/null || true bash ./stop.sh 2>/dev/null || true

View File

@@ -2,6 +2,7 @@
# shellcheck disable=SC1091 # shellcheck disable=SC1091
source "${AGENT_PATH}/common.sh" source "${AGENT_PATH}/common.sh"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/_compose.sh"
_check_required_env_vars "CONTAINER_NAME" _check_required_env_vars "CONTAINER_NAME"
@@ -9,4 +10,4 @@ cd "$SCRIPT_DIR" || _die "Failed to change to script directory"
[ -f docker-compose.yml ] || _die "docker-compose.yml not found." [ -f docker-compose.yml ] || _die "docker-compose.yml not found."
docker compose logs -f docker_compose logs -f

View File

@@ -2,6 +2,7 @@
# shellcheck disable=SC1091 # shellcheck disable=SC1091
source "${AGENT_PATH}/common.sh" source "${AGENT_PATH}/common.sh"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/_compose.sh"
_check_required_env_vars "CONTAINER_NAME" _check_required_env_vars "CONTAINER_NAME"
@@ -9,6 +10,6 @@ cd "$SCRIPT_DIR" || _die "Failed to change to script directory"
[ -f docker-compose.yml ] || _die "docker-compose.yml not found. Run install.sh first." [ -f docker-compose.yml ] || _die "docker-compose.yml not found. Run install.sh first."
docker compose up -d || _die "Failed to start containers" docker_compose up -d || _die "Failed to start containers"
echo "Immich containers started successfully." echo "Immich containers started successfully."

View File

@@ -2,6 +2,7 @@
# shellcheck disable=SC1091 # shellcheck disable=SC1091
source "${AGENT_PATH}/common.sh" source "${AGENT_PATH}/common.sh"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/_compose.sh"
_check_required_env_vars "CONTAINER_NAME" _check_required_env_vars "CONTAINER_NAME"
@@ -11,6 +12,6 @@ cd "$SCRIPT_DIR" || _die "Failed to change to script directory"
[ -f docker-compose.yml ] || _die "docker-compose.yml not found." [ -f docker-compose.yml ] || _die "docker-compose.yml not found."
docker compose stop || _die "Failed to stop containers" docker_compose stop || _die "Failed to stop containers"
echo "Immich containers stopped." echo "Immich containers stopped."

View File

@@ -2,6 +2,7 @@
# shellcheck disable=SC1091 # shellcheck disable=SC1091
source "${AGENT_PATH}/common.sh" source "${AGENT_PATH}/common.sh"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/_compose.sh"
_check_required_env_vars "CONTAINER_NAME" _check_required_env_vars "CONTAINER_NAME"
@@ -11,7 +12,7 @@ cd "$SCRIPT_DIR" || _die "Failed to change to script directory"
# Stop and remove containers (preserves volumes) # Stop and remove containers (preserves volumes)
if [ -f docker-compose.yml ]; then if [ -f docker-compose.yml ]; then
docker compose down 2>/dev/null || true docker_compose down 2>/dev/null || true
fi fi
echo "Uninstallation of ${CONTAINER_NAME} complete." echo "Uninstallation of ${CONTAINER_NAME} complete."