Files
dropshell-templates/seafile/install.sh
j 767d4eb21e
All checks were successful
Test and Publish Templates / test-and-publish (push) Successful in 7s
config: Add 1 and update 10 files
2025-12-29 12:59:13 +13:00

30 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
source "${AGENT_PATH}/common.sh"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
_check_required_env_vars "CONTAINER_NAME" "DATA_PATH" "MYSQL_ROOT_PASSWORD" "SEAFILE_ADMIN_EMAIL" "SEAFILE_ADMIN_PASSWORD" "SEAFILE_SERVER_HOSTNAME"
_check_docker_installed || _die "Docker test failed, aborting installation..."
# Create data directories
mkdir -p "${DATA_PATH}/mariadb" "${DATA_PATH}/seafile-data"
# Export variables for docker compose
export CONTAINER_NAME DATA_PATH HTTP_PORT IMAGE_REGISTRY IMAGE_REPO IMAGE_TAG
export MYSQL_ROOT_PASSWORD DB_PASSWORD SEAFILE_ADMIN_EMAIL SEAFILE_ADMIN_PASSWORD
export SEAFILE_SERVER_HOSTNAME SEAFILE_SERVER_PROTOCOL TZ
cd "$SCRIPT_DIR" || _die "Failed to change to script directory"
# Pull images
docker compose -p "${CONTAINER_NAME}" pull || _die "Failed to pull images"
# Stop existing containers
docker compose -p "${CONTAINER_NAME}" down 2>/dev/null || true
# Start containers
docker compose -p "${CONTAINER_NAME}" up -d || _die "Failed to start containers"
echo "Installation of ${CONTAINER_NAME} complete"
echo "Access Seafile at ${SEAFILE_SERVER_PROTOCOL}://${SEAFILE_SERVER_HOSTNAME}:${HTTP_PORT}"
echo "Note: First startup may take a few minutes while Seafile initializes the database."