#!/bin/bash
set -euo pipefail

echo "Initializing project..."
echo ""

if command -v docker >/dev/null 2>&1; then
  echo "Docker installed"
else
  echo "Installing Docker..."
  curl -fsSL https://get.docker.com | sh
fi

if docker compose version >/dev/null 2>&1; then
  DC="docker compose"
elif command -v docker-compose >/dev/null 2>&1; then
  DC="docker-compose"
else
  echo "Installing docker-compose..."
  sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  sudo chmod +x /usr/local/bin/docker-compose
  DC="docker-compose"
fi

echo "Creating Docker network..."
docker network create traefik-public 2>/dev/null || echo "Network already exists"

echo ""
read -r -p "Enter your main domain (example.com): " domain
domain="${domain,,}"

if [[ -z "${domain}" ]]; then
  echo "Domain is required."
  exit 1
fi

sed -i "s/DOMAIN_PLACEHOLDER/${domain}/g" docker-compose.yml

echo "Starting containers..."
$DC up -d --build

echo ""
echo "Done."
echo "Open https://${domain}"

