42 lines
1.3 KiB
Text
42 lines
1.3 KiB
Text
|
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
|