services: komodo-core: image: ghcr.io/moghtech/komodo-core:2 container_name: komodo-core restart: always ports: - "9120:9120" environment: - KOMODO_DATABASE_USERNAME=${DB_ROOT_USER} - KOMODO_DATABASE_PASSWORD=${DB_ROOT_PASS} # Path updated to include the database name and the admin auth source - KOMODO_DATABASE_ADDRESS=${DB_VM_IP}:27017/komodo?authSource=admin - KOMODO_LOCAL_AUTH=true - KOMODO_INIT_ADMIN_USERNAME=${KOMODO_USER} - KOMODO_INIT_ADMIN_PASSWORD=${KOMODO_PASS} - KOMODO_HOST=https://core.corebot.ca volumes: - ./komodo:/config - /var/run/docker.sock:/var/run/docker.sock networks: - monitor-net caddy: image: caddy:latest container_name: caddy restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - ./legal:/usr/share/caddy/legal - caddy_data:/data - caddy_config:/config networks: - monitor-net komodo-periphery: image: ghcr.io/moghtech/komodo-periphery:2 container_name: komodo-periphery restart: always environment: # Use the service name so Docker DNS can find the Core container PERIPHERY_CORE_ADDRESS: http://komodo-core:9120 PERIPHERY_CONNECT_AS: Mystic-Master PERIPHERY_ONBOARDING_KEY: ${MYSTIC_ONBOARD_KEY} volumes: # This allows Komodo to manage the containers on THIS Cloud VM - /var/run/docker.sock:/var/run/docker.sock networks: - monitor-net depends_on: - komodo-core # --- Restoring your "Orphaned" Monitoring Stack --- mystic-home: image: nginx:alpine container_name: mystic-home restart: always volumes: - ./html:/usr/share/nginx/html:ro networks: - monitor-net prometheus: image: prom/prometheus:latest container_name: prometheus restart: always volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml - prometheus_data:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' networks: - monitor-net grafana: image: grafana/grafana:latest container_name: grafana restart: always environment: - GF_SERVER_ROOT_URL=https://grafana.bray.io ports: - "3001:3000" volumes: - grafana_data:/var/lib/grafana networks: - monitor-net node-exporter: image: prom/node-exporter:latest container_name: node-exporter restart: always networks: - monitor-net cadvisor: image: gcr.io/cadvisor/cadvisor:latest container_name: cadvisor restart: always volumes: - /:/rootfs:ro - /var/run:/var/run:ro - /sys:/sys:ro - /var/lib/docker/:/var/lib/docker:ro - /dev/disk/:/dev/disk:ro networks: - monitor-net networks: monitor-net: external: true volumes: caddy_data: caddy_config: grafana_data: prometheus_data: