blob: 7c77693bc560e46592ff17c21b08abb4330b32f7 [file] [log] [blame]
# Compose overlay that grafts this Kalamar instance's customizations onto the
# stock `kalamar` service of KorAP-Docker's compose.yaml, so the instance can
# be tested locally without changing either the KorAP-Docker or the
# KorAP-Ingestion project.
#
# It is meant to be *layered on top of* the base compose, e.g.:
#
# docker compose -f <base-compose> -f compose.instance.yaml up
#
# Requirements:
# * KALAMAR_INSTANCE_DIR must be the ABSOLUTE path to this checkout.
# Relative bind-mount paths in a compose override resolve against the
# project directory (the first -f / the cwd), not against this file, so
# the mounts below go through an absolute env var instead.
#
# KorAP-Ingestion wires this up automatically; see its `korap` target and pass
# make korap KALAMAR_INSTANCE=../Kalamar-Instance-IDS
#
# Keep the mount list in sync with what a real deployment overlays (compare the
# `deliko-*-compose.yml` files in the sibling DeLiKo instance).
services:
kalamar:
# This instance serves its corpus release log as Markdown (*.html.md),
# which needs a Kalamar with the Markdown renderer (>= v0.66). The base
# compose pins an older image, so override it here. Point KALAMAR_IMAGE at
# a locally built tag when testing renderer changes:
# make korap KALAMAR_INSTANCE=../Kalamar-Instance-IDS KALAMAR_IMAGE=korap/kalamar:v0.66-alpha-large
image: ${KALAMAR_IMAGE:-korap/kalamar:v0.66-alpha}
environment:
# Use this instance's config verbatim: skip the export-plugin entrypoint
# hack, which rewrites /kalamar/kalamar.production.conf in place and would
# fight the read-only mount below.
KALAMAR_EXPORT: "false"
volumes:
- ${KALAMAR_INSTANCE_DIR}/kalamar.ids-mannheim.conf:/kalamar/kalamar.production.conf:ro
- ${KALAMAR_INSTANCE_DIR}/templates/custom:/kalamar/templates/custom:ro
- ${KALAMAR_INSTANCE_DIR}/default.plugins.json:/kalamar/default.plugins.json:ro
- ${KALAMAR_INSTANCE_DIR}/public/robots.txt:/kalamar/public/robots.txt:ro