init: 0.1.1

feat: login page && auth required
todo: 断点上传
This commit is contained in:
loveuer
2025-05-08 18:02:49 +08:00
parent b3ff70167f
commit a2635698e0
18 changed files with 677 additions and 35 deletions

View File

@ -1,24 +1,28 @@
# 第一阶段:构建前端
FROM node:20-alpine AS frontend-builder
WORKDIR /app
RUN npm install -g pnpm
COPY frontend/package.json frontend/pnpm-lock.yaml* ./
RUN pnpm install
COPY frontend .
RUN npm install -g pnpm --registry=https://registry.npmmirror.com
COPY frontend /app/frontend
WORKDIR /app/frontend
RUN pnpm install --registry=https://registry.npmmirror.com
RUN pnpm run build
# 第二阶段:构建 Golang 后端
FROM golang:alpine AS backend-builder
WORKDIR /app
COPY go.mod go.sum ./
ENV CGO_ENABLED=0
ENV GOOS=linux
ENV GOPROXY=https://goproxy.cn
COPY go.mod /app/go.mod
COPY go.sum /app/go.sum
RUN go mod download
COPY main.go internal ./
RUN CGO_ENABLED=0 GOOS=linux go build -o main .
COPY main.go /app/main.go
COPY internal /app/internal
RUN go build -ldflags '-s -w' -o ushare .
# 第三阶段:生成最终镜像
FROM nginx:alpine
COPY --from=frontend-builder /app/dist /usr/share/nginx/html
COPY --from=backend-builder /app/main /app/main
COPY --from=frontend-builder /app/frontend/dist /usr/share/nginx/html
COPY --from=backend-builder /app/ushare /usr/local/bin/ushare
# 配置 Nginx
RUN rm /etc/nginx/conf.d/default.conf
@ -28,4 +32,4 @@ COPY deployment/nginx.conf /etc/nginx/conf.d
EXPOSE 80
# 启动服务
CMD sh -c "/app/main & nginx -g 'daemon off;'"
CMD sh -c "ushare & nginx -g 'daemon off;'"