forked from vbhayden/learninglocker-docker
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdocker-compose.yml
127 lines (117 loc) · 3.06 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
127
version: '3'
services:
mongo:
image: mongo:4
restart: unless-stopped
volumes:
- ./data/mongo:/data/db
networks:
- public
redis:
image: redis:4-alpine
restart: unless-stopped
volumes:
- ./data/redis:/data
networks:
- public
xapi:
image: learninglocker/xapi-service:4.1.0
restart: unless-stopped
environment:
- MONGO_URL=mongodb://mongo:27017/learninglocker_v2
- MONGO_DB=learninglocker_v2
- REDIS_URL=redis://redis:6379/0
depends_on:
- mongo
- redis
volumes:
- ./data/xapi-storage:/usr/src/app/storage
networks:
- public
migration:
build:
context: .
command: "yarn migrate"
depends_on:
- mongo
volumes:
- ./data/app-storage:/opt/learninglocker/storage
networks:
- public
api:
# image: michzimny/learninglocker2-app:${DOCKER_TAG}
build:
context: .
restart: unless-stopped
command: "node api/dist/server"
restart: unless-stopped
depends_on:
- mongo
- redis
- migration
volumes:
- ./data/app-storage:/opt/learninglocker/storage
networks:
- public
ui:
# image: michzimny/learninglocker2-app:${DOCKER_TAG}
build:
context: .
restart: unless-stopped
command: "node ui/dist/server"
depends_on:
- mongo
- redis
- migration
- api
volumes:
- ./data/app-storage:/opt/learninglocker/storage
- ./data/ui-logs:/opt/learninglocker/logs
networks:
- public
worker:
# image: michzimny/learninglocker2-app:${DOCKER_TAG}
build:
context: .
restart: unless-stopped
command: "node worker/dist/server"
depends_on:
- mongo
- migration
- redis
volumes:
- ./data/app-storage:/opt/learninglocker/storage
networks:
- public
nginx:
build:
context: nginx
args:
- DOMAIN_NAME=${DOMAIN_NAME}
restart: unless-stopped
depends_on:
- ui
- xapi
ports:
- "443:443"
- "80:80"
volumes:
- ./nginx/letsencrypt:/usr/share/nginx/html
- ./certbot/etc:/usr/share/keys
networks:
- public
certbot:
image: certbot/certbot
container_name: 'docker_certbot'
volumes:
- ./keys:/var/lib/letsencrypt
- ./nginx/letsencrypt:/data/letsencrypt
- ./certbot/etc:/etc/letsencrypt
- ./certbot/log:/var/log/letsencrypt
depends_on:
- nginx
networks:
- public
networks:
public:
driver: bridge