minetest/Dockerfile
2018-06-23 11:10:23 +02:00

42 lines
1.3 KiB
Docker

FROM debian:stretch
MAINTAINER Linuro <cpp@zom.bi>
EXPOSE 30000
# Set to false if you don't need the server terminal.
# If so, make sure to not start the server with --terminal.
ENV CURSES TRUE
# Number of CPU Cores that the Compiler should NOT use.
ENV FREE_CORES 1
ENV BUILD_PCKGS "build-essential cmake libirrlicht-dev git ca-certificates"
ENV LIVE_PCKGS "zlib1g-dev libbz2-dev libncurses-dev libsqlite3-dev \
libcurl4-gnutls-dev libfreetype6-dev libgmp-dev libjsoncpp-dev"
ENV DEBIAN_FRONTEND non-interactive
RUN apt-get update && \
apt-get install -y --no-install-recommends ${LIVE_PCKGS} ${BUILD_PCKGS}
# This will clone the minetest engine and game repositories.
RUN git clone --depth 1 https://github.com/minetest/minetest.git
WORKDIR minetest
RUN git clone --depth 1 https://github.com/minetest/minetest_game.git games/minetest_game
RUN cmake . -DRUN_IN_PLACE=FALSE -DBUILD_SERVER=TRUE \
-DBUILD_CLIENT=FALSE -DCMAKE_BUILD_TYPE=Release -DENABLE_CURSES=${CURSES}
RUN make install -j$(($(grep processor /proc/cpuinfo | wc -l)-${FREE_CORES}))
#free up some space
RUN apt-get remove -y --autoremove ${BUILD_PCKGS} && \
apt-get clean && rm -rf /root/minetest
RUN useradd minetest -m && \
su minetest -c "mkdir -p ~/.minetest/worlds"
VOLUME /home/.minetest/worlds
USER minetest
CMD /usr/local/bin/minetestserver --terminal --info