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
- 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/
|
|
|
|
| 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"]
|