Files
stalwart/UPGRADING/v0_14.md
mdecimus 4d4d7e4519 v0.15.0
2025-12-16 15:21:39 +01:00

2.3 KiB

Upgrading from v0.13.x to v0.14.x

Binary installation

  • Stop Stalwart in every single node of your cluster. If you are using the systemd service, you can do this with the following command:

    $ sudo systemctl stop stalwart
    
  • Backup your data following your database system's instructions. For example, if you are using RocksDB or SQLite, you can simply copy the data directory to a backup location. If you are using PostgreSQL or MySQL, you can use the pg_dump or mysqldump commands to create a backup of your database. If your database does not support backups, you can use the built-in migration utility to export your data to a file. For example:

    $ sudo /opt/stalwart/bin/stalwart --config /opt/stalwart/etc/config.toml --export /opt/stalwart/export
    $ sudo chown -R stalwart:stalwart /opt/stalwart/export
    
  • Download the latest binary for your platform from the releases page and replace the binary in /opt/stalwart/bin.

  • Start the service. In a cluster, you can speed up the migration process by starting all nodes at once.

    $ sudo systemctl start stalwart
    
  • Upgrade the webadmin by clicking on Manage > Maintenance > Update Webadmin.

Containerized

  • Stop the Stalwart container in every single node of your cluster. If you are using Docker, you can do this with the following command:

    $ docker stop stalwart
    
  • Backup your data following your database system's instructions. For example, if you are using RocksDB or SQLite, you can simply copy the data directory to a backup location. If you are using PostgreSQL or MySQL, you can use the pg_dump or mysqldump commands to create a backup of your database. If your database does not support backups, you can use the --export command to export your data to a file. For example:

    $ docker run --rm -v <STALWART_DIR>:/opt/stalwart -it stalwart /usr/local/bin/stalwart --config /opt/stalwart/etc/config.toml --export /opt/stalwart/export
    
  • Pull the latest image and restart the container:

    $ docker pull stalwartlabs/stalwart:latest
    $ docker start stalwart
    
  • Upgrade the webadmin by clicking on Manage > Maintenance > Update Webadmin.