From 4fbfdfc3727b56db392bef300922c3c144d55d10 Mon Sep 17 00:00:00 2001 From: Ilyes512 Date: Mon, 14 Sep 2026 13:59:46 +0200 Subject: [PATCH 1/5] build(docker): turn the debian stage into a publishable runtime image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Dockerfile only had stages for developing specs: builder-download for `task test`, export for `task build`, vhs for the demo tapes. The debian stage existed but was anonymous, shipped no CA bundle, ran as root and used CMD, so nothing about it was publishable. Make it the image that ships: - Name it `debian` and move it last, so `docker build .` with no --target builds the runtime image rather than a dev tool. Safe because every consumer already pins its stage: compose.yml selects builder-download, export and vhs by name. - Copy the CA bundle out of the builder. debian:*-slim ships none, and without one every HTTPS template source fails to clone. - Run as a non-root specs:specs at 1000:1000, with /config and /work created and owned by it, and XDG_CONFIG_HOME pinned to /config so the template registry has one mount point whatever uid the container runs as. - ENTRYPOINT instead of CMD, so `docker run … specs-cli use