System Updates
Selu includes a built-in update system that keeps your installation current. Updates are managed through the System Updates page and run in the background with live progress — no terminal required.
What you’ll need
Section titled “What you’ll need”- Administrator access to your Selu instance
- Docker Engine 29.2 or newer on the host machine
Before updating
Section titled “Before updating”Back up the complete managed data volume before an update. Stop Selu and its updater briefly so the database, artifact metadata, and related runtime files remain consistent:
SELU_DATA_VOLUME="$(grep '^SELU_DATA_VOLUME=' .env | cut -d= -f2-)"test -n "${SELU_DATA_VOLUME}" || { echo "SELU_DATA_VOLUME is missing from .env"; exit 1; }docker compose stop selu selu-updaterdocker run --rm \ -v "${SELU_DATA_VOLUME}:/source:ro" \ -v "${PWD}:/backup" \ alpine:3.22 \ tar czf "/backup/selu-data-$(date +%Y%m%d).tar.gz" -C /source .docker compose start selu selu-updaterKeep .env and docker-compose.yml with the archive. Do not copy only selu.db from a running installation; a partial backup can omit related files or capture an inconsistent state.
Installing an update
Section titled “Installing an update”- Sign in as an administrator and open System Updates in the sidebar.
- Click Check now to look for a newer release.
- If an update is available, click Install update.
- Confirm in the dialog that appears.
- Progress appears on the page immediately and stays visible while Selu restarts and reconnects — you don’t need to do anything else.
When the update finishes, the page reconnects automatically and shows the new version.
What you’ll see during the update
Section titled “What you’ll see during the update”| Stage | What’s happening |
|---|---|
| Checking | Looking for a newer release |
| Preparing | Getting ready to download |
| Downloading | Pulling the new Docker image |
| Restarting | Bringing up the new version |
| Verifying | Making sure everything works |
| Done | Update installed successfully |
If anything goes wrong, Selu rolls back to the previous version automatically.
Rolling back
Section titled “Rolling back”If an update causes problems, you can return to the previous version:
- Open System Updates.
- Click Return to previous version.
- Confirm in the dialog.
- Watch the progress — Selu restarts on the previous version and reconnects automatically.
Setting your public web address
Section titled “Setting your public web address”Selu needs to know its own public address so that webhooks, mobile pairing, and external integrations work correctly. You set this on the Settings page (not System Updates).
- Open Settings in the sidebar.
- Find the Public web address card and click Manage address.
- Enter your full address (for example
https://selu.example.com) — no trailing path. - Or click Use current address to fill it in from your browser automatically.
- Click Save address.
The address takes effect immediately without a restart.
Automatic updates
Section titled “Automatic updates”You can let Selu install updates on its own:
- Open System Updates and click Update settings.
- Turn on Install updates automatically.
- Choose your preferred release channel.
- Click Save settings.
Release channels
Section titled “Release channels”| Channel | Stability | Best for |
|---|---|---|
| Stable | High — thoroughly tested | Production use |
| Unstable | Good — newer features sooner | Testing new functionality |
You can switch channels any time in Update settings. The change takes effect at the next update check.
Anonymous installation statistics
Section titled “Anonymous installation statistics”Selu can send a daily anonymous signal to selu.bot to help show how widely it’s used and which marketplace agents are popular.
What’s included
Section titled “What’s included”- A random installation ID (created once, never linked to you personally)
- The installed Selu version
- Installed marketplace agent IDs and versions
Selu does not send conversations, prompts, usernames, IP addresses, or credentials.
Turning it off
Section titled “Turning it off”Open System Updates, click Update settings, and turn off Anonymous installation statistics. Selu stops sending anything immediately.
Manual updates via Docker
Section titled “Manual updates via Docker”If you prefer to update from the command line:
docker compose pulldocker compose up -dDatabase migrations run automatically. Your settings, conversations, and credentials stay in place.
Edit your docker-compose.yml to use a specific tag:
services: selu: image: ghcr.io/selu-bot/selu:v1.5.0Then apply it:
docker compose up -dTroubleshooting
Section titled “Troubleshooting”Update is stuck or shows an error
Section titled “Update is stuck or shows an error”- Check the progress card for a specific error message.
- Make sure Docker is running:
docker ps - Check your internet connection — the update needs to download a new image.
- Try starting the update again. Progress picks up where it left off.
- If the problem persists, check the updater logs:
docker logs selu-updater
Docker version is too old
Section titled “Docker version is too old”If Selu won’t start after an update and the logs mention the Docker API:
- Run
docker versionand look at the Engine version. - If it’s below 29.2, update Docker Engine before retrying.
- On Linux, follow the official Docker installation guide for your distribution.
- On macOS or Windows, update Docker Desktop to the latest version.
Automatic updates aren’t happening
Section titled “Automatic updates aren’t happening”- Confirm Install updates automatically is turned on in Update settings.
- Check that your release channel is set correctly.
- Make sure the updater container is running:
docker ps | grep updater - Review updater logs:
docker logs selu-updater
Rollback option isn’t visible
Section titled “Rollback option isn’t visible”The rollback option only appears after at least one successful update. If you’ve updated before and still don’t see it, try refreshing the System Updates page.
Version shown doesn’t match what you expected
Section titled “Version shown doesn’t match what you expected”- Hard-refresh the page (Ctrl+F5 on Windows/Linux, Cmd+Shift+R on Mac).
- Check the installed Docker images:
docker images | grep selu - Confirm the update completed successfully on the System Updates page.