#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