FROM openjdk:8-jdk-alpine

RUN apk add libpcap npm

COPY ./ /app/

WORKDIR /app/frontend/

RUN npm install && npm run build

RUN mkdir -p ../src/main/resources/static/ \
	&& cp -rf ./dist/* ../src/main/resources/static/

WORKDIR /app/

RUN ./gradlew --no-daemon build

RUN cp build/libs/packmate-*.jar app.jar

ARG PACKMATE_DB_USER
ARG PACKMATE_DB_PASSWORD:
ARG PACKMATE_DB_NAME
ARG PACKMATE_LOCAL_IP
ARG PACKMATE_WEB_LOGIN
ARG PACKMATE_WEB_PASSWORD
ARG PACKMATE_INTERFACE

ENV DB_USER ${PACKMATE_DB_USER:-packmate}
ENV DB_PASSWORD ${PACKMATE_DB_PASSWORD:-packmate_secret_password}
ENV DB_NAME ${PACKMATE_DB_DB:-packmate}
ENV LOCAL_IP ${PACKMATE_LOCAL_IP}
ENV IFACE ${PACKMATE_INTERFACE}
ENV WEB_LOGIN ${PACKMATE_WEB_LOGIN:-BinaryBears}
ENV WEB_PASSWORD ${PACKMATE_WEB_PASSWORD:-123456}

EXPOSE 65000:65000

CMD ./start.sh
