1.9 KiB
Custom container images
Small custom container images published to the Gitea container registry at
git.ajpanton.se.
Images
| Image | Purpose | Base |
|---|---|---|
git.ajpanton.se/ajp_anton/postgres-custom:18 |
PostgreSQL with pg_cron, pgvector, PostGIS, and VectorChord |
postgres:18 |
git.ajpanton.se/ajp_anton/php8-pgsql:8 |
PHP-FPM with the pdo_pgsql extension |
php:8-fpm-alpine |
There is no custom nginx image here yet. The current web-server image can stay
on upstream nginx:*alpine unless custom nginx modules or baked-in config are
needed.
How Updates Work
The workflow in .gitea/workflows/build-images.yaml rebuilds and pushes these
images on:
- pushes to
main - manual workflow runs
- the weekly schedule in the workflow
Each scheduled run asks Docker to pull the current base image before building. During the build, package managers also install the currently available packages from their configured repositories. If the upstream base image or installed packages have changed, the resulting image digest changes even when the tag name stays the same.
Container update tools can then watch the pushed tags by digest. When the remote digest for a watched tag differs from the locally running image digest, the tool can report or apply an update.
Pinned build arguments, such as VCHORD_VERSION, do not update themselves.
Changing those values requires a commit or an additional automation step that
checks upstream releases and updates this repository.
Publishing
The workflow publishes these tags:
git.ajpanton.se/ajp_anton/postgres-custom:18git.ajpanton.se/ajp_anton/postgres-custom:18-postgis3-vchord0.5.3git.ajpanton.se/ajp_anton/postgres-custom:latestgit.ajpanton.se/ajp_anton/php8-pgsql:8git.ajpanton.se/ajp_anton/php8-pgsql:8-fpm-alpinegit.ajpanton.se/ajp_anton/php8-pgsql:latest
The workflow uses Gitea Actions and the built-in GITEA_TOKEN with package
write permission.