Docker deployment
A multi-stage image bundles Cube with a JRE, so a container can launch Minecraft servers out of the box.
Docker Compose
The repository ships a docker-compose.yml. From the project root:
docker compose up -d --build
This builds the image, starts Cube, and persists everything to a named volume mounted at /data. Open http://localhost:8080 and check the container logs for the first-run admin link:
docker compose logs cube
Plain Docker
docker build -t cube .
docker run -d --name cube \
-p 8080:8080 -p 25565:25565 \
-v cube-data:/data \
cube
Ports
8080— the Cube web UI.25565— the default Minecraft port. Each server listens on the port in itsserver.properties; map an additional host port for every extra server you run.
Data & persistence
All state — the SQLite database and every server's working directory — lives under /data. Keep that on a volume (as the compose file does) so it survives container recreation.
Behind an HTTPS reverse proxy, run Cube with -secure (sets the Secure cookie flag and HSTS) and, if the proxy sets X-Forwarded-For, -trust-proxy. See Configuration.