forked from Pet-SOS/AnimalRescue
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
126 lines (119 loc) · 3.59 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
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
version: '3.4'
services:
backend:
build:
context: Backend/AnimalRescue
dockerfile: Dockerfile
image: ${DockerRegistryURL}/api:${ImageTag}
deploy:
replicas: 1
ports:
- "8080:80"
networks:
- frontend
- backend
environment:
- AdminDetail__Email=${admin_email}
- AdminDetail__Password=${admin_password}
- AppSettings__JwtExpireHours=1
- AppSettings__JwtExpireDays=30
- AppSettings__JwtIssuer=https://${api_hostname}/
- AppSettings__JwtAudience=${api_hostname}
- AppSettings__JwtKey=${JwtKey}
- AppSettings__FrontEndUrl=https://${portal_hostname}/
- Smtp__Host=${smtp_host}
- Smtp__Port=${smtp_port}
- Smtp__UseSsl=true
- Smtp__DisplayName=${smtp_displayname}
- Smtp__Email=${smtp_email}
- Smtp__Username=${smtp_username}
- Smtp__Password=${smtp_password}
- MongoDbSettings__ConnectionString=mongodb://${MongoDB_User}:${MongoDB_Pass}@${MongoDB_Server}:27017
- MongoDbSettings__DatabaseName=${MongoDB_database}
- PublisherSettings__UserName=${RABBITMQ_USERNAME}
- PublisherSettings__UserPassword=${RABBITMQ_PASSWORD}
- PublisherSettings__HostName=${RABBITMQ_HOST}
- PublisherSettings__HostPort=5672
- PublisherSettings__Exchange=${RABBITMQ_Exchange}
- PublisherSettings__ExchangeType=${RABBITMQ_ExchangeType}
- PublisherSettings__RoutingKey=${RABBITMQ_RoutingKey}
- Logging__LogLevel__Default=Information
- Logging__LogLevel__Microsoft=Information
- Logging__LogLevel__Microsoft.Hosting.Lifetime=Information
depends_on:
- mongodb
- rabbitmq
portal:
build:
context: Frontend
dockerfile: Dockerfile
image: ${DockerRegistryURL}/portal:${ImageTag}
deploy:
replicas: 1
ports:
- "80:80"
- "443:80"
environment:
- API_URL=${API_URL}
- YOUTUBE_URL=${YOUTUBE_URL}
- YOUTUBE_API_KEY=${YOUTUBE_API_KEY}
- YOUTUBE_CHANNEL_ID=${YOUTUBE_CHANNEL_ID}
networks:
- frontend
telegram-messenger:
build:
context: Backend
dockerfile: BackgroundServices/Dockerfile
image: ${DockerRegistryURL}/telegram-messenger:${ImageTag}
deploy:
replicas: 1
restart: unless-stopped
environment:
- PublisherSettings__UserName=${RABBITMQ_USERNAME}
- PublisherSettings__UserPassword=${RABBITMQ_PASSWORD}
- PublisherSettings__HostName=${RABBITMQ_HOST}
- PublisherSettings__HostPort=5672
- PublisherSettings__Exchange=${RABBITMQ_Exchange}
- PublisherSettings__ExchangeType=${RABBITMQ_ExchangeType}
- PublisherSettings__RoutingKey=${RABBITMQ_RoutingKey}
- PublisherSettings__TelegramKey=${TelegramKey}
depends_on:
- rabbitmq
networks:
- backend
mongodb:
image: mongo:4.2
command: mongod --auth
environment:
- MONGO_INITDB_DATABASE=${MongoDB_database}
- MONGO_INITDB_ROOT_USERNAME=${MongoDB_User}
- MONGO_INITDB_ROOT_PASSWORD=${MongoDB_Pass}
- MONGO_DATA_DIR=/data/db
- MONGO_LOG_DIR=/dev/null
volumes:
- mongodbdata:/data/db
ports:
- 27017:27017
networks:
- backend
rabbitmq:
image: 'bitnami/rabbitmq:3.8.3'
environment:
- RABBITMQ_USERNAME=${RABBITMQ_USERNAME}
- RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD}
- RABBITMQ_NODE_PORT_NUMBER=5672
- RABBITMQ_DISK_FREE_LIMIT=2000000000
ports:
- 5672:5672
networks:
- backend
volumes:
mongodbdata:
driver: local
networks:
frontend:
external:
name: frontend
backend:
external:
name: backend