feat(docker): 云端部署配置 — host 网络模式 + 环境变量模板
- Dockerfile: Rust 版本升级为 latest stable, 添加 curl (healthcheck), 前端产物 VOLUME 暴露供 OpenResty 挂载 - docker-compose.cloud.yml: 仅 app 容器, host 网络直连宿主机 PG/Redis - .env.production.example: 环境变量模板含必填/可选项注释
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# ==============================
|
||||
# Stage 1: Build Rust backend
|
||||
# ==============================
|
||||
FROM rust:1.85-bookworm AS rust-builder
|
||||
FROM rust:1-bookworm AS rust-builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
@@ -75,6 +75,7 @@ FROM debian:bookworm-slim AS runtime
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /app
|
||||
@@ -85,7 +86,7 @@ COPY --from=rust-builder /app/target/release/erp-server /app/erp-server
|
||||
# 复制配置文件
|
||||
COPY config/ /app/config/
|
||||
|
||||
# 复制前端构建产物
|
||||
# 复制前端构建产物(可通过 volume 暴露给 OpenResty)
|
||||
COPY --from=frontend-builder /app/apps/web/dist/ /app/static/
|
||||
|
||||
# 创建上传目录
|
||||
@@ -96,7 +97,7 @@ RUN useradd -r -s /bin/false appuser \
|
||||
&& chown -R appuser:appuser /app
|
||||
USER appuser
|
||||
|
||||
# 环境变量(运行时通过 docker-compose 覆盖)
|
||||
# 环境变量(运行时通过 docker-compose / .env 覆盖)
|
||||
ENV ERP__SERVER__HOST=0.0.0.0
|
||||
ENV ERP__SERVER__PORT=3000
|
||||
ENV ERP__SERVER__METRICS_PORT=9090
|
||||
@@ -104,7 +105,7 @@ ENV ERP__STORAGE__UPLOAD_DIR=/app/uploads
|
||||
|
||||
EXPOSE 3000 9090
|
||||
|
||||
VOLUME ["/app/uploads"]
|
||||
VOLUME ["/app/uploads", "/app/static"]
|
||||
|
||||
HEALTHCHECK --interval=30s --timeout=5s --start-period=60s --retries=3 \
|
||||
CMD curl -f http://localhost:3000/api/v1/health || exit 1
|
||||
|
||||
Reference in New Issue
Block a user