Skip to Content
⚠ Under Construction
DocumentationGetting StartedInstallationDocker

Run with Docker

Run Endstone in Docker on any machine with Docker installed (Linux, macOS, or Windows).
This is recommended if your OS/arch isn’t supported natively.

Prerequisites

Run in the foreground

Pull the image

docker pull --platform linux/amd64 endstone/endstone

Start (interactive mode)

docker run --rm -it --name endstone \ -p 19132:19132/udp \ -v ./bedrock_server:/home/endstone/bedrock_server \ --platform linux/amd64 \ endstone/endstone

Command breakdown:

  • --rm: automatically removes the container when it stops
  • -it: runs in interactive mode so you can see logs and interact with the process
  • -p 19132:19132/udp: opens the port for the server. Make sure this UDP port is also open on your firewall/router.
  • -v ./bedrock_server:/home/endstone/bedrock_server: mounts a local folder into the container so worlds/configs persist between runs.
    • The left side (./bedrock_server) is a path on your machine (created if missing)
    • the right side is where Endstone expects data inside the container (you don’t need to change this).
  • --platform linux/amd64: ensures the container runs the amd64 build (emulated on non-amd64 hosts).
  • endstone/endstone: the image to run. Add a tag if you want to pin a specific version (e.g., endstone/endstone:latest).

Stop

Press CTRL + C to stop.

Run in the background (Docker Compose)

Create a docker-compose.yml next to your bedrock_server/ directory:

services: endstone: container_name: endstone image: endstone/endstone:latest platform: linux/amd64 command: endstone -y ports: - "19132:19132/udp" volumes: - ./bedrock_server:/home/endstone/bedrock_server:rw restart: unless-stopped stdin_open: true tty: true

Start (detached)

docker compose up -d

View logs

docker compose logs -f

Stop

docker compose down

Next steps

  • Proceed to First Steps to configure the server and join.
Last updated on