Updating a Docker-based Installation of OTOBO
Warning
Don’t update without a complete backup of your system. See Backup and Restore for more information.
Important
Updates from one patch version to another patch version, e.g., from 11.1.6 to 11.1.7, are tested and under quality assurance. Skipping vesions in between may work, but may lead to unexpected results.
For running OTOBO under Docker we need the OTOBO software itself and an environment in which OTOBO can run.
The OTOBO Docker image provides the environment and a copy of the OTOBO software.
The software itself is installed in the volume otobo_opt_otobo.
A named volume is used because run time data, e.g. configuration files and installed packages, is stored in the same directory tree.
When updating to a new version of OTOBO several things have to happen.
The Docker Compose files have to be updated.
The Docker Compose configuration file
.envhas to be checked.The
scripts/update.shscript has to be executed
Note
In the sample commands below, the version 11.x.y, corresponding to the tag 11_x_y, is used as the example version. Please substitute it with the real version, e.g. 11.1.7.
Note
Before upgrading, please check if your installed packages are available for the new version.
For OTOBO 11.1, the following packages are being migrated automatically to the framework. This means that no separate package is necessary and they will be part of OTOBO by default.
CK5-FullWindowMode
CustomerAgeShowCreated
CustomerTicketSearch
Elasticsearch-Extension
ExtendedArticleEdit
HideShowForAgentTicketCompose
ImportExportCustomerCompany
ImportExportStandardObjects
ImportExportTicket
OAuth2
OAuth2-Mail
PostMasterXFromHeader
ProcessTicketTemplates
RestorePendingInformation
RotherOSS-AccountedTimeInViews
TicketUpdateOperationExternalIdentifier
Warning
The optional 11.0 package ‘MailAccount-OAuth2’ is obsolete and replaced by new functionality in OTOBO core. It will not be uninstalled during migration to OTOBO 11.1. It will be listed as not fully installed. This will allow you to migrate configuration from the old package to new core functionality. You need to uninstall the package manually after migration.
Migrating to Docker Compose v2
Please take note, that Docker Compose v1 is deprecated and will not be supported in the future.
If docker-compose --version shows a version beginning with 1, Docker Compose v1 is installed.
If docker ps shows a container called otobo_web_1, then Docker Compose v1 is running your container.
If your host is a recent Ubuntu Linux, migration is straight forward and does not entail downtime of OTOBO:
# install docker compose v2
sudo apt install --yes docker-compose-v2
# Change to the otobo docker directory
cd /opt/otobo-docker
# stop the containers
docker-compose down
# start containers again usind docker compose v2
docker compose up --detach
# remove docker compose v1
sudo apt remove --yes docker-compose
Note
Docker Compose v2 entails a new naming scheme for the containers, e.g., otobo_web_1 becomes otobo-web-1 (note the change of _ to -).
If you have tooling that relies on the docker-compose command or the name of the containers, e.g., when using acme.sh in standalone mode, you need to refit your setup.
Stop the Containers
cd /opt/otobo-docker
docker compose down
docker compose ps
# no containers should be listed here
Updating the Docker Compose Files
The OTOBO Docker Compose files may change between releases. Therefore, is must be made sure that the correct setup is used.
Note
See https://hub.docker.com/r/rotheross/otobo/tags for the available releases.
To obtain the new Docker Compose files, the OTOBO Docker repository must be updated to the wanted version: As a docker administrator, you can do this as follows:
# Change to the otobo docker directory
cd /opt/otobo-docker
# Get the latest tags
git fetch --tags
# Update OTOBO docker compose repository to version 11.x.y.
git switch rel-11_x_y
Checking the Docker Compose .env File
The file .env controls the OTOBO Docker container.
Within that file, the variables OTOBO_IMAGE_OTOBO, OTOBO_IMAGE_OTOBO_ELASTICSEARCH, and OTOBO_IMAGE_OTOBO_NGINX declare which images are used.
Please configure the these variables according to the OTOBO version you want to run rel-11_x_y.
If you want to always pull the latest image, use latest.
Update OTOBO
Note
Since OTOBO 11.1 Redis caching gets migrated to FileStorage caching automatically when running update.sh.
For common setups this results in increased query times.
If you still want to use Redis, follow the instructions at Performance Tuning.
Warning
Please note that minor or major upgrades must always be carried out one after the other. If you would like to upgrade from version 10.0.* to the latest 11.1.*, please upgrade to 10.1 first and then to 11.1.
For minor and major version upgrades to OTOBO 11.1, the following script handles all necessary app and database update tasks automatically:
./scripts/update.sh --help
./scripts/update.sh