{"id":15699943,"url":"https://github.com/ronoaldo/minetestserver","last_synced_at":"2025-05-12T13:45:31.064Z","repository":{"id":40255136,"uuid":"404737357","full_name":"ronoaldo/minetestserver","owner":"ronoaldo","description":"Docker images for hosting Minetest servers, with some extra tooling embeded.","archived":false,"fork":false,"pushed_at":"2025-01-15T04:06:29.000Z","size":103,"stargazers_count":9,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-11T02:48:56.380Z","etag":null,"topics":["luanti","luanti-server","luantiserver","minetest","minetest-server"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ronoaldo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-09T13:41:58.000Z","updated_at":"2025-03-09T14:44:45.000Z","dependencies_parsed_at":"2024-08-24T19:42:09.397Z","dependency_job_id":"b0cd404b-89d1-4109-842f-4f8b3351813d","html_url":"https://github.com/ronoaldo/minetestserver","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronoaldo%2Fminetestserver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronoaldo%2Fminetestserver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronoaldo%2Fminetestserver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronoaldo%2Fminetestserver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ronoaldo","download_url":"https://codeload.github.com/ronoaldo/minetestserver/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253749928,"owners_count":21958221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["luanti","luanti-server","luantiserver","minetest","minetest-server"],"created_at":"2024-10-03T19:42:48.290Z","updated_at":"2025-05-12T13:45:31.040Z","avatar_url":"https://github.com/ronoaldo.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Luanti Server (formely Minetest) for Docker Hosting\n\nThis is a docker image designed to host [Luanti](https://www.luanti.org)\ngame servers using Docker.\n\nThis is based on Debian Stable (for security patches from upstream), and has\nsome helper scripts/tools for making building your server easier.\n\nThe images can be used on both `linux/amd64` and `linux/arm64` architectures.\nThis means that you can use this for hosting your server as a docker container\nrunning on Raspberry Pi!\n\n## Why?\n\nThe goal of this image is to make the Minetest code, the Game code and all\ninstalled Mods code a single immutable image. That is why we bundle some tools\nto help with that. This helps to make each image reproducible snapshot of your\nserver code, while also trying to isolate as much as possible from the world\ndata volume.\n\nThe recommended way to use this image is to create a `Dockerfile` and add your\ncustom elements there. Build your image with `docker build` and execute it with\n`docker run`. This aproach provides an extra level of protection, since mod\ncode is always read-only from the running `minetestserver` proccess.\n\nRefer to the [sample](./sample/) server as well as the following instructions on\nhow to setup your custom server with Docker using this base image.\n\n## Included tools\n\n* **contentdb**: this is a small command line interface made to help installing/\n  updating mods from ContentDB, the curated mod repository for Minetest.\n* **git**: several mods are available as Git repositories only, so git is bundled\n  with the base image to help building the server images.\n\n## Building your Server\n\nYou can start building your server easily with the following `Dockerfile`:\n\n    FROM ghcr.io/ronoaldo/luantiserver:stable\n    \n    USER root\n    RUN cd /usr/share/luanti \u0026\u0026\\\n        contentdb install TenPlus1/ethereal\n    \n    USER luanti\n\nAfter that, you can build your server image with `docker build`:\n\n    docker build --tag myserver:latest .\n\nThis will bundle a mod (Ethereal NG from TenPlus1) into your image.\nYou can then test your server with `docker run`:\n\n    docker run -it \\\n        -p 30000:30000/udp -p 30000:30000/tcp \\\n        myserver:latest\n\nTo stop it, you can hit CTRL+C twice.\n\n## Persisting your world data\n\nTo persist your world data, you need to setup a volume for the .minetest folder.\nI find it easier to just mount a folder from the host to the container.\n\nFirst, create a folder and change it to be owned by the container user:\n\n    mkdir -p data\n    sudo chown 30000 ./data\n\nThen, bind-mount this to the container when launching your server:\n\n    docker run -it \\\n        -p 30000:30000/udp -p 30000:30000/tcp \\\n        -v $PWD/data:/var/lib/luanti:rw \\\n        myserver:latest\n\nYou will see that the folder `./data/.minetest` will be created. You can now\nchange any settings here and it will persist if you stop/start the container\nagain.\n\n## Change default settings\n\nThe default container command launches the server with a basic configuration,\nprovided by the Minetest distribution, and placed at\n`/etc/minetest/minetest.conf` inside the final image.\n\nOne easy way to start changing it is to copy the file from the container:\n\n    docker run -it \\\n        -v $PWD/data:/var/lib/luanti:rw \\\n        myserver:latest \\\n        cp /etc/luanti/luanti.conf /var/lib/luanti/\n\nThis will create a new file in your `./data/` folder named `minetest.conf`. \n\nIt may be needed to fix permissions in the data folder in order to make changes\nto this file or make world backups. To fix that, try this:\n\n    sudo chgrp -R $(id -g) ./data\n    sudo chmod -R g+rw ./data\n\nThe final step is to launch you server with the new settings. We provide a\nconvenient [wrapper](./luanti-wrapper.sh) to restart your server automatically\nif it crashes. So, to change the settings, you can then launch the container\nlike this:\n\n    docker run -it \\\n        -p 30000:30000/udp -p 30000:30000/tcp \\\n        -v $PWD/data:/var/lib/luanti:rw \\\n        myserver:latest \\\n        luanti-wrapper.sh --config /var/lib/luanti/luanti.conf\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fronoaldo%2Fminetestserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fronoaldo%2Fminetestserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fronoaldo%2Fminetestserver/lists"}