generated from TogetherCrew/python-service
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.example.yml
138 lines (130 loc) · 3.03 KB
/
docker-compose.example.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
version: "3.9"
services:
server:
build:
context: .
target: prod
dockerfile: Dockerfile
networks:
- app_network
environment:
PORT: 3000
RABBIT_HOST: rabbitmq
RABBIT_PORT: 5672
RABBIT_USER: root
RABBIT_PASSWORD: pass
NEO4J_PROTOCOL: bolt
NEO4J_HOST: neo4j
NEO4J_PORT: 7687
NEO4J_USER: neo4j
NEO4J_PASSWORD: password
MONGODB_HOST: mongo
MONGODB_PORT: 27017
MONGODB_USER: root
MONGODB_PASS: pass
REDIS_HOST: redis
REDIS_PORT: 6379
REDIS_PASSWORD: password
SAGA_DB_NAME: Saga
SAGA_DB_COLLECTION: saga
SENTRY_DSN: sample_dsn
SENTRY_ENV: local
depends_on:
redis:
condition: service_healthy
mongo:
condition: service_healthy
neo4j:
condition: service_healthy
rabbitmq:
condition: service_healthy
worker:
build:
context: .
target: prod
dockerfile: Dockerfile
command: python3 worker.py
networks:
- app_network
environment:
PORT: 3000
RABBIT_HOST: rabbitmq
RABBIT_PORT: 5672
RABBIT_USER: root
RABBIT_PASSWORD: pass
NEO4J_PROTOCOL: bolt
NEO4J_HOST: neo4j
NEO4J_PORT: 7687
NEO4J_USER: neo4j
NEO4J_PASSWORD: password
MONGODB_HOST: mongo
MONGODB_PORT: 27017
MONGODB_USER: root
MONGODB_PASS: pass
REDIS_HOST: redis
REDIS_PORT: 6379
REDIS_PASSWORD: password
SAGA_DB_NAME: Saga
SAGA_DB_COLLECTION: saga
SENTRY_DSN: sample_dsn
SENTRY_ENV: local
depends_on:
redis:
condition: service_healthy
mongo:
condition: service_healthy
neo4j:
condition: service_healthy
rabbitmq:
condition: service_healthy
redis:
image: "redis:7.0.12-alpine"
command: redis-server --requirepass password
networks:
- app_network
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 3
mongo:
image: "mongo:6.0.8"
environment:
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=pass
healthcheck:
test: echo 'db.stats().ok' | mongosh localhost:27017/test --quiet
interval: 60s
timeout: 10s
retries: 2
start_period: 40s
networks:
- app_network
neo4j:
image: "neo4j:5.9.0"
networks:
- app_network
environment:
- NEO4J_AUTH=neo4j/password
- NEO4J_PLUGINS=["apoc", "graph-data-science"]
- NEO4J_dbms_security_procedures_unrestricted=apoc.*,gds.*
healthcheck:
test: ["CMD-SHELL", "neo4j status"]
interval: 10s
timeout: 10s
retries: 3
rabbitmq:
image: "rabbitmq:3-management-alpine"
environment:
RABBITMQ_DEFAULT_USER: root
RABBITMQ_DEFAULT_PASS: pass
networks:
- app_network
healthcheck:
test: ["CMD", "rabbitmqctl", "status"]
interval: 10s
timeout: 10s
retries: 3
networks:
app_network:
driver: bridge