You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dashboard/Dockerfile

37 lines
897 B
Docker

ARG DOCKER_IO=docker.io
FROM ${DOCKER_IO}/library/node:16 as frontend-builder
WORKDIR /micro
COPY frontend .
RUN npm install -g @angular/cli && \
npm install && \
npm run build
FROM ${DOCKER_IO}/library/golang:1.19 as backend-builder
WORKDIR /micro
COPY . .
COPY --from=frontend-builder /micro/dist frontend/dist
RUN go install github.com/swaggo/swag/cmd/swag@latest && \
swag init && \
go install github.com/UnnoTed/fileb0x@latest && \
fileb0x b0x.yaml && \
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o dashboard .
FROM ${DOCKER_IO}/library/busybox:latest
# Copy certs and passwd from builder
COPY --from=backend-builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=backend-builder /etc/passwd /etc/passwd
WORKDIR /usr/local/bin
COPY --from=backend-builder /micro/dashboard .
EXPOSE 80
ENTRYPOINT [ "/usr/local/bin/dashboard" ]