43 lines
		
	
	
		
			694 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			694 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM golang:1.24-alpine AS wasm_builder
 | |
| 
 | |
| WORKDIR /app
 | |
| 
 | |
| COPY go.mod go.sum ./
 | |
| RUN go mod download
 | |
| 
 | |
| COPY main.go ./
 | |
| RUN GOOS="js" GOARCH="wasm" go build -o main.wasm
 | |
| 
 | |
| RUN cp "$(go env GOROOT)/lib/wasm/wasm_exec.js" ./
 | |
| 
 | |
| FROM node:22-alpine AS deps
 | |
| 
 | |
| WORKDIR /app
 | |
| 
 | |
| COPY package.json package-lock.json ./
 | |
| RUN npm ci
 | |
| 
 | |
| FROM node:22-alpine AS builder
 | |
| 
 | |
| WORKDIR /app
 | |
| 
 | |
| COPY --from=wasm_builder /app/main.wasm ./public/main.wasm
 | |
| COPY --from=wasm_builder /app/wasm_exec.js ./src/wasm_exec.js
 | |
| COPY --from=deps /app/node_modules ./node_modules
 | |
| 
 | |
| COPY . .
 | |
| 
 | |
| RUN npm run build
 | |
| 
 | |
| FROM node:22-alpine
 | |
| 
 | |
| WORKDIR /app
 | |
| 
 | |
| COPY --from=builder /app/dist ./dist
 | |
| 
 | |
| RUN npm i -g serve
 | |
| 
 | |
| EXPOSE 3000
 | |
| 
 | |
| CMD [ "serve", "-s", "dist" ]
 |