dashboard-nanobot/backend/main.py

40 lines
1.2 KiB
Python
Raw Permalink Normal View History

2026-03-01 16:26:03 +00:00
import os
2026-03-26 16:12:46 +00:00
from app_factory import app
2026-03-01 16:26:03 +00:00
def _main_server_options() -> tuple[str, int, bool, str, bool]:
2026-03-01 16:26:03 +00:00
host = str(os.getenv("APP_HOST", "0.0.0.0") or "0.0.0.0").strip() or "0.0.0.0"
try:
port = int(os.getenv("APP_PORT", "8000"))
except Exception:
port = 8000
port = max(1, min(port, 65535))
reload_flag = str(os.getenv("APP_RELOAD", "true")).strip().lower() in {"1", "true", "yes", "on"}
log_level = str(os.getenv("APP_LOG_LEVEL", "warning") or "warning").strip().lower() or "warning"
access_log = str(os.getenv("APP_ACCESS_LOG", "false")).strip().lower() in {"1", "true", "yes", "on"}
return host, port, reload_flag, log_level, access_log
2026-03-01 16:26:03 +00:00
if __name__ == "__main__":
import uvicorn
host, port, reload_flag, log_level, access_log = _main_server_options()
2026-03-01 16:26:03 +00:00
if reload_flag:
uvicorn.run(
2026-03-26 16:12:46 +00:00
"main:app",
host=host,
port=port,
reload=True,
log_level=log_level,
access_log=access_log,
)
2026-03-01 16:26:03 +00:00
else:
uvicorn.run(
app,
host=host,
port=port,
log_level=log_level,
access_log=access_log,
)