| 
1 |  | -FROM node:20.14.0-alpine as node  | 
 | 1 | +FROM node:lts-alpine AS node  | 
2 | 2 | RUN --mount=type=secret,id=NODE_AUTH_TOKEN \  | 
3 | 3 |     npm config set //npm.pkg.github.com/:_authToken=$(cat /run/secrets/NODE_AUTH_TOKEN)  | 
4 | 4 | RUN npm config set @navikt:registry=https://npm.pkg.github.com  | 
5 | 5 | 
 
  | 
6 | 6 | # build client  | 
7 |  | -FROM node as client-builder  | 
 | 7 | +FROM node AS client-builder  | 
8 | 8 | WORKDIR /app  | 
9 | 9 | COPY client/package.json client/package-lock.json ./  | 
10 | 10 | RUN npm ci  | 
11 | 11 | COPY client .  | 
12 | 12 | RUN npm run build  | 
13 | 13 | 
 
  | 
14 | 14 | # build server  | 
15 |  | -FROM node as server-builder  | 
 | 15 | +FROM golang:1.25.1-alpine AS server-builder  | 
16 | 16 | WORKDIR /app  | 
17 |  | -COPY server/package.json server/package-lock.json ./  | 
18 |  | -RUN npm ci  | 
19 |  | -COPY server .  | 
20 |  | -RUN npm run build  | 
21 |  | - | 
22 |  | -# install server dependencies  | 
23 |  | -FROM node as server-dependencies  | 
24 |  | -WORKDIR /app  | 
25 |  | -COPY server/package.json server/package-lock.json ./  | 
26 |  | -RUN npm ci --omit dev  | 
 | 17 | +COPY server ./  | 
 | 18 | +RUN go build .  | 
27 | 19 | 
 
  | 
28 | 20 | # runtime  | 
29 |  | -FROM gcr.io/distroless/nodejs20-debian12 as runtime  | 
 | 21 | +FROM gcr.io/distroless/static-debian12 AS runtime  | 
30 | 22 | WORKDIR /app  | 
31 | 23 | 
 
  | 
32 |  | -ARG NODE_ENV=production  | 
33 |  | -ENV NODE_ENV=${NODE_ENV}  | 
34 | 24 | ENV TZ="Europe/Oslo"  | 
35 |  | -EXPOSE 3000  | 
36 |  | - | 
37 |  | -COPY --from=client-builder /app/dist ./client/dist  | 
38 |  | -COPY --from=server-builder /app/dist ./server/dist  | 
39 |  | - | 
40 |  | -WORKDIR /app/server  | 
 | 25 | +EXPOSE 5000  | 
41 | 26 | 
 
  | 
42 |  | -COPY --from=server-dependencies /app/node_modules ./node_modules  | 
 | 27 | +COPY --from=client-builder /app/dist ./dist  | 
 | 28 | +COPY --from=server-builder /app/hm-brilleavtale-frontend .  | 
43 | 29 | 
 
  | 
44 |  | -CMD [ "--enable-source-maps", "-r", "dotenv/config", "dist/server.mjs" ]  | 
 | 30 | +CMD [ "./hm-brilleavtale-frontend" ]  | 
0 commit comments