1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
"""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()
|