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 ./repochecker && \ go build -v -o repochecker/repochecker ./repochecker && \ 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/pcap-inspector.so ./repochecker/pcap-inspector && \ go build -v -buildmode=plugin -o repochecker/videos-rules.so ./repochecker/videos ENV GRAMMALECTE_VERSION 2.1.1 ADD https://grammalecte.net/zip/Grammalecte-fr-v$GRAMMALECTE_VERSION.zip /srv/grammalecte.zip RUN mkdir /srv/grammalecte && cd /srv/grammalecte && unzip /srv/grammalecte.zip && sed -i 's/if sys.version_info.major < (3, 7):/if False:/' /srv/grammalecte/grammalecte-server.py FROM alpine:3.19 ENTRYPOINT ["/usr/bin/repochecker", "--rules-plugins=/usr/lib/epita-rules.so", "--rules-plugins=/usr/lib/file-inspector.so", "--rules-plugins=/usr/lib/grammalecte-rules.so", "--rules-plugins=/usr/lib/pcap-inspector.so", "--rules-plugins=/usr/lib/videos-rules.so"] RUN apk add --no-cache git python3 ffmpeg COPY --from=gobuild /srv/grammalecte /srv/grammalecte COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/repochecker /usr/bin/repochecker COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/epita-rules.so /usr/lib/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/pcap-inspector.so /usr/lib/pcap-inspector.so COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/videos-rules.so /usr/lib/videos-rules.so