README: name everything that runs as root in the container
check / check (push) Successful in 3m40s

The security-features bullet said only the entrypoint script runs as
root. With no USER in the image, the health check and docker exec also
run as root; the bullet now names all three.

Model: opus-5-5
This commit is contained in:
2026-09-29 10:26:31 +00:00
parent e3c4ba03ad
commit 42b6916c02
+5 -3
View File
@@ -3032,9 +3032,11 @@ check, see [The login endpoint](#the-login-endpoint).
- Prometheus metrics behind basic auth
- Static assets embedded in binary (no filesystem access needed at
runtime)
- The app runs as a non-root user (UID 1000) in the container; only
the `ENTRYPOINT` script that sets the data directory's owner runs as
root, before the app starts
- The app runs as the non-root `webhooker` user (UID 1000) in the
container. The image sets no `USER`, so these run as root: the
`ENTRYPOINT` script, which sets the data directory's owner and mode
before the app starts; the image's health check; and `docker exec`,
unless given `--user`
- GORM soft deletes on every entity that carries `BaseModel`, which is
all of them but `Setting` (data preserved for audit)