feat(deploy): 支持通过 .env 文件注入后端环境变量
- docker-compose.yml 添加 env_file 加载 backend/.env - deploy.sh 自动检测并从 .env.example 复制模板 - .dockerignore 排除 .env 防止密钥泄露到镜像
This commit is contained in:
@@ -2,4 +2,5 @@ node_modules
|
|||||||
frontend/node_modules
|
frontend/node_modules
|
||||||
frontend/dist
|
frontend/dist
|
||||||
backend/bin
|
backend/bin
|
||||||
|
backend/.env
|
||||||
.git
|
.git
|
||||||
|
|||||||
@@ -31,7 +31,22 @@ else
|
|||||||
cd "$INSTALL_DIR"
|
cd "$INSTALL_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 3. 构建并启动
|
# 3. 环境变量检查
|
||||||
|
ENV_FILE="$INSTALL_DIR/backend/.env"
|
||||||
|
ENV_EXAMPLE="$INSTALL_DIR/backend/.env.example"
|
||||||
|
if [ ! -f "$ENV_FILE" ]; then
|
||||||
|
if [ -f "$ENV_EXAMPLE" ]; then
|
||||||
|
echo "==> 未找到 backend/.env,已从 .env.example 复制模板"
|
||||||
|
cp "$ENV_EXAMPLE" "$ENV_FILE"
|
||||||
|
echo " 请编辑 $ENV_FILE 填入实际配置后重新运行本脚本"
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "错误: backend/.env 和 .env.example 均不存在,请手动创建"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 4. 构建并启动
|
||||||
echo "==> 构建并启动 Docker 容器..."
|
echo "==> 构建并启动 Docker 容器..."
|
||||||
if docker compose version &>/dev/null; then
|
if docker compose version &>/dev/null; then
|
||||||
COMPOSE_CMD="docker compose"
|
COMPOSE_CMD="docker compose"
|
||||||
|
|||||||
+2
-1
@@ -3,9 +3,10 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: ./backend
|
context: ./backend
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
|
env_file:
|
||||||
|
- ./backend/.env
|
||||||
environment:
|
environment:
|
||||||
- GEN2D_MODE=release
|
- GEN2D_MODE=release
|
||||||
- GEN2D_PORT=8080
|
|
||||||
volumes:
|
volumes:
|
||||||
- backend-data:/data
|
- backend-data:/data
|
||||||
expose:
|
expose:
|
||||||
|
|||||||
Reference in New Issue
Block a user