Skip to content

Commit 028da09

Browse files
bump component versions
1 parent 8bd0f08 commit 028da09

6 files changed

Lines changed: 20 additions & 16 deletions

File tree

chart/templates/keycloak-deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ spec:
5252
{{- end }}
5353
containers:
5454
- name: keycloak
55-
image: "ghcr.io/cryptomator/keycloak:{{ .Values.keycloak.image.tag | default "26.6.2" }}"
55+
image: "ghcr.io/cryptomator/keycloak:{{ .Values.keycloak.image.tag | default "26.7.2" }}"
5656
imagePullPolicy: {{ .Values.keycloak.imagePullPolicy }}
5757
command:
5858
- /opt/keycloak/bin/kc.sh

chart/templates/postgres-statefulset.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,11 @@ spec:
3434
args:
3535
- |
3636
set -eux
37-
mkdir -p /var/lib/postgresql/data /var/run/postgresql
38-
chown -R 70:70 /var/lib/postgresql/data /var/run/postgresql
39-
chmod 700 /var/lib/postgresql/data
37+
# Since postgres:18 the volume is /var/lib/postgresql and PGDATA lives in a per-major subdirectory
38+
# (/var/lib/postgresql/18/docker) so that pg_upgrade can keep old and new clusters side by side.
39+
# The entrypoint creates PGDATA itself; it only needs the volume root to be writable by uid 70.
40+
chown 70:70 /var/lib/postgresql /var/run/postgresql
41+
chmod 750 /var/lib/postgresql
4042
chmod 775 /var/run/postgresql
4143
securityContext:
4244
runAsNonRoot: false
@@ -46,13 +48,12 @@ spec:
4648
privileged: false
4749
volumeMounts:
4850
- name: data
49-
mountPath: /var/lib/postgresql/data
50-
subPath: pgdata
51+
mountPath: /var/lib/postgresql
5152
- name: run
5253
mountPath: /var/run/postgresql
5354
containers:
5455
- name: postgres
55-
image: "postgres:{{ .Values.postgres.image.tag | default "17-alpine" }}"
56+
image: "postgres:{{ .Values.postgres.image.tag | default "18-alpine" }}"
5657
imagePullPolicy: {{ .Values.postgres.imagePullPolicy }}
5758
ports:
5859
- name: postgres
@@ -102,8 +103,7 @@ spec:
102103
subPath: initdb.sql
103104
readOnly: true
104105
- name: data
105-
mountPath: /var/lib/postgresql/data
106-
subPath: pgdata
106+
mountPath: /var/lib/postgresql
107107
- name: run
108108
mountPath: /var/run/postgresql
109109
- name: tmp

chart/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ postgres:
124124
enabled: true
125125
imagePullPolicy: IfNotPresent
126126
image:
127-
tag: ""
127+
tag: "" # defaults to 18-alpine; the volume layout requires postgres >= 18 (PGDATA in /var/lib/postgresql/<major>/docker)
128128
service:
129129
type: ClusterIP
130130
port: 5432

deploy/compose/dev/compose.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
services:
88

99
postgres:
10-
image: postgres:17-alpine
10+
image: postgres:18-alpine
1111
environment:
1212
POSTGRES_DB: hub
1313
POSTGRES_USER: hub
@@ -16,15 +16,16 @@ services:
1616
- source: create-keycloak-db
1717
target: /docker-entrypoint-initdb.d/create-keycloak-db.sql
1818
volumes:
19-
- postgres-data:/var/lib/postgresql/data
19+
# postgres >= 18 keeps PGDATA in /var/lib/postgresql/<major>/docker, so the volume is mounted one level up
20+
- postgres-data:/var/lib/postgresql
2021
healthcheck:
2122
test: ["CMD-SHELL", "pg_isready -U hub -d hub"]
2223
interval: 5s
2324
timeout: 3s
2425
retries: 12
2526

2627
keycloak:
27-
image: ghcr.io/cryptomator/keycloak:26.6.4
28+
image: ghcr.io/cryptomator/keycloak:26.7.2
2829
command: start --optimized --import-realm
2930
environment:
3031
KC_DB_URL: jdbc:postgresql://postgres:5432/keycloak

deploy/compose/local/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ On first login Hub asks for a license. Any Hub license works for testing; see <h
2323

2424
## What the stack contains
2525

26-
- `postgres:17.11-alpine` with two databases (`hub`, `keycloak`), persisted in the named volume `postgres-data`.
26+
- `postgres` with two databases (`hub`, `keycloak`), persisted in the named volume `postgres-data`.
2727
- `ghcr.io/cryptomator/keycloak` — the stock Keycloak image plus the Cryptomator login theme and `curl` for the health check. A minimal `cryptomator` realm (one admin user, the OIDC clients `cryptomatorhub`, `cryptomator` and `cryptomatorhub-system`) is embedded in the compose file and imported on first boot. It matches what the Helm chart renders in `chart/templates/_realm.tpl`.
2828
- `ghcr.io/cryptomator/hub` — the Hub application, configured through environment variables; the same settings the Helm chart uses.
2929

@@ -47,3 +47,5 @@ For real deployments use the Helm chart, see [`../../helm/prod/`](../../helm/pro
4747
## Upgrading
4848

4949
Image versions are pinned in `compose.yaml`. To upgrade, change the tags and run `docker compose up -d`. Hub applies database migrations automatically at start; Keycloak upgrades follow the [Keycloak upgrade guide](https://www.keycloak.org/docs/latest/upgrading/). Always back up the `postgres-data` volume first.
50+
51+
PostgreSQL minor updates (e.g. `18.6``18.7`) are drop-in. A major update (`18``19`) is not: the data directory must be migrated with `pg_upgrade` or a dump/restore, see the [PostgreSQL upgrade notes](https://www.postgresql.org/docs/current/upgrading.html). The same applies to a `postgres-data` volume created by an earlier version of this stack that still ran PostgreSQL 17 — either dump it before switching images, or start fresh with `docker compose down -v`.

deploy/compose/local/compose.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
services:
1010

1111
postgres:
12-
image: postgres:17.11-alpine
12+
image: postgres:18.6-alpine
1313
environment:
1414
POSTGRES_DB: hub
1515
POSTGRES_USER: hub
@@ -18,7 +18,8 @@ services:
1818
- source: create-keycloak-db
1919
target: /docker-entrypoint-initdb.d/create-keycloak-db.sql
2020
volumes:
21-
- postgres-data:/var/lib/postgresql/data
21+
# postgres >= 18 keeps PGDATA in /var/lib/postgresql/<major>/docker, so the volume is mounted one level up
22+
- postgres-data:/var/lib/postgresql
2223
healthcheck:
2324
test: ["CMD-SHELL", "pg_isready -U hub -d hub"]
2425
interval: 5s

0 commit comments

Comments
 (0)