fix(docker): add llmlab-dashboard to setup.sh, fix service count to 31, add CORS_ORIGIN + NODE_ENV

- B1: Add llmlab-dashboard to WEB_SERVICES array (was missing, 30→31)
- B2: Add llmlab-dashboard to check-health.sh (port 3075)
- B3: Fix service count comments throughout (30→31)
- B6: Restore CWD after phase 3 git push loop
- G1: Add CORS_ORIGIN=* to phase6_env for remote browser access
- G2: Add NODE_ENV=production to phase6_env for all services
This commit is contained in:
saravanakumardb1 2026-03-28 00:40:25 -07:00
parent 5da71f3735
commit d8908093fa

View File

@ -3,6 +3,7 @@
# ByteLyst Single-VM Bootstrap Script
# ═══════════════════════════════════════════════════════════════════════
# Deploys the ENTIRE ByteLyst ecosystem on a **raw** Ubuntu Azure VM.
# 31 services: 6 infra + 3 platform + 2 dashboards + 10 backends + 9 webs + 1 standalone
# Installs ALL dependencies from scratch — nothing pre-installed required.
#
# What gets installed:
@ -13,7 +14,7 @@
# - Ollama (local LLM inference for LocalMemGPT on :11434)
# - All 12 ByteLyst repos (cloned from GitHub)
# - All @bytelyst/* packages (built + published to Gitea)
# - Full 30-service ecosystem (via docker-compose.ecosystem.yml)
# - Full 31-service ecosystem (via docker-compose.ecosystem.yml)
#
# Usage: sudo ./setup.sh [OPTIONS]
#
@ -32,8 +33,8 @@
# 4 Build all @bytelyst/* packages
# 5 Publish packages to Gitea npm registry
# 6 Generate .env.ecosystem config
# 7 Build + deploy 30 Docker services (per-service, with fallback)
# 8 Health check (30 endpoints)
# 7 Build + deploy 31 Docker services (per-service, with fallback)
# 8 Health check (31 endpoints)
#
# Examples:
# sudo ./setup.sh # Fresh install (all 8 phases)
@ -529,6 +530,9 @@ phase3_clone() {
fi
done
# Restore CWD after per-repo cd loop
cd "$INSTALL_DIR"
ok "Phase 3 complete. All repos in ${INSTALL_DIR}/ and pushed to Gitea."
}
@ -696,6 +700,12 @@ FIELD_ENCRYPT_KEY_PROVIDER=memory
# Product Identity
DEFAULT_PRODUCT_ID=lysnrai
# Runtime environment
NODE_ENV=production
# CORS (allow all origins for dev/test VM — restrict in production)
CORS_ORIGIN=*
# Webhooks (disabled)
WEBHOOK_INVITATION_REDEEMED_URL=
WEBHOOK_REFERRAL_STATUS_URL=
@ -714,7 +724,7 @@ ENV
# ═══════════════════════════════════════════════════════════════════════
# PHASE 7: Deploy Ecosystem via Docker Compose
# ═══════════════════════════════════════════════════════════════════════
# All 30 compose services, grouped for ordered build + reporting.
# All 31 compose services, grouped for ordered build + reporting.
INFRA_SERVICES=(cosmos-emulator azurite mailpit loki grafana gateway)
PLATFORM_SERVICES=(platform-service extraction-service mcp-server)
DASHBOARD_SERVICES=(admin-web tracker-web)
@ -726,6 +736,7 @@ BACKEND_SERVICES=(
WEB_SERVICES=(
lysnrai-dashboard chronomind-web jarvisjr-web flowmonk-web notelett-web
mindlyst-web nomgap-web actiontrail-web localmemgpt-web
llmlab-dashboard
)
setup_compose_env() {
@ -762,7 +773,7 @@ build_one_service() {
}
phase7_deploy() {
log "Phase 7: Deploying ecosystem (per-service build + fallback)..."
log "Phase 7: Deploying 31-service ecosystem (per-service build + fallback)..."
# Free RAM: stop Ollama during Docker builds (Phase 1 will restart it, or we do at end)
if systemctl is-active --quiet ollama 2>/dev/null; then
@ -943,6 +954,7 @@ check "mindlyst-web" "http://localhost:3050"
check "nomgap-web" "http://localhost:3055"
check "actiontrail-web" "http://localhost:3060"
check "localmemgpt-web" "http://localhost:3070"
check "llmlab-dashboard" "http://localhost:3075"
echo ""
HEALTH
chmod +x "${INSTALL_DIR}/check-health.sh"
@ -1049,7 +1061,7 @@ main() {
echo ""
echo "╔═══════════════════════════════════════════════════════════════╗"
echo "║ ByteLyst Single-VM Deployment (raw Ubuntu) ║"
echo "║ 30 services · 10 products · Ollama · Gitea · 1 VM ║"
echo "║ 31 services · 11 products · Ollama · Gitea · 1 VM ║"
echo "╚═══════════════════════════════════════════════════════════════╝"
echo ""
log "Log file: ${INSTALL_DIR}/setup.log"