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