Updating¶
Userli follows semantic versioning. Read the release notes before every update:
CHANGELOG.md– all changes per releaseUPGRADE.md– manual steps required for a release, for example removed environment variables or changed Dovecot configuration
Don't skip the notes of intermediate versions when updating over several releases.
Update a tarball installation¶
- Back up the database (see Backup and restore).
- Stop the background services and let the queue
drain if
UPGRADE.mdsays so. - Download and verify the new release, see Install from release.
- Unpack it into a new directory and copy your
.env.local(andtranslations/, if you customized texts) into it. -
Run the migrations and warm up the cache:
bin/console doctrine:migrations:migrate --no-interaction bin/console cache:clear -
Switch the webserver to the new directory (for example with a symlink
/var/www/userli → /var/www/userli-x.y.z) and reload PHP-FPM. - Start the background services again.
- Update the Dovecot adapter to the same version.
Using one directory per version makes rollbacks of the code easy. Rolling back database migrations is usually not possible – restore the backup instead.
Update with Ansible¶
See Deploy with Ansible.
Update a container installation¶
See Run with containers.
Check the migration status¶
bin/console doctrine:migrations:status