DockerでMinetestサーバーが動いた

nogajun
nogajun

_MinetestのDockerイメージがDocker hubにあると思い込んでいたけど公式のDockerイメージはGitLabで公開していることにやっと気がついた。README.mdの一番下に書いてあるのは気がつかないよ…

confとdataディレクトリを作って、confディレクトリにminetestサーバー設定のminetest.confを置きます。dataディレクトリには、minetestのゲームやmodを置く .minetest ディレクトリ(ドットminetestです。minetestの前にドットがあります。)を置きます。こんな感じです。

 ./
 ├ conf
 │ └ minetest.conf
 ├ data
 │ └ .minetest
 │   ├ games
 │   ├ mods
 │   ├ textures
 │   └ worlds
 └ docker-compose.yml

Dockerの中でminetestサーバーは、minetestユーザー(gid:30000/uid:30000)で動いています。なのでdata/.minetest/ディレクトリ以下は書き込めるように所有者を変更しておきます。

 $ sudo chown -R 30000:30000 data/.minetest/

docker-compose.ymlは、必要最低限のものを用意しました。イメージについては最初、latestにしていましたがlatestでは現在のmodと互換性の問題が起こったので、stable-5 5.5.0 にしました。

version: "3"

services:
    minetest:
        container_name: minetest
        image: registry.gitlab.com/minetest/minetest/server:5.5.0
        volumes:
            - "./conf/:/etc/minetest/"
            - "./data/:/var/lib/minetest/"
        ports:
            - "30000:30000/udp"

用意ができたら docker-compose up を実行すればDockerでminetestサーバーが起動します。

やっとDockerでminetestサーバーが使えるようになったので、本格的に使うためのPostgreSQL連携を調べて外部に公開したいなー。そして、ゆくゆくはMinetest Mapserverも動かして世界を作っている様子を外に公開したいなー。