Files
hermes-skills/skills/devops/ops-portal-and-collector/references/komodo-deployment.md
T

87 lines
2.2 KiB
Markdown

# 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>"
```