#!/usr/bin/env bash set -euo pipefail source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/env.sh" PID_FILE="${PID_DIR}/backend.pid" LOG_FILE="${LOG_DIR}/backend.log" if is_running "${PID_FILE}"; then echo "Backend is already running (pid $(cat "${PID_FILE}"))." echo "URL: http://${HOST_IP}:${BACKEND_PORT}" exit 0 fi rm -f "${PID_FILE}" echo "Starting backend..." echo "Log: ${LOG_FILE}" setsid bash -c ' cd "$0" || exit 1 exec env \ GATEWAY_CORS_ORIGINS="$1" \ PYTHONPATH=. \ uv run uvicorn app.gateway.app:app \ --host "$2" \ --port "$3" \ --reload ' "${BACKEND_DIR}" "${GATEWAY_CORS_ORIGINS}" "${BACKEND_HOST}" "${BACKEND_PORT}" \ >"${LOG_FILE}" 2>&1 & echo "$!" >"${PID_FILE}" echo "Backend started (pid $(cat "${PID_FILE}"))." echo "URL: http://${HOST_IP}:${BACKEND_PORT}"