diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9bf22a0..b271dcf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,7 +73,7 @@ jobs: --health-timeout 3s --health-retries 10 postgres: - image: postgres:16-alpine + image: postgres:18-alpine env: POSTGRES_USER: tensies POSTGRES_PASSWORD: tensies diff --git a/docker-compose.design.yml b/docker-compose.design.yml index 9bc6d61..147f38f 100644 --- a/docker-compose.design.yml +++ b/docker-compose.design.yml @@ -49,7 +49,7 @@ services: retries: 10 postgres: - image: postgres:16-alpine + image: postgres:18-alpine environment: POSTGRES_USER: tensies POSTGRES_PASSWORD: tensies diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 7f0f7c4..f2bbdb4 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -144,13 +144,17 @@ services: restart: unless-stopped postgres: - image: postgres:16.15-alpine@sha256:721873c34ceb9f8d8fc265984940dc982404c105f19ad51be9fdc5970a6080ea + image: postgres:18.6-alpine@sha256:77f585114c32fbca283dc835b0596f4e52b51b4c6662d7810b2f4084f60a1873 environment: POSTGRES_USER: tensies POSTGRES_PASSWORD: "${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD}" POSTGRES_DB: tensies volumes: - - pg_data:/var/lib/postgresql/data + # Postgres 18 images keep PGDATA in a versioned subdirectory + # (/var/lib/postgresql/18/docker), so the volume mounts one level up. + # pg18_data is a fresh volume: the 16.x cluster in pg_data is left + # untouched as the rollback copy (data moved by dump/restore). + - pg18_data:/var/lib/postgresql healthcheck: test: ["CMD-SHELL", "pg_isready -U tensies"] interval: 5s @@ -220,6 +224,7 @@ networks: driver: bridge volumes: - pg_data: + pg_data: # Postgres 16 cluster, kept as the rollback copy + pg18_data: prom_data: grafana_data: diff --git a/docker-compose.yml b/docker-compose.yml index 16218fd..e47ed8a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -62,13 +62,13 @@ services: retries: 10 postgres: - image: postgres:16-alpine + image: postgres:18-alpine environment: POSTGRES_USER: tensies POSTGRES_PASSWORD: tensies POSTGRES_DB: tensies volumes: - - pg_data:/var/lib/postgresql/data + - pg18_data:/var/lib/postgresql ports: - "5432:5432" healthcheck: @@ -123,6 +123,6 @@ services: - postgres volumes: - pg_data: + pg18_data: prom_data: grafana_data: