-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
153 lines (134 loc) · 3.9 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
version: '3.9'
x-common-variables: &common-variables
RABBITMQ_HOST: ${RABBITMQ_HOST}
RABBITMQ_PORT: ${RABBITMQ_PORT}
MONGODB_HOST: ${MONGODB_HOST}
MONGODB_DATABASE: ${MONGODB_DATABASE}
MONGODB_USERNAME: ${MONGODB_USERNAME}
MONGODB_PASSWORD: ${MONGODB_PASSWORD}
MINIO_HOST: ${MINIO_HOST}
MINIO_USER: ${MINIO_USER}
MINIO_PASSWORD: ${MINIO_PASSWORD}
FASTAPI_PORT: ${FASTAPI_PORT}
services:
dtcc-mongodb:
image: mongo:latest
container_name: dtcc-mongodb-container
ports:
- 27017:27017
environment:
- MONGO_INITDB_DATABASE=${MONGODB_DATABASE}
- MONGO_INITDB_ROOT_USERNAME=${MONGODB_USERNAME}
- MONGO_INITDB_ROOT_PASSWORD=${MONGODB_PASSWORD}
volumes:
- mongodb:/data/db
- mongoconfig:/data/configdb
networks:
- default
restart: unless-stopped
minio:
container_name: Minio
command: server /data --console-address ":9001"
environment:
- MINIO_ROOT_USER=${MINIO_USER}
- MINIO_ROOT_PASSWORD=${MINIO_PASSWORD}
image: quay.io/minio/minio:latest
ports:
- '9000:9000'
- '9001:9001'
volumes:
- ./data/minio:/data
restart: unless-stopped
rabbitmq:
image: rabbitmq:3-management-alpine
container_name: dtcc-rabbitmq
restart: unless-stopped
ports:
- ${RABBITMQ_PORT}:${RABBITMQ_PORT}
- 15672:15672
volumes:
- rabbit-data:/var/lib/rabbitmq/
- rabbit-logs:/var/log/rabbitmq
networks:
- default
environment:
- RABBITMQ_DEFAULT_USER=${RABBITMQ_USER}
- RABBITMQ_DEFAULT_PASS=${RABBITMQ_PASS}
dtcc-module-dtcc-builder:
build:
context: ./dtcc-module-dtcc-builder
dockerfile: 'Dockerfile'
working_dir: ${WORKING_DIR}
container_name: dtcc-module-dtcc-builder
image: dtcc-module-dtcc-builder-image
restart: unless-stopped
volumes:
- ../:${WORKING_DIR}:rw
- dtcc-modules-shared-data:${SHARED_DATA_DIR}:rw
security_opt:
- seccomp:unconfined
cap_add:
- SYS_PTRACE
depends_on:
- rabbitmq
- dtcc-mongodb
command: /wait-for-it.sh -h ${RABBITMQ_HOST} -p ${RABBITMQ_PORT} -t 300 -- /run-dtcc-modules.sh
environment: *common-variables
dtcc-module-hello-word:
build:
context: ./dtcc-module-hello-world
dockerfile: 'Dockerfile'
container_name: dtcc-module-hello-world
image: dtcc-module-hello-world-image
restart: unless-stopped
depends_on:
- rabbitmq
- dtcc-mongodb
- minio
command: /wait-for-it.sh -h ${RABBITMQ_HOST} -p ${RABBITMQ_PORT} -t 300 -- /run-dtcc-modules.sh
environment: *common-variables
dtcc-api:
build:
context: .
dockerfile: 'dtcc-api/Dockerfile'
container_name: dtcc-module-api
image: dtcc-module-api-image
restart: unless-stopped
ports:
- ${FASTAPI_PORT}:${FASTAPI_PORT}
depends_on:
- rabbitmq
command: /wait-for-it.sh -h ${RABBITMQ_HOST} -p ${RABBITMQ_PORT} -t 300 -- python3 -m core.api
environment: *common-variables
dtcc-module-examples:
build:
context: ./dtcc-module-examples
dockerfile: 'Dockerfile'
container_name: dtcc-module-examples
image: dtcc-module-examples-image
restart: unless-stopped
depends_on:
- rabbitmq
- dtcc-mongodb
- minio
command: /wait-for-it.sh -h ${RABBITMQ_HOST} -p ${RABBITMQ_PORT} -t 300 -- /run-dtcc-modules.sh
environment: *common-variables
dtcc-module-citysolar:
build:
context: ./dtcc-module-citysolar
dockerfile: 'Dockerfile'
container_name: dtcc-module-citysolar
image: dtcc-module-citysolar-image
restart: unless-stopped
depends_on:
- rabbitmq
- dtcc-mongodb
- minio
command: /wait-for-it.sh -h ${RABBITMQ_HOST} -p ${RABBITMQ_PORT} -t 300 -- /run-dtcc-modules.sh
environment: *common-variables
volumes:
rabbit-data:
rabbit-logs:
dtcc-modules-shared-data:
mongodb:
mongoconfig: