# 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=<generated>
      - KOMODO_WEBHOOK_SECRET=<generated>
      - 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="<hostname>" \
  --onboarding-key="<key-from-core-ui>"
```
