1# Build stage
2FROM alpine:3.21
3
4ARG VITE_API_URL
5
6RUN apk add --no-cache \
7 "go=~1.23" \
8 nodejs \
9 npm
10
11RUN npm install -g pnpm
12
13WORKDIR /app
14
15COPY frontend ./frontend
16WORKDIR /app/frontend
17ENV VITE_API_URL=${VITE_API_URL}
18RUN echo Y | pnpm install && pnpm build
19
20WORKDIR /app
21
22COPY go.mod go.sum ./
23RUN go mod download
24
25COPY . .
26
27RUN go build -o main .
28
29EXPOSE 8080
30
31CMD ["./main"]