Updating
Install new versions by hand, with the installer, or in one click from the panel.
The panel lets you know under Updates when there's a new version your license includes. Your data, storage and
settings live in datos/ and are kept when you update.
By hand
In the install folder (/opt/kumoyami if you used the installer):
cd /opt/kumoyami
docker compose pull && docker compose up -dpull downloads the latest version your license covers and up -d recreates the container with it. The
docker login session is kept: you only need to log in again if your license key changes.
After changing something in .env, docker compose up -d is all it takes.
With the installer
Running install.sh again updates too: besides pulling the new image and restarting, it brings docker-compose.yml
up to date (keeping the old one as docker-compose.yml.bak-DATE). It keeps .env and your data.
curl -fsSL https://kumoyami.com/install.sh | sudo bashIf you've made your own changes to docker-compose.yml, add -s -- --keep-compose to keep it.
One click from the panel
With Watchtower, the button under Updates in the panel installs the new version without you logging in to the server.
Turn on the watchtower service
In docker-compose.yml, uncomment the watchtower block:
watchtower:
image: nickfedor/watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ${HOME}/.docker/config.json:/config.json:ro
command: --http-api-update --label-enable --cleanup
environment:
WATCHTOWER_HTTP_API_TOKEN: ${WATCHTOWER_TOKEN}It mounts the config.json from docker login so it can pull from the private registry. If you run Docker with
sudo, the session lives in /root/.docker/config.json: use that path instead of ${HOME}/.docker/config.json.
Add the token to .env
A long password, which the panel will use to request the update:
openssl rand -hex 24WATCHTOWER_URL=http://watchtower:8080
WATCHTOWER_TOKEN=the-generated-passwordRestart
docker compose up -dWatchtower only updates containers that opt in with its label (KumoYami's does). If your license key changes, run
docker login again.
Docker Desktop and credential stores
If your Docker keeps credentials in a system credential store (credsStore in config.json, the norm with Docker
Desktop), Watchtower can't read them. That doesn't happen on a regular Linux server; anywhere else, update by hand.
When your update period ends
Your license includes the versions released until the end of its update period. After that, your site keeps running with every feature of your plan; you just stop getting new versions. Security fixes still reach you.
docker compose pullonly downloads versions your license covers. To stay on a specific one, pin it in.env, for exampleKUMOYAMI_VERSION=1.4.2, and rundocker compose up -d.- If you install a version released after your period, the panel locks itself and tells you which version to go back
to. Go back with
KUMOYAMI_VERSION, or renew your updates and click Renew now on the License page.
Going back to an earlier version
Add the version to .env (for example with sudo nano .env):
KUMOYAMI_VERSION=1.4.2Then recreate the container:
docker compose pull && docker compose up -dTo go back to the latest, remove the KUMOYAMI_VERSION line and run the same command.