mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-07-10 14:27:00 +08:00
42 lines
1.1 KiB
Bash
42 lines
1.1 KiB
Bash
#!/bin/sh
|
||
set -e
|
||
|
||
# 默认端口
|
||
export PORT=${PORT:-3000}
|
||
echo "🚀 Starting NOFX on port $PORT..."
|
||
|
||
# 生成加密密钥(如果没有设置)
|
||
if [ -z "$RSA_PRIVATE_KEY" ]; then
|
||
echo "🔐 Generating RSA key..."
|
||
export RSA_PRIVATE_KEY=$(openssl genrsa 2048 2>/dev/null)
|
||
fi
|
||
|
||
if [ -z "$DATA_ENCRYPTION_KEY" ]; then
|
||
echo "🔐 Generating data encryption key..."
|
||
export DATA_ENCRYPTION_KEY=$(openssl rand -base64 32)
|
||
fi
|
||
|
||
# 生成 nginx 配置
|
||
echo "📝 Generating nginx config for port $PORT..."
|
||
envsubst '${PORT}' < /etc/nginx/nginx.conf.template > /etc/nginx/http.d/default.conf
|
||
|
||
# 启动后端(后台运行,端口 8081 避免与 nginx 冲突)
|
||
echo "🔧 Starting backend on port 8081..."
|
||
API_SERVER_PORT=8081 /app/nofx &
|
||
BACKEND_PID=$!
|
||
|
||
# 等待后端启动
|
||
sleep 3
|
||
|
||
# 检查后端是否启动成功
|
||
if ! kill -0 $BACKEND_PID 2>/dev/null; then
|
||
echo "❌ Backend failed to start"
|
||
exit 1
|
||
fi
|
||
|
||
echo "✅ Backend started (PID: $BACKEND_PID)"
|
||
|
||
# 启动 nginx(前台运行)
|
||
echo "🌐 Starting nginx on port $PORT..."
|
||
exec nginx -g "daemon off;"
|