"""Entry point for the meshbay-hub systemd service.""" import argparse import logging import sys from pathlib import Path import uvicorn from meshbay_hub.config import load_config def main() -> None: parser = argparse.ArgumentParser(description="MeshBay Hub server") parser.add_argument("--config", type=Path, default=None) parser.add_argument("--log-level", default="INFO", choices=["DEBUG", "INFO", "WARNING", "ERROR"]) args = parser.parse_args() logging.basicConfig( level=getattr(logging, args.log_level), format="%(asctime)s %(levelname)-8s %(name)s: %(message)s", ) cfg = load_config(args.config) uvicorn.run( "meshbay_hub.app:create_app", factory=True, host=cfg.server.host, port=cfg.server.port, workers=cfg.server.workers, log_level=args.log_level.lower(), ) if __name__ == "__main__": main()