Files
docker-images/README.md
T
ajp_anton 1319c71740
Build custom container images / build (map[base_image:php:8-fpm-alpine build_args:PHP_VERSION=8 context:php8-pgsql fingerprint_command:{ apk info -v | LC_ALL=C sort; find /usr/local/lib/php/extensions /usr/local/etc/php/conf.d -type f -exec sha256sum {} + | LC_ALL=C sort; } name:ph… (push) Successful in 1m8s
Build custom container images / build (map[base_image:postgres:18 build_args:PG_VERSION=18 POSTGIS_VERSION=3 VCHORD_VERSION=0.5.3 context:postgres fingerprint_command:{ dpkg-query -W -f='${binary:Package}=${Version}\n' | LC_ALL=C sort; find /usr/lib/postgresql -type f -exec sha256su… (push) Successful in 1m54s
Build custom container images / build (map[base_image:python:3 build_args:PYTHON_VERSION=3 context:python-tools fingerprint_command:dpkg-query -W -f='${binary:Package}=${Version}\n' | LC_ALL=C sort name:python-tools primary_tag:git.ajpanton.se/ajp_anton/python-tools:3 tags:git.ajpa… (push) Successful in 1m39s
Rename ai-tools-utils to python-tools
2026-07-16 01:00:05 +00:00

3.4 KiB

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/python-tools: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.

python-tools

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/python-tools: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/python-tools:latest

Tags are mutable. A weekly candidate build only repoints a deployment tag when its content fingerprint changed: base image, build context, build arguments, installed packages, or image-specific generated files.

Update Cadence

Images are rebuilt weekly. They may also be rebuilt after repository changes or manual runs. Each run builds a candidate without cache, then publishes it only when its content fingerprint differs from the current deployment image.

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.