From aa8c4253f15f069248b1bd756808cf0ccf284cbe Mon Sep 17 00:00:00 2001 From: jochen Date: Fri, 25 Sep 2026 23:44:34 +0200 Subject: [PATCH] automx: the launcher's wrapper is written by the build that ships it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The predecessor's image carried .venv/scripts/flask.sh, created by a build step that never made it into the files this module holds — the image worked and its recipe could not reproduce it, caught the moment the mesh built it from source (exit 127 crash loop at cutover). The wrapper is now written explicitly, verbatim from the proven image, so the recipe is the whole truth about the image. --- modules/mailu/automx/Dockerfile | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/mailu/automx/Dockerfile b/modules/mailu/automx/Dockerfile index 7fd7933..80ae1b9 100644 --- a/modules/mailu/automx/Dockerfile +++ b/modules/mailu/automx/Dockerfile @@ -21,6 +21,18 @@ RUN ./setupvenv.sh \ && . .venv/bin/activate \ && pip install automx2 +# The launcher `start` expects. In the predecessor's image this wrapper appeared during a build +# step that never made it into the files this module carries — the image worked and the recipe +# could not reproduce it. Written here explicitly, verbatim from the proven image, so the build +# is the whole truth about the image again. +RUN mkdir -p .venv/scripts && printf '%s\n' \ + '#!/usr/bin/env bash' \ + 'set -euo pipefail' \ + '. .venv/bin/activate' \ + "export FLASK_ENV='production'" \ + "export FLASK_APP='automx2.server:app'" \ + 'flask "$@"' > .venv/scripts/flask.sh && chmod +x .venv/scripts/flask.sh + ENV AUTOMX2_CONF=/etc/automx2.conf ADD automx/files/automx2.conf /etc/automx2.conf