96c220825f
ci/woodpecker/push/container Pipeline failed
- 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.
22 lines
1.0 KiB
Bash
Executable File
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 "$@"
|