# KaboomJS游戏Docker镜像
FROM hb.eazytec-cloud.com/eazytec/eazydevelop-node:ubuntu22.04-node20-latest

# 设置工作目录
WORKDIR /app

# 设置环境变量
ENV NODE_ENV=production
ENV PORT=${APP_PORT_1:-8000}

# 复制package文件
COPY package*.json ./

# 复制应用文件
COPY . .

# 创建非root用户
RUN addgroup -g 1001 -S nodejs && \
    adduser -S kaboom -u 1001

# 更改文件所有权
RUN chown -R kaboom:nodejs /app
USER kaboom

# 暴露端口
EXPOSE ${APP_PORT_1:-8000}

# 健康检查
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
    CMD curl -f http://localhost:${APP_PORT_1:-8000}/ || exit 1

# 复制并设置启动脚本
COPY docker-entrypoint.sh /usr/local/bin/
USER root
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
USER kaboom

# 启动应用
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["npm", "start"]
