25 lines
928 B
Bash
Executable File
25 lines
928 B
Bash
Executable File
#!/bin/bash
|
|
source "${AGENT_PATH}/common.sh"
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
cd "$SCRIPT_DIR"
|
|
|
|
_check_required_env_vars "CONTAINER_NAME" "WEB_PORT" "SSH_KEY_PATH" "DATA_VOLUME" "IMAGE_REGISTRY" "IMAGE_REPO" "IMAGE_TAG"
|
|
_check_docker_installed || _die "Docker test failed"
|
|
|
|
# Check SSH key exists
|
|
[ -f "${SSH_KEY_PATH}" ] || _die "SSH key not found at ${SSH_KEY_PATH}"
|
|
|
|
# Check infrastructure.conf exists
|
|
[ -f "${CONFIG_PATH}/infrastructure.conf" ] || _die "infrastructure.conf not found at ${CONFIG_PATH}/infrastructure.conf"
|
|
|
|
docker pull "$IMAGE_REGISTRY/$IMAGE_REPO:$IMAGE_TAG" || _die "Failed to pull image"
|
|
|
|
# Create data volume
|
|
docker volume create "${DATA_VOLUME}" 2>/dev/null || true
|
|
|
|
bash ./stop.sh || true
|
|
docker compose -p "${CONTAINER_NAME}" up -d || _die "Failed to start services"
|
|
|
|
echo "Installation of ${CONTAINER_NAME} complete"
|
|
echo "Web UI available at http://localhost:${WEB_PORT}"
|