69 lines
1.6 KiB
Bash
69 lines
1.6 KiB
Bash
#!/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
|