#!/usr/bin/env bash set -e GREEN='\033[0;32m' RED='\033[0;31m' YELLOW='\033[1;33m' NC='\033[0m' echo "" echo "========================================" echo " Gitea Deployment Bootstrapper" echo "========================================" echo "" if [ ! -f ".env" ]; then echo -e "${YELLOW}[INFO] .env file not found.${NC}" echo "Creating .env from template..." cp .env.sample .env echo "" echo -e "${YELLOW}Please edit .env and rerun this script.${NC}" exit 1 fi source .env if [[ -z "$GITEA_EXTERNAL_URL" || "$GITEA_EXTERNAL_URL" == *"example.com"* ]]; then echo -e "${RED}[ERROR] Invalid GITEA_EXTERNAL_URL in .env${NC}" exit 1 fi if [[ -z "$GITEA_ROOT_PASSWORD" || ${#GITEA_ROOT_PASSWORD} -lt 8 ]]; then echo -e "${RED}[ERROR] GITEA_ROOT_PASSWORD must be at least 8 characters.${NC}" exit 1 fi echo -e "${GREEN}[INFO] Configuration validated.${NC}" echo "" echo "[STEP] Checking swap configuration..." ./scripts/setup-swap.sh || true echo "" echo "[STEP] Preparing SSL certificates (if HTTPS enabled)..." ./scripts/setup-ssl.sh || true echo "" echo "[STEP] Creating data directories..." mkdir -p ${GITEA_DATA_PATH}/gitea mkdir -p ${GITEA_DATA_PATH}/postgres echo "" echo "[STEP] Starting containers..." docker compose up -d echo "" echo -e "${GREEN}========================================${NC}" echo -e "${GREEN}Gitea deployment started successfully${NC}" echo -e "${GREEN}========================================${NC}" echo "" echo "Access your instance at:" echo " $GITEA_EXTERNAL_URL" echo "" echo "Container status:" docker compose ps