version: '3.7' # Userdefined Networks networks: database: redis: proxy: driver: bridge ipam: driver: default config: - subnet: 172.20.0.0/24 # Docker managed persistent volumes volumes: # Volume for userdefined scripts scripts: services: # Postgres Database for API service db: image: postgres:11.7 environment: POSTGRES_DB: tacticalrmm POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASS} networks: - database # Redis Container for Celery tasks redis: image: redis networks: - redis # Salt Master and API salt: build: context: .. dockerfile: ./docker/salt/dockerfile args: - SALT_USER=${SALT_USER} - SALT_PASS=${SALT_PASS} ports: - "8123:8123" - "4505:4505" - "4506:4506" volumes: - scripts:/srv networks: - proxy # MeshCentral Container meshcentral: build: context: ./meshcentral args: - MESH_HOST=${MESH_HOST} networks: - proxy depends_on: - nginx-proxy # Nginx Container Reverse Proxy that handles all http/https traffic nginx-proxy: build: context: ./nginx-proxy args: - APP_HOST=${APP_HOST} - API_HOST=${API_HOST} - MESH_HOST=${MESH_HOST} ports: - "80:80" - "443:443" networks: proxy: ipv4_address: 172.20.0.20