A simple dockerized environment in which to run a minecraft bedrock server.

tarfeef101 c2bedd9285 Initial commit for version 1.14.60.5 using a 10.3 debian slim base image 4 years ago
config c2bedd9285 Initial commit for version 1.14.60.5 using a 10.3 debian slim base image 4 years ago
worlds c2bedd9285 Initial commit for version 1.14.60.5 using a 10.3 debian slim base image 4 years ago
.gitignore c2bedd9285 Initial commit for version 1.14.60.5 using a 10.3 debian slim base image 4 years ago
Dockerfile c2bedd9285 Initial commit for version 1.14.60.5 using a 10.3 debian slim base image 4 years ago
README.md c2bedd9285 Initial commit for version 1.14.60.5 using a 10.3 debian slim base image 4 years ago
docker-compose.yaml c2bedd9285 Initial commit for version 1.14.60.5 using a 10.3 debian slim base image 4 years ago
permissions.json c2bedd9285 Initial commit for version 1.14.60.5 using a 10.3 debian slim base image 4 years ago
server.properties c2bedd9285 Initial commit for version 1.14.60.5 using a 10.3 debian slim base image 4 years ago
whitelist.json c2bedd9285 Initial commit for version 1.14.60.5 using a 10.3 debian slim base image 4 years ago

README.md

Dockerized Bedrock Server

This project is a simple dockerized environment in which to run a minecraft bedrock server. The main goals vs existing solutions are simple persistence (bind mounts to easily modify+backup world and config data), keeping a slim image (debian slim based, minimal layers), and easy iterability (change one URL to rebuild on a new version of bedrock server).

The Docker Hub page can be found at this link.

Anatomy

.
config/
docker-compose.yaml
Dockerfile
permissions.json
server.properties
whitelist.json
worlds/

config/

This directory is what will be bind-mounted into the container to house your config files. You should put your personalized permissions.json, server.properties, and whitelist.json files in this directory.

docker-compose.yaml

This file is what defines the runtime state of your container. This is a very simple setup, so just ensure to forward the port over UDP, and select whatever port you wish to expose for your host port, and remember to keep this project in a folder mounted on a drive where you want those persisted directories to store data.

Dockerfile

The Dockerfile tries to keep the image as simple and slim as possible. A slim base image is used to reduce size, minimal packages are installed, and all RUN commands are kept into one layer to reduce size.

permissions.json, server.properties, and whitelist.json

These are the config files used to define the behaviour of your server. The .zip downloaded by the Dockerfile contains an HTML page with a guide as to how these work. Information can also be found online at resources such as here.

worlds/

This is the bind-mounted directory which will house your world data. This should be empty unless you have a pre-existing world you want to import. If you want to add add-ons and resource packs, this is the place to put them.