Spaces:
Paused
Paused
| # Exit immediately if a command exits with a non-zero status. | |
| set -e | |
| # 输出基本信息 | |
| echo "==========================" | |
| echo " Simple Clash Relay" | |
| echo "==========================" | |
| echo "Starting services..." | |
| # 打印环境变量(隐藏敏感信息) | |
| echo "Environment:" | |
| echo "FLASK_PORT: ${FLASK_PORT:-8000}" | |
| echo "CLASH_PROXY_PORT: ${CLASH_PROXY_PORT:-7890}" | |
| echo "CLASH_API_PORT: ${CLASH_API_PORT:-9090}" | |
| echo "SUB_URL: [hidden]" | |
| echo "API_KEY: [hidden]" | |
| # 检查必要的环境变量 | |
| if [ -z "$SUB_URL" ]; then | |
| echo "ERROR: Required environment variable SUB_URL is not set!" | |
| exit 1 | |
| fi | |
| if [ -z "$API_KEY" ]; then | |
| echo "WARNING: API_KEY is not set. Using default value (insecure)!" | |
| export API_KEY="changeme" | |
| fi | |
| # 启动Flask应用 | |
| echo "Starting Flask application on port ${FLASK_PORT:-8000}..." | |
| # 使用gunicorn启动Flask应用(生产环境推荐) | |
| # 如果WORKER_COUNT未设置,使用CPU核心数+1的worker数量 | |
| WORKER_COUNT=${WORKER_COUNT:-$(( $(nproc) + 1 ))} | |
| echo "Using $WORKER_COUNT workers" | |
| # 确保所有参数在一行或使用清晰的续行符 | |
| exec gunicorn \ | |
| --workers $WORKER_COUNT \ | |
| --bind 0.0.0.0:${FLASK_PORT:-8000} \ | |
| --log-level info \ | |
| --access-logfile - \ | |
| --error-logfile - \ | |
| app.main:app |