-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
38 lines (25 loc) · 766 Bytes
/
Dockerfile
File metadata and controls
38 lines (25 loc) · 766 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
FROM golang:1.24-alpine AS builder-go
RUN apk add --no-cache --update gcc g++
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=1 GOOS=linux go build -o /app/bin/grognon ./main.go
FROM node:22-alpine AS deps-node
WORKDIR /app
RUN corepack enable
COPY package.json pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile
FROM deps-node AS builder-node
COPY . .
RUN pnpm build
FROM deps-node AS runner-node
COPY --from=builder-node /app/bootstrap /app/bootstrap
CMD ["/app/bootstrap/assets/ssr.js"]
FROM alpine:latest AS runner-go
WORKDIR /app
RUN cd /app
COPY ./index.html /app/index.html
COPY --from=builder-go /app/bin/grognon /app/bin/grognon
COPY --from=builder-node /app/public /app/public
ENTRYPOINT ["/app/bin/grognon"]