github.com/freiheit-com/kuberpult@v1.24.2-0.20240328135542-315d5630abe6/services/frontend-service/Dockerfile (about) 1 ARG PARENT_CONTAINER 2 FROM europe-west3-docker.pkg.dev/fdc-public-docker-registry/kuberpult/infrastructure/docker/builder:${PARENT_CONTAINER} as builder 3 RUN apk --update add --no-cache curl make nodejs npm ca-certificates tzdata 4 RUN npm install -g pnpm@8.5.1 5 6 # frontend-service: 7 ADD services/frontend-service/cmd/server/ /kp/services/frontend-service/cmd/server/ 8 ADD services/frontend-service/pkg /kp/services/frontend-service/pkg 9 ADD services/frontend-service/package.json /kp/services/frontend-service/ 10 ADD services/frontend-service/src /kp/services/frontend-service/src 11 ADD services/frontend-service/buf* /kp/services/frontend-service/ 12 ADD services/frontend-service/pnpm-lock.yaml /kp/services/frontend-service/ 13 ADD services/frontend-service/pnpm-workspace.yaml /kp/services/frontend-service/ 14 ADD services/frontend-service/tsconfig.json /kp/services/frontend-service/ 15 ADD services/frontend-service/.prettierrc /kp/services/frontend-service/ 16 ADD services/frontend-service/.nvmrc /kp/services/frontend-service/ 17 ADD services/frontend-service/.npmrc /kp/services/frontend-service/ 18 ADD services/frontend-service/.eslintrc /kp/services/frontend-service/ 19 ADD services/frontend-service/public /kp/services/frontend-service/public 20 ADD pkg/api/v1 /kp/services/frontend-service/api 21 22 # global pkg: 23 ADD pkg /kp/pkg 24 COPY go.sum go.mod /kp/ 25 26 # Build go: 27 WORKDIR /kp/ 28 ADD Makefile.variables . 29 RUN make -C pkg proto 30 RUN GOARCH=amd64 GOOS=linux CGO_ENABLED=0 go build -o /kp/main /kp/services/frontend-service/cmd/server/main.go 31 32 # Build js: 33 WORKDIR /kp/services/frontend-service/ 34 RUN pnpm i 35 RUN mkdir -p src/api 36 RUN buf generate --path api --timeout 5m 37 RUN pnpm build 38 39 FROM scratch 40 LABEL org.opencontainers.image.source https://github.com/freiheit-com/kuberpult 41 ENV TZ=Europe/Berlin 42 COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ 43 COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo 44 COPY --from=builder /kp/main /main 45 COPY --from=builder /kp/services/frontend-service/build /build 46 CMD ["/main"]