# ByteLyst Endpoint Inventory

> Canonical endpoint inventory for local Docker Compose, the single Azure VM, and documented domain-based ingress.
> Use this file as the source of truth when Saravana needs the full list of backend URLs, website URLs, internal surfaces, and public gateway patterns.

---

## Scope

This document consolidates endpoint tracking that was previously split across:

- [`ECOSYSTEM_DEPLOYMENT.md`](./ECOSYSTEM_DEPLOYMENT.md)
- [`single_azure_vm/docker/README.md`](./single_azure_vm/docker/README.md)
- [`vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md`](./vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md)
- [`single_azure_vm/docker/SECURE_API_EXPOSURE.md`](./single_azure_vm/docker/SECURE_API_EXPOSURE.md)
- [`single_azure_vm/docker/Caddyfile.bytelyst.example`](./single_azure_vm/docker/Caddyfile.bytelyst.example)

Use the environment-specific sections below:

- `localhost` URLs: local Docker Compose development
- `http://<vm-ip>:<port>` URLs: direct Azure VM access and validation
- `https://...bytelyst.com` URLs: documented ingress and public-facing DNS patterns

---

## Deployment Rule

- Azure VM / Docker hosts backend services, shared infrastructure, internal dashboards, internal portals, and internal product web surfaces
- Vercel is reserved for clearly public-facing portal web surfaces
- `admin-web`, `tracker-web`, and similar operator-facing apps stay on the VM
- Product backend APIs should be consumed through the shared API gateway pattern instead of raw public VM ports

---

## Local Docker Compose Endpoints

These are the standard local URLs from the compose stack in [`ECOSYSTEM_DEPLOYMENT.md`](./ECOSYSTEM_DEPLOYMENT.md).

### Infrastructure

| Service              |  Port | URL                      |
| -------------------- | ----: | ------------------------ |
| Cosmos DB Emulator   |  8081 | `http://localhost:8081`  |
| Cosmos Data Explorer |  1234 | `http://localhost:1234`  |
| Azurite (Blob)       | 10000 | `http://localhost:10000` |
| Mailpit SMTP         |  1025 | none                     |
| Mailpit UI           |  8025 | `http://localhost:8025`  |
| Loki                 |  3100 | `http://localhost:3100`  |
| Grafana              |  3000 | `http://localhost:3000`  |
| Traefik Dashboard    |  8080 | `http://localhost:8080`  |

### Platform Services

| Service            | Port | Health URL                     |
| ------------------ | ---: | ------------------------------ |
| platform-service   | 4003 | `http://localhost:4003/health` |
| extraction-service | 4005 | `http://localhost:4005/health` |
| mcp-server         | 4007 | `http://localhost:4007/health` |

### Platform Dashboards

| Surface       | Port | URL                     | Audience |
| ------------- | ---: | ----------------------- | -------- |
| Admin Console | 3001 | `http://localhost:3001` | internal |
| Issue Tracker | 3003 | `http://localhost:3003` | internal |

### Product Backends

| Product     | Port | Health URL                     |
| ----------- | ---: | ------------------------------ |
| PeakPulse   | 4010 | `http://localhost:4010/health` |
| ChronoMind  | 4011 | `http://localhost:4011/health` |
| JarvisJr    | 4012 | `http://localhost:4012/health` |
| NomGap      | 4013 | `http://localhost:4013/health` |
| MindLyst    | 4014 | `http://localhost:4014/health` |
| LysnrAI     | 4015 | `http://localhost:4015/health` |
| NoteLett    | 4016 | `http://localhost:4016/health` |
| FlowMonk    | 4017 | `http://localhost:4017/health` |
| ActionTrail | 4018 | `http://localhost:4018/health` |
| LocalMemGPT | 4019 | `http://localhost:4019/health` |

### Product Web Apps

| Product           | Port | URL                     | Audience                       |
| ----------------- | ---: | ----------------------- | ------------------------------ |
| LysnrAI Dashboard | 3002 | `http://localhost:3002` | internal in VM plan            |
| ChronoMind        | 3030 | `http://localhost:3030` | internal in VM plan            |
| JarvisJr          | 3035 | `http://localhost:3035` | internal in VM plan            |
| FlowMonk          | 3040 | `http://localhost:3040` | internal in VM plan            |
| NoteLett          | 3045 | `http://localhost:3045` | internal in VM plan            |
| MindLyst          | 3050 | `http://localhost:3050` | internal in VM plan            |
| NomGap            | 3055 | `http://localhost:3055` | internal in VM plan            |
| ActionTrail       | 3060 | `http://localhost:3060` | internal in VM plan            |
| LocalMemGPT       | 3070 | `http://localhost:3070` | public-facing portal candidate |

---

## Azure VM Direct Endpoints

These are the direct VM URLs from [`single_azure_vm/docker/README.md`](./single_azure_vm/docker/README.md). Use them for deployment checks, direct access, and troubleshooting.

### Infrastructure

| Service              |  Port | URL                         |
| -------------------- | ----: | --------------------------- |
| Gitea (npm registry) |  3300 | `http://<vm-ip>:3300`       |
| Ollama (LLM API)     | 11434 | `http://<vm-ip>:11434`      |
| Cosmos Data Explorer |  1234 | `http://<vm-ip>:1234`       |
| Azurite (Blob)       | 10000 | `http://<vm-ip>:10000`      |
| Mailpit UI           |  8025 | `http://<vm-ip>:8025`       |
| Loki (Logs)          |  3100 | `http://<vm-ip>:3100/ready` |
| Grafana              |  3000 | `http://<vm-ip>:3000`       |
| Traefik Dashboard    |  8080 | `http://<vm-ip>:8080`       |

### Platform Services

| Service            | Port | Health URL                   |
| ------------------ | ---: | ---------------------------- |
| platform-service   | 4003 | `http://<vm-ip>:4003/health` |
| extraction-service | 4005 | `http://<vm-ip>:4005/health` |
| mcp-server         | 4007 | `http://<vm-ip>:4007/health` |

### Platform Dashboards

| Surface       | Port | URL                   | Audience |
| ------------- | ---: | --------------------- | -------- |
| Admin Console | 3001 | `http://<vm-ip>:3001` | internal |
| Issue Tracker | 3003 | `http://<vm-ip>:3003` | internal |

### Product Backends

| Product     | Port | Health URL                   |
| ----------- | ---: | ---------------------------- |
| PeakPulse   | 4010 | `http://<vm-ip>:4010/health` |
| ChronoMind  | 4011 | `http://<vm-ip>:4011/health` |
| JarvisJr    | 4012 | `http://<vm-ip>:4012/health` |
| NomGap      | 4013 | `http://<vm-ip>:4013/health` |
| MindLyst    | 4014 | `http://<vm-ip>:4014/health` |
| LysnrAI     | 4015 | `http://<vm-ip>:4015/health` |
| NoteLett    | 4016 | `http://<vm-ip>:4016/health` |
| FlowMonk    | 4017 | `http://<vm-ip>:4017/health` |
| ActionTrail | 4018 | `http://<vm-ip>:4018/health` |
| LocalMemGPT | 4019 | `http://<vm-ip>:4019/health` |

### VM-Hosted Web Surfaces

| Surface           | Port | URL                   | Audience |
| ----------------- | ---: | --------------------- | -------- |
| Admin Console     | 3001 | `http://<vm-ip>:3001` | internal |
| Issue Tracker     | 3003 | `http://<vm-ip>:3003` | internal |
| LysnrAI Dashboard | 3002 | `http://<vm-ip>:3002` | internal |
| ChronoMind        | 3030 | `http://<vm-ip>:3030` | internal |
| JarvisJr          | 3035 | `http://<vm-ip>:3035` | internal |
| FlowMonk          | 3040 | `http://<vm-ip>:3040` | internal |
| NoteLett          | 3045 | `http://<vm-ip>:3045` | internal |
| MindLyst          | 3050 | `http://<vm-ip>:3050` | internal |
| NomGap            | 3055 | `http://<vm-ip>:3055` | internal |
| ActionTrail       | 3060 | `http://<vm-ip>:3060` | internal |
| LLM Lab Dashboard | 3075 | `http://<vm-ip>:3075` | internal |
| Efforise          | 3080 | `http://<vm-ip>:3080` | internal |

---

## Domain-Based Ingress And Public URL Patterns

These are the documented DNS and ingress endpoints from:

- [`single_azure_vm/docker/Caddyfile.bytelyst.example`](./single_azure_vm/docker/Caddyfile.bytelyst.example)
- [`single_azure_vm/docker/SECURE_API_EXPOSURE.md`](./single_azure_vm/docker/SECURE_API_EXPOSURE.md)
- [`vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md`](./vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md)
- [`single_azure_vm/docker/DEPLOYMENT_STATUS_2026-03-29.md`](./single_azure_vm/docker/DEPLOYMENT_STATUS_2026-03-29.md)

### Shared API Gateway

