Upgrading your OpenProject installation

Package-based installation (DEB/RPM)

Upgrading OpenProject is as easy as installing a newer OpenProject package and running the openproject configure command.

Debian / Ubuntu

sudo apt-get update
sudo apt-get install --only-upgrade openproject
sudo openproject configure

CentOS / RHEL

sudo yum update
sudo yum install openproject
sudo openproject configure

SuSE

sudo zypper update openproject
sudo openproject configure

Docker-based installation

When using the Compose-based docker installation, you can simply do the following:

docker-compose pull
docker-compose up -d

Please note that you can override the TAG that is used to pull the OpenProject image from the Docker Hub.

All-in-one container

When using the all-in-one docker container, you need to perform the following steps:

  1. First, pull the latest version of the image:
docker pull openproject/community:VERSION
# e.g. docker pull openproject/community:10

Then stop and remove your existing container (we assume that you are running with the recommended production setup here):

docker stop openproject
docker rm openproject

Finally, re-launch the container in the same way you launched it previously. This time, it will use the new image:

docker run -d ... openproject/community:VERSION

I have already started OpenProject without mounted volumes. How do I save my data during an update?

You can extract your data from the existing container and mount it in a new one with the correct configuration.

  1. Stop the container to avoid changes to the data. Stopping the container does not delete any data as long as you don’t remove the container.
  2. Copy the data to a new directory on the host, e.g. /var/lib/openproject, or a mounted network drive, say /volume1.
  3. Launch the new container mounting the folders in that directory as described above.
  4. Delete the old container once you confirmed the new one is working correctly.

You can copy the data from the container using docker cp like this:

# Find out the container name with `docker ps`, we use `openproject-community1` here.
# The target folder should be what ever persistent volume you have on the system, e.g. `/volume1`.
docker cp openproject-community1:/var/openproject/assets /volume1/openproject/assets
docker cp openproject-community1:/var/openproject/pgdata /volume1/openproject/pgdata

Make sure the folders have the correct owner so the new container can read and write them.

sudo chown -R 102 /volume1/openproject/*

After that it’s simply a matter of launching the new container mounted with the copied pgdata and assets folders as described in the installation section.

Upgrade notes for 8.x to 9.x

These following points are some known issues regarding the update to 9.0.

MySQL is being deprecated

OpenProject 9.0. is deprecating MySQL support. You can expect full MySQL support for the course of 9.0 releases, but we are likely going to be dropping MySQL completely in one of the following releases.

For more information regarding motivation behind this and migration steps, please see https://www.openproject.org/deprecating-mysql-support/ In this post, you will find documentation for a mostly-automated migration script to PostgreSQL to help you get up and running with PostgreSQL.

Package repository moved into opf/openproject

The OpenProject community installation is now using the same repository as the OpenProject development core.

Please update your package source according to our installation section.

You will need to replace opf/openproject-ce with opf/openproject together with a change from stable/8 to stable/9 in order to perform the update.

If you have currently installed the stable 8.x release of OpenProject by using the stable/8 package source, you will need to adjust that package source.

APT-based systems (Debian, Ubuntu)

  • Update the reference to opf/openproject-ce in /etc/apt/sources.list.d/openproject.list to opf/openproject.
  • Update the reference to stable/8 in /etc/apt/sources.list.d/openproject.list to stable/9.
  • Perform the Upgrade steps as mentioned above in Upgrading your OpenProject installation

YUM-based systems (CentOS, RHEL)

  • Update the reference to opf/openproject-ce in /etc/yum.repos.d/openproject.repo to opf/openproject.
  • Update the reference to stable/8 in /etc/yum.repos.d/openproject.repo to stable/9.
  • Perform the Upgrade steps as mentioned above in Upgrading your OpenProject installation

SUSE Linux Enterprise Server 12

  • Update the reference to opf/openproject-ce in /etc/zypp/repos.d/openproject.repo to opf/openproject.
  • Update the reference to stable/8 in /etc/zypp/repos.d/openproject.repo to stable/9.
  • Perform the Upgrade steps as mentioned above in Upgrading your OpenProject installation

Upgrade notes for OpenProject 7.x to 8.x

These following points are some known issues around the update to 8.0. It does not contain the entire list of changes. To see all changes, please browse the release notes.

Upgrades in NPM may result in package inconsistencies

As has been reported from the community, there appear to be issues with NPM leftover packages upgrading to OpenProject 8.0.0. This is due to the packages applying a delta between your installed version and the to-be-installed 8.0. package. In some cases such as SLES12 and Centos 7, the frontend/node_modules folder is not fully correctly replaced. This appears to hint at an issue with yum, the package manager behind both.

To ensure the package’s node_modules folder matches your local version, we recommend you simply remove /opt/openproject/frontend/node_modules entirely before installing the package

rm -rf /opt/openproject/frontend/node_modules
# Continue with the installation steps described below

Migration from Textile to Markdown

OpenProject 8.0. has removed Textile, all previous content is migrated to GFM Markdown using pandoc. This will happen automatically during the migration run. A recent pandoc version will be downloaded by OpenProject.

For more information, please visit this separate guide: https://github.com/opf/openproject/tree/dev/docs/user/textile-to-markdown-migration