entrypoint.sh 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/bin/sh
  2. set -e
  3. export PATH="/app/.venv/bin:$PATH"
  4. : "${ROOM_CAL_DATA_HOME:=/config}"
  5. export ROOM_CAL_DATA_HOME
  6. if [ -z "$TZ" ] && [ -f "$ROOM_CAL_DATA_HOME/config.json" ]; then
  7. TZ=$(python3 -c "import json,sys; print(json.load(open('$ROOM_CAL_DATA_HOME/config.json')).get('timezone',''))" 2>/dev/null || true)
  8. fi
  9. : "${TZ:=UTC}"
  10. export TZ
  11. if [ -z "$ROOM_CAL_API_URL" ] && [ -f "$ROOM_CAL_DATA_HOME/config.json" ]; then
  12. ROOM_CAL_API_URL=$(python3 -c "import json,sys; print(json.load(open('$ROOM_CAL_DATA_HOME/config.json')).get('api_url',''))" 2>/dev/null || true)
  13. fi
  14. export ROOM_CAL_API_URL
  15. SERVICE="${1:-api}"
  16. if [ "$SERVICE" = "mcp" ]; then
  17. : "${FASTMCP_HOST:=0.0.0.0}"
  18. : "${FASTMCP_PORT:=8001}"
  19. : "${FASTMCP_LOG_LEVEL:=INFO}"
  20. : "${FASTMCP_ENABLE_RICH_LOGGING:=false}"
  21. : "${FASTMCP_ENABLE_RICH_TRACEBACKS:=false}"
  22. export FASTMCP_TRANSPORT=http
  23. export FASTMCP_HOST FASTMCP_PORT FASTMCP_LOG_LEVEL
  24. export FASTMCP_ENABLE_RICH_LOGGING FASTMCP_ENABLE_RICH_TRACEBACKS
  25. exec room-mcp
  26. else
  27. : "${API_HOST:=0.0.0.0}"
  28. : "${API_PORT:=8000}"
  29. : "${LOG_LEVEL:=info}"
  30. LOG_CONFIG=/etc/uvicorn_log.json
  31. [ -f /config/uvicorn_log.json ] && LOG_CONFIG=/config/uvicorn_log.json
  32. exec uvicorn "room_cal.api:create_app" --factory \
  33. --host "$API_HOST" \
  34. --port "$API_PORT" \
  35. --log-config "$LOG_CONFIG" \
  36. --log-level "$LOG_LEVEL"
  37. fi