#!/bin/bash
# Trusty Sign API - Production Startup Script
# Usage: ./start_trusty_sign_service.sh
set -e
echo "π Starting Trusty Sign API Service..."
# Check if .env exists
if [ ! -f .env ]; then
echo "β Error: .env file not found"
exit 1
fi
# Check if port 9000 is already in use
if lsof -Pi :9000 -sTCP:LISTEN -t >/dev/null 2>&1 ; then
echo "β οΈ Port 9000 is already in use. Stopping existing process..."
pkill -f "start_trusty_sign_api.py" || true
sleep 2
fi
# Load environment variables
source .env
# Check required environment variables
if [ -z "$ANTHROPIC_API_KEY" ]; then
echo "β Error: ANTHROPIC_API_KEY not set in .env"
exit 1
fi
# Create logs directory if it doesn't exist
mkdir -p logs
# Start API server
echo "π‘ Starting API server on port ${API_PORT:-9000}..."
nohup python start_trusty_sign_api.py > logs/trusty_sign_api.log 2>&1 &
API_PID=$!
# Wait for server to start
echo "β³ Waiting for server to start..."
sleep 3
# Health check
if curl -s http://localhost:${API_PORT:-9000}/api/trusty-sign/health > /dev/null; then
echo "β Trusty Sign API is running (PID: $API_PID)"
echo "π Logs: logs/trusty_sign_api.log"
echo "π Health: http://localhost:${API_PORT:-9000}/api/trusty-sign/health"
echo "π Docs: http://localhost:${API_PORT:-9000}/docs"
echo ""
echo "To stop: pkill -f start_trusty_sign_api.py"
else
echo "β Failed to start Trusty Sign API"
echo "Check logs: tail -f logs/trusty_sign_api.log"
exit 1
fi