-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-compose.yml
104 lines (95 loc) · 3.11 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
version: '3.8'
volumes:
mongodb_data:
driver: local
switcherapi-tls:
driver: local
driver_opts:
o: bind
type: none
device: "${VOLUME_SSL_CERTS}"
networks:
backend:
driver: bridge
services:
mongodb:
image : mongo
container_name: mongodb
environment:
MONGO_INITDB_DATABASE: switcher-api
volumes:
- mongodb_data:/data/db
ports:
- 27017:27017
networks:
- backend
restart: unless-stopped
switcherapi:
image: trackerforce/switcher-api
container_name: switcherapi
ports:
- 3000:3000
networks:
- backend
environment:
- NODE_ENV=development
- PORT=3000
- ENV=${ENV}
- SSL_KEY=${SSL_KEY}
- SSL_CERT=${SSL_CERT}
- MONGODB_URI=${MONGODB_URI}
- SENDGRID_API_KEY=${SENDGRID_API_KEY}
- SENDGRID_MAIL_FROM=${SENDGRID_MAIL_FROM}
- SENDGRID_CONFIRMATION_TEMPLATE=${SENDGRID_CONFIRMATION_TEMPLATE}
- SENDGRID_RECOVERY_TEMPLATE=${SENDGRID_RECOVERY_TEMPLATE}
- RESOURCE_SECRET=${RESOURCE_SECRET}
- JWT_SECRET=${JWT_SECRET}
- JWT_ADMIN_TOKEN_RENEW_INTERVAL=${JWT_ADMIN_TOKEN_RENEW_INTERVAL}
- MAX_STRATEGY_OPERATION=${MAX_STRATEGY_OPERATION}
- RELAY_BYPASS_HTTPS=${RELAY_BYPASS_HTTPS}
- RELAY_BYPASS_VERIFICATION=${RELAY_BYPASS_VERIFICATION}
- PERMISSION_CACHE_ACTIVATED=${PERMISSION_CACHE_ACTIVATED}
- HISTORY_ACTIVATED=${HISTORY_ACTIVATED}
- METRICS_MAX_PAGE=${METRICS_MAX_PAGE}
- MAX_REQUEST_PER_MINUTE=${MAX_REQUEST_PER_MINUTE}
- GIT_OAUTH_CLIENT_ID=${GIT_OAUTH_CLIENT_ID}
- GIT_OAUTH_SECRET=${GIT_OAUTH_SECRET}
- BITBUCKET_OAUTH_CLIENT_ID=${BITBUCKET_OAUTH_CLIENT_ID}
- BITBUCKET_OAUTH_SECRET=${BITBUCKET_OAUTH_SECRET}
- GOOGLE_RECAPTCHA_SECRET=${GOOGLE_RECAPTCHA_SECRET}
- GOOGLE_SKIP_AUTH=${GOOGLE_SKIP_AUTH}
- SWITCHER_API_LOGGER=${SWITCHER_API_LOGGER}
- SWITCHER_API_LOGGER_LEVEL=${SWITCHER_API_LOGGER_LEVEL}
- SWITCHER_API_ENABLE=${SWITCHER_API_ENABLE}
- SWITCHER_API_URL=${SWITCHER_API_URL}
- SWITCHER_API_KEY=${SWITCHER_API_KEY}
- SWITCHER_API_DOMAIN=${SWITCHER_API_DOMAIN}
- SWITCHER_API_ENVIRONMENT=${SWITCHER_API_ENVIRONMENT}
- SWITCHER_API_THROTTLE=${SWITCHER_API_THROTTLE}
- SWITCHER_SLACK_JWT_SECRET=${SWITCHER_SLACK_JWT_SECRET}
- SWITCHER_GITOPS_JWT_SECRET=${SWITCHER_GITOPS_JWT_SECRET}
- SWITCHER_GITOPS_URL=${SWITCHER_GITOPS_URL}
depends_on:
- mongodb
volumes:
- switcherapi-tls:/etc/certs
switchermanagement:
image: trackerforce/switcher-management
container_name: switchermanagement
command: ["/bin/sh", "-c", "./setup.sh ${SSL_ENABLED}"]
ports:
- 443:443
- 80:80
volumes:
- switcherapi-tls:/etc/nginx/conf.d
networks:
- backend
environment:
- SWITCHERAPI_URL=${SWITCHERAPI_URL}
- SM_IP=${SM_IP}
- GOOGLE_RECAPTCHA=${GOOGLE_RECAPTCHA}
- GITHUB_CLIENTID=${GIT_OAUTH_CLIENT_ID}
- BITBUCKET_CLIENTID=${BITBUCKET_OAUTH_CLIENT_ID}
- SWITCHERSLACKAPP_URL=${SWITCHERSLACKAPP_URL}
depends_on:
- switcherapi