From 03d15d0ca2052591b9fcbbf8f2a3644960079b36 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 23 Jun 2018 11:10:23 +0200 Subject: [PATCH] initial commit --- Dockerfile | 41 +++++++++++++++++++++++++++++++++++++++++ README.md | 8 ++++++++ docker-compose.yml | 9 +++++++++ 3 files changed, 58 insertions(+) create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..dc9e525 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,41 @@ +FROM debian:stretch +MAINTAINER Linuro +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 diff --git a/README.md b/README.md new file mode 100644 index 0000000..0b16325 --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +## minetest-git +minetest-git is a Dockerfile to build a minetestserver from git. + +### Building and running minetest-git + +```bash +docker compose up -d +``` diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..969f306 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +version: "2" + +services: + minetest-git: + build: . + ports: + - 30000:30000/udp + volumes: + - /home/.minetest/worlds/:/data/minetest/