Before updating to a new version, you may want to have a look into the official release notes. These will provide further information on new feature and fixes, but also technical remarks that may be relevant during an upgrade!
- Step 1: Stop Zammad
$ systemctl stop zammad
- Step 2: Backup Zammad
See Backup and Restore for more information.
- Step 3: Update Zammad
$ apt update $ apt upgrade
$ yum update zammad
$ zypper ref $ zypper up
The package comes with maintenance scripts that will run regular tasks during updates for you.HoweverDo not run Zammad updates unattended and always have a look on the outputs these helper scripts generate. Ignoring said output may lead to incomplete updates that may corrupt data or lead to issues you find way too late.
- Step 4: Run required extra steps
Extra steps needed for updates are mentioned in our release news.
Updating Elasticsearch may be relevant in this step.
- Step 5: Log into Zammad
Yes, that’s it!
- Step 1: Ensure dependencies
Before proceeding, double-check that your system environment matches Zammad’s requirements.
🤓 Ruby version changed?
- Step 2: Download Zammad to your system
$ cd /opt $ wget https://github.com/zammad/zammad/archive/stable.tar.gz $ tar -xzf stable.tar.gz --strip-components 1 -C zammad $ chown -R zammad:zammad zammad/ $ rm -f stable.tar.gz
- Step 3: Install Gems
$ su - zammad $ cd /opt/zammad $ gem install bundler
$ bundle install --without test development mysql
$ bundle install --without test development postgres
- Step 4: Stop Zammad services
Stop the application server, websocket server and scheduler.
- Step 5: Upgrade your database
$ su - zammad $ rake db:migrate $ rake assets:precompile
- Step 6: Start Zammad services
Start the application server, websocket server and scheduler.
- Step 7: Log into Zammad
Yes, that’s it!
⚠️ Updates may require extra steps or introduce breaking changes.
Always check the upgrade notes first.
🙀 Incomplete documentation
Sorry, but this documentation part is outdated. We will rework this part later, but can’t tell when yet.
Please feel welcome to provide a pull request if you find spare time!
$ docker-compose stop $ git pull $ docker-compose pull $ docker-compose up
Start Zammad building Docker images locally with development branch
GIT_BRANCH=develop docker-compose -f docker-compose-build.yml up
Recreate locally built images
GIT_BRANCH=develop docker-compose -f docker-compose-build.yml build –no-cache
Open shell in running Zammad image
docker-compose exec zammad /bin/bash
Port compatibility error
The nginx container may have compatibility problems with other machines or services pointing to port 0.0.0.0:80. So to fix this, we’ll just have to modify the file docker-compose.override.yml and select different ports
Updating Elasticsearch does not automatically update it’s plugins! This usually isn’t an issue if Zammad is being updated right after Elasticsearch.
If you want to upgrade your elasticsearch installation, please take a look at the elasticsearch documentation as it will have the most current information for you.
If, for whatever reason, you need to rebuild your search index after upgrading, use:
$ zammad run rake searchindex:rebuild
This step may fail if Zammad is under heavy load: Elasticsearch locks the indices from deletion if you’re pumping in new data, like receiving a new ticket. (This only applies to single-node deployments, not clusters.)
If it does, try killing Zammad first:
$ systemctl stop zammad $ zammad run rake searchindex:rebuild $ systemctl start zammad