diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a9ab062 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,47 @@ +FROM debian:12 + +#Update +RUN apt update -y && apt upgrade -y + +RUN apt install -y wget curl unzip git g++ make libc6-dev cmake libpng-dev libjpeg-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev libzstd-dev libluajit-5.1-dev gettext libsdl2-dev + +#Install minetest +RUN useradd -ms /bin/bash minetest +USER minetest +WORKDIR /home/minetest + +RUN git clone --depth 1 https://github.com/minetest/minetest.git minetest-source +RUN mkdir /home/minetest/minetest-source/build +WORKDIR /home/minetest/minetest-source/build +RUN cmake -DBUILD_SERVER=TRUE -DBUILD_CLIENT=FALSE -DENABLE_CURL=ON -DENABLE_CURSES=ON -DENABLE_POSTGRES=ON -DENABLE_SOUND=OFF .. +RUN make -j 6 +USER root +WORKDIR /home/minetest/minetest-source/build +RUN make install + +#Install game & mods + +#Planned to do script for game & mod installation + +# USER minetest +# RUN mkdir /home/minetest/.minetest +# WORKDIR /home/minetest/.minetest + +# RUN wget https://content.minetest.net/packages/Minetest/minetest_game/releases/27207/download/ +# RUN mv index.html minetest_game.zip +# # RUN unzip minetest_game.zip +# # RUN rm minetest_game.zip +# USER root +# RUN mkdir -p /usr/local/share/minetest/games +# RUN mv /home/minetest/.minetest/minetest_game.zip /usr/local/share/minetest/games +# WORKDIR /usr/local/share/minetest/games +# RUN unzip minetest_game.zip +# RUN rm minetest_game.zip + +RUN mkdir -p /usr/local/share/minetest/games + +USER minetest +EXPOSE 30000/udp +ENTRYPOINT ["/usr/local/bin/minetestserver", "--gameid", "minetest"] +# USER root +# ENTRYPOINT ["/bin/bash"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..bc1c270 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,10 @@ +services: + minetest_server: + build: . + restart: always + network_mode: host + volumes: + - ./data:/use/local/share/minetest + ports: + - "30000:30000/udp" + - "127.0.0.1:30000:30000/tcp" diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..6e0a9b7 --- /dev/null +++ b/install.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +echo 1 \ No newline at end of file diff --git a/server.env b/server.env new file mode 100644 index 0000000..8f74864 --- /dev/null +++ b/server.env @@ -0,0 +1,2 @@ +SERVER_GAME="" +SERVER_MODS="" \ No newline at end of file