Updating croit

Updating from the UI

  1. Navigate to Maintenance -> Updates.
  2. If a newer version is available, it will be shown.
  3. Click Update to start the update process.

The croit container will restart automatically.

Updating manually via CLI

You can trigger an update by rerunning the setup command, using the Ceph-release tag (croit/croit:latest.reef, croit/croit:latest.squid, or croit/croit:latest.tentacle) that matches your cluster's Ceph version.

# replace <ceph version> with your cluster's release: reef, squid, or tentacle
docker run --rm -it --pull=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  croit/croit:latest.<ceph version> /croit/bin/croit setup


  #                 _   _
  #   ___  _ _ ___ (_) | |
  #  / __|| '_/ _ \| ||  _|
  #  \___||_| \___/|_| \__|

  # croit data storage solutions

  # Image: croit/croit:latest
  # Pulling image... using local image.

  # Existing croit container found.
  # Updating to croit/croit:latest...

  # Looking for existing croit container
  # Creating pre-update backup on the host filesystem (outside of the croit container)
  # Downloading croit backup from a MON disk to /config/.excluded/.croit-backup-update.zip
  # Stopping previous croit container
  # Moving croit backup to /root/.croit/backups/backup-update.zip (on the host, not in the croit container)
  # Backup completed successfully
  # Making sure previous croit container is stopped
  # Removing previous croit container
  # Creating new container based on image croit/croit:latest
  # Starting new container
  # Waiting for croit to become ready... done

  # Update complete!

  # Open https://<your-server-ip> in your browser to get started.

This will:

  1. Create a backup of the current state
  2. Migrate legacy anonymous volumes to named volumes (if needed)
  3. Recreate the croit container with the new image

Choosing where the pre-update backup is written

The pre-update backup is written to /root/.croit/backups on the host. It contains croit's configuration database, so croit keeps the directory and the backup files readable by root only.

To pick a different directory, set croit external backup directory in the croit UI under Settings. It must be an absolute path the Docker daemon can write, and it applies to every update croit starts, including automatic ones. The setting also shows the directory currently in use.

Updates started from the command line cannot read that setting, so croit setup takes a --backup-dir flag instead. The choice is remembered and reused by all following updates:

docker run --rm -it --pull=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  croit/croit:latest.<ceph version> /croit/bin/croit setup --backup-dir /srv/croit-backups

Updating via docker compose

If you set up your croit using docker compose, you can update with:

docker compose up -d --pull=always

Note: we do not officially support the usage of docker compose. Please make sure you create a backup before every update. Updates might behave unexpectedly. Please consider using the built-in docker management of croit.