mirror of
https://git.mirrors.martin98.com/https://github.com/bytedance/deer-flow
synced 2025-08-19 15:09:10 +08:00
feat: refine the server bootstrap script
This commit is contained in:
parent
e7653f1c1e
commit
53f6880e25
21
bootstrap.sh
21
bootstrap.sh
@ -1,19 +1,16 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# traptest.sh
|
|
||||||
|
|
||||||
# Start both of DeerFlow's backend and web UI server.
|
# Start both of DeerFlow's backend and web UI server.
|
||||||
# If the user presses Ctrl+C, kill them both.
|
# If the user presses Ctrl+C, kill them both.
|
||||||
|
|
||||||
if [ "$1" = "--dev" -o "$1" = "-d" -o "$1" = "dev" ]; then
|
if [ "$1" = "--dev" -o "$1" = "-d" -o "$1" = "dev" -o "$1" = "development" ]; then
|
||||||
echo "Starting DeerFlow in [DEVELOPMENT] mode..."
|
echo -e "Starting DeerFlow in [DEVELOPMENT] mode...\n"
|
||||||
echo
|
uv run server.py --reload & SERVER_PID=$$!
|
||||||
uv run server.py --reload & SERVER_PID=$$!
|
cd web && pnpm dev & WEB_PID=$$!
|
||||||
cd web && pnpm dev & WEB_PID=$$!
|
trap "kill $$SERVER_PID $$WEB_PID" SIGINT SIGTERM
|
||||||
trap "kill $$SERVER_PID $$WEB_PID" SIGINT SIGTERM
|
wait
|
||||||
wait
|
|
||||||
else
|
else
|
||||||
echo "Starting DeerFlow in [PRODUCTION] mode..."
|
echo -e "Starting DeerFlow in [PRODUCTION] mode...\n"
|
||||||
echo
|
uv run server.py
|
||||||
uv run server.py
|
cd web && pnpm start
|
||||||
cd web && pnpm start
|
|
||||||
fi
|
fi
|
||||||
|
47
server.py
47
server.py
@ -5,8 +5,8 @@
|
|||||||
Server script for running the Deer API.
|
Server script for running the Deer API.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import argparse
|
||||||
import logging
|
import logging
|
||||||
import sys
|
|
||||||
|
|
||||||
import uvicorn
|
import uvicorn
|
||||||
|
|
||||||
@ -19,14 +19,47 @@ logging.basicConfig(
|
|||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
# Parse command line arguments
|
||||||
|
parser = argparse.ArgumentParser(description="Run the Deer API server")
|
||||||
|
parser.add_argument(
|
||||||
|
"--reload",
|
||||||
|
action="store_true",
|
||||||
|
help="Enable auto-reload (default: True except on Windows)",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--host",
|
||||||
|
type=str,
|
||||||
|
default="localhost",
|
||||||
|
help="Host to bind the server to (default: localhost)",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--port",
|
||||||
|
type=int,
|
||||||
|
default=8000,
|
||||||
|
help="Port to bind the server to (default: 8000)",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--log-level",
|
||||||
|
type=str,
|
||||||
|
default="info",
|
||||||
|
choices=["debug", "info", "warning", "error", "critical"],
|
||||||
|
help="Log level (default: info)",
|
||||||
|
)
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
# Determine reload setting
|
||||||
|
reload = False
|
||||||
|
|
||||||
|
# Command line arguments override defaults
|
||||||
|
if args.reload:
|
||||||
|
reload = True
|
||||||
|
|
||||||
logger.info("Starting Deer API server")
|
logger.info("Starting Deer API server")
|
||||||
reload = True
|
|
||||||
if sys.platform.startswith("win"):
|
|
||||||
reload = False
|
|
||||||
uvicorn.run(
|
uvicorn.run(
|
||||||
"src.server:app",
|
"src.server:app",
|
||||||
host="0.0.0.0",
|
host=args.host,
|
||||||
port=8000,
|
port=args.port,
|
||||||
reload=reload,
|
reload=reload,
|
||||||
log_level="info",
|
log_level=args.log_level,
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user