forked from autolab/docker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
119 lines (110 loc) · 3.67 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
version: "3.3"
services:
redis:
container_name: redis
image: redis:latest
ports:
- '127.0.0.1:6379:6379'
deploy:
replicas: 1
restart: unless-stopped
tango:
container_name: tango
ports:
- '127.0.0.1:3000:3000'
build:
context: ./Tango
depends_on:
- redis
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./Tango/config.py:/opt/TangoService/Tango/config.py
- ./Tango/volumes:/opt/TangoService/Tango/volumes
- ../data/log/tango:/var/log/tango/
- ../data/log/tangonginx:/var/log/nginx
environment:
- DOCKER_DEPLOYMENT
- RESTFUL_KEY
- DOCKER_REDIS_HOSTNAME
# Path to volumes within the Tango container. Does not need to be modified.
- DOCKER_VOLUME_PATH
# Modify the below to be the path to volumes on your host machine
- DOCKER_TANGO_HOST_VOLUME_PATH
autolab:
container_name: autolab
depends_on:
- mysql
#- certbot
ports:
- '127.0.0.1:81:80'
- '127.0.0.1:444:443'
build: ./Autolab
restart: unless-stopped
# Some volume mappings may seem redundant, but we want to make it explicit
volumes:
- ./Autolab/config/database.yml:/home/app/webapp/config/database.yml
- ./Autolab/config/environments/production.rb:/home/app/webapp/config/environments/production.rb
- ./Autolab/config/autogradeConfig.rb:/home/app/webapp/config/autogradeConfig.rb
- ../data/courses:/home/app/webapp/courses
- ../data/courseConfig:/home/app/webapp/courseConfig
- ../data/assessmentConfig:/home/app/webapp/assessmentConfig
- ../data/storage:/home/app/webapp/storage
- ../data/attachments:/home/app/webapp/attachments
- ../data/log/autolab:/home/app/webapp/log
- ../data/log/nginx:/var/log/nginx
# This allows us to update the announcement banner without restarting Autolab:
- ./Autolab/app/views/home/_topannounce.html.erb:/home/app/webapp/app/views/home/_topannounce.html.erb
#- ./ssl/certbot/conf:/etc/letsencrypt
#- ./ssl/certbot/www:/var/www/certbot
# Uncomment the below if you are using your own certificate
# - ./ssl/fullchain.pem:/etc/letsencrypt/live/test.autolab.io/fullchain.pem
# - ./ssl/privkey.pem:/etc/letsencrypt/live/test.autolab.io/privkey.pem
# - ./ssl/ssl-dhparams.pem:/etc/letsencrypt/ssl-dhparams.pem
# Comment the below out to disable SSL (not recommended)
# - ./nginx/app.conf:/etc/nginx/sites-enabled/webapp.conf
# Uncomment the below to disable SSL (not recommended)
- ./nginx/no-ssl-app.conf:/etc/nginx/sites-enabled/webapp.conf
environment:
- DOCKER_SSL
- RESTFUL_HOST
- RESTFUL_PORT
- RESTFUL_KEY
- SMTP_SETTINGS_ADDRESS
- SMTP_SETTINGS_PORT
- SMTP_SETTINGS_ENABLE_STARTTLS_AUTO
- SMTP_SETTINGS_AUTHENTICATION
- SMTP_SETTINGS_USER_NAME
- SMTP_SETTINGS_PASSWORD
- SMTP_SETTINGS_DOMAIN
- SMTP_DEFAULT_FROM
- HOST_PROTOCOL
- HOST_DOMAIN
- GITHUB_CLIENT_ID
- GITHUB_CLIENT_SECRET
- SECRET_KEY_BASE
- LOCKBOX_MASTER_KEY
- DEVISE_SECRET_KEY
mysql:
container_name: mysql
image: mysql/mysql-server:latest
restart: unless-stopped
ports:
- "127.0.0.1:3306:3306"
environment:
- MYSQL_DATABASE
- MYSQL_ROOT_PASSWORD
- MYSQL_HOST
- MYSQL_PORT
- MYSQL_USER
- MYSQL_PASSWORD
volumes:
- ../data/mysql-db:/var/lib/mysql
# certbot:
# container_name: certbot
# image: certbot/certbot
# volumes:
# - ./ssl/certbot/conf:/etc/letsencrypt
# - ./ssl/certbot/www:/var/www/certbot
#volumes:
# mysql-db: