Skip to content

Change for Docker PostgreSQL to Version 17 and OpenProject to Version 16 #19011

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ services:
- backend

db:
image: postgres:13
image: postgres:17
<<: *restart_policy
stop_grace_period: "3s"
volumes:
Expand All @@ -110,7 +110,7 @@ services:
######### Testing stuff below ############

db-test:
image: postgres:13
image: postgres:17
stop_grace_period: "3s"
volumes:
- "pgdata-test:/var/lib/postgresql/data"
Expand Down
2 changes: 1 addition & 1 deletion docker/ci/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ ENV NODE_VERSION="22.15.0"
ENV DEBIAN_FRONTEND=noninteractive
ENV BUNDLE_WITHOUT="development:production:docker"

ENV PGVERSION=13
ENV PGVERSION=17
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We want to keep the CI running on PSQL 13, as we only soft-deprecated the version, and will raise this only when a true deprecation is released.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"The PostgreSQL Global Development Group supports a major version for 5 years after its initial release. After this, a final minor version will be released and the software will then be unsupported (end-of-life).
(For version 13) This will be on November 13, 2025." https://www.postgresql.org/support/versioning/

RUN wget --quiet -O- https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
echo "deb http://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" > /etc/apt/sources.list.d/pgdg.list

Expand Down
2 changes: 1 addition & 1 deletion docker/ci/postgresql.conf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# DB Version: 13
# DB Version: 17
# OS Type: linux
# DB Type: web
# Total Memory (RAM): 32 GB
Expand Down
2 changes: 1 addition & 1 deletion docker/dev/keycloak/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
db-keycloak:
image: postgres:13
image: postgres:17
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if we want to raise this /cc @NobodysNightmare

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this docker-compose file is for development setups only, it should not be able to fix any user-facing issues.

That said, it's probably a good idea to raise it anyways. Keycloak is officially tested against PG 17 and at some point using an outdated database would bite us.

So for me it's okay to raise it.

restart: unless-stopped
networks:
- external
Expand Down
4 changes: 2 additions & 2 deletions docker/prod/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ ENV DOCKER=1
ENV APP_USER=app
ENV APP_PATH=/app
ENV APP_DATA_PATH=/var/openproject/assets
ENV PGVERSION="13"
ENV PGVERSION_CHOICES="13 15 17"
ENV PGVERSION="17"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not correct, as changing this line will not auto-migrate for existing installations. If you install OpenProject from a new installation, it's preferable to set PGVERSION=17 explicitly

ENV PGVERSION_CHOICES="17"
ENV PGBIN="/usr/lib/postgresql/$PGVERSION/bin"
ENV PATH="$PGBIN:$PATH"
ENV BUNDLE_WITHOUT="development:test"
Expand Down
2 changes: 1 addition & 1 deletion docker/prod/postgres-db-upgrade
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ set -e
set -o pipefail

CURRENT_PGVERSION="$(cat $PGDATA/PG_VERSION)"
NEW_PGVERSION="13"
NEW_PGVERSION="17"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Already changed in #19010


if [ "$CURRENT_PGVERSION" == "$NEW_PGVERSION" ]; then
echo "Current and new postgres version are identical. Aborting."
Expand Down
2 changes: 1 addition & 1 deletion docker/pullpreview/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ services:
- "caddy_data:/data"

db:
image: postgres:13
image: postgres:17
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fine to keep

environment:
POSTGRES_USER: app
POSTGRES_PASSWORD: p4ssw0rd
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
version: '3'
services:
database:
image: postgres:10
image: postgres:17
environment:
- POSTGRES_PASSWORD=p4ssw0rd
- POSTGRES_DB=openproject
Expand All @@ -15,7 +15,7 @@ services:
web: &openproject
environment:
- DATABASE_URL=postgres://postgres:p4ssw0rd@database/openproject
image: openproject/openproject:15
image: openproject/openproject:16
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file isn't linked anywhere as far as I can tell, I removed it on dev

command: ./docker/web
worker:
<<: *openproject
Expand Down