mirror of
https://github.com/jeffusion/gitea-ai-assistant.git
synced 2026-03-27 10:05:50 +00:00
- 添加前端管理界面组件,包括仓库管理、数据表格和仓库表格列 - 添加后端管理API,支持仓库列表、Webhook创建和删除 - 更新Docker配置,支持前端和后端的多阶段构建 - 添加管理员认证功能,包括JWT令牌验证 - 更新配置文件,支持管理员密码和JWT密钥配置 - 更新README文档,添加后台管理功能说明和使用指南 - 优化.gitignore文件,简化Docker构建时的忽略规则 - 更新TypeScript配置,添加路径映射支持
53 lines
1.1 KiB
Docker
53 lines
1.1 KiB
Docker
# ---- Stage 1: Frontend Builder ----
|
|
FROM oven/bun:1 as frontend-builder
|
|
|
|
WORKDIR /app/frontend
|
|
|
|
# 拷贝前端的 package.json 和 lockfile
|
|
COPY frontend/package.json frontend/bun.lockb ./
|
|
|
|
# 安装前端依赖
|
|
RUN bun install --frozen-lockfile
|
|
|
|
# 拷贝所有前端代码
|
|
COPY frontend/ .
|
|
|
|
# 构建前端静态文件
|
|
RUN bun run build
|
|
|
|
|
|
# ---- Stage 2: Backend Builder ----
|
|
FROM oven/bun:1 as backend-builder
|
|
|
|
WORKDIR /app
|
|
|
|
# 拷贝后端的 package.json 和 lockfile
|
|
COPY package.json bun.lockb ./
|
|
|
|
# 只安装生产环境依赖
|
|
RUN bun install --frozen-lockfile --production
|
|
|
|
# 拷贝所有后端代码
|
|
COPY src ./src
|
|
COPY tsconfig.json .
|
|
|
|
|
|
# ---- Stage 3: Production ----
|
|
FROM oven/bun:1-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# 从后端构建器拷贝依赖和代码
|
|
COPY --from=backend-builder /app/node_modules ./node_modules
|
|
COPY --from=backend-builder /app/src ./src
|
|
COPY --from=backend-builder /app/package.json .
|
|
COPY --from=backend-builder /app/tsconfig.json .
|
|
|
|
# 从前端构建器拷贝构建好的静态文件到 public 目录
|
|
COPY --from=frontend-builder /app/frontend/dist ./public
|
|
|
|
EXPOSE 3000
|
|
|
|
# 启动服务
|
|
CMD ["bun", "run", "start"]
|