# 使用 Node 官方镜像作为基础镜像,版本为20.4 | |
FROM node:20.4 | |
# 设置工作目录 | |
WORKDIR /usr/src/app | |
# 更新 npm 版本到 9 | |
RUN npm install npm@9 -g | |
# 使用 apt 安装 git 并清除缓存以减小镜像大小 | |
RUN apt update && apt install -y git && rm -rf /var/lib/apt/lists/* | |
# 克隆源代码到工作目录 | |
RUN git clone https://github.com/louislam/uptime-kuma . | |
# 执行安装命令 | |
RUN npm run setup | |
# 创建 data 目录并设置权限 | |
RUN mkdir -p ./data && chown -R node:node ./data | |
# 安装 PM2 并设置日志回滚插件 | |
RUN npm install pm2 -g && pm2 install pm2-logrotate | |
# 开放3001端口 | |
EXPOSE 3001 | |
# 设置容器启动命令 | |
CMD [ "pm2-runtime", "start", "server/server.js", "--name", "uptime-kuma"] |