#!/bin/bash # Production startup script for Gitea MCP Remote # # This script validates the environment and starts the server. set -e # Colors for output RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color echo -e "${GREEN}Starting Gitea MCP Remote...${NC}" # Check required environment variables check_required_env() { local var_name=$1 if [ -z "${!var_name}" ]; then echo -e "${RED}ERROR: Required environment variable $var_name is not set${NC}" return 1 fi echo -e "${GREEN} $var_name is set${NC}" } echo "Checking required environment variables..." MISSING=0 check_required_env "GITEA_URL" || MISSING=1 check_required_env "GITEA_TOKEN" || MISSING=1 check_required_env "GITEA_OWNER" || MISSING=1 if [ $MISSING -eq 1 ]; then echo -e "${RED}Missing required environment variables. Exiting.${NC}" echo "" echo "Required variables:" echo " GITEA_URL - Gitea server URL (e.g., https://gitea.example.com)" echo " GITEA_TOKEN - Gitea API token" echo " GITEA_OWNER - Default repository owner" echo "" echo "Optional variables:" echo " GITEA_REPO - Default repository name" echo " AUTH_TOKEN - Bearer token for MCP endpoint authentication" echo " HTTP_HOST - Server host (default: 0.0.0.0)" echo " HTTP_PORT - Server port (default: 8080)" exit 1 fi # Show optional configuration echo "" echo "Optional configuration:" [ -n "$GITEA_REPO" ] && echo -e " ${GREEN}GITEA_REPO: $GITEA_REPO${NC}" || echo -e " ${YELLOW}GITEA_REPO: not set (will use per-request)${NC}" [ -n "$AUTH_TOKEN" ] && echo -e " ${GREEN}AUTH_TOKEN: (set)${NC}" || echo -e " ${YELLOW}AUTH_TOKEN: not set (no auth required)${NC}" echo " HTTP_HOST: ${HTTP_HOST:-0.0.0.0}" echo " HTTP_PORT: ${HTTP_PORT:-8080}" # Start the server echo "" echo -e "${GREEN}Starting server...${NC}" exec gitea-mcp-remote