# 构建上下文 = 仓库根(docker-compose 已配置) # 基础镜像可 build-arg 切换镜像源 ARG NODE_IMAGE=node:24-alpine FROM ${NODE_IMAGE} WORKDIR /app ENV NODE_ENV=production ENV PORT=8788 ENV DATA_DIR=/data COPY sync-server/package.json ./package.json COPY sync-server/src ./src COPY sync-server/schema.sql ./schema.sql # 命令层同源:以仓库内数据层覆盖薄适配文件 COPY app/server/db.mjs ./src/app-commands.mjs # Web 前端(构建产物随仓库分发) COPY sync-server/www ./www RUN mkdir -p /data EXPOSE 8788 HEALTHCHECK --interval=30s --timeout=5s --start-period=5s \ CMD wget -qO- http://127.0.0.1:8788/health || exit 1 CMD ["node", "src/index.mjs"]