feat(devops): add efforise to single-vm ecosystem
This commit is contained in:
parent
80e6268924
commit
1b7a68c8a8
@ -24,8 +24,8 @@
|
|||||||
# localmemgpt 4019, efforise 4020
|
# localmemgpt 4019, efforise 4020
|
||||||
# Product webs: chronomind 3030, jarvisjr 3035, flowmonk 3040,
|
# Product webs: chronomind 3030, jarvisjr 3035, flowmonk 3040,
|
||||||
# notelett 3045, mindlyst 3050, nomgap 3055,
|
# notelett 3045, mindlyst 3050, nomgap 3055,
|
||||||
# actiontrail 3060, localmemgpt 3070, efforise 3080,
|
# actiontrail 3060, localmemgpt 3070, lysnrai 3002,
|
||||||
# lysnrai 3002
|
# efforise 3080
|
||||||
|
|
||||||
# Product Dockerfiles require BuildKit secrets for Gitea npm registry access.
|
# Product Dockerfiles require BuildKit secrets for Gitea npm registry access.
|
||||||
# GITEA_NPM_HOST defaults to host.docker.internal (Mac local dev).
|
# GITEA_NPM_HOST defaults to host.docker.internal (Mac local dev).
|
||||||
@ -779,6 +779,23 @@ services:
|
|||||||
retries: 3
|
retries: 3
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
efforise-web:
|
||||||
|
build:
|
||||||
|
<<: *product-build
|
||||||
|
context: ../learning_ai_efforise
|
||||||
|
dockerfile: client/Dockerfile
|
||||||
|
ports:
|
||||||
|
- '3080:3080'
|
||||||
|
depends_on:
|
||||||
|
efforise-backend:
|
||||||
|
condition: service_healthy
|
||||||
|
healthcheck:
|
||||||
|
test: ['CMD', 'wget', '-q', '--spider', 'http://127.0.0.1:3080']
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
# ── Local LLM Lab (no backend — dashboard talks directly to Ollama) ──
|
# ── Local LLM Lab (no backend — dashboard talks directly to Ollama) ──
|
||||||
|
|
||||||
llmlab-dashboard:
|
llmlab-dashboard:
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
# ByteLyst Single-VM Bootstrap Script
|
# ByteLyst Single-VM Bootstrap Script
|
||||||
# ═══════════════════════════════════════════════════════════════════════
|
# ═══════════════════════════════════════════════════════════════════════
|
||||||
# Deploys the ENTIRE ByteLyst ecosystem on a **raw** Ubuntu Azure VM.
|
# 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
|
# 33 services: 6 infra + 3 platform + 2 dashboards + 11 backends + 10 webs + 1 standalone
|
||||||
# Installs ALL dependencies from scratch — nothing pre-installed required.
|
# Installs ALL dependencies from scratch — nothing pre-installed required.
|
||||||
#
|
#
|
||||||
# What gets installed:
|
# What gets installed:
|
||||||
@ -12,9 +12,9 @@
|
|||||||
# - Gitea (Docker container — npm package registry + CI on :3300)
|
# - Gitea (Docker container — npm package registry + CI on :3300)
|
||||||
# - act_runner (Gitea CI runner — systemd service, host mode)
|
# - act_runner (Gitea CI runner — systemd service, host mode)
|
||||||
# - Ollama (local LLM inference for LocalMemGPT on :11434)
|
# - Ollama (local LLM inference for LocalMemGPT on :11434)
|
||||||
# - All 12 ByteLyst repos (cloned from GitHub)
|
# - All 13 ByteLyst repos (cloned from GitHub)
|
||||||
# - All @bytelyst/* packages (built + published to Gitea)
|
# - All @bytelyst/* packages (built + published to Gitea)
|
||||||
# - Full 31-service ecosystem (via docker-compose.ecosystem.yml)
|
# - Full 33-service ecosystem (via docker-compose.ecosystem.yml)
|
||||||
#
|
#
|
||||||
# Usage: sudo ./setup.sh [OPTIONS]
|
# Usage: sudo ./setup.sh [OPTIONS]
|
||||||
#
|
#
|
||||||
@ -30,12 +30,12 @@
|
|||||||
# Phases:
|
# Phases:
|
||||||
# 1 System dependencies (Docker, Node, pnpm, Ollama)
|
# 1 System dependencies (Docker, Node, pnpm, Ollama)
|
||||||
# 2 Gitea npm registry + CI runner (container on :3300 + act_runner systemd)
|
# 2 Gitea npm registry + CI runner (container on :3300 + act_runner systemd)
|
||||||
# 3 Clone 12 repositories from GitHub + push to Gitea
|
# 3 Clone 13 repositories from GitHub + push to Gitea
|
||||||
# 4 Build all @bytelyst/* packages
|
# 4 Build all @bytelyst/* packages
|
||||||
# 5 Publish packages to Gitea npm registry
|
# 5 Publish packages to Gitea npm registry
|
||||||
# 6 Generate .env.ecosystem config
|
# 6 Generate .env.ecosystem config
|
||||||
# 7 Build + deploy 31 Docker services (per-service, with fallback)
|
# 7 Build + deploy 33 Docker services (per-service, with fallback)
|
||||||
# 8 Health check (31 endpoints)
|
# 8 Health check (33 endpoints)
|
||||||
#
|
#
|
||||||
# Examples:
|
# Examples:
|
||||||
# sudo ./setup.sh # Fresh install (all 8 phases)
|
# sudo ./setup.sh # Fresh install (all 8 phases)
|
||||||
@ -90,6 +90,7 @@ REPOS=(
|
|||||||
learning_ai_trails
|
learning_ai_trails
|
||||||
learning_ai_local_memory_gpt
|
learning_ai_local_memory_gpt
|
||||||
learning_ai_local_llms
|
learning_ai_local_llms
|
||||||
|
learning_ai_efforise
|
||||||
)
|
)
|
||||||
|
|
||||||
# ── Helpers ──────────────────────────────────────────────────────────
|
# ── Helpers ──────────────────────────────────────────────────────────
|
||||||
@ -820,18 +821,18 @@ ENV
|
|||||||
# ═══════════════════════════════════════════════════════════════════════
|
# ═══════════════════════════════════════════════════════════════════════
|
||||||
# PHASE 7: Deploy Ecosystem via Docker Compose
|
# PHASE 7: Deploy Ecosystem via Docker Compose
|
||||||
# ═══════════════════════════════════════════════════════════════════════
|
# ═══════════════════════════════════════════════════════════════════════
|
||||||
# All 31 compose services, grouped for ordered build + reporting.
|
# All 33 compose services, grouped for ordered build + reporting.
|
||||||
INFRA_SERVICES=(cosmos-emulator azurite mailpit loki grafana gateway)
|
INFRA_SERVICES=(cosmos-emulator azurite mailpit loki grafana gateway)
|
||||||
PLATFORM_SERVICES=(platform-service extraction-service mcp-server)
|
PLATFORM_SERVICES=(platform-service extraction-service mcp-server)
|
||||||
DASHBOARD_SERVICES=(admin-web tracker-web)
|
DASHBOARD_SERVICES=(admin-web tracker-web)
|
||||||
BACKEND_SERVICES=(
|
BACKEND_SERVICES=(
|
||||||
peakpulse-backend chronomind-backend jarvisjr-backend nomgap-backend
|
peakpulse-backend chronomind-backend jarvisjr-backend nomgap-backend
|
||||||
mindlyst-backend lysnrai-backend notelett-backend flowmonk-backend
|
mindlyst-backend lysnrai-backend notelett-backend flowmonk-backend
|
||||||
actiontrail-backend localmemgpt-backend
|
actiontrail-backend localmemgpt-backend efforise-backend
|
||||||
)
|
)
|
||||||
WEB_SERVICES=(
|
WEB_SERVICES=(
|
||||||
lysnrai-dashboard chronomind-web jarvisjr-web flowmonk-web notelett-web
|
lysnrai-dashboard chronomind-web jarvisjr-web flowmonk-web notelett-web
|
||||||
mindlyst-web nomgap-web actiontrail-web localmemgpt-web
|
mindlyst-web nomgap-web actiontrail-web localmemgpt-web efforise-web
|
||||||
llmlab-dashboard
|
llmlab-dashboard
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -869,7 +870,7 @@ build_one_service() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
phase7_deploy() {
|
phase7_deploy() {
|
||||||
log "Phase 7: Deploying 31-service ecosystem (per-service build + fallback)..."
|
log "Phase 7: Deploying 33-service ecosystem (per-service build + fallback)..."
|
||||||
|
|
||||||
# Free RAM: stop Ollama during Docker builds (Phase 1 will restart it, or we do at end)
|
# 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
|
if systemctl is-active --quiet ollama 2>/dev/null; then
|
||||||
@ -1038,6 +1039,7 @@ check "notelett" "http://localhost:4016/health"
|
|||||||
check "flowmonk" "http://localhost:4017/health"
|
check "flowmonk" "http://localhost:4017/health"
|
||||||
check "actiontrail" "http://localhost:4018/health"
|
check "actiontrail" "http://localhost:4018/health"
|
||||||
check "localmemgpt" "http://localhost:4019/health"
|
check "localmemgpt" "http://localhost:4019/health"
|
||||||
|
check "efforise" "http://localhost:4020/health"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "═══ Product Web Apps ═══"
|
echo "═══ Product Web Apps ═══"
|
||||||
@ -1050,6 +1052,7 @@ check "mindlyst-web" "http://localhost:3050"
|
|||||||
check "nomgap-web" "http://localhost:3055"
|
check "nomgap-web" "http://localhost:3055"
|
||||||
check "actiontrail-web" "http://localhost:3060"
|
check "actiontrail-web" "http://localhost:3060"
|
||||||
check "localmemgpt-web" "http://localhost:3070"
|
check "localmemgpt-web" "http://localhost:3070"
|
||||||
|
check "efforise-web" "http://localhost:3080"
|
||||||
check "llmlab-dashboard" "http://localhost:3075"
|
check "llmlab-dashboard" "http://localhost:3075"
|
||||||
echo ""
|
echo ""
|
||||||
HEALTH
|
HEALTH
|
||||||
@ -1162,7 +1165,7 @@ main() {
|
|||||||
echo ""
|
echo ""
|
||||||
echo "╔═══════════════════════════════════════════════════════════════╗"
|
echo "╔═══════════════════════════════════════════════════════════════╗"
|
||||||
echo "║ ByteLyst Single-VM Deployment (raw Ubuntu) ║"
|
echo "║ ByteLyst Single-VM Deployment (raw Ubuntu) ║"
|
||||||
echo "║ 31 services · 11 products · Ollama · Gitea · 1 VM ║"
|
echo "║ 33 services · 12 products · Ollama · Gitea · 1 VM ║"
|
||||||
echo "╚═══════════════════════════════════════════════════════════════╝"
|
echo "╚═══════════════════════════════════════════════════════════════╝"
|
||||||
echo ""
|
echo ""
|
||||||
log "Log file: ${INSTALL_DIR}/setup.log"
|
log "Log file: ${INSTALL_DIR}/setup.log"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user