Skip to content

What is Shardkeep?

Shardkeep runs a Minecraft network: a lobby, survival, minigames, and the Velocity proxy in front of them, spread over one or more of your own machines. You manage all of it from one web UI and a public REST API.

It is free software (AGPL-3.0) that you host yourself.

  • The Controller is the brain: the web UI, the API, the database of what should exist (users, servers, schedules), and a certificate authority for its Nodes. It runs as a container next to PostgreSQL.
  • A Node is a machine that runs Minecraft servers. Each Node runs an Agent, a small container with access to Docker, that creates and watches your servers there.
  • A server is one Minecraft server (Paper, Purpur, Folia or Vanilla) or the network’s Velocity proxy. Its world lives in a Docker volume that outlives any container.
  • The network is the address players join, such as play.example.com. It reaches the proxy, which sends players on to your servers.

The quick install sets up the Controller and makes the same machine your first Node, so one machine is enough to start.

  • Agents connect out. Each Agent dials the Controller over mutual TLS. A Node needs no inbound ports except for Minecraft players, works behind NAT, and never exposes Docker.
  • The Controller is not a single point of failure. If it stops, your servers keep running, and schedules and scheduled backups keep firing. Nodes catch up when it returns. See When the Controller is down.
  • Network operations built in. One address for players, a managed proxy that follows your servers as they come, go and move, migration between Nodes, and backups with restore and copying between servers.
  • Verified software. Server software and plugins come from a signed catalog, and every download is checked against its published hash.
  • Team-scoped access with built-in and custom roles, API tokens and an audit log.

Shardkeep is not a hosting panel for selling servers to customers, and it does not run arbitrary Docker images: servers run from Shardkeep’s own templates, so it knows how to start, stop, back up and update them.

  • Linux machines with Docker Engine and the Docker Compose plugin (for the Controller). Nodes need Docker only.
  • Memory: the Controller and PostgreSQL are small. Each Minecraft server reserves the memory you give it, typically 1 to 4 GiB.
  • Ports: see Ports. In short: 8080 for the web UI, 8443 and 8444 for Agents, and Minecraft’s ports for players.