Skip to content

Downstream Dependencies

This page documents which runtime packages the daschswiss/sipi Docker image provides and why, so downstream consumers don't need to rediscover this.

Sipi's Bundled Lua Scripts

The Lua scripts shipped with Sipi (sipi.config.lua, sipi.init.lua, test_functions.lua, send_response.lua) have no system tool dependencies. They use only Sipi's built-in Lua API (server.http(), server.decode_jwt(), server.parse_mimetype(), etc.) — no io.popen() or os.execute() calls.

Runtime Image Packages

The daschswiss/sipi Docker image (final stage) includes these packages:

Package Required by How it's used
curl knora-sipi healthcheck healthcheck.sh: curl -sS --fail 'http://localhost:1024/...'
openssl sipi binary TLS for outbound HTTPS connections
ca-certificates sipi binary TLS certificate trust store for HTTPS
locales sipi binary UTF-8 locale (en_US.UTF-8, sr_RS.UTF-8) for string handling
ffmpeg dsp-ingest (MovingImageService) ffprobe for video metadata (dimensions, duration, FPS). dsp-ingest runs docker run --entrypoint ffprobe daschswiss/knora-sipi:... in local dev, or calls ffprobe directly in production.
libmagic1 + file sipi binary MIME type detection (linked at compile time; runtime .mgc database needed)
tzdata system Timezone support (TZ=Europe/Zurich)
sha256sum (coreutils) knora-sipi Lua scripts util.lua:file_checksum() calls /usr/bin/sha256sum

Packages Removed

The following packages were previously included but had no downstream consumer: imagemagick, at, bc, uuid, byobu, htop, man, vim, git, unzip, wget, gnupg2, software-properties-common.

Downstream Consumers

Consumer Image What it uses from sipi container
knora-sipi (dsp-api sipi/ subproject) daschswiss/knora-sipi (base: daschswiss/sipi) Lua scripts + sipi HTTP server. Needs curl, sha256sum, libmagic1, locales, openssl, ca-certificates.
dsp-ingest (SipiClientLive) daschswiss/knora-sipi (via docker run in local dev) sipi CLI (--query, --format, --topleft). Needs the sipi binary.
dsp-ingest (MovingImageService) daschswiss/knora-sipi (via docker run --entrypoint ffprobe in local dev) ffprobe for video metadata extraction. Needs ffmpeg package.
dsp-tools daschswiss/knora-sipi (via Docker Compose) HTTP API only (port 1024). No direct tool dependencies on container internals.
fileidentification none No dependency on sipi. Standalone tool with its own ffmpeg/imagemagick/libreoffice.