OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openproject/docs/installation-and-operations/operation/upgrading/README.md

186 lines
8.7 KiB

---
sidebar_navigation:
title: Upgrading
priority: 7
---
# Upgrading your OpenProject installation
<div class="alert alert-warning" role="alert">
**Note**: In the rest of this guide, we assume that you have taken the necessary steps to [backup](../backing-up) your OpenProject installation before upgrading.
</div>
| Topic | Content |
| ------------------------------------------------------------ | ----------------------------------------------------------- |
| [Package-based installation](#package-based-installation-debrpm) | How to upgrade a package-based installation of OpenProject. |
| [Docker-based installation](#compose-based-installation) | How to upgrade a Docker-based installation of OpenProject. |
| [Upgrade notes for 8.x to 9.x](#upgrade-notes-for-8x-to-9x) | How to upgrade from OpenProject 8.x to OpenProject 9.x. |
| [Upgrade notes for 7.x to 8.x](#upgrade-notes-for-openproject-7x-to-8x) | How to upgrade from OpenProject 7.x to OpenProject 8.x. |
## Package-based installation (DEB/RPM)
Upgrading OpenProject is as easy as installing a newer OpenProject package and
running the `openproject configure` command.
<div class="alert alert-info" role="alert">
Please note that the package-based installation uses different release channels for each MAJOR version of OpenProject. This means that if you want to switch from (e.g.) 9.x to 10.x, you will need to perform the steps described in the [installation section](../../installation/packaged) to update your package sources to point to the newer release channel. The rest of this section is only applicable if you want to upgrade a (e.g.) 10.x version to a 10.y version.
</div>
### Debian / Ubuntu
```bash
sudo apt-get update
sudo apt-get install --only-upgrade openproject
sudo openproject configure
```
### CentOS / RHEL
```bash
sudo yum update
sudo yum install openproject
sudo openproject configure
```
### SuSE
```bash
sudo zypper update openproject
sudo openproject configure
```
<div class="alert alert-info" role="alert">
Using `openproject configure`, the wizard will display new steps that weren't available yet or had not been configured in previous installations.
If you want to perform changes to your configuration or are unsure what steps are available, you can safely run `openproject reconfigure` to walk through the entire configuration process again.
Note that this still takes previous values into consideration. Values that should not change from your previous configurations can be skipped by pressing `<Return>`. This also applies for steps with passwords, which are shown as empty even though they may have a value. Skipping those steps equals to re-use the existing value.
</div>
## Compose-based installation
When using the Compose-based docker installation, you can simply do the following:
```bash
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](https://hub.docker.com/r/openproject/community).
### 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:
```bash
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):
```bash
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](../../installation/docker/#one-container-per-process-recommended).
## 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
Expanding documentation (#9091) * changed screenshots for projects chapter * changed screenshots in gantt chart chapter * moved "aggregation by project" from work packages to Gantt chart chapter * changed some links * move reference to Excel sync out of Gantt chart chapter * small changes * add initial setup section for administrators to documentation Idea and main content from @ivangriggs Co-Authored-By: ivangriggs <77022874+ivangriggs@users.noreply.github.com> * smaller improvements to docs * improve documentation of manual and automatic scheduling mode * small improvements in docs * small changes * adding section for search options in OpenProject * move section about hourly rate defintion to system admin guide * formatting changes * explaining assignee filter options * change section header to make it detectable when searching for "projects overview" * clean up table of contents, make titles consistent, remove excessive space characters, etc. * update screenshots * changes to project overview docs * add screenshot for search bar * make info about aggregation of changes in activity and notifications easier detectable * small improvements * add info about non member and anonymous role * changes/additions * small changes * add additional options to access context menu * add sum feature for work package list to docs and change screenshot * add/improve info about email notifications * link fixes (necessary due to structural changes in documentation) * working in review comments * changes for time tracking activities * change screen shots for wiki - more functions section * change screenshots and improve description for meetings * improve detectability of mention feature * move FAQ in authentication * add how to reset password * improve explanation on how to un-archive projects * mention Mattermost integration * small correction
4 years ago
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 [this blog post](https://www.openproject.org/blog/deprecating-mysql-support/). In the 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](../../installation/packaged).
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](../../../release-notes/8-0-0/).
### Upgrades in NPM may result in package inconsistencies
As has been reported from the community, [there appear to be issues with NPM leftover packages](https://community.openproject.com/projects/openproject/work_packages/28571) 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](https://pandoc.org). 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](../../misc/textile-migration).