#FROM node:lts-alpine as build_vue # make the 'app' folder the current working directory #WORKDIR /app # copy both 'package.json' and 'package-lock.json' (if available) #COPY cmd/frontend/package*.json ./ # install project dependencies #RUN npm install #COPY cmd/frontend . #RUN npm run build FROM golang:1.16-alpine as build_go COPY go.* /music-server/ COPY ./cmd/*.go /music-server/cmd/ COPY ./cmd/swagger /music-server/cmd/swagger COPY ./pkg /music-server/pkg/ WORKDIR /music-server/ RUN go mod download WORKDIR /music-server/cmd #COPY --from=build_vue /app/dist ./frontend/dist RUN go build -o /music-server/MusicServer # Stage 2, distribution container FROM golang:1.16-alpine RUN apk add --no-cache bash npm EXPOSE 8080 VOLUME /sorted ENV DB_HOST "" ENV DB_PORT "" ENV DB_USERNAME "" ENV DB_PASSWORD "" ENV DB_NAME "" ENV HOSTNAME "" COPY --from=build_go /music-server/MusicServer . COPY cmd/frontend ./frontend/ COPY ./songs/ ./songs/ COPY ./init.sh . RUN chmod 777 ./init.sh CMD ./init.sh