Agent skills
Prettier eslint shopify
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env bash
|
||||
# Mozimo container entrypoint — runs PocketBase (editorial CMS) and the
|
||||
# TanStack Start SSR server side by side. If either process dies the
|
||||
# container exits, so the restart policy brings the pair back together.
|
||||
set -euo pipefail
|
||||
|
||||
PB_PORT="${PB_PORT:-8090}"
|
||||
PB_DATA_DIR="${PB_DATA_DIR:-/app/pb_data}"
|
||||
|
||||
# On a fresh volume no superuser exists — ensure one from env (idempotent;
|
||||
# on restarts it re-aligns the password with the env values).
|
||||
if [ -n "${PB_SUPERUSER_EMAIL:-}" ] && [ -n "${PB_SUPERUSER_PASSWORD:-}" ]; then
|
||||
echo "[entrypoint] ensuring pocketbase superuser ${PB_SUPERUSER_EMAIL}"
|
||||
/usr/local/bin/pocketbase superuser upsert \
|
||||
"${PB_SUPERUSER_EMAIL}" "${PB_SUPERUSER_PASSWORD}" --dir="${PB_DATA_DIR}"
|
||||
fi
|
||||
|
||||
echo "[entrypoint] starting pocketbase on :${PB_PORT}"
|
||||
/usr/local/bin/pocketbase serve \
|
||||
--http="0.0.0.0:${PB_PORT}" \
|
||||
--dir="${PB_DATA_DIR}" &
|
||||
PB_PID=$!
|
||||
|
||||
# give PocketBase a moment, then seed schema + defaults (idempotent, no-op
|
||||
# when records already exist or no superuser env is provided)
|
||||
(
|
||||
sleep 2
|
||||
if node scripts/pb-seed.mjs; then
|
||||
echo "[entrypoint] pocketbase seed complete"
|
||||
else
|
||||
echo "[entrypoint] pocketbase seed skipped/failed — site falls back to bundled defaults"
|
||||
fi
|
||||
) &
|
||||
|
||||
echo "[entrypoint] starting web server on :${PORT:-3000}"
|
||||
node server.mjs &
|
||||
APP_PID=$!
|
||||
|
||||
shutdown() {
|
||||
echo "[entrypoint] SIGTERM received — shutting down"
|
||||
kill -TERM "$PB_PID" "$APP_PID" 2>/dev/null || true
|
||||
wait "$PB_PID" "$APP_PID" 2>/dev/null || true
|
||||
exit 0
|
||||
}
|
||||
trap shutdown TERM INT
|
||||
|
||||
wait -n "$PB_PID" "$APP_PID"
|
||||
echo "[entrypoint] a child process exited — stopping container"
|
||||
shutdown
|
||||
Reference in New Issue
Block a user