diff --git a/src/main.py b/src/main.py index a4970f80..bf2f819f 100644 --- a/src/main.py +++ b/src/main.py @@ -1,6 +1,5 @@ # Standard Packages import sys -import pathlib from typing import Optional # External Packages @@ -121,4 +120,7 @@ if __name__ == '__main__': model, search_config = initialize_search(args.config, args.regenerate, args.verbose) # Start Application Server - uvicorn.run(app) + if args.socket: + uvicorn.run(app, proxy_headers=True, uds=args.socket) + else: + uvicorn.run(app, host=args.host, port=args.port) diff --git a/src/utils/cli.py b/src/utils/cli.py index 4e00d4a4..b8c725f4 100644 --- a/src/utils/cli.py +++ b/src/utils/cli.py @@ -19,6 +19,10 @@ def cli(args=None): parser.add_argument('--config-file', '-c', type=pathlib.Path, help="YAML file with user configuration") parser.add_argument('--regenerate', action='store_true', default=False, help="Regenerate model embeddings from source files. Default: false") parser.add_argument('--verbose', '-v', action='count', default=0, help="Show verbose conversion logs. Default: 0") + parser.add_argument('--host', type=str, default='127.0.0.1', help="Host address of the server. Default: 127.0.0.1") + parser.add_argument('--port', '-p', type=int, default=8000, help="Port of the server. Default: 8000") + parser.add_argument('--socket', type=pathlib.Path, help="Path to UNIX socket for server. Use to run server behind reverse proxy. Default: /tmp/uvicorn.sock") + args = parser.parse_args(args) if not (args.config_file or args.org_files):