Files
Excalidraw/excalidraw-complete.Dockerfile
T
Yuzhong Zhang 88d3983f26 更新项目配置与构建流程
本次提交包含以下主要更改:
1. 更新 `.gitignore` 文件,移除对子目录环境变量文件的忽略。
2. 修改 `excalidraw-complete.Dockerfile`,将构建工具从 `npm` 更改为 `pnpm`,并移除不必要的补丁步骤。
3. 更新 GitHub Actions 工作流 `docker-build.yml`,移除对子模块的递归检出。
4. 修改 `excalidraw/.env.production` 文件,调整后端 API 地址为本地开发环境,并更新 Firebase 配置。
5. 移除 `husky` 相关依赖及配置,简化项目依赖。

这些更改旨在优化开发环境配置,提高构建效率,并简化项目依赖管理。
2025-07-05 23:39:52 +08:00

32 lines
944 B
Docker

# 前端构建阶段
FROM node:18 AS frontend-builder
WORKDIR /app
# 复制 excalidraw 子模块
COPY excalidraw/ ./excalidraw/
# 构建前端
RUN cd excalidraw && pnpm install && cd excalidraw-app && pnpm build:app:docker
# 后端构建阶段
FROM golang:alpine AS backend-builder
RUN apk update && apk add --no-cache git
WORKDIR /app
# 复制 Go 模块文件
COPY go.mod go.sum ./
RUN GOPROXY=direct go mod download
# 复制源代码
COPY . .
# 复制前端构建文件到正确位置,以便 Go embed 可以找到
COPY --from=frontend-builder /app/excalidraw/excalidraw-app/build ./frontend/
# 构建 Go 应用
RUN GOPROXY=direct CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main .
# 最终运行镜像
FROM alpine:latest
RUN apk --no-cache add ca-certificates
WORKDIR /root/
# 复制后端二进制文件(已包含嵌入的前端文件)
COPY --from=backend-builder /app/main .
# 暴露端口
EXPOSE 3002
CMD ["./main"]