###################### # ALL IN ONE COMPOSE # ###################### ## This compose file will bring up both Core and Periphery in containers. ## A "default" server pointing to the local Periphery will be waiting in the UI on first startup. services: komodo-core: image: ghcr.io/mbecker20/komodo:latest ## use ghcr.io/mbecker20/komodo:latest-aarch64 for arm support restart: unless-stopped depends_on: - komodo-mongo logging: driver: local # enable log rotation by default. see `https://docs.docker.com/config/containers/logging/local/` networks: - komodo-network ports: - 9120:9120 environment: # https://github.com/mbecker20/komodo/blob/main/config_example/core.config.example.toml KOMODO_HOST: https://demo.komo.do # CHANGEME KOMODO_TITLE: Komodo # Change the app title, displayed in the browser tab. KOMODO_ENSURE_SERVER: http://komodo-periphery:8120 # Creates the "default" server. ## MONGO KOMODO_MONGO_ADDRESS: komodo-mongo:27017 KOMODO_MONGO_USERNAME: admin # match db credentials ones below KOMODO_MONGO_PASSWORD: admin ## KEYS KOMODO_PASSKEY: a_random_passkey # used to auth against periphery KOMODO_WEBHOOK_SECRET: a_random_secret # used to authenticate incoming webhooks KOMODO_JWT_SECRET: a_random_jwt_secret # Optional. If empty, will have to log in again on restart. ## AUTH KOMODO_LOCAL_AUTH: true # the default is false. # KOMODO_GITHUB_OAUTH_ENABLED: true # also support google oauth # KOMODO_GITHUB_OAUTH_ID: your_oauth_id # KOMODO_GITHUB_OAUTH_SECRET: your_oauth_secret ## AWS # KOMODO_AWS_ACCESS_KEY_ID: your_aws_key_id # KOMODO_AWS_SECRET_ACCESS_KEY: your_secret_access_key ## HETZNER # KOMODO_HETZNER_TOKEN: your_hetzner_token ## Deploy periphery container using this block, ## or deploy it on the host directly using https://github.com/mbecker20/komodo/tree/main/scripts komodo-periphery: image: ghcr.io/mbecker20/periphery:latest # use ghcr.io/mbecker20/periphery:latest-aarch64 for arm support logging: driver: local networks: - komodo-network volumes: - /var/run/docker.sock:/var/run/docker.sock - komodo-repos:/etc/komodo/repos # manage repos in a docker volume, or change it to an accessible host directory. - komodo-stacks:/etc/komodo/stacks # manage stack files in a docker volume, or change it to an accessible host directory. # environment: # # If the disk size is overreporting, can use one of these to # # whitelist / blacklist the disks to filter them, whichever is easier. # PERIPHERY_INCLUDE_DISK_MOUNTS: /etc/komodo/repos # PERIPHERY_EXCLUDE_DISK_MOUNTS: /snap komodo-mongo: image: mongo command: --quiet # suppress mongo logs a bit restart: unless-stopped logging: driver: local networks: - komodo-network ports: - 27017:27017 volumes: - db-data:/data/db - db-config:/data/configdb environment: MONGO_INITDB_ROOT_USERNAME: admin # change these MONGO_INITDB_ROOT_PASSWORD: admin volumes: db-data: db-config: komodo-repos: komodo-stacks: networks: komodo-network: {}