| Route Prefix | Canonical URL Pattern                      | Backend Target      |
| ------------ | ------------------------------------------ | ------------------- |
| platform     | `https://api.bytelyst.com/platform/...`    | platform-service    |
| extraction   | `https://api.bytelyst.com/extraction/...`  | extraction-service  |
| mcp          | `https://api.bytelyst.com/mcp/...`         | mcp-server          |
| peakpulse    | `https://api.bytelyst.com/peakpulse/...`   | peakpulse-backend   |
| chronomind   | `https://api.bytelyst.com/chronomind/...`  | chronomind-backend  |
| jarvisjr     | `https://api.bytelyst.com/jarvisjr/...`    | jarvisjr-backend    |
| nomgap       | `https://api.bytelyst.com/nomgap/...`      | nomgap-backend      |
| mindlyst     | `https://api.bytelyst.com/mindlyst/...`    | mindlyst-backend    |
| lysnrai      | `https://api.bytelyst.com/lysnrai/...`     | lysnrai-backend     |
| notelett     | `https://api.bytelyst.com/notelett/...`    | notelett-backend    |
| flowmonk     | `https://api.bytelyst.com/flowmonk/...`    | flowmonk-backend    |
| actiontrail  | `https://api.bytelyst.com/actiontrail/...` | actiontrail-backend |
| localmemgpt  | `https://api.bytelyst.com/localmemgpt/...` | localmemgpt-backend |

### Documented Ingress Domains

| Domain                         | Target                 | Audience                           | Status In Docs             |
| ------------------------------ | ---------------------- | ---------------------------------- | -------------------------- |
| `https://api.bytelyst.com`     | shared API gateway     | app-facing / public API entrypoint | documented and recommended |
| `https://gitea.bytelyst.com`   | Gitea package registry | internal / build infrastructure    | documented                 |
| `https://admin.bytelyst.com`   | admin-web              | internal ops                       | documented                 |
| `https://tracker.bytelyst.com` | tracker-web            | internal ops                       | documented                 |
| `https://llmlab.bytelyst.com`  | llmlab-dashboard       | internal tooling                   | documented                 |
| `https://ollama.bytelyst.com`  | Ollama                 | internal tooling                   | documented                 |

### Public Vercel App Conventions

These are the documented public-facing portal candidates from [`vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md`](./vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md). The exact final custom domains for every portal are not yet the canonical part of the deployment docs, so track them as Vercel projects first.

| Vercel Project / App | Repo Path                                               |
| -------------------- | ------------------------------------------------------- |
| `lysnrai-portal`     | `learning_voice_ai_agent/user-dashboard-web`            |
| `chronomind-web`     | `learning_ai_clock/web`                                 |
| `jarvisjr-web`       | `learning_ai_jarvis_jr/web`                             |
| `nomgap-web`         | `learning_ai_fastgap/web`                               |
| `flowmonk-web`       | `learning_ai_flowmonk/web`                              |
| `notelett-web`       | `learning_ai_notes/web`                                 |
| `actiontrail-web`    | `learning_ai_trails/web`                                |
| `mindlyst-web`       | `learning_multimodal_memory_agents/mindlyst-native/web` |
| `localmemgpt-web`    | `learning_ai_local_memory_gpt/web`                      |
| `efforise-client`    | `learning_ai_efforise`                                  |
| `productivity-tools` | `learning_ai_productivity_web`                          |

### Canonical Runtime Environment Variables For Public Web Apps

| Env Var                   | Value Pattern                         | Notes                         |
| ------------------------- | ------------------------------------- | ----------------------------- |
| `PLATFORM_SERVICE_URL`    | `https://api.bytelyst.com/platform`   | canonical platform API base   |
| `EXTRACTION_SERVICE_URL`  | `https://api.bytelyst.com/extraction` | canonical extraction API base |
| `NEXT_PUBLIC_BACKEND_URL` | `https://api.bytelyst.com/<product>`  | product backend gateway base  |

---

## Which Document To Use

| Need                                                  | Use This Document                                                                                  |
| ----------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| Full endpoint list across all environments            | [`ENDPOINT_INVENTORY.md`](./ENDPOINT_INVENTORY.md)                                                 |
| Local compose ports and URLs                          | [`ECOSYSTEM_DEPLOYMENT.md`](./ECOSYSTEM_DEPLOYMENT.md)                                             |
| Single Azure VM deployed URLs                         | [`single_azure_vm/docker/README.md`](./single_azure_vm/docker/README.md)                           |
| Public gateway and DNS hardening model                | [`single_azure_vm/docker/SECURE_API_EXPOSURE.md`](./single_azure_vm/docker/SECURE_API_EXPOSURE.md) |
| Vercel project inventory and public web app targeting | [`vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md`](./vercel/ECOSYSTEM_WEB_APPS_INVENTORY.md)               |

---

## Maintenance Rule

When any service, port, ingress domain, or public app hosting target changes:

1. update this document first
2. update the environment-specific source doc
3. add the commit link in the relevant roadmap or deployment tracker if the change is implementation work
