# /******************************************************************************* # * Copyright 2018 Dell Inc. # * # * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except # * in compliance with the License. You may obtain a copy of the License at # * # * http://www.apache.org/licenses/LICENSE-2.0 # * # * Unless required by applicable law or agreed to in writing, software distributed under the License # * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express # * or implied. See the License for the specific language governing permissions and limitations under # * the License. # * # * @author: Jim White, Dell # * EdgeX Foundry, Edinburgh, version 1.0.1 # * added: July 26, 2019 # *******************************************************************************/ # NOTE: this Docker Compose file does not contain the security services - namely the API Gateway and Secret Store version: '3' volumes: db-data: log-data: consul-config: consul-data: portainer_data: services: volume: image: edgexfoundry/docker-edgex-volume:1.0.0 container_name: edgex-files networks: edgex-network: aliases: - edgex-files volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data consul: image: consul:1.3.1 ports: - "8400:8400" - "8500:8500" - "8600:8600" container_name: edgex-core-consul hostname: edgex-core-consul networks: edgex-network: aliases: - edgex-core-consul volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data depends_on: - volume config-seed: image: edgexfoundry/docker-core-config-seed-go:1.0.0 container_name: edgex-config-seed hostname: edgex-core-config-seed networks: edgex-network: aliases: - edgex-core-config-seed volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data depends_on: - volume - consul mongo: image: edgexfoundry/docker-edgex-mongo:1.0.1 ports: - "27017:27017" container_name: edgex-mongo hostname: edgex-mongo networks: edgex-network: aliases: - edgex-mongo volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data depends_on: - volume logging: image: edgexfoundry/docker-support-logging-go:1.0.1 ports: - "48061:48061" container_name: edgex-support-logging hostname: edgex-support-logging networks: edgex-network: aliases: - edgex-support-logging volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data depends_on: - config-seed - mongo - volume system: image: edgexfoundry/docker-sys-mgmt-agent-go:1.0.1 ports: - "48090:48090" container_name: edgex-sys-mgmt-agent hostname: edgex-sys-mgmt-agent networks: edgex-network: aliases: - edgex-sys-mgmt-agent volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data - /var/run/docker.sock:/var/run/docker.sock depends_on: - logging notifications: image: edgexfoundry/docker-support-notifications-go:1.0.1 ports: - "48060:48060" container_name: edgex-support-notifications hostname: edgex-support-notifications networks: edgex-network: aliases: - edgex-support-notifications volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data depends_on: - logging metadata: image: edgexfoundry/docker-core-metadata-go:1.0.1 ports: - "48081:48081" container_name: edgex-core-metadata hostname: edgex-core-metadata networks: edgex-network: aliases: - edgex-core-metadata volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data depends_on: - logging data: image: edgexfoundry/docker-core-data-go:1.0.1 ports: - "48080:48080" - "5563:5563" container_name: edgex-core-data hostname: edgex-core-data networks: edgex-network: aliases: - edgex-core-data volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data depends_on: - logging command: image: edgexfoundry/docker-core-command-go:1.0.1 ports: - "48082:48082" container_name: edgex-core-command hostname: edgex-core-command networks: edgex-network: aliases: - edgex-core-command volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data depends_on: - metadata scheduler: image: edgexfoundry/docker-support-scheduler-go:1.0.1 ports: - "48085:48085" container_name: edgex-support-scheduler hostname: edgex-support-scheduler networks: edgex-network: aliases: - edgex-support-scheduler volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data depends_on: - metadata export-client: image: edgexfoundry/docker-export-client-go:1.0.1 ports: - "48071:48071" container_name: edgex-export-client hostname: edgex-export-client networks: edgex-network: aliases: - edgex-export-client volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data depends_on: - data export-distro: image: edgexfoundry/docker-export-distro-go:1.0.1 ports: - "48070:48070" - "5566:5566" container_name: edgex-export-distro hostname: edgex-export-distro networks: edgex-network: aliases: - edgex-export-distro volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data depends_on: - export-client environment: - EXPORT_DISTRO_CLIENT_HOST=export-client - EXPORT_DISTRO_DATA_HOST=edgex-core-data - EXPORT_DISTRO_CONSUL_HOST=edgex-config-seed - EXPORT_DISTRO_MQTTS_CERT_FILE=none - EXPORT_DISTRO_MQTTS_KEY_FILE=none rulesengine: image: edgexfoundry/docker-support-rulesengine:1.0.0 ports: - "48075:48075" container_name: edgex-support-rulesengine hostname: edgex-support-rulesengine networks: edgex-network: aliases: - edgex-support-rulesengine volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data depends_on: - export-client ################################################################# # Device Services ################################################################# device-virtual: image: edgexfoundry/docker-device-virtual-go:1.0.0 ports: - "49990:49990" container_name: edgex-device-virtual hostname: edgex-device-virtual networks: edgex-network: aliases: - edgex-device-virtual volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data depends_on: - data - command # device-random: # image: edgexfoundry/docker-device-random-go:1.0.0 # ports: # - "49988:49988" # container_name: edgex-device-random # hostname: edgex-device-random # networks: # edgex-network: # aliases: # - edgex-device-random # volumes: # - db-data:/data/db # - log-data:/edgex/logs # - consul-config:/consul/config # - consul-data:/consul/data # depends_on: # - data # - command # # device-mqtt: # image: edgexfoundry/docker-device-mqtt-go:1.0.0 # ports: # - "49982:49982" # container_name: edgex-device-mqtt # hostname: edgex-device-mqtt # networks: # edgex-network: # aliases: # - edgex-device-mqtt # volumes: # - db-data:/data/db # - log-data:/edgex/logs # - consul-config:/consul/config # - consul-data:/consul/data # depends_on: # - data # - command # # device-modbus: # image: edgexfoundry/docker-device-modbus-go:1.0.0 # ports: # - "49991:49991" # container_name: edgex-device-modbus # hostname: edgex-device-modbus # networks: # edgex-network: # aliases: # - edgex-device-modbus # volumes: # - db-data:/data/db # - log-data:/edgex/logs # - consul-config:/consul/config # - consul-data:/consul/data # depends_on: # - data # - command # # device-snmp: # image: edgexfoundry/docker-device-snmp-go:1.0.0 # ports: # - "49993:49993" # container_name: edgex-device-snmp # hostname: edgex-device-snmp # networks: # edgex-network: # aliases: # - edgex-device-snmp # volumes: # - db-data:/data/db # - log-data:/edgex/logs # - consul-config:/consul/config # - consul-data:/consul/data # depends_on: # - data # - command ################################################################# # UIs ################################################################# ui: image: edgexfoundry/docker-edgex-ui-go:1.0.0 ports: - "4000:4000" container_name: edgex-ui-go hostname: edgex-ui-go networks: edgex-network: aliases: - edgex-ui-go volumes: - db-data:/data/db - log-data:/edgex/logs - consul-config:/consul/config - consul-data:/consul/data depends_on: - data - command ################################################################# # Tooling ################################################################# portainer: image: portainer/portainer ports: - "9000:9000" command: -H unix:///var/run/docker.sock volumes: - /var/run/docker.sock:/var/run/docker.sock - portainer_data:/data depends_on: - volume networks: edgex-network: driver: "bridge" ...