FROM node:17 AS ANGULAR_BUILD
RUN npm install -g npm@8.3.1
RUN npm install -g @angular/cli
COPY ui /ui
WORKDIR ui
RUN npm install && ng build


FROM golang:alpine AS GO_BUILD
COPY ./ /server
WORKDIR /server
ADD go.mod .
ADD go.sum .
RUN go mod download
RUN go build -o /go/bin/server

FROM alpine:3.15
WORKDIR app
COPY --from=ANGULAR_BUILD /ui/dist/ui/* ./ui/dist/ui/
COPY --from=GO_BUILD /go/bin/server ./
COPY .env ./
CMD ./server
