SPB Git forge
38commits 1branches 0releases
338.7 MBsize
maindefault branch
3 h agolast push
HTML 53.9% TypeScript 44.5% JavaScript 0.6% SQL 0.5%
1.8 KB · 54 lines shellscript
Raw Blame History
1#!/bin/sh2# DataCenterIndex container entrypoint (worker + api images). The first argument selects the role:3#   worker      BullMQ crawl/ingest worker (apps/worker/src/main.ts)      — default CMD of Dockerfile.worker4#   scheduler   connector scheduler (apps/worker/src/scheduler.ts)5#   cli|dci     `pnpm dci …` equivalent (apps/worker/src/cli.ts) — e.g. `cli run peeringdb --dry-run --limit 5`6#   migrate     Postgres migrations → seed (if packages/db/src/seed.ts exists) → ClickHouse DDL, then exit7#   api         Fastify API (apps/api/src/main.ts | server.ts | index.ts)  — default CMD of Dockerfile.api8#   anything else is exec'd verbatim (`sh`, `node …`).9set -eu10cd /app11TSX="node /app/node_modules/tsx/dist/cli.mjs"1213first_existing() {14  for f in "$@"; do15    if [ -f "$f" ]; then echo "$f"; return 0; fi16  done17  echo "entrypoint: none of the candidate entry files exist: $*" >&218  return 119}2021role="${1:-worker}"22[ "$#" -gt 0 ] && shift2324case "$role" in25  worker)26    exec $TSX apps/worker/src/main.ts "$@" ;;27  scheduler)28    exec $TSX apps/worker/src/scheduler.ts "$@" ;;29  cli|dci)30    exec $TSX apps/worker/src/cli.ts "$@" ;;31  api)32    entry="$(first_existing apps/api/src/main.ts apps/api/src/server.ts apps/api/src/index.ts)"33    exec $TSX "$entry" "$@" ;;34  migrate)35    echo "[migrate] postgres migrations"36    $TSX packages/db/src/migrate.ts37    if [ "${DCI_SKIP_SEED:-0}" != "1" ]; then38      if [ -f packages/db/src/seed.ts ]; then39        echo "[migrate] seed"40        $TSX packages/db/src/seed.ts41      else42        echo "[migrate] no packages/db/src/seed.ts — seed skipped"43      fi44    fi45    if [ "${DCI_SKIP_CLICKHOUSE:-0}" != "1" ]; then46      echo "[migrate] clickhouse ddl"47      $TSX deploy/docker/ensure-clickhouse.ts48    fi49    echo "[migrate] done"50    exit 0 ;;51  *)52    exec "$role" "$@" ;;53esac54