-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathdocker-compose.yml
90 lines (76 loc) · 2.49 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
version: '3.7'
services:
# Frontend service fpr Elixir.io
# frontend:
# container_name: elixir_frontend
# Backend service for Elixir.io
backend:
container_name: elixir_backend
build:
context: ./backend
target: development # build only development section of the docker image
ports:
- 9229:9229
- 3000:3000
command: npm run start:dev
environment:
JWT_CONSTANT_SECRET: ${JWT_CONSTANT_SECRET}
S3_ADMINISTRATOR_ACCESS_KEY_ID: ${S3_ADMINISTRATOR_ACCESS_KEY_ID}
S3_ADMINISTRATOR_SECRET_ACCESS_KEY: ${S3_ADMINISTRATOR_SECRET_ACCESS_KEY}
S3_BUCKET: ${S3_BUCKET}
NODE_ENV: development
ENCRYPTION_KEY: ${ENCRYPTION_KEY}
ELASTIC_EMAIL_USERNAME: ${ELASTIC_EMAIL_USERNAME}
ELASTIC_EMAIL_PASSWORD: ${ELASTIC_EMAIL_PASSWORD}
ELASTIC_EMAIL_SERVER_HOST: ${ELASTIC_EMAIL_SERVER_HOST}
ELASTIC_EMAIL_PORT: ${ELASTIC_EMAIL_PORT}
ELASTIC_EMAIL_FROM_EMAIL: ${ELASTIC_EMAIL_FROM_EMAIL}
AUTH0_DOMAIN: ${AUTH0_DOMAIN}
AUTH0_CLIENT_ID: ${AUTH0_CLIENT_ID}
AUTH0_CLIENT_SECRET: ${AUTH0_CLIENT_SECRET}
REDIS_SERVER_URL: ${REDIS_SERVER_URL}
VONAGE_API_KEY: ${VONAGE_API_KEY}
VONAGE_API_SECRET: ${VONAGE_API_SECRET}
DAILY_API_KEY: ${DAILY_API_KEY}
REDIS_HOST: ${REDIS_HOST}
REDIS_PORT: ${REDIS_PORT}
volumes:
- .:/usr/src/app/ # mounting the directory inside the container
- /usr/src/app/backend/node_modules # mounting node_modules inside the backend container
env_file:
- .env
depends_on:
- mongo
# MongoDB service for Elixir.io
mongo:
container_name: elixir_mongodb
image: mongo
restart: always
environment:
MONGO_INITDB_DATABASE: ${MONGO_DATABASE}
MONGO_INITDB_ROOT_USERNAME: ${MONGOROOTUSERNAME}
MONGO_INITDB_ROOT_PASSWORD: ${MONGOROOTPASSWD}
volumes:
- ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo-js:ro
- ./mongo-volume:/data/db
ports:
# - '27017-27019:27017-27019'
- '27017:27017'
mongo-backup:
container_name: elixir_mongodb_backup
image: mongo
restart: always
environment:
MONGO_INITDB_DATABASE: ${MONGO_DATABASE}
MONGO_INITDB_ROOT_USERNAME: ${MONGOROOTUSERNAME}
MONGO_INITDB_ROOT_PASSWORD: ${MONGOROOTPASSWD}
volumes:
- ./mongo-backup-volume:/data/db
ports:
- '27021:27017'
redis:
container_name: elixir_redis
image: redis:7.0.11-alpine
restart: always
ports:
- '6379:6379'