-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
134 lines (134 loc) · 3.83 KB
/
docker-compose.yml
File metadata and controls
134 lines (134 loc) · 3.83 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
version: '3.9'
name: notificaciones
services:
redis:
image: 'redis:alpine'
container_name: redis
restart: unless-stopped
logging:
driver: 'none'
mongodb:
image: mongo
container_name: mongodb
restart: unless-stopped
logging:
driver: 'json-file'
options:
max-size: '50m'
max-file: '5'
environment:
- PUID=1000
- PGID=1000
- MONGO_INITDB_ROOT_USERNAME=${MONGO_INITDB_ROOT_USERNAME}
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD}
volumes:
- mongodb:/data/db
ports:
- 27017:27017
api:
image: 'ghcr.io/novuhq/novu/api:0.24.0' # Api
depends_on:
- mongodb
- redis
container_name: api
restart: unless-stopped
logging:
driver: 'json-file'
options:
max-size: '50m'
max-file: '5'
environment:
NODE_ENV: ${NODE_ENV}
API_ROOT_URL: ${API_ROOT_URL}
DISABLE_USER_REGISTRATION: ${DISABLE_USER_REGISTRATION}
PORT: ${API_PORT}
FRONT_BASE_URL: ${FRONT_BASE_URL}
MONGO_URL: ${MONGO_URL}
MONGO_MIN_POOL_SIZE: ${MONGO_MIN_POOL_SIZE}
MONGO_MAX_POOL_SIZE: ${MONGO_MAX_POOL_SIZE}
REDIS_HOST: ${REDIS_HOST}
REDIS_PORT: ${REDIS_PORT}
REDIS_PASSWORD: ${REDIS_PASSWORD}
REDIS_DB_INDEX: 2
REDIS_CACHE_SERVICE_HOST: ${REDIS_CACHE_SERVICE_HOST}
REDIS_CACHE_SERVICE_PORT: ${REDIS_CACHE_SERVICE_PORT}
GCS_BUCKET_NAME: ${GCS_BUCKET_NAME}
GOOGLE_APPLICATION_CREDENTIALS: ${GOOGLE_APPLICATION_CREDENTIALS}
STORAGE_SERVICE: ${STORAGE_SERVICE}
# JWT_SECRET: ${JWT_SECRET}
# STORE_ENCRYPTION_KEY: ${STORE_ENCRYPTION_KEY}
ports:
- '3000:3000'
worker:
image: 'ghcr.io/novuhq/novu/worker:0.24.0' # It handles tasks such as asynchronous job processing, queue management, etc.
depends_on:
- mongodb
- redis
container_name: worker
restart: unless-stopped
logging:
driver: 'json-file'
options:
max-size: '50m'
max-file: '5'
environment:
NODE_ENV: ${NODE_ENV}
MONGO_URL: ${MONGO_URL}
MONGO_MAX_POOL_SIZE: ${MONGO_MAX_POOL_SIZE}
REDIS_HOST: ${REDIS_HOST}
REDIS_PORT: ${REDIS_PORT}
REDIS_PASSWORD: ${REDIS_PASSWORD}
REDIS_DB_INDEX: 2
REDIS_CACHE_SERVICE_HOST: ${REDIS_CACHE_SERVICE_HOST}
REDIS_CACHE_SERVICE_PORT: ${REDIS_CACHE_SERVICE_PORT}
GCS_BUCKET_NAME: ${GCS_BUCKET_NAME}
GOOGLE_APPLICATION_CREDENTIALS: ${GOOGLE_APPLICATION_CREDENTIALS}
STORAGE_SERVICE: ${STORAGE_SERVICE}
# STORE_ENCRYPTION_KEY: ${STORE_ENCRYPTION_KEY}
BROADCAST_QUEUE_CHUNK_SIZE: 100
MULTICAST_QUEUE_CHUNK_SIZE: 100
ws:
image: 'ghcr.io/novuhq/novu/ws:0.24.0' # for real-time communication between clients and the server.
depends_on:
- mongodb
- redis
container_name: ws
restart: unless-stopped
logging:
driver: 'json-file'
options:
max-size: '50m'
max-file: '5'
environment:
PORT: ${WS_PORT}
NODE_ENV: ${NODE_ENV}
MONGO_URL: ${MONGO_URL}
MONGO_MAX_POOL_SIZE: ${MONGO_MAX_POOL_SIZE}
REDIS_HOST: ${REDIS_HOST}
REDIS_PORT: ${REDIS_PORT}
REDIS_PASSWORD: ${REDIS_PASSWORD}
# JWT_SECRET: ${JWT_SECRET}
# WS_CONTEXT_PATH: ${WS_CONTEXT_PATH}
ports:
- '3002:3002'
web:
image: 'ghcr.io/novuhq/novu/web:0.24.0' # It hosts the web application that users interact with
depends_on:
- api
- worker
container_name: web
restart: unless-stopped
logging:
driver: 'json-file'
options:
max-size: '50m'
max-file: '5'
environment:
REACT_APP_API_URL: ${API_ROOT_URL}
REACT_APP_ENVIRONMENT: ${NODE_ENV}
REACT_APP_DOCKER_HOSTED_ENV: 'true'
REACT_APP_WS_URL: ${REACT_APP_WS_URL}
ports:
- 4200:4200
volumes:
mongodb: ~