Port Assignments

Network port coordination for all AI Platform services

All AI Platform services use ports in the 5000-5999 range to avoid conflicts and enable Fritz!Box forwarding.

ImportantAuthoritative Source

The canonical source of truth for port assignments is ~/.cursor/rules/ai-ports.mdc. This page mirrors that file for reference.

Core Infrastructure (5000-5099)

Service Port Description
ai-platform-router 5001 Central URL router (ngrok target)
ai-platform-docs 5050 This documentation hub

Document Processing (5100-5199)

Service Port Description
ai-viewer 5100 PDF/Document viewer
inqua-reports 5101 INQUA Reports static site
ai-scholar 5110 OCR and analysis
ai-query 5113 Query library API and widget (lab SPA deprecated)
famulus-notebook 5118 Famulus Notebook: queries, goldens, learning, peer API
famulus-reference 5135 Famulus Reference MCP (streamable HTTP /mcp) and harvest routes /oai, /jsonld, /iiif, /peers; mac-studio
ai-pdfscholar 5120 Processing pipeline

PDAI Scientific Works (5103-5119)

Service Port Description
euler-opera 5103 Euler Opera Omnia (E1-E866)
kepler-gw 5104 Kepler Gesammelte Werke (KGW-01 to KGW-22)
copernicus 5105 Copernicus primary/secondary sources
waefler 5106 Waefler-Hamidi Archive
bernoulli 5107 Bernoulli Edition (reserved)
neugebauer 5108 Neugebauer Archive (reserved)

Voice & Audio (5200-5299)

Service Port Description
ai-voicememo (Web) 5200 Web Dashboard (ai-meeting.cooltool.io)
ai-voicememo (Docs) 5201 Documentation & Reports Site
ai-voicememo (API) 5210 Legacy API
ai-dictation 5220 QMD dictation
ai-audio 5230 Transcription library (no server)

VoiceMemo Dedicated Instances (5240-5249)

Independent server processes per project, routed via ai-meeting.cooltool.io/{option}. Configuration: ai-voicememo/voicememo-instances.yml

Instance Port Project Auth URL Path
grasshoff 5240 All projects UID /grasshoff
openscience 5241 openscience Public /openscience
inqua 5242 inqua Public /inqua
deutsches-museum 5243 deutsches_museum Public /deutsches-museum
research 5244 research Public /research
repository 5245 repository Public /repository
azteken 5246 azteken Public /azteken
topoi 5247 topoi Public /topoi
personal 5248 personal UID /personal
reserved 5249 — — —
NoteRouting Policy

The primary routing goes through the main server on port 5200, which handles /{project_id} paths natively. Dedicated instances on 5240-5249 provide process isolation, custom auth, and independent start/stop. Public project URLs (e.g. ai-meeting.cooltool.io/openscience) route to the main server (5200). Private instances (grasshoff, personal) require UID-based authentication.

Correspondence & Mail (5300-5399)

Service Port Description
ai-korrespondenz 5300 Correspondence management
ai-korrespondenz (Docs) 5301 Documentation site
ai-mail 5310 Mail processing

Text Processing (5400-5499)

Service Port Description
ai-lector 5400 Text editing
ai-translation 5410 Translation

Events & Reporting (5500-5599)

Service Port Description
ai-eventjournal 5500 Event service
ai-reporter 5510 Report generation
ai-agenda 5520 Agenda management

Apple Integration (5600-5699)

Service Port Description
ai-apple (Main) 5600 Main Apple service
ai-apple (Catalog) 5610 Catalog server
ai-apple (Memo) 5620 Memo server
apple-notes 5630 Notes sync

Photography & Media (5700-5799)

Service Port Description
ai-foto 5700 Photo management
ai-scanner 5710 Scanning library (no server)
sundials 5720 Ancient Sundials BSDP catalog
karman 5725 Von Kármán Archive (4,217 folders)

Cluster & Infrastructure (5800-5899)

Service Port Description
ai-cluster (API) 5800 Cluster API
ai-cluster (Manager) 5810 Manager
ai-cluster (Satellite) 5820 Satellite nodes
ai-cluster (Dashboard) 5830 Dashboard
ai-cluster (Flower) 5840 Celery monitor
ai-cluster (Orchestrator) 5850 Orchestrator

Information Management (5900-5999)

Service Port Description
info-manager 5900 Information dashboard
ai-chroma 5910 Vector store

Exceptions (Outside 5000-5999)

These services use legacy ports and are exempt from the standard range:

Service Port Reason
inqua-ai-studio 8080 Legacy INQUA system
redis 6379 Standard Redis port
firma-finanzen 1500 OpenScienceTechnology finance dashboard
info-manager 2001 Legacy information manager
sundial-animator 2200 Sundial shadow animator
code-server 8090 VS Code Server; HTTPS via Tailscale Serve :8443

Deprecated Ports

Do not use these ports - they were previously assigned but are now deprecated:

  • 8000, 8001, 9112, 9500, 9501

Services Without Web Servers

These projects are libraries or utilities without active web servers:

  • ai-audio: Audio transcription library
  • ai-core: Core shared library
  • ai-instruction: Instruction templates library
  • ai-ocr: OCR processing library
  • ai-pdai: PDAI processing library
  • ai-platform: Platform infrastructure
  • ai-reporter: Report generation library
  • ai-repository: Repository management library
  • ai-scanner: Document scanning library
  • ai-schriftsetzer: Typesetting library
  • ai-symphony: Orchestration library
  • ai-task: Task management library
  • ai-translation: Translation library (no server, library only)

Port Migration Status

WarningServices Requiring Updates

The following services are currently using incorrect ports and need to be updated:

  • ⚠️ ai-mail: Currently uses 5500 (CONFLICT with ai-eventjournal) - MUST migrate to assigned port 5310
  • ⚠️ ai-lector: Currently uses 8000 (deprecated) - MUST migrate to assigned port 5400
  • ⚠️ ai-apple: Currently uses 8080/8081/5555 - MUST migrate to assigned ports 5600/5610/5620

Service Registry

TipCentral Registry

The canonical service registry with full metadata is available at:

ai-platform/projects/registry.json

This JSON file provides: - Complete port assignments - Server types (FastAPI, Quarto, etc.) - Status (active, development, library) - URLs (local, network, public) - Category classification

Services should read from this registry with fallback to hardcoded defaults. See ai-voicememo/web/server.py for a reference implementation of the port detection pattern.

Adding a New Service

  1. Check this table for the next available port in the appropriate category
  2. Update ~/.cursor/rules/ai-ports.mdc with the new assignment
  3. Update this documentation page
  4. Configure your service to use the assigned port

Fritz!Box Configuration

To expose a service externally:

  1. Log into Fritz!Box at fritz.box
  2. Navigate to Internet → Freigaben → Portfreigaben
  3. Add a new port forwarding rule:
    • Protocol: TCP
    • External port: Same as internal
    • Internal port: Your service port
    • Device: mac-studio (or appropriate machine)