- docker compose 部署:app / db / redis / tls(nginx) / bridge-tools,宿主端口错开避免与本机服务冲突 - bridge-tools 内联进仓库(compose build 路径改为 ./bridge-tools),仓库自包含可部署 - 部署说明 README、crm-new 对照与 bridge-tools 方案文档、备份与隧道脚本 - .gitignore 排除 .env、config.toml、uploads/、tls 私钥/证书、backups/、logs/
22 lines
481 B
Docker
22 lines
481 B
Docker
FROM node:24-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
# 无第三方依赖(只用 Node 标准库),直接拷贝源码
|
|
COPY package.json ./
|
|
COPY src ./src
|
|
COPY config ./config
|
|
|
|
# 宿主机生成的文件可能是 600,复制后统一放开只读权限
|
|
RUN chmod -R a+rX /app
|
|
|
|
ENV NODE_ENV=production
|
|
USER node
|
|
|
|
EXPOSE 4100
|
|
|
|
HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \
|
|
CMD wget -q -O /dev/null http://127.0.0.1:4100/healthz || exit 1
|
|
|
|
CMD ["node", "src/server.js"]
|