# Komodo Deployment (July 2026) Komodo Core v2.2.0 deployed on Core (netcup RS 2000) for multi-host Docker management. ## Architecture - **Core** — Management server, installed as `/root/docker/komodo/` with docker-compose (MongoDB + Komodo Core) - **Periphery** — Agent installed on each managed host via `setup-periphery.py` script - **Port:** 9120 - **Domain:** https://komodo.itpropartner.com - **Default login:** admin / changeme ## Deployment Details ### docker-compose.yml (v2.2.0 env vars) ```yaml services: mongo: image: mongo restart: unless-stopped volumes: - ./data/mongo-data:/data/db networks: - komodo-net deploy: resources: limits: memory: 1G core: image: ghcr.io/moghtech/komodo-core:2 restart: unless-stopped ports: - 9120:9120 depends_on: - mongo volumes: - ./backups:/backups - ./keys:/config/keys environment: - KOMODO_DATABASE_ADDRESS=mongo:27017 - KOMODO_LOCAL_AUTH=true - KOMODO_INIT_ADMIN_USERNAME=admin - KOMODO_INIT_ADMIN_PASSWORD=changeme - KOMODO_FIRST_SERVER_NAME=core - KOMODO_PERIPHERY_PUBLIC_KEY=file:/config/keys/periphery.pub - KOMODO_HOST=https://komodo.itpropartner.com - KOMODO_JWT_SECRET= - KOMODO_WEBHOOK_SECRET= - PUID=0 - PGID=0 networks: - komodo-net deploy: resources: limits: memory: 512M networks: komodo-net: driver: bridge ``` ### Env Var Changes from v1.x to v2.x - `MONGO_CONNECTION_STRING` → `KOMODO_DATABASE_ADDRESS` - `KOMODO_SERVER_PORT` → removed (defaults to 9120) - `KOMODO_SERVER_HOST` → removed - Must add `KOMODO_LOCAL_AUTH=true` for built-in auth - Must add `KOMODO_INIT_ADMIN_USERNAME` and `KOMODO_INIT_ADMIN_PASSWORD` for first-run admin user - Must add `KOMODO_FIRST_SERVER_NAME=core` to auto-name the management server ### Caddy Config ``` komodo.itpropartner.com { reverse_proxy 127.0.0.1:9120 } ``` ### Adding a Periphery Agent ```bash curl -sSL https://raw.githubusercontent.com/moghtech/komodo/main/scripts/setup-periphery.py \ | python3 - \ --core-address="http://127.0.0.1:9120" \ --connect-as="" \ --onboarding-key="" ```