Service Port Map
Nach außen geht es nur durch einen
In diesem AI-Stack wird Host-Port 80/443 nur von plantpulse-proxy (nginx) belegt. Chat-UI, Admin-Konsole und alle APIs laufen über diesen Proxy.
Vor 2026-08 veröffentlichte AI Chat Web 80:8080 direkt. Jetzt wird es nicht freigegeben und läuft nur noch im Container (expose: 8080). Der Grund: einen zentralen Zugangspunkt für Firewall, Audit und TLS einrichten. Falls Sie ältere Dokumentation lesen und Port 80 des App-Containers suchen – schauen Sie stattdessen auf den Proxy.
Unterscheidung nach Hostnamen
Der Proxy liest den Host-Header und wählt das Backend aus. Deshalb müssen diese Hostnamen in DNS auf die Proxy-IP zeigen, um die einzelnen Services zu erreichen.
| Hostname | Backend | Was |
|---|---|---|
| alles andere (Standard) | copliot-web:8080 | AI Chat Web – Chat-UI |
admin.* | admin-web:80 | Admin-Konsole |
llm.* | litellm-proxy:4000 | LLM Gateway (OpenAI-kompatibel) |
rag.* | rag-api:7115 | RAG Search API |
timeseries.* | insight-api:8970 | Zeitreihen-Insight API |
parser.* | document-understanding-api:7120 | Document Parsing API |
vision.* | vision-api:7130 | Vision API |
Der Proxy hört auch auf 443, aber bei Deployments mit vorgelagertem Load Balancer oder Reverse Proxy wird TLS dort beendet und der Proxy erhält Plaintext. Wenn Sie Frontend-Termination ignorieren, entsteht eine Endlosschleife. Klären Sie zunächst, welche Architektur vorliegt.
Direkt auf dem LAN offen
Diese Ports werden auf dem Host freigegeben, nicht über den Proxy. Das sind 127.0.0.1 Bindungen auf allen Schnittstellen – sperren Sie sie mit der Firewall ab, wenn Sie außerhalb des Netzwerks sind.
| Port | Service | Warum offen |
|---|---|---|
| 80 / 443 | plantpulse-proxy | Einziger öffentlicher Zugang |
| 4000 | LiteLLM | Direkter LLM-Gateway-Zugriff (auch über llm.* erreichbar) |
| 7115 | RAG API | Für MCP-Clients (Claude Desktop etc.) |
| 8970 | TimeSeries Insight API | Für MCP-Clients |
| 9080 | Admin-Konsole (admin-web) | Für Operatoren; auch über admin.* erreichbar |
| 7474 | Neo4j Browser | Graph-DB Admin-UI |
| 7687 | Neo4j Bolt | Graph-DB Query-Protokoll |
Erscheinen nur mit Profil
Diese sind nicht im Standard-Start enthalten, erscheinen nur bei Aktivierung des entsprechenden Compose-Profils.
| Port | Service | Profil |
|---|---|---|
| 6006 | Arize Phoenix – Trace UI | observability |
| 5000 | Lokales Image Registry | registry |
| 5080 | Registry Admin UI | registry |
| 9090 | Alter Copilot Web | archived |
Es fiel 2026-07 aus dem Standard-Stack, kann aber mit observability-Profil wieder aktiviert werden. Es ist auch über Admin-Konsole über Proxy sichtbar. Langflow (7860) und Jupyter (3500), die im gleichen Update entfernt wurden, können nicht reaktiviert werden.
Nur intern (nicht freigegeben)
Diese sind nur innerhalb des Compose-Netzwerks unter ihren Servicenamen erreichbar. Wenn Sie von außen mit nc -z zugreifen, ist keine Antwort normal.
| Service | Interne Adresse | Rolle |
|---|---|---|
| AI Chat Web | copliot-web:8080 | Chat-UI (Standard-Backend des Proxys) |
| Admin-Konsole Backend | admin-api | Auth-Quelle. admin-web nginx leitet weiter |
| Document Parsing API | document-understanding-api:7120 | parser.*-Backend |
| Vision API | vision-api:7130 | vision.*-Backend |
| LightRAG | lightrag:9621 | RAG-Engine; Document Management WebUI (/webui) |
| Qdrant | qdrant:6333 | Vector DB |
| Docling | docling-serve:5001 | Document Conversion |
| vLLM (Generation) | vllm-llm:8000 | Lokale LLM-Inferenz |
| vLLM (Embeddings) | vllm-emb:8000 | Embeddings |
| vLLM (Reranker) | vllm-rerank:8000 | Reranking |
| TimeSeries Inference | timeseries-inference:8980 | Insight-Modell-Serving |
| DCGM Exporter | dcgm-exporter | GPU-Metriken |
plantpulse-mcp-server (50000) und plantpulse-ontology (8888) existieren nicht als eigenständige Services. MCP- und Ontologie-Tools werden über das einheitliche plattform-Server-Web MCP (/api/v5/mcp, api_key-Auth) bereitgestellt.
Vom Platform-Stack genutzt
PostgreSQL (5432) · Cassandra (9042) · Redis/Valkey (6379) · MinIO (9000/9001) werden vom AI-Stack nicht gestartet. Sie verwenden eine gemeinsame PlantPulse-Plattform-Installation. Firewall und Konten für diese Ports folgen der Sicherheitskonfiguration der Plattform.
Port-Status prüfen
Alle Services überprüfen
cd /home/kopens/plantpulse-ai/bin
./status.sh
health.sh prüft die Health-Endpoints jedes Services. Container laufen und echte Antworten sind nicht dasselbe – bei Fehlerbehebung nutzen Sie diese Variante.
Einzelnen Port prüfen
# 특정 포트 리스닝 확인
nc -z 127.0.0.1 <port> && echo "OK" || echo "DOWN"
# 포트 사용 프로세스 확인
ss -tlnp | grep <port>
Was die Firewall freigeben sollte
| Zielgruppe | Ports freigeben |
|---|---|
| Alle Benutzer | 80 / 443 (Proxy) |
| Operatoren (Intranet) | 9080 Admin-Konsole, 7474 Neo4j Browser |
| MCP-Clients (Intranet) | 7115 RAG, 8970 TimeSeries |
Alle anderen Ports brauchen auch im Intranet nicht freigegeben zu werden. Datenbank-Ports (5432 · 9042 · 6333 · 6379 · 7687 · 9000) dürfen unter keinen Umständen nach außen freigegeben werden.