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