81 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			81 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: komodo-mongo
 | |
|     labels:
 | |
|       komodo.skip: # Prevent Komodo from stopping with StopAllContainers
 | |
|     command: --quiet --wiredTigerCacheSizeGB 0.25
 | |
|     restart: unless-stopped
 | |
|     # ports:
 | |
|     #   - 27017:27017
 | |
|     volumes:
 | |
|       - mongo-data:/data/db
 | |
|       - mongo-config:/data/configdb
 | |
|     environment:
 | |
|       MONGO_INITDB_ROOT_USERNAME: ${KOMODO_DB_USERNAME}
 | |
|       MONGO_INITDB_ROOT_PASSWORD: ${KOMODO_DB_PASSWORD}
 | |
|   
 | |
|   core:
 | |
|     image: ghcr.io/moghtech/komodo-core:${COMPOSE_KOMODO_IMAGE_TAG:-latest}
 | |
|     container_name: komodo-core
 | |
|     labels:
 | |
|       komodo.skip: # Prevent Komodo from stopping with StopAllContainers
 | |
|     restart: unless-stopped
 | |
|     depends_on:
 | |
|       - mongo
 | |
|     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:
 | |
|       ## Store dated backups of the database - https://komo.do/docs/setup/backup
 | |
|       ## No need to have bind mounts because of the ability to create backups on a separate volume
 | |
|       - ${COMPOSE_KOMODO_BACKUPS_PATH}:/backups
 | |
|       ## 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 
 | |
|     ## "https://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:
 | |
|     image: ghcr.io/moghtech/komodo-periphery:${COMPOSE_KOMODO_IMAGE_TAG:-latest}
 | |
|     container_name: komodo-periphery
 | |
|     labels:
 | |
|       komodo.skip: # Prevent Komodo from stopping with StopAllContainers
 | |
|     restart: unless-stopped
 | |
|     env_file: 
 | |
|       - .env
 | |
|     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}
 | |
| 
 | |
| volumes:
 | |
|   # Mongo
 | |
|   mongo-data:
 | |
|   mongo-config: |