05 · Deployment
Three ways to run Cognithor in production — local, Docker, or systemd.
Prerequisites
- Completed: 01 · First Crew
Time: 5 minutes End state: You know the three deployment paths and can pick the right one.
1. Local development
Default mode — CLI + REST API + Flutter Command Center on localhost:
cognithor
# → starts CLI + local API on http://localhost:8741
Useful flags:
cognithor --api-port 9000 # alternative port
cognithor --no-cli # headless: API only, no interactive shell
cognithor --log-level DEBUG # verbose logging
cognithor --lite # minimal startup (no optional deps)
cognithor --config /path/to/config.yaml # custom config
2. Docker Compose
Production-capable setup with Ollama + Redis + Cognithor in one network:
git clone https://github.com/Alex8791-cyber/cognithor.git
cd cognithor
cp .env.example .env
# edit .env — COGNITHOR_API_PORT=8741, etc.
docker compose up -d
docker compose logs -f cognithor
Ports:
8741— Cognithor REST API11434— Ollama6379— Redis (optional, for distributed locks)
Volumes:
./data/→/home/cognithor/.cognithor/(persistent memory, vault, audit chain)
3. systemd (Linux server)
Create /etc/systemd/system/cognithor.service:
[Unit]
Description=Cognithor Agent OS
After=network-online.target ollama.service
Wants=ollama.service
[Service]
Type=simple
User=cognithor
Group=cognithor
Environment="COGNITHOR_API_PORT=8741"
Environment="OLLAMA_HOST=http://127.0.0.1:11434"
ExecStart=/usr/local/bin/cognithor --no-cli
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Enable:
sudo systemctl daemon-reload
sudo systemctl enable --now cognithor.service
sudo systemctl status cognithor
sudo journalctl -u cognithor -f
4. Configuration via env vars
Every key in config.yaml is also settable as a COGNITHOR_* env var. Cascade (highest priority first):
COGNITHOR_*env varsconfig.yamlfrom--configor~/.cognithor/config.yaml- Package defaults
Examples:
export COGNITHOR_API_PORT=9000
export COGNITHOR_LLM_PROVIDER=ollama
export COGNITHOR_MODEL_PLANNER=qwen3:32b
export COGNITHOR_MODEL_EXECUTOR=qwen3:8b
5. Health-check endpoints
For load balancers / orchestrators:
curl http://localhost:8741/health
# → {"status":"ok","version":"0.93.0","uptime_s":1234}
curl http://localhost:8741/metrics
# → Prometheus format
6. Pre-production security checklist
-
COGNITHOR_API_PORTbound only locally, or behind a reverse proxy (TLS!) - Credential-vault key (
~/.cognithor/vault.key) backed up separately - Gatekeeper policy at ORANGE by default — whitelist explicitly, don't open
- Event bus / audit log regularly exported (SHA-256 chain)
- Ollama not exposed publicly (default:
127.0.0.1:11434)
Next: 06 · Next Steps