Files
cms-plugins/docker/entrypoint.sh
T
Oleks 96c220825f
ci/woodpecker/push/container Pipeline failed
fix: seed catalog on boot + emit https canonical/og:url
- entrypoint: run 'emdash seed' after 'emdash init' (init no longer loads
  JSON seeds in newer emdash, so the catalog booted empty). Idempotent
  onConflict=skip.
- Base.astro: derive canonical/og:url base from EMDASH_SITE_URL (per-env
  https URL the chart injects) instead of Astro.url.origin, which is plain
  http behind Traefik TLS termination.
2026-06-14 13:59:21 +03:00

22 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
set -eu
# Ensure persistent state dirs exist (volume may be empty on first boot).
mkdir -p /app/state/uploads
# Run emdash init + seed on EVERY boot, before exec'ing the server. Both are
# idempotent: `init` runs only pending migrations (no-op when all applied) and
# `seed` applies seed/seed.json with onConflict=skip (no-op once rows exist).
# `init` does NOT load JSON seeds — that moved to the separate `emdash seed`
# command — so without this seed step the catalog boots empty. Under `set -e` a
# non-zero exit aborts before `exec "$@"`, so a failed/partial init or seed
# surfaces as a crash-loop with logs instead of a silently half-set-up boot.
# (Gating on the mere presence of data.db would skip pending migrations on image
# upgrades against an existing PVC and never recover a partial first-run init.)
echo "[entrypoint] running emdash init (applies pending migrations)"
node_modules/.bin/emdash init
echo "[entrypoint] running emdash seed (applies seed/seed.json, onConflict=skip)"
node_modules/.bin/emdash seed
exec "$@"