SPB Git forge

spb/trouve-ka

Public ★ Pinned

Trouve-KA — moteur de recherche web indépendant, Québec-first. Crawler distribué, index OpenSearch, ranking bilingue, galerie d'images. En prod : www.trouve-ka.com

40commits 1branches 0releases
9.2 MBsize
maindefault branch
23 days agolast push
Python 51.9% TypeScript 32.7% JavaScript 4.8% CSS 4.1% Shell 2.9% HTML 1.8% SQL 1.5%
2.0 KB · 47 lines shellscript
Raw Blame History
1#!/usr/bin/env bash2# Trouve-KA — déploiement sur le node m2m32 (cluster MacLustr) + tunnel ngrok3# Author: Simon-Pierre Boucher4# Contact: contact@spboucher.ai5#6# Prérequis sur m2m32 : Docker (ou colima) + docker compose, ngrok authentifié.7# Le domaine www.trouve-ka.com doit être réservé dans le compte ngrok.8#9# ⚠️ OBSOLÈTE pour la prod depuis 2026-08-15 : M2M32 tourne en pm2 NATIF10# (docker = Postgres+Redis seulement; OpenSearch sur M2M32b). Déployer par11# rsync + pm2 restart tk-api tk-crawler-1 tk-crawler-2 tk-enrichment tk-scheduler12# (+ pnpm build dans apps/web puis pm2 restart tk-web si le web change).13# Voir la mémoire projet « trouve-ka-architecture-native ».14set -euo pipefail1516NODE="${NODE:-M2M32}"17REMOTE_DIR="~/trouve-ka"18NGROK_DOMAIN="${NGROK_DOMAIN:-www.trouve-ka.com}"1920cd "$(dirname "$0")/../.."2122echo "→ Synchronisation du code vers $NODE:$REMOTE_DIR"23# .env est exclu : celui du laptop contient des ports de dev (5435/6380) qui24# cassent l'exposition LAN 5432/6379 dont dépendent les workers satellites.25rsync -az --delete \26  --exclude node_modules --exclude .next --exclude .venv --exclude __pycache__ \27  --exclude .git --exclude data --exclude '*.egg-info' --exclude .env \28  ./ "$NODE:$REMOTE_DIR/"2930echo "→ Build et démarrage du stack sur $NODE"31ssh "$NODE" "cd $REMOTE_DIR && docker compose up -d --build"3233echo "→ Chargement des seeds (idempotent)"34ssh "$NODE" "cd $REMOTE_DIR && docker compose run --rm migrate && \35  docker compose run --rm --entrypoint python crawler-worker -m trouveka.crawler.seed scripts/bootstrap-seeds/seeds.txt"3637echo "→ Tunnel ngrok ($NGROK_DOMAIN → :3000)"38ssh "$NODE" "pgrep -f 'ngrok http.*$NGROK_DOMAIN' > /dev/null || \39  nohup ngrok http --url=$NGROK_DOMAIN 3000 > ~/trouve-ka-ngrok.log 2>&1 &"4041echo "→ Vérification de santé"42sleep 543ssh "$NODE" "cd $REMOTE_DIR && bash scripts/health-check/check.sh" || true4445echo "✓ Déploiement terminé : https://$NGROK_DOMAIN"46echo "  N'oublie pas de mettre à jour ~/Desktop/cluster-skill/cluster-deployments.json"47