Add custom container image builds
Build custom container images / build (map[build_args:PG_VERSION=18 POSTGIS_VERSION=3 VCHORD_VERSION=0.5.3 context:postgres name:postgres-custom tags:git.ajpanton.se/ajp_anton/postgres-custom:18 git.ajpanton.se/ajp_anton/postgres-custom:18-postgis3-vchord0.5.3 git.ajpanton.se/ajp_an… (push) Failing after 2m39s
Build custom container images / build (map[build_args:PHP_VERSION=8 context:php8-pgsql name:php8-pgsql tags:git.ajpanton.se/ajp_anton/php8-pgsql:8 git.ajpanton.se/ajp_anton/php8-pgsql:8-fpm-alpine git.ajpanton.se/ajp_anton/php8-pgsql:latest ]) (push) Failing after 16s

This commit is contained in:
ajp_anton
2026-06-22 22:07:53 +00:00
commit 696033c63a
6 changed files with 162 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
# 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:18`
- `git.ajpanton.se/ajp_anton/postgres-custom:18-postgis3-vchord0.5.3`
- `git.ajpanton.se/ajp_anton/postgres-custom:latest`
- `git.ajpanton.se/ajp_anton/php8-pgsql:8`
- `git.ajpanton.se/ajp_anton/php8-pgsql:8-fpm-alpine`
- `git.ajpanton.se/ajp_anton/php8-pgsql:latest`
The workflow uses Gitea Actions and the built-in `GITEA_TOKEN` with package
write permission.