FROM alpine:latest as env

RUN apk --update add ca-certificates
RUN addgroup -S smartswitch && adduser -S smartswitch -G smartswitch


FROM golang:1.14 AS build

WORKDIR /src
COPY . /src/
RUN make


FROM scratch

ENTRYPOINT ["/srv/smartswitch-server"]
USER smartswitch
EXPOSE 7200

COPY --from=env /etc/passwd /etc/group /etc/
COPY --from=build --chown=smartswitch /src/build/ /srv/
COPY --from=env /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt