This repository was archived by the owner on May 24, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 161
Expand file tree
/
Copy pathstart_server.py
More file actions
67 lines (56 loc) · 1.68 KB
/
Copy pathstart_server.py
File metadata and controls
67 lines (56 loc) · 1.68 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import argparse
import os
import sys
import uvicorn
from app.logger import logger
from app.server import app
def parse_args():
"""Parse command line arguments."""
parser = argparse.ArgumentParser(description="Start the terminal and browser proxy server")
parser.add_argument(
"--port",
type=int,
default=8330,
help="Port to run the server on (default: 8330)"
)
parser.add_argument(
"--host",
type=str,
default="0.0.0.0",
help="Host interface to bind to (default: 0.0.0.0)"
)
parser.add_argument(
"--log-level",
type=str,
choices=["debug", "info", "warning", "error", "critical"],
default="info",
help="Logging level (default: info)"
)
parser.add_argument(
"--chrome-path",
type=str,
default=None,
help="Path to Chrome browser instance"
)
return parser.parse_args()
if __name__ == '__main__':
# Parse command-line arguments
args = parse_args()
# Set Chrome instance path if provided
if args.chrome_path:
os.environ['CHROME_INSTANCE_PATH'] = args.chrome_path
# Log startup information
logger.info(f"Starting server on {args.host}:{args.port}")
logger.info(f"Log level: {args.log_level}")
logger.info(f"CHROME_INSTANCE_PATH env is {os.getenv('CHROME_INSTANCE_PATH', 'empty')}")
# Start the server
try:
uvicorn.run(
app,
host=args.host,
port=args.port,
log_level=args.log_level
)
except Exception as e:
logger.critical(f"Failed to start server: {e}")
sys.exit(1)