ZhaoShanGeng commited on
Commit
1252cad
·
1 Parent(s): b11a2d8

fix: 添加环境变量同步脚本到 Docker 启动流程

Browse files

- 创建 entrypoint.sh 脚本同步环境变量到 .env 文件
- 支持 API_KEY, ADMIN_USERNAME, ADMIN_PASSWORD, JWT_SECRET, PROXY, SYSTEM_INSTRUCTION, IMAGE_BASE_URL

Files changed (1) hide show
  1. Dockerfile.binary +30 -1
Dockerfile.binary CHANGED
@@ -31,8 +31,37 @@ RUN mkdir -p /app/data /app/public/images
31
  # 复制 .env.example 为默认 .env
32
  RUN cp /app/.env.example /app/.env
33
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  # 暴露端口
35
  EXPOSE 8045
36
 
37
  # 启动应用
38
- CMD ["/app/antigravity"]
 
31
  # 复制 .env.example 为默认 .env
32
  RUN cp /app/.env.example /app/.env
33
 
34
+ # 创建启动脚本:同步环境变量到 .env 文件
35
+ RUN cat > /app/entrypoint.sh << 'EOF'
36
+ #!/bin/sh
37
+ # 同步环境变量到 .env 文件
38
+ ENV_FILE="/app/.env"
39
+
40
+ # 需要同步的环境变量列表
41
+ KEYS="API_KEY ADMIN_USERNAME ADMIN_PASSWORD JWT_SECRET PROXY SYSTEM_INSTRUCTION IMAGE_BASE_URL"
42
+
43
+ for key in $KEYS; do
44
+ value=$(eval echo \$$key)
45
+ if [ -n "$value" ]; then
46
+ # 检查是否已存在该配置
47
+ if grep -q "^${key}=" "$ENV_FILE" 2>/dev/null; then
48
+ # 替换现有配置
49
+ sed -i "s|^${key}=.*|${key}=${value}|" "$ENV_FILE"
50
+ else
51
+ # 添加新配置
52
+ echo "${key}=${value}" >> "$ENV_FILE"
53
+ fi
54
+ echo "✓ 已同步环境变量: ${key}"
55
+ fi
56
+ done
57
+
58
+ # 启动应用
59
+ exec /app/antigravity
60
+ EOF
61
+ RUN chmod +x /app/entrypoint.sh
62
+
63
  # 暴露端口
64
  EXPOSE 8045
65
 
66
  # 启动应用
67
+ CMD ["/app/entrypoint.sh"]