Skip to content
Switch branches/tags

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time

Docker Minecraft PaperMC Server 1.17

Docker Minecraft PaperMC server 1.17.x, 1.16.x, 1.15.2, 1.14.4 (legacy) or 1.13.2 (legacy)

Quick Start

docker pull marctv/minecraft-papermc-server
docker run \
  --rm \
  --name mcserver \
  -e MEMORYSIZE='1G' \
  -v /homes/joe/mcserver:/data:rw \
  -p 25565:25565 \
-i marctv/minecraft-papermc-server:latest
docker attach mcserver

How do I update the container?

  • Re-download the image from the docker
  • Stop the container
  • Clear the container
  • Start the container


You can use volumes to store data persistantly, for example:

docker run --rm \
	-p 25565:25565 \
	-v <full path to folder where you want to store the server files>:/data:rw \

Run as non-root user

You can get the desired UID/GID (xxx) with the ID command (id username) then add the following to your docker run command:

-e PUID=xxx
-e PGID=xxx

Docker Compose

If you prefer to use docker-compose, use the following commands:

Start the server:

docker-compose up

Stop the server:

docker-compose stop

Issue server commands after attaching to the container:

docker attach mcserver
# then you can type things like "list"
# which will show the current players online or
# to see all the commands available

How to use the Makefile with Docker Compose

Additionally, a Makefile is provided to easily start, stop, and attach to the container.

make start     # equivalent to `docker-compose up -d --build`
make stop      # equivalent to `docker-compose stop --rmi all --remove-orphans`
make attach    # equivalent to `docker attach mcserver`
make help      # prints a help message

Environment variable


Not more than 70% of your RAM for your Container! This is important! This is the RAM your Minecraft Server will use within the container WITHOUT the operating system.

TZ = Europe/Berlin

Sets the timezone for the container. A list of valid values can be found on wikipedia:


Tutorial (german)

Watch the video


On GitHub

This server is live here:

Based on the the work of Felix Klauke Thanks for your help!