{"id":14969583,"url":"https://github.com/mtoensing/docker-minecraft-papermc-server","last_synced_at":"2025-05-16T05:05:20.098Z","repository":{"id":37375387,"uuid":"162262243","full_name":"mtoensing/Docker-Minecraft-PaperMC-Server","owner":"mtoensing","description":"Starts a Minecraft PaperMC server","archived":false,"fork":false,"pushed_at":"2025-04-02T12:24:36.000Z","size":221,"stargazers_count":267,"open_issues_count":0,"forks_count":91,"subscribers_count":7,"default_branch":"latest","last_synced_at":"2025-04-08T15:07:53.043Z","etag":null,"topics":["docker-container","dockerfile","minecraft","minecraft-papermc-server","minecraft-server","papermc","synology-docker"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/marctv/minecraft-papermc-server","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mtoensing.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","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},"funding":{"github":"mtoensing","custom":["https://marc.tv/out/donate"]}},"created_at":"2018-12-18T09:20:05.000Z","updated_at":"2025-04-07T11:11:09.000Z","dependencies_parsed_at":"2024-02-16T23:15:11.139Z","dependency_job_id":"2d05d28b-8fba-424d-be40-3e329a6198c7","html_url":"https://github.com/mtoensing/Docker-Minecraft-PaperMC-Server","commit_stats":{"total_commits":327,"total_committers":21,"mean_commits":"15.571428571428571","dds":0.6636085626911314,"last_synced_commit":"b6d0f047d13a30be7c3e663281ebe30dacd1af61"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtoensing%2FDocker-Minecraft-PaperMC-Server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtoensing%2FDocker-Minecraft-PaperMC-Server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtoensing%2FDocker-Minecraft-PaperMC-Server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtoensing%2FDocker-Minecraft-PaperMC-Server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mtoensing","download_url":"https://codeload.github.com/mtoensing/Docker-Minecraft-PaperMC-Server/tar.gz/refs/heads/latest","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254471061,"owners_count":22076585,"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":["docker-container","dockerfile","minecraft","minecraft-papermc-server","minecraft-server","papermc","synology-docker"],"created_at":"2024-09-24T13:42:04.800Z","updated_at":"2025-05-16T05:05:18.511Z","avatar_url":"https://github.com/mtoensing.png","language":"Shell","funding_links":["https://github.com/sponsors/mtoensing","https://marc.tv/out/donate"],"categories":[],"sub_categories":[],"readme":"# Docker Minecraft JAVA PaperMC Server\n\n![](https://img.shields.io/github/license/mtoensing/Docker-Minecraft-papermc-Server.svg)\n![](https://img.shields.io/github/stars/mtoensing/Docker-Minecraft-papermc-Server)\n![](https://img.shields.io/docker/v/marctv/minecraft-papermc-server)\n![](https://img.shields.io/docker/stars/marctv/minecraft-papermc-server.svg)\n![](https://img.shields.io/docker/pulls/marctv/minecraft-papermc-server.svg)\n![](https://img.shields.io/docker/image-size/marctv/minecraft-papermc-server.svg)\n\nDocker Minecraft PaperMC server for AMD64 and ARM64 platforms.\nWorks on Synology, Raspberry Pi or any other systems that support docker.\n\nAlways up-to-date with the latest PaperMC version.\n\n## Quick Start\n\n```sh\ndocker run --name mcserver --memory=4g -v /home/joe/mcserver:/data:rw -p 25565:25565 -i marctv/minecraft-papermc-server:latest\n```\n\nThe server will generate all data including the world and config files in `/home/joe/mcserver`. Change that to an\nexisting folder.\n\n## Docker Run Command\n\n```shell\ndocker run -d \\\n  --name mcserver \\\n  --restart=unless-stopped \\\n  --memory=1g \\\n  -p 25565:25565/tcp \\\n  -p 25565:25565/udp \\\n  -v /home/docker/mcserver:/data:rw \\\n  marctv/minecraft-papermc-server:latest\n```\n\n## Docker Compose (Portainer Stacks)\n\n```yaml\nservices:\n  minecraft:\n    image: marctv/minecraft-papermc-server:latest\n    restart: always\n    container_name: \"mcserver\"\n    environment:\n      PAPERMC_FLAGS: \"\"\n    deploy:\n      resources:\n        limits:\n          memory: 1G\n    volumes:\n      - minecraftserver:/data\n    ports:\n      - \"25565:25565\"\n    # The following allow `docker attach minecraft` to work\n    stdin_open: true\n    tty: true\n\nvolumes:\n  minecraftserver:\n```\n\n## How do I update the container?\n\n### On Synology DSM\n\n- Re-download the image from the docker repository.\n- Stop the container.\n- Clear the container.\n- Start the container.\n\n### On Terminal\n\n```sh\ndocker pull marctv/minecraft-papermc-server:latest\ndocker stop mcserver\n```\n\nOr just use https://containrrr.dev/watchtower/\n\n## Run as another user\n\nYou can get the desired UID/GID (xxx) with the ID command (`id username`) then add the following to your docker run\ncommand:\n\n```sh\n-e PUID=9001\n-e PGID=9001\n```\n\n\u003e [!NOTE]\n\u003e the permissions are set automatically.\n\n## Run rootless\n\nYou can also run the container `rootless`. Just use the native user argument with your desired UID/GID:\n\n```sh\n--user=9001:9001\n```\n\n\u003e [!IMPORTANT]  \n\u003e replace the IDs with your own.\n\n\u003e [!CAUTION]\n\u003e make sure the folder you mount has the correct permissions.\n\n### Skip permission change step\n\nIf you have a big custom minecraft install (e.g. multiple plugins which generate files), changing ownership can take up\na\ntremendous amount of time. You can skip this, by making sure that your files have the necessary permissions for the\nUID/GID\nthat you passed using the environment variables above and then add the following variable:\n\n```sh\n-e SKIP_PERM_CHECK=true\n```\n\n## Docker Compose\n\nIf you prefer to use `docker compose`, use the following commands:\n\nStart the server:\n\n```shell\ndocker compose up\n```\n\nStop the server:\n\n```shell\ndocker compose stop\n```\n\nIssue server commands after attaching to the container:\n\n```shell\ndocker attach mcserver\n# then you can type things like \"list\"\nlist\n# which will show the current players online or\nhelp\n# to see all the commands available\n```\n\n## How to use the Makefile with Docker Compose\n\nAdditionally, a `Makefile` is provided to easily start, stop, and attach to the container.\n\n```shell\nmake start     # equivalent to `docker compose up -d --build`\nmake stop      # equivalent to `docker compose stop --rmi all --remove-orphans`\nmake attach    # equivalent to `docker attach mcserver`\nmake help      # prints a help message\n```\n\n## Environment variables\n\n### Memory\n\n`MEMORYSIZE = 1G`\n\nNot more than 70% of your RAM for your container. This is important. Because this is the RAM, your Minecraft Server will\nuse within the container WITHOUT the operating system.\n\nBut don't use this unless you really need this. Use runtime memory limits.\n\n### Timezone\n\n`TZ = Europe/Berlin`\n\nSets the timezone for the container. A list of valid values can be found on\nWikipedia: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n\n### Additional flags\n\n`PAPERMC_FLAGS = --nojline`\n\nOptional: Sets the command-line flags for PaperMC. Remove `--nojline` if you want to enable color and tab-completion for\nthe server console.\n\n`JAVAFLAGS`\n\nOptional: Overrides the optimized java parameter configuration with your own. You can set your own Xms and Xmx values\nthis way.\n\n## Tutorial Synology\n\nTutorial (german) https://marc.tv/anleitung-stabiler-minecraft-server-synology-nas/\n\n[![Watch the video](https://img.youtube.com/vi/LtAQiTwLgak/maxresdefault.jpg)](https://youtu.be/LtAQiTwLgak)\n\nhttps://youtu.be/LtAQiTwLgak\n\n## How-to install on a Raspberry Pi 4\n\n### Video Tutorial Raspberry Pi 4\n\n[![Watch the video](https://img.youtube.com/vi/BuHOyhM2fCg/maxresdefault.jpg)](https://youtu.be/BuHOyhM2fCg)\n\nhttps://youtu.be/BuHOyhM2fCg\n\n### How-to install on a Raspberry Pi 4\n\nYou can install this docker container by using my dedicated\ninstaller: https://github.com/mtoensing/RaspberryPiMinecraftDocker Or just follow these steps:\n\n1. Download **Raspberry Pi Imager** https://www.raspberrypi.com/software/ and start it.\n2. Select Raspberry Pi OS **lite** (64-bit) under \"Raspberry Pi OS (other)\".\n3. Click on gear icon in the Raspberry Pi Imager and enable ssh and set username and password.\n4. Write image to a fast sd card.\n5. Connect the Raspberry Pi 4 to an ethernet cable.\n6. Use putty for Windows or terminal on macOS and connect via ssh:\n\n```sh\nssh pi@raspberrypi\n```\n\n7. Upgrade all packages\n\n```sh\n sudo apt update \u0026\u0026 sudo apt upgrade\n sudo reboot now\n```\n\nThe Raspberry Pi will restart now.\n\n8. Install Docker\n\n```sh\ncurl -fsSL https://get.docker.com -o get-docker.sh\nchmod +x get-docker.sh\n./get-docker.sh\nsudo apt-get install -y uidmap\ndockerd-rootless-setuptool.sh install\nsudo usermod -aG docker $USER\nsudo systemctl enable docker\nnewgrp docker\n```\n\n9. New folder for the server\n\n```sh\ncd\nmkdir mcserver\n```\n\n10. Run this image as Minecraft Server\n\n```sh\ndocker run -d \\\n--restart unless-stopped \\\n--name mcserver \\\n--memory=1g \\\n-e PAPERMC_FLAGS='' \\\n-v /home/pi/mcserver:/data:rw \\\n-p 25565:25565 \\\n-it docker.io/marctv/minecraft-papermc-server:latest\n```\n\nThe server will generate all data including the world and config files in `/home/pi/mcserver`.\n\n11. Enter the command line of Minecraft server\n\n```sh\ndocker attach mcserver\n```\n\nHere, you can use Minecraft server commands like `whitelist add [userrname]`.\n\n## Credits\n\nOn GitHub https://github.com/mtoensing/Docker-Minecraft-PaperMC-Server\n\nThis server is live here: https://mc.marc.tv\n\nBased on the work of [Felix Klauke](https://github.com/FelixKlauke/paperspigot-docker) Thanks for your help!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtoensing%2Fdocker-minecraft-papermc-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmtoensing%2Fdocker-minecraft-papermc-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtoensing%2Fdocker-minecraft-papermc-server/lists"}