Open link in a new tab

Content

Expand project menu

Docker Image Upgrade Procedure (Minor/Major)

Hi! I need clarification on the correct way to upgrade OpenProject instances. The environment is as follows:

  • Docker-like deployment

  • Podman instead of Docker runtime

  • Podman Quadlets for managing container deployments

Often when updating an image, even in minor versions, the containers fail to start due to migrations being required. I am hoping to enable unattended upgrades. Podman Quadlets make attended upgrades inherently more difficult as well by not persisting the containers, but that is separate of OpenProject... ☺

The documentation states that between every update the administrator should issue an openproject configure command to ensure everything is upgraded correctly.
https://www.openproject.org/docs/installation-and-operations/operation/upgrading/#running-openproject-configure

There is a MIGRATE environment variable relatively undocumented within the Docker container which does what I have done previously on every failing image update: performing database migrations. Setting this MIGRATE environment variable seems to be working well for upgrading cleanly.
https://github.com/opf/openproject/blob/fa1e5e0c9dd54bc9194d5e6b327831aeb96ff743/docker/prod/web#L15-L18

My questions are:

  1. Is MIGRATE environment variable sufficient or should I ensure an openproject configure is issued between every image update?

  2. Should openproject configure replace this db migration call, assuming it does all the desired housekeeping, and should it further run by default at container startup?