fix: update FreeCAD MCP URL and ports for consistency and add new backend configurations in Titania
This commit is contained in:
104
docs/ouranos.md
104
docs/ouranos.md
@@ -32,15 +32,39 @@ All containers are named after moons of Uranus and resolved via the `.incus` DNS
|
||||
| **sycorax** | language_models | Arke LLM Proxy | ✔ |
|
||||
| **titania** | proxy_sso | HAProxy TLS termination + Casdoor SSO | ✔ |
|
||||
|
||||
### oberon — Container Orchestration
|
||||
### puck — Project Application Runtime
|
||||
|
||||
Shape-shifting trickster embodying Python's versatility.
|
||||
This is the host that runs Python projects in the Ouranos sandbox.
|
||||
It has an RDP server and is generally where application development happens.
|
||||
Each project has a number that is used to determine port numbers.
|
||||
|
||||
- Docker engine
|
||||
- JupyterLab (port 22071 via OAuth2-Proxy)
|
||||
- Gitea Runner (CI/CD agent)
|
||||
- Django Projects: Zelus (221), Angelia (222), Athena (224), Kairos (225), Icarlos (226), MCP Switchboard (227), Spelunker (228), Peitho (229), Mnemosyne (230)
|
||||
- FastAgent Projects: Pallas (240)
|
||||
- FastAPI Projects: Daedalus (200), Arke (201) Kernos (202), Stentor (203), Orpheus (204), Periplus (205), Nike (206)
|
||||
|
||||
### caliban — Agent Automation
|
||||
|
||||
Autonomous computer agent learning through environmental interaction.
|
||||
|
||||
- Docker engine
|
||||
- Agent S MCP Server (MATE desktop, AT-SPI automation)
|
||||
- Kernos MCP Shell Server (port 22062)
|
||||
- Rommie MCP Server (port 22061) — agent-to-agent GUI automation via Agent S
|
||||
- FreeCAD Robust MCP Server (port 22063) — CAD automation via FreeCAD XML-RPC
|
||||
- GPU passthrough
|
||||
- RDP access (port 25521)
|
||||
|
||||
### oberon — Container Orchestration & Dockerized Shared Services
|
||||
|
||||
King of the Fairies orchestrating containers and managing MCP infrastructure.
|
||||
|
||||
- Docker engine
|
||||
- MCP Switchboard (port 22785) — Django app routing MCP tool calls
|
||||
- MCP Switchboard (port 22781) — Django app routing MCP tool calls
|
||||
- RabbitMQ message queue
|
||||
- Open WebUI LLM interface (port 22088, PostgreSQL backend on Portia)
|
||||
- SearXNG privacy search (port 22083, behind OAuth2-Proxy)
|
||||
- smtp4dev SMTP test server (port 22025)
|
||||
|
||||
### portia — Relational Database
|
||||
@@ -58,15 +82,16 @@ Air spirit — ethereal, interconnected nature mirroring graph relationships.
|
||||
- HTTP API: port 25584
|
||||
- Bolt: port 25554
|
||||
|
||||
### puck — Application Runtime
|
||||
### miranda — MCP Docker Host
|
||||
|
||||
Shape-shifting trickster embodying Python's versatility.
|
||||
Curious bridge between worlds — hosting MCP server containers.
|
||||
|
||||
- Docker engine
|
||||
- JupyterLab (port 22071 via OAuth2-Proxy)
|
||||
- Gitea Runner (CI/CD agent)
|
||||
- Home Assistant (port 8123)
|
||||
- Django applications: Angelia (22281), Athena (22481), Kairos (22581), Icarlos (22681), Spelunker (22881), Peitho (22981)
|
||||
- Docker engine (API exposed on port 2375 for MCP Switchboard)
|
||||
- MCPO OpenAI-compatible MCP proxy 22071
|
||||
- Argos MCP Server — web search via SearXNG (port 22062)
|
||||
- Grafana MCP Server (port 22063)
|
||||
- Neo4j MCP Server (port 22064)
|
||||
- Gitea MCP Server (port 22065)
|
||||
|
||||
### prospero — Observability Stack
|
||||
|
||||
@@ -79,16 +104,18 @@ Master magician observing all events.
|
||||
- Loki log aggregation via Alloy (all hosts)
|
||||
- Grafana dashboard suite with Casdoor SSO integration
|
||||
|
||||
### miranda — MCP Docker Host
|
||||
### rosalind — Third Party Applications for testing and evaluation
|
||||
|
||||
Curious bridge between worlds — hosting MCP server containers.
|
||||
Witty and resourceful moon for PHP, Go, and Node.js runtimes.
|
||||
|
||||
- Docker engine (API exposed on port 2375 for MCP Switchboard)
|
||||
- MCPO OpenAI-compatible MCP proxy
|
||||
- Grafana MCP Server (port 25533)
|
||||
- Gitea MCP Server (port 25535)
|
||||
- Neo4j MCP Server
|
||||
- Argos MCP Server — web search via SearXNG (port 25534)
|
||||
- SearXNG privacy search (port 22083, behind OAuth2-Proxy)
|
||||
- Gitea self-hosted Git (port 22082, SSH on 22022)
|
||||
- LobeChat AI chat interface (port 22081)
|
||||
- Nextcloud file sharing and collaboration (port 22083)
|
||||
- AnythingLLM document AI workspace (port 22084)
|
||||
- Nextcloud data on dedicated Incus storage volume
|
||||
- Open WebUI LLM interface (port 22088, PostgreSQL backend on Portia
|
||||
- Home Assistant (port 8123)
|
||||
|
||||
### sycorax — Language Models
|
||||
|
||||
@@ -99,28 +126,6 @@ Original magical power wielding language magic.
|
||||
- Session management with Memcached
|
||||
- Database backend on Portia
|
||||
|
||||
### caliban — Agent Automation
|
||||
|
||||
Autonomous computer agent learning through environmental interaction.
|
||||
|
||||
- Docker engine
|
||||
- Agent S MCP Server (MATE desktop, AT-SPI automation)
|
||||
- Kernos MCP Shell Server (port 22021)
|
||||
- Rommie MCP Server (port 22031) — agent-to-agent GUI automation via Agent S
|
||||
- FreeCAD Robust MCP Server (port 22032) — CAD automation via FreeCAD XML-RPC
|
||||
- GPU passthrough for vision tasks
|
||||
- RDP access (port 25521)
|
||||
|
||||
### rosalind — Collaboration Services
|
||||
|
||||
Witty and resourceful moon for PHP, Go, and Node.js runtimes.
|
||||
|
||||
- Gitea self-hosted Git (port 22082, SSH on 22022)
|
||||
- LobeChat AI chat interface (port 22081)
|
||||
- Nextcloud file sharing and collaboration (port 22083)
|
||||
- AnythingLLM document AI workspace (port 22084)
|
||||
- Nextcloud data on dedicated Incus storage volume
|
||||
|
||||
### titania — Proxy & SSO Services
|
||||
|
||||
Queen of the Fairies managing access control and authentication.
|
||||
@@ -134,6 +139,21 @@ Queen of the Fairies managing access control and authentication.
|
||||
|
||||
---
|
||||
|
||||
## Port Numbering
|
||||
|
||||
Well-known ports running as a service may be used: Postgresql 5432, Prometheus Metrics 9100.
|
||||
|
||||
However inside a docker project, the number plan needs to be followed to avoid port conflicts and confusion:
|
||||
XXXYZ
|
||||
XXX Project Number or 220 for external project
|
||||
Y Service: 0 reserved, 1-4 flexible, 5 database, 6 MCP, 7 API, 8 Web App, 9 Prometheus metrics
|
||||
Z Instance: The running instance of this app on the same host, starting at 1. May also be used to handle exceptions.
|
||||
|
||||
255 Incus port forwarding: Ports in ths range are forwarded from the Incus host to Incus containers (defined in Terraform)
|
||||
|
||||
514ZZ is the syslog port. Docker containers send their syslog to an Alloy syslog collector port. ZZ is the application instance, they just need to be different on the same host and increment from 01.
|
||||
|
||||
|
||||
## External Access via HAProxy
|
||||
|
||||
Titania provides TLS termination and reverse proxy for all services.
|
||||
@@ -162,7 +182,7 @@ Titania provides TLS termination and reverse proxy for all services.
|
||||
| `kairos.ouranos.helu.ca` | puck.incus:22581 | Kairos (Django) |
|
||||
| `lobechat.ouranos.helu.ca` | rosalind.incus:22081 | LobeChat |
|
||||
| `loki.ouranos.helu.ca` | prospero.incus:443 (SSL) | Loki |
|
||||
| `mcp-switchboard.ouranos.helu.ca` | oberon.incus:22785 | MCP Switchboard |
|
||||
| `mcp-switchboard.ouranos.helu.ca` | oberon.incus:22781 | MCP Switchboard |
|
||||
| `nextcloud.ouranos.helu.ca` | rosalind.incus:22083 | Nextcloud |
|
||||
| `openwebui.ouranos.helu.ca` | oberon.incus:22088 | Open WebUI |
|
||||
| `peitho.ouranos.helu.ca` | puck.incus:22981 | Peitho (Django) |
|
||||
|
||||
Reference in New Issue
Block a user