Files
docker-compose/komodo/docker-compose.yml
Preston Hunter b0348d9d08 feat(compose): Add comprehensive compose.env for Docker Compose
Introduces `komodo/compose.env` to provide a centralized and comprehensive set of environment variables for configuring Komodo Core and Periphery services. This file simplifies Docker Compose deployments by offering pre-defined variables for database, security, monitoring, authentication (local, OIDC, OAuth), and AWS integrations, complete with inline documentation and links to full variable lists.
2025-11-11 21:51:09 -05:00

86 lines
2.7 KiB
YAML

################################
# 🦎 KOMODO COMPOSE - MONGO 🦎 #
################################
## This compose file will deploy:
## 1. MongoDB
## 2. Komodo Core
## 3. Komodo Periphery
services:
mongo:
image: mongo
container_name: mongo
labels:
komodo.skip: # Prevent Komodo from stopping with StopAllContainers
command: --quiet --wiredTigerCacheSizeGB 0.25
env_file: ./compose.env
restart: unless-stopped
# ports:
# - 27017:27017
volumes:
- /mnt/docker/home/komodo/data/db/data:/data/db
- /mnt/docker/home/komodo/data/db/config:/data/configdb
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: AA103626bb!
networks:
- komodo-backend
core:
container_name: komodo-core
image: ghcr.io/moghtech/komodo-core:${COMPOSE_KOMODO_IMAGE_TAG:-latest}
labels:
komodo.skip: # Prevent Komodo from stopping with StopAllContainers
restart: unless-stopped
depends_on:
- mongo
#ports:
# - 9120:9120
env_file: compose.env
networks:
- komodo-backend
- pangolin-home
environment:
KOMODO_DATABASE_ADDRESS: mongo:27017
KOMODO_DATABASE_USERNAME: admin
KOMODO_DATABASE_PASSWORD: AA103626bb!
volumes:
## Core cache for repos for latest commit hash / contents
- /mnt/docker/home/komodo/data/repo-cache/data:/repo-cache
## Store sync files on server
# - /path/to/syncs:/syncs
## Optionally mount a custom core.config.toml
# - /path/to/core.config.toml:/config/config.toml
## Allows for systemd Periphery connection at
## "http://host.docker.internal:8120"
# extra_hosts:
# - host.docker.internal:host-gateway
## Deploy Periphery container using this block,
## or deploy the Periphery binary with systemd using
## https://github.com/moghtech/komodo/tree/main/scripts
periphery:
container_name: periphery
image: ghcr.io/moghtech/komodo-periphery:${COMPOSE_KOMODO_IMAGE_TAG:-latest}
labels:
komodo.skip: # Prevent Komodo from stopping with StopAllContainers
restart: unless-stopped
env_file: compose.env
networks:
- komodo-backend
volumes:
## Mount external docker socket
- /var/run/docker.sock:/var/run/docker.sock
## Allow Periphery to see processes outside of container
- /proc:/proc
## Specify the Periphery agent root directory.
## Must be the same inside and outside the container,
## or docker will get confused. See https://github.com/moghtech/komodo/discussions/180.
## Default: /etc/komodo.
- ${PERIPHERY_ROOT_DIRECTORY:-/etc/komodo}:${PERIPHERY_ROOT_DIRECTORY:-/etc/komodo}
networks:
komodo-backend:
driver: overlay
pangolin-home:
external: true