43 lines
1.4 KiB
Plaintext
43 lines
1.4 KiB
Plaintext
FROM golang:1-alpine as gobuild
|
|
|
|
RUN apk add --no-cache git
|
|
|
|
WORKDIR /go/src/srs.epita.fr/fic-server/
|
|
|
|
RUN apk add --no-cache binutils-gold build-base
|
|
|
|
COPY go.mod go.sum ./
|
|
COPY settings settings/
|
|
COPY libfic ./libfic/
|
|
COPY admin ./admin/
|
|
COPY repochecker ./repochecker/
|
|
|
|
RUN go get -d -v ./admin && \
|
|
go build -v -o admin/admin ./admin && \
|
|
go build -v -buildmode=plugin -o repochecker/epita-rules.so ./repochecker/epita && \
|
|
go build -v -buildmode=plugin -o repochecker/file-inspector.so ./repochecker/file-inspector && \
|
|
go build -v -buildmode=plugin -o repochecker/grammalecte-rules.so ./repochecker/grammalecte && \
|
|
go build -v -buildmode=plugin -o repochecker/videos-rules.so ./repochecker/videos
|
|
|
|
|
|
FROM alpine:3.20
|
|
|
|
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
|
|
COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/file-inspector.so /usr/lib/file-inspector.so
|
|
COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/grammalecte-rules.so /usr/lib/grammalecte-rules.so
|
|
COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/videos-rules.so /usr/lib/videos-rules.so
|