Skip to content

System Updates

Selu includes a built-in update system that can automatically keep your installation current with the latest releases. Updates are managed through a dedicated sidecar container and can be monitored through the web interface.

Selu offers different release channels to match your stability preferences:

Recommended for production use. Thoroughly tested releases with full documentation. Updates are less frequent but highly reliable.

  1. Log in to your Selu instance as an administrator
  2. Navigate to System Updates in the sidebar
  3. You’ll see your current version, available updates, and update settings

The System Updates page showing version information, update controls, and public origin settings.

Updates now run seamlessly in the background with live progress tracking:

  1. Click Check now to search for new releases
  2. If updates are available, click Update now
  3. Confirm the update in the modal dialog
  4. Watch the live progress card showing:
    • Current update stage
    • Docker image download progress
    • Real-time status updates
  5. The page automatically reloads when the update completes

The update system continues running even while Selu restarts, ensuring reliable completion.

During an update, you’ll see progress through these stages:

  • Checking — Verifying available releases
  • Downloading — Pulling new Docker images
  • Applying — Updating containers and configuration
  • Restarting — Bringing up the new version
  • Complete — Update finished successfully

Enable automatic updates for hands-free maintenance:

  1. Go to System Updates
  2. Toggle Auto-update to enabled
  3. Choose your preferred update channel
  4. Selu will automatically apply updates when they become available

Change your release channel to control which updates you receive:

  1. Select your preferred channel from the dropdown
  2. Click Save to apply the change
  3. The next update check will look for releases on the new channel

Changing channels takes effect immediately and will be saved to your Docker Compose environment file.

Set Selu’s public URL for external integrations:

  1. Enter your public URL in the Public Web Address field (e.g., https://selu.example.com)
  2. Or click Use current to auto-detect from your browser
  3. Click Save to store the setting

This URL is used for:

  • Webhook registration with external services
  • Generated download links for file attachments
  • Callback URLs for OAuth integrations

The public address is stored in the database and takes effect immediately without restart.

Selu can send a daily anonymous heartbeat to selu.bot to help show installation popularity and marketplace activity.

  • Installation ID: A random, persistent ID created once per Selu installation
  • Selu version: The currently installed version
  • Installed marketplace agent IDs: To count active usage per marketplace agent
  • Installed marketplace agent versions: To track adoption per agent version

Nothing else is included in this telemetry. Selu does not send chats, prompts, usernames, IP addresses, or credentials.

  • Show how many active Selu installations exist
  • Show what share of installations is on the latest release
  • Show active users per marketplace agent

In the System Updates page, turn off Anonymous installation statistics. When disabled, Selu stops sending telemetry heartbeats entirely.

If an update causes issues, you can rollback to the previous version:

  1. Go to System Updates
  2. Click Rollback when available
  3. Confirm the rollback in the modal dialog
  4. Monitor the progress as Selu reverts to the previous release

Selu uses a separate updater container to manage system updates:

  • Isolation — Updates run independently of the main application
  • Reliability — Updates continue even if the main container restarts
  • Safety — Automatic rollback if health checks fail after update
  • Progress tracking — Real-time feedback during update operations

After each update, Selu performs health checks to ensure the new version is working correctly:

  • Database connectivity
  • Core service availability
  • Configuration validation
  • Docker daemon access

If health checks fail, the system automatically rolls back to the previous version.

If an update appears stuck or fails:

  1. Check the progress modal for specific error messages
  2. Ensure Docker is running: docker ps
  3. Verify internet connectivity for downloading images
  4. Try the update again — progress resumes from where it left off
  5. If persistent issues occur, check Docker logs: docker logs selu-updater

If automatic updates aren’t occurring:

  1. Verify Auto-update is enabled in System Updates
  2. Check that your release channel is correctly set
  3. Ensure the updater container is running: docker ps | grep updater
  4. Review updater logs: docker logs selu-updater

If the rollback option isn’t showing:

  1. Confirm you’ve performed at least one successful update
  2. Check that the rollback window hasn’t expired
  3. Verify the previous version information is available in System Updates
  4. Try refreshing the System Updates page

If external integrations aren’t working after setting a public address:

  1. Ensure the URL is accessible from the internet (for webhooks)
  2. Verify HTTPS is properly configured if using SSL
  3. Check that the URL format is correct (include https:// or http://)
  4. Test the address by accessing it from an external network

If the version shown doesn’t match what you expected:

  1. Hard refresh the browser page (Ctrl+F5 / Cmd+Shift+R)
  2. Clear browser cache if the interface seems outdated
  3. Check Docker images: docker images | grep selu
  4. Verify the update completed successfully in System Updates

Selu verifies all updates using:

  • Release signatures — Cryptographic verification of release metadata
  • Image digests — SHA-256 verification of Docker images
  • Channel validation — Ensures updates come from official release channels

Updates require outbound internet access to:

  • https://selu.bot/api/releases/selu — Release metadata
  • Docker registries (typically ghcr.io) — Container images

Ensure these domains are accessible from your Selu instance.

While Selu includes automatic rollback, consider regular backups:

  • Database — Export your SQLite database regularly
  • Configuration — Back up your .env file and docker-compose.yml
  • Agent data — Back up the installed_agents directory
  • Persistent data — Back up the data directory containing user information

If you prefer to manage updates manually via Docker Compose:

  1. Disable auto-update in the web interface
  2. Update your docker-compose.yml with the desired image tag
  3. Run docker-compose pull && docker-compose up -d
  4. Monitor the application health after the update