Files

59 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m'
echo ""
echo "========================================"
echo " Uptime Kuma Deployment Bootstrapper"
echo "========================================"
echo ""
if ! command -v docker >/dev/null 2>&1; then
echo -e "${RED}[ERROR] Docker is not installed or not in PATH.${NC}"
exit 1
fi
if ! docker compose version >/dev/null 2>&1; then
echo -e "${RED}[ERROR] Docker Compose v2 is not available.${NC}"
exit 1
fi
if [ ! -f ".env" ]; then
echo -e "${YELLOW}[INFO] .env file not found. Creating one from .env.example.${NC}"
cp .env.example .env
fi
# Docker Compose requires external networks to exist before startup.
if ! docker network inspect caddy_proxy >/dev/null 2>&1; then
echo -e "${YELLOW}[INFO] Creating shared Docker network: caddy_proxy${NC}"
docker network create caddy_proxy >/dev/null
fi
set -a
source .env
set +a
echo "[STEP] Pulling images..."
docker compose pull
echo "[STEP] Starting Uptime Kuma..."
docker compose up -d
echo ""
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN}Uptime Kuma deployment started${NC}"
echo -e "${GREEN}========================================${NC}"
echo ""
echo "Direct access:"
echo " http://localhost:${UPTIME_KUMA_HOST_PORT:-3001}"
echo ""
echo "Caddy access:"
echo " ${UPTIME_KUMA_PUBLIC_URL:-https://uptime.amiirkhl.ir}"
echo ""
echo "Container status:"
docker compose ps