feat: Add Docker deployment support

- Updated Dockerfile to use npm instead of pnpm
- Added .dockerignore for optimized builds
- Created docker-compose.yml for easy deployment
- Added comprehensive Docker deployment guide
- Configured health checks and data persistence
- Ready for containerized deployment
This commit is contained in:
patdelphi
2025-08-22 16:10:58 +08:00
parent 851a9fd7e6
commit 954b37fe7a
4 changed files with 488 additions and 8 deletions

View File

@@ -1,26 +1,23 @@
# 使用官方Node.js运行时作为基础镜像
FROM node:18-alpine
# 安装pnpm
RUN npm install -g pnpm@9.0.0
# 设置工作目录
WORKDIR /app
# 复制package.json和pnpm-lock.yaml
COPY package.json pnpm-lock.yaml ./
# 复制package.json和package-lock.json
COPY package.json package-lock.json ./
# 安装所有依赖(包括开发依赖用于构建前端)
RUN pnpm install --frozen-lockfile
RUN npm ci
# 复制应用代码
COPY . .
# 构建前端
RUN pnpm run build
RUN npm run build
# 清理开发依赖,只保留生产依赖
RUN pnpm install --frozen-lockfile --prod
RUN npm ci --only=production
# 创建数据目录用于SQLite数据库
RUN mkdir -p /app/data