Files
iot-dc3/dc3/docker-compose.yml
T

620 lines
14 KiB
YAML

#
# Copyright 2016-2021 Pnoker. All Rights Reserved.
#
# 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.
#
version: '3'
services:
dc3:
build:
context: ../
dockerfile: ./Dockerfile
image: pnoker/dc3:1.0.0
gateway:
build:
context: ../dc3-gateway/
dockerfile: ./Dockerfile
image: pnoker/dc3-gateway:1.0.0
restart: always
ports:
- 8000:8000
environment:
- EUREKA_HOST=dc3-register
- EUREKA_PORT=8100
- SECURITY_USER_NAME=dc3
- SECURITY_USER_PASSWORD=dc3
container_name: dc3-gateway
hostname: dc3-gateway
volumes:
- logs:/dc3-gateway/dc3/logs
networks:
dc3net:
aliases:
- dc3-gateway
register:
build:
context: ../dc3-center/dc3-register/
dockerfile: ./Dockerfile
image: pnoker/dc3-register:1.0.0
restart: always
ports:
- 8100:8100
environment:
- EUREKA_DASHBOARD_PATH=/
- EUREKA_HOST=dc3-register
- EUREKA_PORT=8100
- SECURITY_USER_NAME=dc3
- SECURITY_USER_PASSWORD=dc3
container_name: dc3-register
hostname: dc3-register
volumes:
- logs:/dc3-center/dc3-register/dc3/logs
networks:
dc3net:
aliases:
- dc3-register
monitor:
build:
context: ../dc3-center/dc3-monitor/
dockerfile: ./Dockerfile
image: pnoker/dc3-monitor:1.0.0
restart: always
ports:
- 8200:8200
environment:
- MONITOR_CONTEXT_PATH=/
- MONITOR_PUBLIC_URL=/
- EUREKA_HOST=dc3-register
- EUREKA_PORT=8100
- SECURITY_USER_NAME=dc3
- SECURITY_USER_PASSWORD=dc3
container_name: dc3-monitor
hostname: dc3-monitor
volumes:
- logs:/dc3-center/dc3-monitor/dc3/logs
networks:
dc3net:
aliases:
- dc3-monitor
auth:
build:
context: ../dc3-center/dc3-auth/
dockerfile: ./Dockerfile
image: pnoker/dc3-auth:1.0.0
restart: always
ports:
- 8300:8300
environment:
- MYSQL_HOST=dc3-mysql
- MYSQL_PORT=3306
- MYSQL_USERNAME=root
- MYSQL_PASSWORD=dc3
- REDIS_HOST=dc3-redis
- REDIS_PORT=6379
- REDIS_PASSWORD=dc3
- CACHE_REDIS_TIME_TO_LIVE=6H
- EUREKA_HOST=dc3-register
- EUREKA_PORT=8100
- SECURITY_USER_NAME=dc3
- SECURITY_USER_PASSWORD=dc3
container_name: dc3-auth
hostname: dc3-auth
volumes:
- logs:/dc3-center/dc3-auth/dc3/logs
networks:
dc3net:
aliases:
- dc3-auth
manager:
build:
context: ../dc3-center/dc3-manager/
dockerfile: ./Dockerfile
image: pnoker/dc3-manager:1.0.0
restart: always
ports:
- 8400:8400
environment:
- MYSQL_HOST=dc3-mysql
- MYSQL_PORT=3306
- MYSQL_USERNAME=root
- MYSQL_PASSWORD=dc3
- REDIS_HOST=dc3-redis
- REDIS_PORT=6379
- REDIS_PASSWORD=dc3
- RABBITMQ_VIRTUAL_HOST=dc3
- RABBITMQ_HOST=dc3-rabbitmq
- RABBITMQ_PORT=5672
- RABBITMQ_USERNAME=dc3
- RABBITMQ_PASSWORD=dc3
- CACHE_REDIS_TIME_TO_LIVE=6H
- EUREKA_HOST=dc3-register
- EUREKA_PORT=8100
- SECURITY_USER_NAME=dc3
- SECURITY_USER_PASSWORD=dc3
container_name: dc3-manager
hostname: dc3-manager
volumes:
- logs:/dc3-center/dc3-manager/dc3/logs
networks:
dc3net:
aliases:
- dc3-manager
data:
build:
context: ../dc3-center/dc3-data/
dockerfile: ./Dockerfile
image: pnoker/dc3-data:1.0.0
restart: always
ports:
- 8500:8500
environment:
- MYSQL_HOST=dc3-mysql
- MYSQL_PORT=3306
- MYSQL_USERNAME=root
- MYSQL_PASSWORD=dc3
- REDIS_HOST=dc3-redis
- REDIS_PORT=6379
- REDIS_PASSWORD=dc3
- MONGO_HOST=dc3-mongo
- MONGO_PORT=27017
- MONGO_DATABASE=dc3
- MONGO_AUTH_TYPE=password
- MONGO_USERNAME=dc3
- MONGO_PASSWORD=dc3
- RABBITMQ_VIRTUAL_HOST=dc3
- RABBITMQ_HOST=dc3-rabbitmq
- RABBITMQ_PORT=5672
- RABBITMQ_USERNAME=dc3
- RABBITMQ_PASSWORD=dc3
- CACHE_REDIS_TIME_TO_LIVE=6H
- EUREKA_HOST=dc3-register
- EUREKA_PORT=8100
- SECURITY_USER_NAME=dc3
- SECURITY_USER_PASSWORD=dc3
container_name: dc3-data
hostname: dc3-data
volumes:
- logs:/dc3-center/dc3-data/dc3/logs
networks:
dc3net:
aliases:
- dc3-data
virtual:
build:
context: ../dc3-driver/dc3-driver-virtual/
dockerfile: ./Dockerfile
image: pnoker/dc3-driver-virtual:1.0.0
restart: always
ports:
- 8600:8600
environment:
- RABBITMQ_VIRTUAL_HOST=dc3
- RABBITMQ_HOST=dc3-rabbitmq
- RABBITMQ_PORT=5672
- RABBITMQ_USERNAME=dc3
- RABBITMQ_PASSWORD=dc3
- EUREKA_HOST=dc3-register
- EUREKA_PORT=8100
- SECURITY_USER_NAME=dc3
- SECURITY_USER_PASSWORD=dc3
container_name: dc3-driver-virtual
hostname: dc3-driver-virtual
volumes:
- logs:/dc3-driver/dc3-driver-virtual/dc3/logs
networks:
dc3net:
aliases:
- dc3-driver-virtual
plcs7:
build:
context: ../dc3-driver/dc3-driver-plcs7/
dockerfile: ./Dockerfile
image: pnoker/dc3-driver-plcs7:1.0.0
restart: always
ports:
- 8601:8601
environment:
- RABBITMQ_VIRTUAL_HOST=dc3
- RABBITMQ_HOST=dc3-rabbitmq
- RABBITMQ_PORT=5672
- RABBITMQ_USERNAME=dc3
- RABBITMQ_PASSWORD=dc3
- EUREKA_HOST=dc3-register
- EUREKA_PORT=8100
- SECURITY_USER_NAME=dc3
- SECURITY_USER_PASSWORD=dc3
container_name: dc3-driver-plcs7
hostname: dc3-driver-plcs7
volumes:
- logs:/dc3-driver/dc3-driver-plcs7/dc3/logs
networks:
dc3net:
aliases:
- dc3-driver-plcs7
opc-da:
build:
context: ../dc3-driver/dc3-driver-opc-da/
dockerfile: ./Dockerfile
image: pnoker/dc3-driver-opc-da:1.0.0
restart: always
ports:
- 8602:8602
environment:
- RABBITMQ_VIRTUAL_HOST=dc3
- RABBITMQ_HOST=dc3-rabbitmq
- RABBITMQ_PORT=5672
- RABBITMQ_USERNAME=dc3
- RABBITMQ_PASSWORD=dc3
- EUREKA_HOST=dc3-register
- EUREKA_PORT=8100
- SECURITY_USER_NAME=dc3
- SECURITY_USER_PASSWORD=dc3
container_name: dc3-driver-opc-da
hostname: dc3-driver-opc-da
volumes:
- logs:/dc3-driver/dc3-driver-opc-da/dc3/logs
networks:
dc3net:
aliases:
- dc3-driver-opc-da
opc-ua:
build:
context: ../dc3-driver/dc3-driver-opc-ua/
dockerfile: ./Dockerfile
image: pnoker/dc3-driver-opc-ua:1.0.0
restart: always
ports:
- 8603:8603
environment:
- RABBITMQ_VIRTUAL_HOST=dc3
- RABBITMQ_HOST=dc3-rabbitmq
- RABBITMQ_PORT=5672
- RABBITMQ_USERNAME=dc3
- RABBITMQ_PASSWORD=dc3
- EUREKA_HOST=dc3-register
- EUREKA_PORT=8100
- SECURITY_USER_NAME=dc3
- SECURITY_USER_PASSWORD=dc3
container_name: dc3-driver-opc-ua
hostname: dc3-driver-opc-ua
volumes:
- logs:/dc3-driver/dc3-driver-opc-ua/dc3/logs
networks:
dc3net:
aliases:
- dc3-driver-opc-ua
listening-virtual:
build:
context: ../dc3-driver/dc3-driver-listening-virtual/
dockerfile: ./Dockerfile
image: pnoker/dc3-driver-listening-virtual:1.0.0
restart: always
ports:
- 8700:8700
environment:
- RABBITMQ_VIRTUAL_HOST=dc3
- RABBITMQ_HOST=dc3-rabbitmq
- RABBITMQ_PORT=5672
- RABBITMQ_USERNAME=dc3
- RABBITMQ_PASSWORD=dc3
- EUREKA_HOST=dc3-register
- EUREKA_PORT=8100
- SECURITY_USER_NAME=dc3
- SECURITY_USER_PASSWORD=dc3
container_name: dc3-driver-listening-virtual
hostname: dc3-driver-listening-virtual
volumes:
- logs:/dc3-driver/dc3-driver-listening-virtual/dc3/logs
networks:
dc3net:
aliases:
- dc3-driver-listening-virtual
mqtt:
build:
context: ../dc3-driver/dc3-driver-mqtt/
dockerfile: ./Dockerfile
image: pnoker/dc3-driver-mqtt:1.0.0
restart: always
ports:
- 8701:8701
environment:
- RABBITMQ_VIRTUAL_HOST=dc3
- RABBITMQ_HOST=dc3-rabbitmq
- RABBITMQ_PORT=5672
- RABBITMQ_USERNAME=dc3
- RABBITMQ_PASSWORD=dc3
- EUREKA_HOST=dc3-register
- EUREKA_PORT=8100
- SECURITY_USER_NAME=dc3
- SECURITY_USER_PASSWORD=dc3
container_name: dc3-driver-mqtt
hostname: dc3-driver-mqtt
volumes:
- logs:/dc3-driver/dc3-driver-mqtt/dc3/logs
networks:
dc3net:
aliases:
- dc3-driver-mqtt
modbus-tcp:
build:
context: ../dc3-driver/dc3-driver-modbus-tcp/
dockerfile: ./Dockerfile
image: pnoker/dc3-driver-modbus-tcp:1.0.0
restart: always
ports:
- 8604:8604
environment:
- RABBITMQ_VIRTUAL_HOST=dc3
- RABBITMQ_HOST=dc3-rabbitmq
- RABBITMQ_PORT=5672
- RABBITMQ_USERNAME=dc3
- RABBITMQ_PASSWORD=dc3
- EUREKA_HOST=dc3-register
- EUREKA_PORT=8100
- SECURITY_USER_NAME=dc3
- SECURITY_USER_PASSWORD=dc3
container_name: dc3-driver-modbus-tcp
hostname: dc3-driver-modbus-tcp
volumes:
- logs:/dc3-driver/dc3-driver-modbus-tcp/dc3/logs
networks:
dc3net:
aliases:
- dc3-driver-modbus-tcp
edge-gateway:
build:
context: ../dc3-driver/dc3-driver-edge-gateway/
dockerfile: ./Dockerfile
image: pnoker/dc3-driver-edge-gateway:1.0.0
restart: always
ports:
- 8702:8702
environment:
- RABBITMQ_VIRTUAL_HOST=dc3
- RABBITMQ_HOST=dc3-rabbitmq
- RABBITMQ_PORT=5672
- RABBITMQ_USERNAME=dc3
- RABBITMQ_PASSWORD=dc3
- EUREKA_HOST=dc3-register
- EUREKA_PORT=8100
- SECURITY_USER_NAME=dc3
- SECURITY_USER_PASSWORD=dc3
container_name: dc3-driver-edge-gateway
hostname: dc3-driver-edge-gateway
volumes:
- logs:/dc3-driver/dc3-driver-edge-gateway/dc3/logs
networks:
dc3net:
aliases:
- dc3-driver-edge-gateway
rtmp:
build:
context: ../dc3-transfer/dc3-rtmp/
dockerfile: ./Dockerfile
image: pnoker/dc3-rtmp:1.0.0
restart: always
ports:
- 8803:8803
environment:
- MYSQL_HOST=dc3-mysql
- MYSQL_PORT=3306
- MYSQL_USERNAME=root
- MYSQL_PASSWORD=dc3
- REDIS_HOST=dc3-redis
- REDIS_PORT=6379
- REDIS_PASSWORD=dc3
- CACHE_REDIS_TIME_TO_LIVE=6H
- EUREKA_HOST=dc3-register
- EUREKA_PORT=8100
- SECURITY_USER_NAME=dc3
- SECURITY_USER_PASSWORD=dc3
container_name: dc3-rtmp
hostname: dc3-rtmp
networks:
dc3net:
aliases:
- dc3-rtmp
mysql:
build:
context: ./dependencies/mysql/
dockerfile: ./Dockerfile
image: pnoker/dc3-mysql:1.0.0
restart: always
ports:
- 3306:3306
environment:
- MYSQL_ROOT_PASSWORD=dc3
container_name: dc3-mysql
hostname: dc3-mysql
volumes:
- mysql:/var/lib/mysql
networks:
dc3net:
aliases:
- dc3-mysql
mongo:
build:
context: ./dependencies/mongo/
dockerfile: ./Dockerfile
image: pnoker/dc3-mongo:1.0.0
restart: always
ports:
- 27017:27017
container_name: dc3-mongo
hostname: dc3-mongo
volumes:
- mongo_config:/data/configdb
- mongo_db:/data/db
networks:
dc3net:
aliases:
- dc3-mongo
redis:
build:
context: ./dependencies/redis/
dockerfile: ./Dockerfile
image: pnoker/dc3-redis:1.0.0
restart: always
ports:
- 6379:6379
container_name: dc3-redis
hostname: dc3-redis
volumes:
- redis:/data
networks:
dc3net:
aliases:
- dc3-redis
rabbitmq:
build:
context: ./dependencies/rabbitmq/
dockerfile: ./Dockerfile
image: pnoker/dc3-rabbitmq:1.0.0
restart: always
ports:
- 5672:5672
- 1883:1883
- 61613:61613
- 15672:15672
container_name: dc3-rabbitmq
hostname: dc3-rabbitmq
volumes:
- rabbitmq:/var/lib/rabbitmq
networks:
dc3net:
aliases:
- dc3-rabbitmq
emqx:
build:
context: ./dependencies/emqx/
dockerfile: ./Dockerfile
image: pnoker/dc3-emqx:1.0.0
restart: always
ports:
- 8883:8883
- 18083:18083
container_name: dc3-emqx
hostname: dc3-emqx
volumes:
- emqx_etc:/opt/emqx/etc
- emqx_lib:/opt/emqx/lib
- emqx_data:/opt/emqx/data
- emqx_log:/opt/emqx/log
networks:
dc3net:
aliases:
- dc3-emqx
flink:
image: flink:1.10
restart: always
expose:
- 6121
- 6122
depends_on:
- jobmanager
container_name: dc3-flink-task
command: taskmanager
links:
- jobmanager:jobmanager
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
networks:
dc3net:
aliases:
- dc3-flink-task
jobmanager:
image: flink:1.10
restart: always
expose:
- 6123
ports:
- 8081:8081
container_name: dc3-flink-job
command: jobmanager
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
networks:
dc3net:
aliases:
- dc3-flink-job
nginx-rtmp:
image: pnoker/alpine-nginx:rtmp
restart: always
ports:
- 1935:1935
container_name: dc3-nginx
hostname: dc3-nginx
networks:
dc3net:
aliases:
- dc3-nginx
portainer:
image: portainer/portainer:alpine
restart: always
container_name: portainer
hostname: dc3-portainer
ports:
- 9000:9000
command: -H unix:///var/run/docker.sock
volumes:
- portainer:/data
- /var/run/docker.sock:/var/run/docker.sock
networks:
dc3net:
aliases:
- dc3-portainer
volumes:
logs:
mysql:
mongo_config:
mongo_db:
redis:
rabbitmq:
emqx_etc:
emqx_lib:
emqx_data:
emqx_log:
portainer:
networks:
dc3net:
driver: 'bridge'
...