spb/llmindex Public
The discriminative, contamination-resistant, fully transparent LLM ranking — updated live.
TypeScript 77.9%
TeX 15.2%
Python 3.7%
SQL 1.4%
JavaScript 1.1%
Shell 0.5%
1#!/bin/bash2# llmindex.io — deploy script (run ON the node, e.g. m3u96b, from the app dir)3# Author: Simon-Pierre Boucher4# Contact: contact@spboucher.ai5# License: Proprietary — © Simon-Pierre Boucher, all rights reserved6#7# m3u96b is macOS: process management is PM2 (see infra/ecosystem.config.cjs);8# the systemd units in infra/systemd/ are the Linux-host equivalent.9# Code arrives via `git pull --ff-only origin main` when a remote exists,10# otherwise via rsync from the workstation (current setup).11set -euo pipefail1213APP_DIR="${APP_DIR:-/srv/llmindex}"14cd "$APP_DIR"1516if git rev-parse --git-dir >/dev/null 2>&1 && git remote get-url origin >/dev/null 2>&1; then17 git pull --ff-only origin main18fi1920pnpm install --frozen-lockfile21pnpm --filter @llmindex/db generate22pnpm build2324# Standalone output needs static assets + public dir alongside server.js25STANDALONE="apps/web/.next/standalone/apps/web"26mkdir -p "$STANDALONE/.next"27rsync -a --delete apps/web/.next/static/ "$STANDALONE/.next/static/"28if [ -d apps/web/public ]; then rsync -a apps/web/public/ "$STANDALONE/public/"; fi2930# Prisma query engine is not traced into the standalone bundle (pnpm layout) —31# copy the generated .prisma client next to where the runtime searches for it.32PRISMA_SRC=$(ls -d node_modules/.pnpm/@prisma+client*/node_modules/.prisma 2>/dev/null | head -1)33if [ -n "$PRISMA_SRC" ]; then34 PRISMA_DEST="apps/web/.next/standalone/$(dirname "$PRISMA_SRC")"35 mkdir -p "$PRISMA_DEST"36 cp -R "$PRISMA_SRC" "$PRISMA_DEST/"37fi3839pnpm db:migrate:deploy4041pm2 startOrReload infra/ecosystem.config.cjs --update-env42pm2 save4344sleep 345curl -fsS http://127.0.0.1:3100/api/v1/health >/dev/null && echo "✓ local health OK"46curl -fsS https://www.llmindex.io/api/v1/health >/dev/null && echo "✓ tunnel health OK (www.llmindex.io)"47