Mount pgdata at the directory Postgres 18 actually uses
This commit is contained in:
@@ -122,7 +122,8 @@ JSON to stdout, nothing else. There is no log table and no log viewer in the app
|
|||||||
|
|
||||||
Two paths hold everything:
|
Two paths hold everything:
|
||||||
|
|
||||||
- `./pgdata` — the database
|
- `./pgdata` — the database. Postgres 18 stores it under a version subdirectory (`18/docker`), so
|
||||||
|
the mount is `/var/lib/postgresql`, not `/var/lib/postgresql/data`
|
||||||
- `./storage` — audio files and avatars
|
- `./storage` — audio files and avatars
|
||||||
|
|
||||||
Both are bind mounts. `storage/tmp/` is in-flight conversions and is safe to skip; it's cleared on
|
Both are bind mounts. `storage/tmp/` is in-flight conversions and is safe to skip; it's cleared on
|
||||||
|
|||||||
+3
-4
@@ -5,11 +5,10 @@ services:
|
|||||||
POSTGRES_USER: levyraati
|
POSTGRES_USER: levyraati
|
||||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD in .env}
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD in .env}
|
||||||
POSTGRES_DB: levyraati
|
POSTGRES_DB: levyraati
|
||||||
# The 18 image moved its default data directory; pin it so the ./pgdata mount below
|
|
||||||
# is still where the database lives.
|
|
||||||
PGDATA: /var/lib/postgresql/data
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./pgdata:/var/lib/postgresql/data
|
# Postgres 18 keeps its data in /var/lib/postgresql/<version>/docker, so the mount is the
|
||||||
|
# parent directory, not the old /var/lib/postgresql/data.
|
||||||
|
- ./pgdata:/var/lib/postgresql
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "pg_isready -U levyraati"]
|
test: ["CMD-SHELL", "pg_isready -U levyraati"]
|
||||||
interval: 5s
|
interval: 5s
|
||||||
|
|||||||
Reference in New Issue
Block a user