完成Web ASM
This commit is contained in:
+30
@@ -0,0 +1,30 @@
|
||||
FROM node:20-alpine AS frontend
|
||||
WORKDIR /app/web
|
||||
COPY web/package.json ./
|
||||
RUN npm install
|
||||
COPY web/ ./
|
||||
RUN npm run build
|
||||
|
||||
FROM golang:1.23-alpine AS wasm
|
||||
WORKDIR /app
|
||||
COPY go.mod ./
|
||||
RUN go mod download
|
||||
COPY . .
|
||||
RUN GOOS=js GOARCH=wasm go build -o web/public/ncmdump.wasm ./cmd/wasm
|
||||
RUN cp "$(go env GOROOT)/lib/wasm/wasm_exec.js" web/public/
|
||||
|
||||
FROM golang:1.23-alpine AS backend
|
||||
WORKDIR /app
|
||||
COPY go.mod ./
|
||||
RUN go mod download
|
||||
COPY . .
|
||||
COPY --from=frontend /app/cmd/server/static/dist ./cmd/server/static/dist
|
||||
COPY --from=wasm /app/web/public/ncmdump.wasm ./cmd/server/static/dist/ncmdump.wasm
|
||||
COPY --from=wasm /app/web/public/wasm_exec.js ./cmd/server/static/dist/wasm_exec.js
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-w -s" -o /app/server ./cmd/server
|
||||
|
||||
FROM alpine:3.20
|
||||
RUN apk add --no-cache ca-certificates tzdata
|
||||
COPY --from=backend /app/server /usr/local/bin/ncmdump-server
|
||||
EXPOSE 8080
|
||||
ENTRYPOINT ["ncmdump-server"]
|
||||
Reference in New Issue
Block a user