mirror of
https://github.com/laoxong/nofx.git
synced 2026-06-04 09:58:22 +08:00
fix: auto-generate encryption keys in Railway startup script
This commit is contained in:
+5
-1
@@ -66,7 +66,7 @@ RUN npm run build
|
|||||||
FROM alpine:${ALPINE_VERSION}
|
FROM alpine:${ALPINE_VERSION}
|
||||||
|
|
||||||
RUN apk update && apk add --no-cache \
|
RUN apk update && apk add --no-cache \
|
||||||
ca-certificates tzdata sqlite nginx supervisor
|
ca-certificates tzdata sqlite nginx supervisor openssl
|
||||||
|
|
||||||
# Copy TA-Lib
|
# Copy TA-Lib
|
||||||
COPY --from=ta-lib-builder /usr/local /usr/local
|
COPY --from=ta-lib-builder /usr/local /usr/local
|
||||||
@@ -84,6 +84,10 @@ COPY railway/nginx.conf /etc/nginx/http.d/default.conf
|
|||||||
# Copy supervisor config
|
# Copy supervisor config
|
||||||
COPY railway/supervisord.conf /etc/supervisord.conf
|
COPY railway/supervisord.conf /etc/supervisord.conf
|
||||||
|
|
||||||
|
# Copy backend startup wrapper (auto-generates encryption keys)
|
||||||
|
COPY railway/start-backend.sh /app/start-backend.sh
|
||||||
|
RUN chmod +x /app/start-backend.sh
|
||||||
|
|
||||||
# Create data directory
|
# Create data directory
|
||||||
RUN mkdir -p /app/data
|
RUN mkdir -p /app/data
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Backend startup wrapper - generates encryption keys if not set
|
||||||
|
|
||||||
|
# Generate RSA private key if not set
|
||||||
|
if [ -z "$RSA_PRIVATE_KEY" ]; then
|
||||||
|
echo "🔐 Generating RSA key pair..."
|
||||||
|
export RSA_PRIVATE_KEY=$(openssl genrsa 2048 2>/dev/null)
|
||||||
|
echo "✅ RSA key generated"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Generate data encryption key if not set
|
||||||
|
if [ -z "$DATA_ENCRYPTION_KEY" ]; then
|
||||||
|
echo "🔐 Generating data encryption key..."
|
||||||
|
export DATA_ENCRYPTION_KEY=$(openssl rand -base64 32)
|
||||||
|
echo "✅ Data encryption key generated"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Start the backend
|
||||||
|
exec /app/nofx
|
||||||
@@ -5,7 +5,7 @@ logfile_maxbytes=0
|
|||||||
pidfile=/tmp/supervisord.pid
|
pidfile=/tmp/supervisord.pid
|
||||||
|
|
||||||
[program:backend]
|
[program:backend]
|
||||||
command=/app/nofx
|
command=/app/start-backend.sh
|
||||||
directory=/app
|
directory=/app
|
||||||
autostart=true
|
autostart=true
|
||||||
autorestart=true
|
autorestart=true
|
||||||
|
|||||||
Reference in New Issue
Block a user