Ports Reference¶
Complete list of network ports mapped by hemlock-lab containers.
Port Map¶
| Port | Service | Container | Purpose |
|---|---|---|---|
| 8000 | ChromaDB | chromadb | Vector database API |
| 11434 | Ollama | host | LLM inference + embeddings |
| 8100 | langchain-rag | langchain-rag | LangChain RAG pipeline |
| 8101 | llamaindex-rag | llamaindex-rag | LlamaIndex RAG pipeline |
| 8102 | unstructured-rag | unstructured-rag | Unstructured RAG pipeline |
| 8103 | haystack-rag | haystack-rag | Haystack RAG pipeline |
| 8104 | colpali-rag | colpali-rag | ColPALI multimodal pipeline |
Port Assignment Convention¶
- 8000 — Infrastructure services start at well-known ports
- 11434 — Ollama's default port (runs on host, not in a container)
- 8100-8199 — Reserved for RAG pipeline services (sequential assignment)
When adding a new pipeline, use the next available port in the 8100 range.
Docker Port Mapping¶
All ports are mapped as host:container in docker-compose.yml:
Containers communicate internally via the hemlock-net Docker network using container names (e.g., chromadb:8000). Host port mappings are for external access and the test harness.
Lab environment only
hemlock-lab is designed for local development and isolated lab networks. Do not expose these ports to the internet or untrusted networks.
Checking Port Usage¶
# Check all services
for port in 8000 11434 8100 8101 8102 8103 8104; do
echo -n "Port ${port}: "
curl -sf --connect-timeout 2 "http://localhost:${port}/health" \
&& echo "UP" || echo "DOWN"
done
Next Steps¶
- Makefile Reference — All make targets
- Architecture — System overview
- Configuration — Environment variables and settings