FROM alpine:latest AS builder LABEL maintainer="tomasz@chorwat.pl" LABEL project="https://github.com/tchorwat/stockfish" # Install dependencies RUN apk add --no-cache git g++ make RUN git clone --depth 1 --branch sf_15 https://github.com/official-stockfish/Stockfish.git WORKDIR /Stockfish/src RUN echo "arch:$( uname -m )" \ && case $( uname -m ) in \ x86_64) \ make build ARCH=x86-64-modern \ ;; \ aarch64) \ make build ARCH=armv8 \ ;; \ armv7l) \ make build ARCH=armv7 \ ;; \ ppc64le) \ make build ARCH=ppc-64 \ ;; \ *) \ exit 1 \ ;; \ esac RUN echo "Source used to build binaries from this directory could be find at: https://github.com/official-stockfish/Stockfish/tree/sf_15" > /Stockfish/source.txt FROM alpine:latest LABEL maintainer="tomasz@chorwat.pl" LABEL project="https://github.com/tchorwat/stockfish" COPY ./entrypoint.sh / RUN chmod +x /entrypoint.sh \ && apk add --no-cache libstdc++ ucspi-tcp6 \ && addgroup -g 1000 stockfish \ && adduser -u 1000 -G stockfish -HD stockfish WORKDIR /stockfish/ USER stockfish:stockfish COPY --chown=stockfish:stockfish --from=builder /Stockfish/src/stockfish /stockfish/ COPY --chown=stockfish:stockfish --from=builder /Stockfish/Copying.txt /stockfish/ COPY --chown=stockfish:stockfish --from=builder /Stockfish/source.txt /stockfish/ COPY --chown=stockfish:stockfish --from=builder /Stockfish/src/*.nnue /stockfish/ EXPOSE 23249 ENTRYPOINT ["/entrypoint.sh"]