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
53 lines
1.9 KiB
Markdown
53 lines
1.9 KiB
Markdown
# 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.
|