Files
Arnout van Westen 03b1607e79 revert(infra): back to bridge networking, remove TNC dependency
Per request: TNC removed, all stacks back on default bridge with legacy
links for inter-container DNS (default bridge has no embedded DNS —
verified: nameserver passthrough to AdGuard). Kept: traefik router labels
(dnsweaver records), dawarich prod + SECRET_KEY_BASE, teslamate/bookorbit
hostport removals (service DNS now via links), komodo periphery as
separate project with 8120 hostport + server address change.
2026-10-05 10:15:39 +02:00

89 lines
3.6 KiB
YAML

# Komodo (mongo, core, MCP proxy) — moved off Unraid compose-manager into the
# repo so Renovate tracks it. Periphery deliberately lives OUTSIDE this stack
# (komodo-periphery/): the periphery executes deploys, and a compose child
# that recreates its own parent dies mid-deploy leaving orphaned containers
# (see moghtech/komodo discussion #223 — periphery must not be in the Core
# stack). komodo.skip labels prevent StopAllContainers from taking it down.
# Renovate bumps are NOT auto-deployed for this stack — update via host:
# cd /etc/komodo/repos/compose-files/komodo && docker compose up -d
# Exposed via atlas-traefik (LAN) + pangolin primary (internet) blueprint
# labels. .env lives next to this file (env_file for core).
name: komodo
services:
mongo:
image: mongo:9.0
container_name: komodo-mongo
command: --quiet --wiredTigerCacheSizeGB 0.25
restart: unless-stopped
network_mode: bridge
logging:
driver: ${COMPOSE_LOGGING_DRIVER:-local}
volumes:
- /mnt/user/appdata/komodo/mongo/db:/data/db
- /mnt/user/appdata/komodo/mongo/config:/data/configdb
environment:
MONGO_INITDB_ROOT_USERNAME: ${KOMODO_DB_USERNAME}
MONGO_INITDB_ROOT_PASSWORD: ${KOMODO_DB_PASSWORD}
labels:
komodo.skip: # Prevent Komodo from stopping with StopAllContainers
core:
image: ghcr.io/moghtech/komodo-core:${COMPOSE_KOMODO_IMAGE_TAG:-2}
container_name: komodo-core
restart: unless-stopped
init: true
network_mode: bridge
links:
- mongo
depends_on:
- mongo
logging:
driver: ${COMPOSE_LOGGING_DRIVER:-local}
ports:
- 9120:9120
env_file: ./.env
environment:
KOMODO_DATABASE_ADDRESS: mongo:27017
KOMODO_DATABASE_USERNAME: ${KOMODO_DB_USERNAME}
KOMODO_DATABASE_PASSWORD: ${KOMODO_DB_PASSWORD}
volumes:
## Core cache for repos for latest commit hash / contents
- /mnt/user/appdata/komodo/core/repos:/repo-cache
## v2 PKI keys
- /mnt/user/appdata/komodo/core/keys:/config/keys
labels:
- komodo.skip=true # Prevent Komodo from stopping with StopAllContainers
- traefik.enable=true
- traefik.http.routers.komodo.rule=Host(`komodo.arnoutvw.nl`)
- traefik.http.services.komodo.loadbalancer.server.port=9120
- pangolin.public-resources.komodo.name=Komodo
- pangolin.public-resources.komodo.full-domain=komodo.arnoutvw.nl
- pangolin.public-resources.komodo.protocol=http
- pangolin.public-resources.komodo.ssl=true
- pangolin.public-resources.komodo.targets[0].method=http
- pangolin.public-resources.komodo.targets[0].hostname=192.168.10.144
- pangolin.public-resources.komodo.targets[0].port=9120
- pangolin.public-resources.komodo.targets[0].healthcheck.hostname=192.168.10.144
- pangolin.public-resources.komodo.targets[0].healthcheck.port=9120
- pangolin.public-resources.komodo.targets[0].healthcheck.enabled=true
- pangolin.public-resources.komodo.auth.sso-enabled=false
# ssl defaults on. See gitea note: string-typed labels only.
komodo-mcp:
image: ghcr.io/myrikld/komodo-mcp:latest
container_name: komodo-mcp
init: true
network_mode: bridge
ports:
- "8333:8000"
environment:
- KOMODO_MCP_KOMODO_URL=https://komodo.arnoutvw.nl
- KOMODO_MCP_KOMODO_API_KEY=K-Bui3dtbn4ZEcO4Hv4keHpFRo1p5FI4GEePwVLn6J
- KOMODO_MCP_KOMODO_API_SECRET=S-NWNKyfgZEd6XvnpLxIlH21PJtwdOrb9ebKg9L7K5
restart: unless-stopped
labels:
- traefik.enable=true
- traefik.http.routers.komodomcp.rule=Host(`komodo-mcp.arnoutvw.nl`)
- traefik.http.services.komodomcp.loadbalancer.server.port=8000