forked from rolling-scopes/rsschool-app
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
114 lines (109 loc) · 4.4 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
version: '3'
services:
client:
container_name: client
image: ghcr.io/rolling-scopes/rsschool-app-client:master
ports:
- 8081:8080
environment:
RS_HOST: ${RS_HOST}
RSSHCOOL_UI_GCP_MAPS_API_KEY: ${RSSHCOOL_UI_GCP_MAPS_API_KEY}
restart: on-failure
depends_on:
- server
- nestjs
networks:
- shared-network
server:
container_name: server
image: ghcr.io/rolling-scopes/rsschool-app-server:master
ports:
- 8080:8080
environment:
RSSHCOOL_API_AUTH_CALLBACK: ${RSSHCOOL_API_AUTH_CALLBACK}
RSSHCOOL_API_AUTH_CLIENT_ID: ${RSSHCOOL_API_AUTH_CLIENT_ID}
RSSHCOOL_API_AUTH_CLIENT_SECRET: ${RSSHCOOL_API_AUTH_CLIENT_SECRET}
RSSHCOOL_API_AUTH_SUCCESS_REDIRECT: ${RSSHCOOL_API_AUTH_SUCCESS_REDIRECT}
RSSHCOOL_API_SESSION_KEY: ${RSSHCOOL_API_SESSION_KEY}
RSSHCOOL_API_PG_HOST: ${RSSHCOOL_API_PG_HOST}
RSSHCOOL_API_PG_USERNAME: ${RSSHCOOL_API_PG_USERNAME}
RSSHCOOL_API_PG_PASSWORD: ${RSSHCOOL_API_PG_PASSWORD}
RSSHCOOL_API_PG_DATABASE: ${RSSHCOOL_API_PG_DATABASE}
RSSHCOOL_API_ADMIN_USERNAME: ${RSSHCOOL_API_ADMIN_USERNAME}
RSSHCOOL_API_ADMIN_PASSWORD: ${RSSHCOOL_API_ADMIN_PASSWORD}
RSSHCOOL_API_INTEGRATIONS_DISCORD_GRATITUDE_URL: ${RSSHCOOL_API_INTEGRATIONS_DISCORD_GRATITUDE_URL}
RSSHCOOL_API_HIRERS: ${RSSHCOOL_API_HIRERS}
RSSHCOOL_API_AWS_SECRET_ACCESS_KEY: ${RSSHCOOL_API_AWS_SECRET_ACCESS_KEY}
RSSHCOOL_API_AWS_ACCESS_KEY_ID: ${RSSHCOOL_API_AWS_ACCESS_KEY_ID}
RSSHCOOL_API_AWS_REGION: ${RSSHCOOL_API_AWS_REGION}
RSSHCOOL_API_AWS_REST_API_URL: ${RSSHCOOL_API_AWS_TASK_API_URL}
RSSHCOOL_API_AWS_REST_API_KEY: ${RSSHCOOL_API_AWS_TASK_API_KEY}
RSSHCOOL_API_GITHUB_APP_ID: ${RSSHCOOL_API_GITHUB_APP_ID}
RSSHCOOL_API_GITHUB_APP_INSTALL_ID: ${RSSHCOOL_API_GITHUB_APP_INSTALL_ID}
RSSHCOOL_API_GITHUB_PRIVATE_KEY: ${RSSHCOOL_API_GITHUB_PRIVATE_KEY}
RSSHCOOL_API_USERS_CLOUD_USERNAME: ${RSSHCOOL_USERS_CLOUD_USERNAME}
RSSHCOOL_API_USERS_CLOUD_PASSWORD: ${RSSHCOOL_USERS_CLOUD_PASSWORD}
RSSHCOOL_HOST: https://app.rs.school
restart: on-failure
networks:
- shared-network
nestjs:
container_name: nestjs
image: ghcr.io/rolling-scopes/rsschool-app-nestjs:master
ports:
- 8082:8080
environment:
RSSHCOOL_HOST: ${RS_HOST}
RSSHCOOL_PG_HOST: ${RSSHCOOL_API_PG_HOST}
RSSHCOOL_PG_USERNAME: ${RSSHCOOL_API_PG_USERNAME}
RSSHCOOL_PG_PASSWORD: ${RSSHCOOL_API_PG_PASSWORD}
RSSHCOOL_PG_DATABASE: ${RSSHCOOL_API_PG_DATABASE}
RSSHCOOL_USERS_ADMINS: 'apalchys,dzmitry-varabei,mikhama,sonejka,aaliakseyenka'
RSSHCOOL_USERS_HIRERS: ${RSSHCOOL_USERS_HIRERS}
RSSHCOOL_AUTH_GITHUB_CALLBACK: ${RSSHCOOL_API_AUTH_CALLBACK}
RSSHCOOL_AUTH_GITHUB_CLIENT_ID: ${RSSHCOOL_API_AUTH_CLIENT_ID}
RSSHCOOL_AUTH_GITHUB_CLIENT_SECRET: ${RSSHCOOL_API_AUTH_CLIENT_SECRET}
RSSHCOOL_AUTH_GITHUB_WEBHOOK_ACTIVITY_SECRET: ${RSSHCOOL_AUTH_GITHUB_WEBHOOK_ACTIVITY_SECRET}
RSSHCOOL_AUTH_JWT_SECRET_KEY: ${RSSHCOOL_API_SESSION_KEY}
RSSHCOOL_AWS_SECRET_ACCESS_KEY: ${RSSHCOOL_API_AWS_SECRET_ACCESS_KEY}
RSSHCOOL_AWS_ACCESS_KEY_ID: ${RSSHCOOL_API_AWS_ACCESS_KEY_ID}
RSSHCOOL_AWS_REGION: ${RSSHCOOL_API_AWS_REGION}
RSSHCOOL_AWS_REST_API_URL: ${RSSHCOOL_API_AWS_TASK_API_URL}
RSSHCOOL_AWS_REST_API_KEY: ${RSSHCOOL_API_AWS_TASK_API_KEY}
RSSHCOOL_USERS_CLOUD_USERNAME: ${RSSHCOOL_USERS_CLOUD_USERNAME}
RSSHCOOL_USERS_CLOUD_PASSWORD: ${RSSHCOOL_USERS_CLOUD_PASSWORD}
restart: on-failure
networks:
- shared-network
depends_on:
- server
nginx:
container_name: nginx
image: nginx:1.21-alpine
restart: unless-stopped
volumes:
- ./nginx:/etc/nginx
- ./letsencrypt:/etc/letsencrypt
- ./certbot:/var/www/certbot
command: '/bin/sh -c ''while :; do sleep 12h & wait $${!}; nginx -s reload; done & nginx -g "daemon off;"'''
ports:
- 80:8080
- 443:443
networks:
- shared-network
depends_on:
- client
- server
- nestjs
certbot:
container_name: certbot
image: certbot/certbot
restart: unless-stopped
volumes:
- ./letsencrypt:/etc/letsencrypt
- ./certbot:/var/www/certbot
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; sleep 12h & wait $${!}; done;'"
depends_on:
- nginx
networks:
shared-network: