Files

28 lines
701 B
Docker

# 构建上下文 = 仓库根(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"]