Minecraft server, map generator, and map web server orchestrated with docker-compose (formerly fig).
Directly inspired by Michael Crosby's Advanced Docker Volumes blog post.
docker-compose run --rm -e UID=$(id -u) -e GID=$(id -g) build_spigot
GIDare optional. If specified, the output
spigot.jarwill be owned by the given user and group.
docker-compose up -d map game # once docker-compose up -d mapcrafter # periodically
mapcraftercontainer periodically (perhaps in a loop or with a cron job) to ensure that the map is kept up to date.
The Minecraft server is hosted on port 25565, and the map web server on 80, although these can be changed in
Custom Server Settings
The default settings are stored in
volumes/game/settings-default/. You can either change these directly, or override any of these
settings files in
I like to keep my custom settings in a private repo, which I can then clone to
Sync with Dropbox
Two services are provided to sync your world data with Dropbox. But first some initial setup is required:
$ curl -o dropbox_uploader.sh \ "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" $ bash dropbox_uploader.sh # ...follow the configuration steps... $ mv ~/.dropbox_uploader volumes/dropbox/ $ rm dropbox_uploader.sh # no longer required!
Now it's as simple as:
$ docker-compose run --rm load_world_data_from_dropbox # - or - $ docker-compose run --rm save_world_data_to_dropbox