#!/bin/sh # Only emit whitelisted locale tags to avoid config.js injection from env values. RUNTIME_DEFAULT_LOCALE="" case "${DEFAULT_LOCALE:-}" in zh-CN|en-US|ru-RU|ko-KR) RUNTIME_DEFAULT_LOCALE="${DEFAULT_LOCALE}" ;; esac # 生成运行时配置文件,注入环境变量到前端 cat > /usr/share/nginx/html/config.js << EOF window.__RUNTIME_CONFIG__ = { MAX_FILE_SIZE_MB: ${MAX_FILE_SIZE_MB:-50}, DEFAULT_LOCALE: "${RUNTIME_DEFAULT_LOCALE}" }; EOF # 处理 nginx 配置 export MAX_FILE_SIZE=${MAX_FILE_SIZE_MB}M export APP_HOST=${APP_HOST:-app} export APP_PORT=${APP_PORT:-8080} export APP_SCHEME=${APP_SCHEME:-http} envsubst '${MAX_FILE_SIZE} ${APP_HOST} ${APP_PORT} ${APP_SCHEME}' < /etc/nginx/templates/default.conf.template > /etc/nginx/conf.d/default.conf # 启动 nginx exec nginx -g 'daemon off;'