Files
dropshell-templates/shlink/install.sh
j dc4d42ed31
All checks were successful
Test and Publish Templates / test-and-publish (push) Successful in 12s
add shlink
2026-01-14 16:01:05 +13:00

32 lines
1.1 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" "DEFAULT_DOMAIN" "DB_NAME" "DB_USER" "DB_PASSWORD" "DB_ROOT_PASSWORD"
_check_docker_installed || _die "Docker test failed, aborting installation..."
# Create data directory
mkdir -p "${DATA_PATH}/mariadb"
# Export variables for docker compose
export CONTAINER_NAME DATA_PATH HTTP_PORT DEFAULT_DOMAIN IS_HTTPS_ENABLED GEOLITE_LICENSE_KEY INITIAL_API_KEY
export DB_NAME DB_USER DB_PASSWORD DB_ROOT_PASSWORD
export IMAGE_REGISTRY IMAGE_REPO IMAGE_TAG DB_IMAGE_REGISTRY DB_IMAGE_REPO DB_IMAGE_TAG
cd "$SCRIPT_DIR" || _die "Failed to change to script directory"
# Pull images
docker compose pull || _die "Failed to pull images"
# Stop existing containers
docker compose down 2>/dev/null || true
# Start containers
docker compose up -d || _die "Failed to start containers"
echo "Installation of ${CONTAINER_NAME} complete"
echo "Access Shlink at http://localhost:${HTTP_PORT}"
echo ""
echo "To generate an API key, run:"
echo " docker exec -it ${CONTAINER_NAME} shlink api-key:generate"