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) Successful in 1m0s
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) Successful in 42s
Build custom container images / build (map[build_args:PYTHON_VERSION=3
context:ai-tools-utils name:ai-tools-utils tags:git.ajpanton.se/ajp_anton/ai-tools-utils:3
git.ajpanton.se/ajp_anton/ai-tools-utils:latest
]) (push) Successful in 41s
120 lines
3.2 KiB
Markdown
120 lines
3.2 KiB
Markdown
# Custom Container Images
|
|
|
|
This repository builds a small set of OCI/container images published at
|
|
`git.ajpanton.se`.
|
|
|
|
The images are intended to stay close to their upstream base images while adding
|
|
a few commonly useful database/runtime extensions.
|
|
|
|
## Images
|
|
|
|
| Image | Description |
|
|
| --- | --- |
|
|
| `git.ajpanton.se/ajp_anton/postgres-custom:18` | PostgreSQL 18 with selected extension packages installed and `pg_cron`/VectorChord preloaded. |
|
|
| `git.ajpanton.se/ajp_anton/php8-pgsql:8` | PHP 8 FPM on Alpine with PostgreSQL client runtime support and the `pdo_pgsql` PHP extension enabled. |
|
|
| `git.ajpanton.se/ajp_anton/ai-tools-utils:3` | Python 3 utility image with ExifTool for AI/helper workflows. |
|
|
|
|
## Included Components
|
|
|
|
### `postgres-custom`
|
|
|
|
Base image:
|
|
|
|
- `postgres:18`
|
|
- Moving upstream major-version tag. Patch releases are picked up when the image
|
|
is rebuilt.
|
|
|
|
Installed from Debian/PostgreSQL apt repositories:
|
|
|
|
- `ca-certificates`
|
|
- `wget`
|
|
- `postgresql-18-cron`
|
|
- `postgresql-18-pgvector`
|
|
- `postgresql-18-postgis-3`
|
|
|
|
Installed from a GitHub release asset:
|
|
|
|
- VectorChord package `postgresql-18-vchord_0.5.3-1_amd64.deb`
|
|
- VectorChord is pinned to `0.5.3` at this time.
|
|
|
|
Runtime defaults added by this image:
|
|
|
|
- `shared_preload_libraries=pg_cron,vchord`
|
|
- `cron.database_name=firecrawl`
|
|
|
|
### `php8-pgsql`
|
|
|
|
Base image:
|
|
|
|
- `php:8-fpm-alpine`
|
|
- Moving upstream major-version tag. Patch releases are picked up when the image
|
|
is rebuilt.
|
|
|
|
Build-time package:
|
|
|
|
- `postgresql-dev`
|
|
|
|
Runtime package:
|
|
|
|
- `libpq`
|
|
|
|
Compiled PHP extension:
|
|
|
|
- `pdo_pgsql`
|
|
|
|
The compiled extension and PHP config are copied from a build stage into the
|
|
final runtime image.
|
|
|
|
### `ai-tools-utils`
|
|
|
|
Base image:
|
|
|
|
- `python:3`
|
|
- The image follows the moving Python 3 tag. When upstream Python 3 moves to a
|
|
new minor release, this image follows it on the next rebuild.
|
|
|
|
Installed from Debian apt repositories:
|
|
|
|
- `ca-certificates`
|
|
- `exiftool`
|
|
|
|
Intended use:
|
|
|
|
- Run small helper scripts mounted at runtime, for example media metadata
|
|
extraction scripts used by local AI tools.
|
|
- Keep host systems clean by avoiding host-level package installs.
|
|
|
|
## Tags
|
|
|
|
Moving deployment tags:
|
|
|
|
- `git.ajpanton.se/ajp_anton/postgres-custom:18`
|
|
- `git.ajpanton.se/ajp_anton/php8-pgsql:8`
|
|
- `git.ajpanton.se/ajp_anton/ai-tools-utils:3`
|
|
|
|
Descriptive tags:
|
|
|
|
- `git.ajpanton.se/ajp_anton/postgres-custom:18-postgis3-vchord0.5.3`
|
|
- `git.ajpanton.se/ajp_anton/php8-pgsql:8-fpm-alpine`
|
|
|
|
Convenience tags:
|
|
|
|
- `git.ajpanton.se/ajp_anton/postgres-custom:latest`
|
|
- `git.ajpanton.se/ajp_anton/php8-pgsql:latest`
|
|
- `git.ajpanton.se/ajp_anton/ai-tools-utils:latest`
|
|
|
|
Tags are mutable. The digest behind a tag may change after a rebuild even when
|
|
the tag name stays the same.
|
|
|
|
## Update Cadence
|
|
|
|
Images are rebuilt weekly. They may also be rebuilt after repository changes or
|
|
manual runs.
|
|
|
|
Each rebuild pulls the current upstream base image and installs the currently
|
|
available apt/apk packages. If the base image or repository packages changed,
|
|
the resulting image digest changes and the same tag points to the new image.
|
|
|
|
Pinned build inputs do not update automatically. In this repository, VectorChord
|
|
is pinned to `0.5.3`; changing it requires a repository update.
|