Files
lcbp3/specs/100-Infrastructures/141-server-consolidation/contracts/docker-compose.new-host.yml.md
T
admin a80ebef285
CI / CD Pipeline / build (push) Successful in 7m37s
CI / CD Pipeline / deploy (push) Failing after 20m15s
refactor(ai): OCR sidecar canonical naming cleanup — typhoon→np-dms, remove hardcoded keys, asyncio.to_thread, ADR-040/041
2026-06-20 16:37:04 +07:00

3.0 KiB

Docker Compose Contract: New Host

Branch: 141-server-consolidation | Date: 2026-06-20

This contract defines the service topology for the consolidated single-host deployment. The actual docker-compose.new-host.yml will be created at: specs/04-Infrastructure-OPS/04-00-docker-compose/New-Host/docker-compose.new-host.yml

Service Topology

Service Image Networks LAN Ports Internal Port Memory Limit Depends On
ollama ollama/ollama:latest dms-internal none 11434 2G (host)
ocr-sidecar build (local) dms-internal none 8765 1G ollama
backend lcbp3-backend:latest dms-internal, dms-frontend 3001→3000 3000 2G ollama, ocr-sidecar, redis, mariadb, elasticsearch, qdrant, clamav
frontend lcbp3-frontend:latest dms-frontend 3000 3000 1G backend
redis redis:7-alpine dms-internal none 6379 1G
mariadb mariadb:11.8 dms-internal none 3306 8G
elasticsearch elasticsearch:8.11.1 dms-internal none 9200 4G
qdrant qdrant/qdrant:v1.16.1 dms-internal none 6333 1G
clamav clamav/clamav:1.4.4 dms-internal none 3310 2G
ollama-metrics ghcr.io/norskhelsenett/ollama-metrics:latest dms-internal 9924 9924 256M ollama

Network Topology

dms-internal (bridge, no LAN access)
  ├── ollama:11434
  ├── ocr-sidecar:8765
  ├── backend:3000 (also on dms-frontend)
  ├── redis:6379
  ├── mariadb:3306
  ├── elasticsearch:9200
  ├── qdrant:6333
  ├── clamav:3310
  └── ollama-metrics:9924

dms-frontend (bridge, LAN published)
  ├── frontend:3000 → LAN:3000
  ├── backend:3000 → LAN:3001 (NPM routes backend.np-dms.work → :3001)
  └── ollama-metrics:9924 → LAN:9924 (Prometheus scrape target)

Environment Variables (New)

Variable Default Description
ASUSTOR_USER (required) CIFS share username
ASUSTOR_PASS (required) CIFS share password
NEW_HOST_IP (required) New host LAN IP for CI/CD deploy target

Environment Variables (Changed from QNAP)

Variable Old Value (QNAP) New Value (New Host)
DB_HOST mariadb mariadb (unchanged — Docker DNS)
REDIS_HOST cache redis (service name change)
ELASTICSEARCH_HOST search elasticsearch (service name change)
QDRANT_HOST qdrant qdrant (unchanged)
OCR_API_URL http://192.168.10.100:8765 http://ocr-sidecar:8765
OLLAMA_API_URL http://192.168.10.100:11434 http://ollama:11434
CLAMAV_HOST clamav clamav (unchanged)

Removed Environment Variables

Variable Reason
OCR_SIDECAR_API_KEY ADR-040 D5 — network-only auth, no API key needed
OCR_SIDECAR_UPLOAD_BASE Still needed but value changes to /mnt/uploads (same)