Document the Alpine 3.24 runtime image (#48)

This commit is contained in:
MrAlders0n authored and GitHub committed 2026-10-24 12:04:46 -04:00
1 parent 0646dd581b
commit f3318c12c6
2 files changed
+11 -2

No files matched your search

+4 -2
View File
@@ -29,8 +29,10 @@ changes, PostgreSQL roles and cluster settings, Redis and deployment files are n
- `pg_dump` must be in the **same runtime** as the exporter (the CLI's environment, or the
server's PATH for the download), with a major version at least as new as the database's. A client on
the Docker host or in another container doesn't count.
- The Docker image ships the PostgreSQL 16 client. Its Alpine 3.19 base has no 17/18
packages, so a newer database needs a different runtime, not just `POSTGRES_CLIENT_MAJOR`.
- The published Docker image ships the PostgreSQL 16 client on an Alpine 3.24 base. For a
PostgreSQL 17 or 18 database, build your own image from a beacon-server checkout, e.g.
`docker build -f .build/Dockerfile --build-arg POSTGRES_CLIENT_MAJOR=17 -t beacon:pg17 .`,
and point the stack's `image:` at that tag.
- The temp directory (`TMPDIR`) needs about twice the SQL limit free. A small tmpfs won't do.
- The output filesystem must support hard links (used to publish atomically). Existing
destinations, symlinks included, are never replaced. Files are 0600 and staging dirs 0700;
+7
View File
@@ -333,6 +333,13 @@ instead of an `ERROR` pair; a real `500` still logs `api: error 500: <message>`
with the database error in `error`. Only pages that read a read model count timeouts in
`beacon_api_unavailable_total{reason="timeout"}`.
#### Runtime image on Alpine 3.24
The server image moved from Alpine 3.19, which is out of support, to Alpine 3.24 with the
PostgreSQL 16 client tools. Nothing to change for a PostgreSQL 16 database. A self-built image
with `POSTGRES_CLIENT_MAJOR=17` or `18` now works too; see
[Backup export](backup-export.md).
## Changes that need a restart
Beacon reads `config.yaml` once at startup. After editing it, run