Sharkord

Updating

Updating by hand, with Docker, or automatically, and what to back up before you do.

Back up first

Copy your data directory somewhere safe before every update, so you can roll back by restoring it alongside the old binary. Sharkord also snapshots the database by itself before applying schema changes, unless you turned that off, and it covers the database only. See Database Migrations.

  1. Stop the server.
  2. Download the latest release for your platform.
  3. Replace the old binary with the new one and start it again.

Your configuration and data are untouched; they live in the data directory, not next to the binary. On the first start, the new version applies any database migrations it ships, taking a snapshot first.

Which Version Is Running?

The settings show it, and every HTTP response carries it:

curl -sI https://your-server/healthz | grep -i x-sharkord-version

Docker

docker pull sharkord/sharkord:latest
docker rm -f sharkord
# start the container again with the same command

Or with Compose:

docker compose pull
docker compose up -d

From the Admin Panel

If you have the MANAGE_UPDATES permission, the server settings show the current version, the latest release, and a button to update. The server downloads the new binary and restarts itself.

This is unavailable in Docker, where the image is the unit of update, and in development builds.

Automatic Updates

Set autoupdate in config.ini:

[server]
autoupdate=true

The server then checks GitHub for a new release at startup and once an hour, and restarts itself when it installs one. It is off by default, and unavailable in Docker.

Both automatic paths are unreliable for now

Self-updating does not work in every environment, and a failed update can leave the server down until you replace the binary by hand. Until this is more solid, prefer the manual update or a fresh Docker image.

On this page