From 4176949552df4c0884a21ce4094c0dfa387b51d2 Mon Sep 17 00:00:00 2001 From: ajp_anton Date: Sat, 27 Jun 2026 19:20:04 +0000 Subject: [PATCH] Add AI tools utility image --- .gitea/workflows/build-images.yaml | 13 +++++++++++++ README.md | 23 +++++++++++++++++++++++ ai-tools-utils/Dockerfile | 13 +++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 ai-tools-utils/Dockerfile diff --git a/.gitea/workflows/build-images.yaml b/.gitea/workflows/build-images.yaml index 5630817..236552d 100644 --- a/.gitea/workflows/build-images.yaml +++ b/.gitea/workflows/build-images.yaml @@ -45,6 +45,19 @@ jobs: git.ajpanton.se/ajp_anton/php8-pgsql:latest build_args: | PHP_VERSION=8 + - name: ai-tools-utils + context: ai-tools-utils + tags: | + git.ajpanton.se/ajp_anton/ai-tools-utils:3 + git.ajpanton.se/ajp_anton/ai-tools-utils:latest + build_args: | + PYTHON_VERSION=3 + - name: ai-tools-utils-3.13 + context: ai-tools-utils + tags: | + git.ajpanton.se/ajp_anton/ai-tools-utils:3.13 + build_args: | + PYTHON_VERSION=3.13 steps: - name: Check out repository diff --git a/README.md b/README.md index 003b551..cea1cd7 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ a few commonly useful database/runtime extensions. | --- | --- | | `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 @@ -64,22 +65,44 @@ Compiled PHP extension: The compiled extension and PHP config are copied from a build stage into the final runtime image. +### `ai-tools-utils` + +Base image: + +- `python:3` for the `:3` and `:latest` tags. +- `python:3.13` for the `:3.13` tag. +- Minor and patch releases are picked up when each image is rebuilt. + +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` +- `git.ajpanton.se/ajp_anton/ai-tools-utils:3.13` 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. diff --git a/ai-tools-utils/Dockerfile b/ai-tools-utils/Dockerfile new file mode 100644 index 0000000..f7b7eb1 --- /dev/null +++ b/ai-tools-utils/Dockerfile @@ -0,0 +1,13 @@ +ARG PYTHON_VERSION=3 +FROM python:${PYTHON_VERSION} + +RUN set -eux; \ + apt-get update; \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + ca-certificates \ + exiftool; \ + rm -rf /var/lib/apt/lists/* + +WORKDIR /work + +CMD ["python3", "--version"]