-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose-dev.yml
More file actions
110 lines (103 loc) · 2.86 KB
/
docker-compose-dev.yml
File metadata and controls
110 lines (103 loc) · 2.86 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
version: "3.8"
services:
mongodb:
restart: unless-stopped
image: mongo:latest
container_name: mongodb
environment:
- MONGO_INITDB_ROOT_USERNAME=${MONGOADMIN}
- MONGO_INITDB_ROOT_PASSWORD=${MONGOPASS}
networks:
- socialbeats-network
ports:
- "27017:27017"
volumes:
- mongo-data:/data/db
redis:
restart: unless-stopped
image: redis:7-alpine
container_name: redis-auth
networks:
- socialbeats-network
ports:
- "6380:6379"
volumes:
- redis-data:/data
zookeeper:
image: confluentinc/cp-zookeeper:7.5.0
container_name: zookeeper
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- "2181:2181"
networks:
- socialbeats-network
kafka:
image: confluentinc/cp-kafka:7.5.0
container_name: kafka
depends_on:
- zookeeper
ports:
- "9092:9092"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
networks:
- socialbeats-network
auth-service:
restart: unless-stopped
build:
context: .
dockerfile: Dockerfile-dev
container_name: auth-service
environment:
- MONGOURL=${MONGOURL}
- MONGOADMIN=${MONGOADMIN}
- MONGOPASS=${MONGOPASS}
- NODE_ENV=production
- PORT=${PORT}
- LOG_LEVEL=${LOG_LEVEL}
- JWT_SECRET=${JWT_SECRET}
- JWT_ACCESS_EXPIRY=${JWT_ACCESS_EXPIRY}
- JWT_REFRESH_EXPIRY=${JWT_REFRESH_EXPIRY}
- REDIS_HOST=${REDIS_HOST}
- REDIS_PORT=${REDIS_PORT}
- REDIS_PASSWORD=${REDIS_PASSWORD}
- API_TITLE=${API_TITLE}
- API_DESCRIPTION=${API_DESCRIPTION}
- ENABLE_KAFKA=${ENABLE_KAFKA}
- KAFKA_BROKER=${KAFKA_BROKER}
- KAFKA_CONNECTION_MAX_RETRIES=${KAFKA_CONNECTION_MAX_RETRIES}
- KAFKA_CONNECTION_RETRY_DELAY=${KAFKA_CONNECTION_RETRY_DELAY}
- KAFKA_COOLDOWN=${KAFKA_COOLDOWN}
- DEFAULT_ADMIN_USERNAME=${DEFAULT_ADMIN_USERNAME}
- DEFAULT_ADMIN_EMAIL=${DEFAULT_ADMIN_EMAIL}
- DEFAULT_ADMIN_PASSWORD=${DEFAULT_ADMIN_PASSWORD}
- DO_SPACES_KEY=${DO_SPACES_KEY}
- DO_SPACES_SECRET=${DO_SPACES_SECRET}
- DO_SPACES_BUCKET=${DO_SPACES_BUCKET}
- DO_SPACES_ENDPOINT=${DO_SPACES_ENDPOINT}
- DO_SPACES_REGION=${DO_SPACES_REGION}
- DO_SPACES_CDN_ENDPOINT=${DO_SPACES_CDN_ENDPOINT}
depends_on:
- mongodb
- redis
- kafka
networks:
- socialbeats-network
ports:
- "${PORT}:${PORT}"
volumes:
- ./:/app:cached
- /app/node_modules
command: nodemon --watch /app --legacy-watch --polling-interval 1000 main.js
volumes:
mongo-data:
redis-data:
networks:
socialbeats-network:
external: true