Upgrading
Read the release notes first. Upgrade the Controller first, then the Agents on your other Nodes: an Agent works with a Controller one release ahead, not the other way round.
Running servers keep running while you upgrade: Agents keep them going without the Controller, and a new Agent takes over the existing containers.
The Controller (and its bundled Agent)
Section titled “The Controller (and its bundled Agent)”Run the install script again:
curl -fsSL https://shardkeep.gg/install.sh | shIt downloads the new release’s compose.yml, changes only SHARDKEEP_VERSION in .env, and restarts. Your other settings and the database password stay as they are.
By hand: set SHARDKEEP_VERSION in /opt/shardkeep/.env, download that release’s compose.yml, then:
cd /opt/shardkeepdocker compose pulldocker compose up -dThe Controller migrates its database when it starts. Back up the database and the controller-data volume before upgrading.
Other Nodes
Section titled “Other Nodes”Start the new Agent image with the same flags and the same volume. With the docker run command from Add a Node:
docker pull registry.gitlab.com/shardkeep/shardkeep/agent:1.20.0docker rm -f shardkeep-agentdocker run -d --name shardkeep-agent --restart unless-stopped \ -v /var/run/docker.sock:/var/run/docker.sock \ -v shardkeep-agent:/var/lib/shardkeep-agent \ -v /proc:/host/proc:ro \ registry.gitlab.com/shardkeep/shardkeep/agent:1.20.0 -controller shardkeep.example.com:8443No enrollment token is needed: the Agent’s identity is in its volume.
Shardkeep is free software under the AGPL-3.0. Minecraft is a trademark of Mojang AB; Shardkeep is not affiliated with or endorsed by Mojang or Microsoft.