| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- # 使用指定基础镜像
- FROM docker.1ms.run/node:20.19.4
- # 设置软件源为清华大学镜像源
- RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main non-free contrib" > /etc/apt/sources.list && \
- echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main non-free contrib" >> /etc/apt/sources.list && \
- echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main non-free contrib" >> /etc/apt/sources.list && \
- echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main non-free contrib" >> /etc/apt/sources.list
- RUN apt update --fix-missing && \
- apt install -y curl wget
- # 安装 pnpm
- RUN npm install -g pnpm
- # 配置国内npm镜像
- RUN pnpm config set registry https://registry.npmmirror.com/
- RUN pnpm config set @jsr:registry https://npm.jsr.io
- # 添加PostgreSQL 17的官方仓库
- RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
- echo "deb http://apt.postgresql.org/pub/repos/apt/ bookworm-pgdg main" > /etc/apt/sources.list.d/pgdg.list
- # 更新包列表并安装PostgreSQL 17客户端工具及其他常用工具(已添加jq)
- RUN apt update && \
- apt install -y \
- # PostgreSQL 17客户端工具
- postgresql-client-17
- # 确认版本
- RUN pg_dump --version
- # 设置工作目录
- WORKDIR /workspace
- # 设置备份目录环境变量
- ENV BACKUP_DIR=/app/backups-prd/
- # 复制根目录配置文件
- COPY package.json pnpm-workspace.yaml pnpm-lock.yaml .npmrc ./
- # 复制各项目 package.json
- COPY web/package.json ./web/
- COPY packages/server/package.json ./packages/server/
- # 安装依赖
- RUN pnpm install --frozen-lockfile
- # 复制项目文件
- COPY . .
- # 构建 web 应用
- RUN cd web && pnpm run build
- # 暴露端口(根据实际需要调整)
- EXPOSE 8080
- # 启动命令
- CMD ["sh", "-c", "cd web && pnpm run start"]
|