FROM golang:1-alpine as gobuild

RUN apk add --no-cache git

WORKDIR /go/src/srs.epita.fr/fic-server/

COPY go.mod go.sum ./
COPY settings settings/
COPY libfic ./libfic/
COPY admin ./admin/
COPY repochecker ./repochecker/

RUN apk add --no-cache build-base && \
    go get -d -v ./admin && \
    go build -v -buildvcs=false -o admin/admin ./admin && \
    go build -v -buildmode=plugin -o repochecker/epita-rules.so ./repochecker/epita


FROM alpine:3.16

RUN apk add --no-cache \
        ca-certificates \
        git \
        git-lfs \
        openssh-client-default \
        openssl

EXPOSE 8081

WORKDIR /srv

ENTRYPOINT ["/srv/admin", "-bind=:8081", "-baseurl=/admin/"]

COPY --from=gobuild /go/src/srs.epita.fr/fic-server/admin/admin /srv/admin
COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/epita-rules.so /srv/epita-rules.so
