この記事は1年以上前の古い記事です。現状に即していない記述の場合があります。あらかじめご了承ください。
DockerでMinetestサーバーが動いた
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
にしました。
2022/4/1追記:
stable-5
は5.x系のリリース版ですが新しいバージョンが出ると上がってしまうので今はバージョンを固定しています。
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も動かして世界を作っている様子を外に公開したいなー。