|
| 1 | +FROM debian:jessie |
| 2 | +MAINTAINER Steve Nolen <technolengy@gmail.com> |
| 3 | +# Report issues here: https://github.com/ohmage/server |
| 4 | + |
| 5 | +RUN set -x \ |
| 6 | + && export DEBIAN_FRONTEND=noninteractive \ |
| 7 | + && apt-get update \ |
| 8 | + && apt-get install -y openjdk-7-jdk ant curl libtcnative-1 netcat git mysql-client\ |
| 9 | + && apt-get clean \ |
| 10 | + && rm -rf /var/lib/apt/lists/* |
| 11 | + |
| 12 | +# download tomcat |
| 13 | +ENV CATALINA_HOME /usr/local/tomcat |
| 14 | +ENV PATH $CATALINA_HOME/bin:$PATH |
| 15 | +RUN mkdir -p "$CATALINA_HOME" |
| 16 | +WORKDIR $CATALINA_HOME |
| 17 | + |
| 18 | +# see https://www.apache.org/dist/tomcat/tomcat-8/KEYS |
| 19 | +RUN gpg --keyserver pool.sks-keyservers.net --recv-keys \ |
| 20 | + 05AB33110949707C93A279E3D3EFE6B686867BA6 \ |
| 21 | + 07E48665A34DCAFAE522E5E6266191C37C037D42 \ |
| 22 | + 47309207D818FFD8DCD3F83F1931D684307A10A5 \ |
| 23 | + 541FBE7D8F78B25E055DDEE13C370389288584E7 \ |
| 24 | + 61B832AC2F1C5A90F0F9B00A1C506407564C17A3 \ |
| 25 | + 713DA88BE50911535FE716F5208B0AB1D63011C7 \ |
| 26 | + 79F7026C690BAA50B92CD8B66A3AD3F4F22C4FED \ |
| 27 | + 9BA44C2621385CB966EBA586F72C284D731FABEE \ |
| 28 | + A27677289986DB50844682F8ACB77FC2E86E29AC \ |
| 29 | + A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 \ |
| 30 | + DCFD35E0BF8CA7344752DE8B6FB21E8933C60243 \ |
| 31 | + F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBE \ |
| 32 | + F7DA48BB64BCB84ECBA7EE6935CD23C10D498E23 |
| 33 | + |
| 34 | +ENV TOMCAT_MAJOR 7 |
| 35 | +ENV TOMCAT_VERSION 7.0.67 |
| 36 | +ENV TOMCAT_TGZ_URL https://www.apache.org/dist/tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz |
| 37 | + |
| 38 | +RUN set -x \ |
| 39 | + && curl -fSL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz \ |
| 40 | + && curl -fSL "$TOMCAT_TGZ_URL.asc" -o tomcat.tar.gz.asc \ |
| 41 | + && gpg --verify tomcat.tar.gz.asc \ |
| 42 | + && tar -xvf tomcat.tar.gz --strip-components=1 \ |
| 43 | + && rm bin/*.bat \ |
| 44 | + && rm tomcat.tar.gz* \ |
| 45 | + && rm -rf /usr/local/tomcat/webapps/ROOT \ |
| 46 | + && rm -rf /usr/local/tomcat/webapps/docs \ |
| 47 | + && rm -rf /usr/local/tomcat/webapps/examples \ |
| 48 | + && rm -rf /usr/local/tomcat/webapps/manager \ |
| 49 | + && rm -rf /usr/local/tomcat/webapps/host-manager |
| 50 | + |
| 51 | +#### download flyway (ohmage doesn't do migrations) #### |
| 52 | +WORKDIR /flyway |
| 53 | +ENV FLYWAY_TGZ_URL http://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/3.2.1/flyway-commandline-3.2.1.tar.gz |
| 54 | +RUN set -x \ |
| 55 | + && curl -fSL "$FLYWAY_TGZ_URL" -o flyway.tar.gz \ |
| 56 | + && tar -xvf flyway.tar.gz --strip-components=1 \ |
| 57 | + && rm flyway.tar.gz |
| 58 | + |
| 59 | +WORKDIR /app |
| 60 | +ADD . /app |
| 61 | +RUN cp db/migration/* /flyway/sql/ \ |
| 62 | + && ant clean dist \ |
| 63 | + && cp dist/webapp-ohmage* "$CATALINA_HOME"/webapps/app.war \ |
| 64 | + && cp docker_entrypoint.sh /run.sh \ |
| 65 | + && chmod +x /run.sh \ |
| 66 | + && rm -rf /app |
| 67 | + |
| 68 | +RUN mkdir -p /var/lib/ohmage && ln -s /var/lib/ohmage /ohmage |
| 69 | +RUN useradd -ms /bin/bash ohmage && \ |
| 70 | + chown -R ohmage.ohmage "$CATALINA_HOME" && \ |
| 71 | + chown -R ohmage.ohmage /var/lib/ohmage |
| 72 | + |
| 73 | +EXPOSE 8080 |
| 74 | + |
| 75 | +VOLUME /ohmage |
| 76 | + |
| 77 | +CMD ["/run.sh"] |
0 commit comments