diff --git a/vllm/entrypoints/api_server.py b/vllm/entrypoints/api_server.py index 73f7890ef7d3..9c27bcf2636c 100644 --- a/vllm/entrypoints/api_server.py +++ b/vllm/entrypoints/api_server.py @@ -74,12 +74,18 @@ if __name__ == "__main__": parser.add_argument("--port", type=int, default=8000) parser.add_argument("--ssl-keyfile", type=str, default=None) parser.add_argument("--ssl-certfile", type=str, default=None) + parser.add_argument( + "--root-path", + type=str, + default=None, + help="FastAPI root_path when app is behind a path based routing proxy") parser = AsyncEngineArgs.add_cli_args(parser) args = parser.parse_args() engine_args = AsyncEngineArgs.from_cli_args(args) engine = AsyncLLMEngine.from_engine_args(engine_args) + app.root_path = args.root_path uvicorn.run(app, host=args.host, port=args.port, diff --git a/vllm/entrypoints/openai/api_server.py b/vllm/entrypoints/openai/api_server.py index 30c55f4c01c5..473cd36b103d 100644 --- a/vllm/entrypoints/openai/api_server.py +++ b/vllm/entrypoints/openai/api_server.py @@ -106,6 +106,11 @@ def parse_args(): type=str, default=None, help="The file path to the SSL cert file") + parser.add_argument( + "--root-path", + type=str, + default=None, + help="FastAPI root_path when app is behind a path based routing proxy") parser = AsyncEngineArgs.add_cli_args(parser) return parser.parse_args() @@ -766,6 +771,7 @@ if __name__ == "__main__": # Register labels for metrics add_global_metrics_labels(model_name=engine_args.model) + app.root_path = args.root_path uvicorn.run(app, host=args.host, port=args.port,