-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathdocker-compose.yml
142 lines (135 loc) · 3.79 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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
services:
setup:
profiles: ['setup']
build:
context: .
dockerfile: Dockerfile
image: opendsa/devstack:latest
stdin_open: true
tty: true
volumes:
- .:/devstack
db:
profiles: ['lti', 'code-workout', 'cw-op', 'odsa-cw']
image: mariadb:10.2
command: --default-authentication-plugin=mysql_native_password
ports:
- "3307:3306"
volumes:
- db:/var/lib/mysql
- ./mysql/my.cnf:/etc/mysql/my.cnf
- ./mysql/encryption:/etc/mysql/encryption
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
opendsa:
profiles: ['opendsa', 'lti', 'odsa-cw']
# extends:
# file: opendsa/docker-compose.yml
# service: opendsa
build:
context: ./opendsa
dockerfile: Dockerfile.server
image: opendsa/opendsa:latest
volumes:
- ./opendsa:/opendsa
expose:
- 8080
depends_on:
- proxy
env_file:
- .env
labels:
traefik.http.routers.opendsa.rule: Host(`opendsa.localhost.devcom.vt.edu`)
traefik.http.services.opendsa.loadbalancer.server.port: 8080
opendsa-lti:
profiles: ['lti', 'odsa-cw']
platform: linux/amd64
build:
context: ./opendsa-lti
dockerfile: Dockerfile
args:
- RAILS_ENV=${RAILS_ENV}
- ODSA_BRANCH=${ODSA_BRANCH}
- LTI_BRANCH=${LTI_BRANCH}
image: opendsa/opendsa-lti:latest
volumes:
- ./opendsa-lti:/opendsa-lti
- ./opendsa:/opendsa
- staticvolume:/opendsa-lti/public/assets
- bundle:/usr/local/bundle
- cache:/cache # added to support windows
entrypoint: /opendsa-lti/docker-entrypoint.sh
command: ["./scripts/start.sh"]
expose:
- 8443
depends_on:
- db
- proxy
env_file:
- .env
environment:
- SPROCKETS_CACHE=/cache # added to support windows
labels:
traefik.http.routers.opendsa-lti.rule: Host(`opendsa-lti.localhost.devcom.vt.edu`)
traefik.http.services.opendsa-lti.loadbalancer.server.port: 8443
code-workout:
profiles: ['code-workout', 'cw-op', 'odsa-cw']
build:
context: ./code-workout
dockerfile: Dockerfile
image: opendsa/code-workout:latest
volumes:
- ./code-workout:/code-workout
- cache:/cache # added to support windows
stdin_open: true
tty: true
expose:
- 9292
depends_on:
- db
- proxy
environment:
- SPROCKETS_CACHE=/cache # added to support windows
labels:
traefik.http.routers.code-workout.rule: Host(`code-workout.localhost.devcom.vt.edu`)
traefik.http.services.code-workout.loadbalancer.server.port: 9292
openpop:
profiles: ['openpop', 'cw-op']
build:
context: ./openpop
dockerfile: Dockerfile
image: opendsa/openpop:latest
command: ["./runservers.sh"]
volumes:
- ./openpop:/openpop
expose:
- 9295
depends_on:
- proxy
labels:
traefik.http.routers.openpop.rule: Host(`openpop.localhost.devcom.vt.edu`)
traefik.http.services.openpop.loadbalancer.server.port: 9295
proxy:
profiles: ['opendsa', 'lti', 'code-workout', 'openpop', 'cw-op', 'odsa-cw']
image: code.vt.edu:5005/devcom/devcom-localhost-proxy:traefik-2.3
ports:
- 80:80
- 443:443
- 127.0.0.1:8000:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
default:
aliases: # Ensure all container-to-container HTTP requests go through the proxy
- opendsa.localhost.devcom.vt.edu
- opendsa-lti.localhost.devcom.vt.edu
- code-workout.localhost.devcom.vt.edu
- openpop.localhost.devcom.vt.edu
volumes:
db:
staticvolume:
bundle:
cache: # added to support windows