# Build UI FROM node:10 as ui ARG GRAPHQL_ENDPOINT ENV GRAPHQL_ENDPOINT=${GRAPHQL_ENDPOINT} RUN mkdir -p /app WORKDIR /app COPY ui/package*.json ./ RUN npm install COPY ui /app RUN npm run build # Build API FROM golang:alpine AS api WORKDIR /app COPY api /app RUN go get -d -v ./... RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o photoview . # Copy built app to nginx environment FROM alpine:latest COPY --from=ui /app/dist /ui COPY --from=api /app/database/migrations /database/migrations COPY --from=api /app/photoview /app/photoview EXPOSE 80 ENTRYPOINT ["/app/photoview"]