# 基础镜像可通过 build-arg 替换为镜像源，例如：
#   docker compose build --build-arg NODE_IMAGE=docker.m.daocloud.io/library/node:24-alpine
ARG NODE_IMAGE=node:24-alpine
FROM ${NODE_IMAGE}

WORKDIR /app

ENV NODE_ENV=production
ENV PORT=8788
ENV DATA_DIR=/data

COPY package.json ./
COPY src ./src

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"]
