-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
140 lines (129 loc) · 3.1 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
services:
emqx:
image: emqx/emqx:5.3.0
restart: unless-stopped
container_name: emqx_air_checker
ports:
- "1883:1883"
- "8083:8083"
- "8084:8084"
- "8883:8883"
- "18083:18083"
networks:
- node-network
api:
build:
context: ./backend
dockerfile: Dockerfile
restart: unless-stopped
container_name: api
ports:
- "8080:80"
networks:
- node-network
email_service:
build:
context: ./email-service
dockerfile: Dockerfile
restart: unless-stopped
container_name: email_service
networks:
- node-network
prediction_service:
build:
context: ./prediction-service
dockerfile: Dockerfile
restart: always
container_name: prediction_service
command: gunicorn -w 1 -b 0.0.0.0:8081 app:app
ports:
- "8081:8081"
networks:
- node-network
nginx:
image: nginx:latest
container_name: nginx
restart: on-failure
ports:
- 80:80
- 443:443
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
- ./client:/app/client
- ./ssl:/ssl
networks:
- node-network
dashboard:
build:
context: ./dashboard
dockerfile: Dockerfile
restart: unless-stopped
container_name: dashboard_air_checker
ports:
- "3002:3002"
networks:
- node-network
portainer:
image: portainer/portainer-ce:latest
container_name: portainer_air_checker
ports:
- "9000:9000"
volumes:
- ./airchecker/portainerdata:/data
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
networks:
- node-network
mongo:
image: mongo:6
restart: always
container_name: mongo
ports:
- "27017:27017"
healthcheck:
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping').ok"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- ./airchecker/mongodata:/data/db
networks:
- node-network
grafana:
image: grafana/grafana-enterprise
container_name: grafana_air_checker
restart: unless-stopped
environment:
- GF_LOG_LEVEL=debug
- GF_INSTALL_PLUGINS=grafana-clock-panel
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ORG_ROLE=viewer
- GF_AUTH_DISABLE_LOGIN_FORM=tru
ports:
- "9001:3000"
volumes:
- ./airchecker/grafana-storage:/var/lib/grafana
rabbitmq:
image: rabbitmq:3.11-management
container_name: rabbitmq_air_checker
environment:
RABBITMQ_DEFAULT_USER: admin
RABBITMQ_DEFAULT_PASS: admin
RABBITMQ_DEFAULT_VHOST: vhost
ports:
- "5672:5672"
- "15672:15672"
volumes:
- ./airchecker/rabbitmq:/var/lib/rabbitmq
networks:
- node-network
redisgui:
image: redislabs/redisinsight:latest
container_name: redisgui_air_checker
ports:
- "9002:8001"
volumes:
- ./airchecker/redis:/data
networks:
node-network:
driver: bridge