-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
executable file
·141 lines (129 loc) · 3.57 KB
/
docker-compose.yml
File metadata and controls
executable file
·141 lines (129 loc) · 3.57 KB
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
services:
session_task_db:
container_name: session_task_db
image: postgres:16
ports:
- "5436:5432"
volumes:
- session_task_db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=session_task_management_studyzed
- POSTGRES_USER=fmn
- POSTGRES_PASSWORD=mrlionbyte
session_and_task_management:
container_name: session_and_task_management
build:
context: ./Session_And_Task_Management_Service/Session_And_Task_Management
dockerfile: Dockerfile
command: python manage.py runserver 0.0.0.0:8000
ports:
- "8009:8000"
depends_on:
- session_task_db
- kafka
volumes:
- ./Session_And_Task_Management_Service/Session_And_Task_Management:/app
payment_db:
container_name: payment_db
image: postgres:16
ports:
- "5437:5432"
volumes:
- payment_db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=payment_studyzed
- POSTGRES_USER=fmn
- POSTGRES_PASSWORD=mrlionbyte
payment_management:
container_name: payment_management
build:
context: ./Payment_Service/Payment
dockerfile: Dockerfile
command: >
bash -c "python manage.py migrate &&
gunicorn Payment.wsgi:application --bind 0.0.0.0:8000 &&
python manage.py consume_messages"
ports:
- "8008:8000"
depends_on:
- payment_db
- kafka
volumes:
- ./Payment_Service/Payment:/app
messages_management:
container_name: messages_management
build:
context: ./Message_And_Video_Service/Message_Video
dockerfile: Dockerfile
command: daphne -b 0.0.0.0 -p 8000 Message_Video.asgi:application
environment:
- DJANGO_SETTINGS_MODULE=Message_Video.settings
ports:
- "8006:8000"
volumes:
- ./Message_And_Video_Service/Message_Video:/app
notification_management:
container_name: notification_management
build:
context: ./Notification_Service/Notification/
dockerfile: Dockerfile
command: python manage.py runserver 0.0.0.0:8000
environment:
- DJANGO_SETTINGS_MODULE=Notification.settings
ports:
- "8007:8000"
volumes:
- ./Notification_Service/Notification:/app
zookeeper:
image: 'bitnami/zookeeper:3.9'
container_name: zookeeper
ports:
- '2181:2181'
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
- ZOO_LOG4J_PROP=log4j.rootLogger=OFF, stdout
volumes:
- zookeeper_data:/bitnami/zookeeper
kafka:
image: 'bitnami/kafka:3.9'
container_name: kafka
ports:
- '9092:9092'
environment:
- KAFKA_BROKER_ID=1
- KAFKA_LISTENERS=PLAINTEXT://:9092
- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_LOG4J_OPTS=-Dlog4j.rootLogger=OFF
depends_on:
- zookeeper
volumes:
- kafka_data:/bitnami/kafka
restart: on-failure
redis:
image: redis:6-alpine
container_name: redis_service_2
ports:
- "6378:6379"
volumes:
- redis:/data
celery_worker_2:
build:
context: ./Notification_Service/Notification/
dockerfile: Dockerfile
container_name: celery_worker_2
command: celery -A Notification.celery worker --loglevel=info
volumes:
- ./Notification_Service/Notification:/app
environment:
- CELERY_BROKER_URL=redis://redis:6379
- CELERY_RESULT_BACKEND=redis://redis:6379
depends_on:
- redis
volumes:
session_task_db:
payment_db:
kafka_data:
zookeeper_data:
redis: