|
1 | 1 | FROM ubuntu:16.04
|
2 | 2 |
|
3 |
| -ENV WEBWORK_URL /webwork2 |
4 |
| -ENV WEBWORK_ROOT_URL http://localhost |
5 |
| -ENV WEBWORK_DB_HOST db |
6 |
| -ENV WEBWORK_DB_PORT 3306 |
7 |
| -ENV WEBWORK_DB_NAME webwork |
8 |
| -ENV WEBWORK_DB_DSN DBI:mysql:${WEBWORK_DB_NAME}:${WEBWORK_DB_HOST}:${WEBWORK_DB_PORT} |
9 |
| -ENV WEBWORK_DB_USER webworkWrite |
10 |
| -ENV WEBWORK_DB_PASSWORD passwordRW |
11 |
| -ENV WEBWORK_SMTP_SERVER localhost |
12 |
| -ENV WEBWORK_SMTP_SENDER [email protected] |
13 |
| -ENV WEBWORK_TIMEZONE America/New_York |
14 |
| -ENV APACHE_RUN_USER www-data |
15 |
| -ENV APACHE_RUN_GROUP www-data |
16 |
| -# temporary state file location. This might be changed to /run in Wheezy+1 |
17 |
| -ENV APACHE_PID_FILE /var/run/apache2/apache2.pid |
18 |
| -ENV APACHE_RUN_DIR /var/run/apache2 |
19 |
| -ENV APACHE_LOCK_DIR /var/lock/apache2 |
20 |
| -# Only /var/log/apache2 is handled by /etc/logrotate.d/apache2. |
21 |
| -ENV APACHE_LOG_DIR /var/log/apache2 |
22 |
| -ENV APP_ROOT /opt/webwork |
23 |
| -ENV WEBWORK_ROOT $APP_ROOT/webwork2 |
24 |
| -ENV PG_ROOT $APP_ROOT/pg |
25 |
| -ENV DEV 0 |
26 |
| - |
| 3 | +ENV PG_BRANCH=rel-PG-2.14 \ |
| 4 | + WEBWORK_URL=/webwork2 \ |
| 5 | + WEBWORK_ROOT_URL=http://localhost \ |
| 6 | + WEBWORK_DB_HOST=db \ |
| 7 | + WEBWORK_DB_PORT=3306 \ |
| 8 | + WEBWORK_DB_NAME=webwork \ |
| 9 | + WEBWORK_DB_USER=webworkWrite \ |
| 10 | + WEBWORK_DB_PASSWORD=passwordRW \ |
| 11 | + WEBWORK_SMTP_SERVER=localhost \ |
| 12 | + |
| 13 | + WEBWORK_TIMEZONE=America/New_York \ |
| 14 | + APACHE_RUN_USER=www-data \ |
| 15 | + APACHE_RUN_GROUP=www-data \ |
| 16 | + # temporary state file location. This might be changed to /run in Wheezy+1 \ |
| 17 | + APACHE_PID_FILE=/var/run/apache2/apache2.pid \ |
| 18 | + APACHE_RUN_DIR=/var/run/apache2 \ |
| 19 | + APACHE_LOCK_DIR=/var/lock/apache2 \ |
| 20 | + # Only /var/log/apache2 is handled by /etc/logrotate.d/apache2. |
| 21 | + APACHE_LOG_DIR=/var/log/apache2 \ |
| 22 | + APP_ROOT=/opt/webwork \ |
| 23 | + DEV=0 |
| 24 | + |
| 25 | +ENV WEBWORK_DB_DSN=DBI:mysql:${WEBWORK_DB_NAME}:${WEBWORK_DB_HOST}:${WEBWORK_DB_PORT} \ |
| 26 | + WEBWORK_ROOT=$APP_ROOT/webwork2 \ |
| 27 | + PG_ROOT=$APP_ROOT/pg \ |
| 28 | + PATH=$PATH:$APP_ROOT/webwork2/bin |
27 | 29 |
|
28 | 30 | RUN apt-get update \
|
29 | 31 | && apt-get install -y --no-install-recommends --no-install-suggests \
|
@@ -78,35 +80,40 @@ RUN apt-get update \
|
78 | 80 |
|
79 | 81 | RUN mkdir -p $APP_ROOT/courses $APP_ROOT/libraries $APP_ROOT/webwork2
|
80 | 82 |
|
81 |
| -COPY VERSION /tmp |
82 |
| - |
83 |
| -RUN WEBWORK_VERSION=`cat /tmp/VERSION|sed -n 's/.*\(develop\)'\'';/\1/p' && cat /tmp/VERSION|sed -n 's/.*\([0-9]\.[0-9]*\)'\'';/PG\-\1/p'` \ |
84 |
| - && curl -fSL https://github.com/openwebwork/pg/archive/${WEBWORK_VERSION}.tar.gz -o /tmp/${WEBWORK_VERSION}.tar.gz \ |
85 |
| - && tar xzf /tmp/${WEBWORK_VERSION}.tar.gz \ |
86 |
| - && mv pg-${WEBWORK_VERSION} $APP_ROOT/pg \ |
87 |
| - && rm /tmp/${WEBWORK_VERSION}.tar.gz \ |
| 83 | +# Block to include webwork2 in the container, when needed, instead of getting it from a bind mount. |
| 84 | +# Uncomment when needed, and set the correct branch name on the following line. |
| 85 | +#ENV WEBWORK_BRANCH=rel-ww2.14 # need a valid branch name from https://github.com/openwebwork/webwork2 |
| 86 | +#RUN curl -fSL https://github.com/openwebwork/webwork2/archive/${WEBWORK_BRANCH}.tar.gz -o /tmp/${WEBWORK_BRANCH}.tar.gz \ |
| 87 | +# && cd /tmp \ |
| 88 | +# && tar xzf /tmp/${WEBWORK_BRANCH}.tar.gz \ |
| 89 | +# && mv webwork2-${WEBWORK_BRANCH} $APP_ROOT/webwork2 \ |
| 90 | +# && rm -rf /tmp/${WEBWORK_BRANCH}.tar.gz /tmp/webwork2-${WEBWORK_BRANCH} |
| 91 | + |
| 92 | +RUN curl -fSL https://github.com/openwebwork/pg/archive/${PG_BRANCH}.tar.gz -o /tmp/${PG_BRANCH}.tar.gz \ |
| 93 | + && tar xzf /tmp/${PG_BRANCH}.tar.gz \ |
| 94 | + && mv pg-${PG_BRANCH} $APP_ROOT/pg \ |
| 95 | + && rm /tmp/${PG_BRANCH}.tar.gz \ |
88 | 96 | && curl -fSL https://github.com/openwebwork/webwork-open-problem-library/archive/master.tar.gz -o /tmp/opl.tar.gz \
|
89 | 97 | && tar xzf /tmp/opl.tar.gz \
|
90 | 98 | && mv webwork-open-problem-library-master $APP_ROOT/libraries/webwork-open-problem-library \
|
91 | 99 | && rm /tmp/opl.tar.gz \
|
92 | 100 | && curl -fSL https://github.com/mathjax/MathJax/archive/master.tar.gz -o /tmp/mathjax.tar.gz \
|
93 | 101 | && tar xzf /tmp/mathjax.tar.gz \
|
94 | 102 | && mv MathJax-master $APP_ROOT/MathJax \
|
95 |
| - && rm /tmp/mathjax.tar.gz \ |
96 |
| - && rm /tmp/VERSION |
97 |
| - #curl -fSL https://github.com/openwebwork/webwork2/archive/WeBWorK-${WEBWORK_VERSION}.tar.gz -o /tmp/WeBWorK-${WEBWORK_VERSION}.tar.gz \ |
98 |
| - #&& tar xzf /tmp/WeBWorK-${WEBWORK_VERSION}.tar.gz \ |
99 |
| - #&& mv webwork2-WeBWorK-${WEBWORK_VERSION} $APP_ROOT/webwork2 \ |
100 |
| - #&& rm /tmp/WeBWorK-${WEBWORK_VERSION}.tar.gz \ |
| 103 | + && rm /tmp/mathjax.tar.gz |
| 104 | + |
101 | 105 |
|
102 | 106 | RUN echo "PATH=$PATH:$APP_ROOT/webwork2/bin" >> /root/.bashrc
|
103 | 107 |
|
104 | 108 | COPY . $APP_ROOT/webwork2
|
105 | 109 |
|
106 |
| -RUN cd $APP_ROOT/webwork2/courses.dist \ |
107 |
| - && cp *.lst $APP_ROOT/courses/ \ |
108 |
| - && cp -R modelCourse $APP_ROOT/courses/ \ |
109 |
| - && cd $APP_ROOT/pg/lib/chromatic \ |
| 110 | +# Move these lines into docker-entrypoint.sh so the bind mount of courses |
| 111 | +# will be available |
| 112 | +#RUN cd $APP_ROOT/webwork2/courses.dist \ |
| 113 | +# && cp *.lst $APP_ROOT/courses/ \ |
| 114 | +# && cp -R modelCourse $APP_ROOT/courses/ |
| 115 | + |
| 116 | +RUN cd $APP_ROOT/pg/lib/chromatic \ |
110 | 117 | && gcc color.c -o color
|
111 | 118 |
|
112 | 119 | # setup apache
|
|
0 commit comments