Files
ome-cockpit/docs/DEPLOYMENT.md
T
mo c2bb0465d0 Document full architecture, design, API, features, deployment, and security.
Adds diagrams and expands the ATC demo path so the cockpit is fully described in-repo.
2026-07-17 04:04:32 +02:00

3.0 KiB

Deployment

Lab hosts

Host Role Notes
atc-portal01 10.0.21.49 Runs cockpit + OpenManage AI containers Primary deploy target
cov-omeprod01 10.0.21.104 OME 4.7.0 HTTPS, lab admin account
atc-gpu-prod 10.0.10.106 vLLM :8000, GPU metrics :9110 Model llama3-70b-gptq
atc-mgt01 Forgejo :3001 Source of truth for git

Paths on portal

  • Cockpit: /home/lab/ome-cockpit (symlink/convention; compose here)
  • OpenManage AI: /home/lab/openmanage

Published ports

  • Cockpit UI/API: 3090 → 8090
  • OpenManage AI: 3080

Install / upgrade

cd /home/lab/ome-cockpit
cp .env.example .env   # first time
# edit secrets
docker compose up -d --build
docker compose ps
curl -sS http://127.0.0.1:3090/api/health

Dependency changes (e.g. asyncssh) require image rebuild.
UI/main.py edits apply via bind mounts; hard-refresh browsers (Ctrl+Shift+R). Index is served Cache-Control: no-store.


Environment reference

See .env.example. Critical keys:

Variable Purpose
OME_URL e.g. https://cov-omeprod01.dell-atc.lan
OME_USER / OME_PASSWORD API session
POLL_INTERVAL Seconds between OME polls
VLLM_URL e.g. http://10.0.10.106:8000/v1
VLLM_MODEL Default chat model id
VLLM_MAX_TOKENS Completion cap (lab ~700)
CHAT_SYSTEM_CHARS System prompt budget (~5500)
GPU_METRICS_URL e.g. http://10.0.10.106:9110
OPENWEBUI_URL Companion AI
OPENWEBUI_EMAIL / OPENWEBUI_PASSWORD Service login for model list + virtual models
COCKPIT_DATA SQLite directory (default /data)

Never commit .env.


Compose volumes

volumes:
  - ./ui:/ui:ro
  - ./api/main.py:/app/main.py:ro
  - ./data:/data

Health checks

curl -sS http://127.0.0.1:3090/api/health
curl -sS http://127.0.0.1:3090/api/fleet | python3 -c "import sys,json;d=json.load(sys.stdin);print(d['summary'])"
curl -sS http://127.0.0.1:3090/api/ssh/sessions
docker logs ome-cockpit --tail 100

Git workflow

Remote: http://atc-mgt01.dell-atc.lan:3001/mo/ome-cockpit.git

cd /home/lab/ome-cockpit
git status
# commit after reviewing diffs — never stage .env / data
git push origin main   # requires Forgejo credentials/token for user mo

Troubleshooting

Symptom Check
Empty topology Filters (Servers/iDRACs), OME creds, docker logs
Chat 400/502 Context size; vLLM up; try Reset chat / smaller history
SSH modal blank /vendor/xterm/xterm.min.js 200; hard refresh
SSH “not in fleet” Device has no management IP in snapshot
Inventory vanishes Should be fixed via soft refresh; hard reload if old JS cached
GPU empty Sidecar :9110, firewall from portal → GPU host

Backup

  • Code: Forgejo
  • Tickets: backup /home/lab/ome-cockpit/data/ops.db
  • Secrets: out-of-band password manager — not git