Add corpus release notes page

Mirrors the release log introduced for DeLiKo@DNB: the notes are
maintained as Markdown in docs/corpus-releaselog.{de,en}.md and rendered
by scripts/render-corpus-releaselog.sh (pandoc) into the doc page
templates/custom/doc/corpus/releases.html.ep, which is committed so
deployment never needs pandoc. Run `make corpus-releaselog` after
editing the Markdown.

The render step is explicitly temporary: once Kalamar converts Markdown
doc pages to HTML on the fly, the script, the Makefile target and the
generated .html.ep can be dropped and the Markdown served directly. This
is noted in the script header, the Makefile and the maintenance notes of
both Markdown files.

The page is reachable as "Releases / Ausgaben" under the Corpus menu and
is linked from the corpus page in both languages.

Past releases (2020-I through 2026-I) are reconstructed from the news
page; the DeReKo-2026-II section is a scaffold with TODOs for the
release date, token and text counts, and the actual changes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Change-Id: Id2d52119cf4870c3e7cd5e5afb13e123c0340a88
diff --git a/compose.instance.yaml b/compose.instance.yaml
new file mode 100644
index 0000000..7c77693
--- /dev/null
+++ b/compose.instance.yaml
@@ -0,0 +1,38 @@
+# 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