Product Ports
Every Anar product exposes a backend API and a dashboard frontend on separate ports.
| Product | Backend Port | Dashboard Port | Backend URL | Dashboard URL |
|---|---|---|---|---|
| Gateway | 8080 | 3080 | http://localhost:8080 | http://localhost:3080 |
| Chat | 8001 | 3001 | http://localhost:8001 | http://localhost:3001 |
| Guard | 8002 | 3002 | http://localhost:8002 | http://localhost:3002 |
| Voice | 8003 | 3003 | http://localhost:8003 | http://localhost:3003 |
| Comply | 8004 | 3004 | http://localhost:8004 | http://localhost:3004 |
| Agents | 8005 | 3005 | http://localhost:8005 | http://localhost:3005 |
| Eval | 8007 | 3007 | http://localhost:8007 | http://localhost:3007 |
| Docs AI | 8008 | 3008 | http://localhost:8008 | http://localhost:3008 |
| Flow | 8009 | 3009 | http://localhost:8009 | http://localhost:3009 |
| Insights | 8010 | 3011 | http://localhost:8010 | http://localhost:3011 |
| Present | 8011 | 3014 | http://localhost:8011 | http://localhost:3014 |
| Translate | 8012 | 3012 | http://localhost:8012 | http://localhost:3012 |
| Minutes | 8013 | 3013 | http://localhost:8013 | http://localhost:3013 |
| Procure | 8014 | 3015 | http://localhost:8014 | http://localhost:3015 |
Infrastructure Ports
These services are available when running with docker compose --profile infra:
| Service | Port | Protocol | URL |
|---|---|---|---|
| OTel Collector | 4317 | gRPC | grpc://localhost:4317 |
| OTel Collector | 4318 | HTTP | http://localhost:4318 |
| OTel Collector Metrics | 8889 | HTTP | http://localhost:8889/metrics |
| Grafana | 3100 | HTTP | http://localhost:3100 |
| Langfuse | 3010 | HTTP | http://localhost:3010 |
Grafana Port
Grafana runs on port 3100 (mapped from its default 3000) to avoid conflicts with the corporate website on port 3000.
Support Services
| Service | Port | Access | Notes |
|---|---|---|---|
| Website | 3000 | http://localhost:3000 | Corporate site |
| ChromaDB | 8000 (internal) | Not exposed externally | Vector store for Chat |
| Chat PostgreSQL | 5432 (internal) | Not exposed externally | Chat database |
| Guard PostgreSQL | 5432 (internal) | Not exposed externally | Guard database |
| Voice PostgreSQL | 5432 (internal) | Not exposed externally | Voice database |
| Langfuse PostgreSQL | 5432 (internal) | Not exposed externally | Langfuse database |
| Tempo | internal | Not exposed externally | Trace storage (accessed via Grafana) |
| Loki | internal | Not exposed externally | Log storage (accessed via Grafana) |
| Prometheus | internal | Not exposed externally | Metrics storage (accessed via Grafana) |
Internal Container Ports
Inside the Docker network, containers listen on different ports than what is mapped externally. This table shows the internal port each container listens on:
| Service | Internal Port | External Mapping |
|---|---|---|
| Gateway | 8080 | 8080:8080 |
| Chat Backend | 8000 | 8001:8000 |
| Guard Backend | 8000 | 8002:8000 |
| Voice Backend | 8000 | 8003:8000 |
| Agents Backend | 8005 | 8004:8005 |
| Comply Backend | 8004 | 8005:8004 |
| Eval Backend | 8000 | 8007:8000 |
| Docs Backend | 8000 | 8008:8000 |
| Flow Backend | 8009 | 8009:8009 |
| Insights Backend | 8000 | 8010:8000 |
| Present Backend | 8000 | 8011:8000 |
| Translate Backend | 8000 | 8012:8000 |
| Minutes Backend | 8000 | 8013:8000 |
| Procure Backend | 8000 | 8014:8000 |
| All Dashboards | 3000 | varies |
Port Ranges
| Range | Purpose |
|---|---|
| 3000-3015 | Frontend dashboards and web UIs |
| 4317-4318 | OpenTelemetry Collector (gRPC and HTTP) |
| 8000-8014 | Backend APIs |
| 8889 | Prometheus metrics scrape endpoint |
Service Discovery (Docker Network)
Within the anar-network Docker network, services reference each other by container name:
# From any container in the network:
http://gateway:8080 # Gateway
http://chat-backend:8000 # Chat (note: internal port 8000, not external 8001)
http://guard-backend:8000 # Guard
http://voice-backend:8000 # Voice
http://docs-backend:8000 # Docs
http://otel-collector:4318 # OTel Collector
Internal vs External Ports
When configuring service-to-service URLs inside Docker Compose, use the internal container port (typically 8000), not the externally mapped port. For example, set CHAT_URL=http://chat-backend:8001 for service calls within the Docker network, or CHAT_URL=http://chat-backend:8000 if the backend container listens on 8000 internally.