# 基础镜像：官方 Node.js 24，alpine 版体积小。
FROM node:24-alpine
WORKDIR /app
# 只复制运行需要的文件；密钥通过环境变量传入，不进镜像。
COPY package.json server.js ./
COPY public ./public
# 容器里要监听所有网卡，端口映射才能把请求送进来。
ENV NODE_ENV=production HOST=0.0.0.0 PORT=3000
EXPOSE 3000
# 用普通用户运行，不用 root。
USER node
CMD ["node", "server.js"]
