David Barragán Merino 091fe456ad 🐳 Migrate media-processor image to DHI and wire up its build"
Migrate docker/images/Dockerfile.media-processor from ubuntu:26.04 to
dhi.io/node (Debian 13/trixie), which also drops the manual Node tarball
download since the base image ships it. The -dev tag stays as the final
image: fontforge, woff2 and the graphics libraries are needed at runtime.

scripts/build now assembles the release bundle under target/ (dist/ plus
the manifests and a generated setup script), the way the other modules do,
since esbuild leaves the runtime dependencies external. manage.sh gains
build-media-processor-bundle and build-media-processor-docker-image, both
wired into build-bundle and build-docker-images.

The CI workflows are intentionally left untouched: the module is still work
in progress and its images are not published yet, so this only enables
local builds."

Signed-off-by: David Barragán Merino <david.barragan@kaleidos.net>
2026-09-22 18:52:05 +02:00

32 lines
986 B
Bash
Executable File

#!/bin/bash
set -e
cd "$(dirname "$0")/.."
# package.json pins pnpm via "packageManager", so the first build on a fresh
# devenv makes corepack fetch it. Without this it asks for confirmation on
# stdin, which hangs a CI build (and aborts an interactive one); `corepack
# install` then fetches the pinned version explicitly.
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
corepack install
pnpm run build
# Assemble the release bundle under target/, the way the other modules do.
# esbuild leaves the runtime dependencies external (sharp, pino, pino-pretty,
# pino-loki), so the image has to install them on build: ship the manifests
# next to dist/ plus a setup script for Dockerfile.media-processor to run.
rm -rf target
mkdir -p target
rsync -avr --delete dist/ target/dist/
cp package.json pnpm-lock.yaml pnpm-workspace.yaml target/
cat <<SETUP | tee target/setup > /dev/null
#!/usr/bin/env bash
set -e;
corepack enable;
corepack install;
pnpm install -P;
SETUP
chmod +x target/setup