FROM node:lts-alpine as build-client

COPY . /build/

RUN apk add --no-cache make

RUN make build-client

FROM golang:alpine as build-server

COPY --from=build-client /build /build

RUN apk add --no-cache make

RUN make .bin/gopherhole


FROM alpine

RUN apl add --no-cache ca-certificates

RUN addgroup -g 1000 gopherhole \
    && adduser -H -D -u 1000 gopherhole gopherhole

COPY --chown=gopherhole:gopherhole --from=build-server /build/.bin/gopherhole /opt/gopherhole

USER gopherhole

VOLUME "/data"

ENTRYPOINT /opt/gopherhole
