Files
nofx/railway/start.sh
T
2026-01-06 18:37:18 +08:00

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;"