Dockerfile 3.76 KB
# Automatically generated Dockerfile 
# - Build 2016-12-16 12:13
# - Lucene/Solr version 6.3.0
# - Mtas release 20161216 
#

FROM ubuntu:16.04
MAINTAINER Matthijs Brouwer, Meertens Institute

EXPOSE 8983 80
  
USER root 

WORKDIR "/root" 

RUN mkdir lib 

ADD https://github.com/meertensinstituut/mtas/releases/download/20161216/mtas-6.3.0.jar /root/lib/

RUN apt-get update && apt-get install -y lsof software-properties-common python-software-properties apache2 curl subversion \
&& solrurl=$(curl -s 'http://www.apache.org/dyn/closer.lua/lucene/solr/6.3.0/solr-6.3.0.tgz' |   grep -o '<strong>[^<]*</strong>' |   sed 's/<[^>]*>//g' |   head -1) \
&& curl -o /root/solr-6.3.0.tgz -O $solrurl \
&& mathurl=$(curl -s 'http://www.apache.org/dyn/closer.lua/commons/math/binaries/commons-math3-3.6.1-bin.tar.gz' |   grep -o '<strong>[^<]*</strong>' |   sed 's/<[^>]*>//g' |   head -1) \
&& curl -o /root/lib/commons-math3-3.6.1-bin.tar.gz -O $mathurl \
&& tar xzf lib/commons-math3-3.6.1-bin.tar.gz -C lib commons-math3-3.6.1/commons-math3-3.6.1.jar --strip-components=1 \
&& rm lib/commons-math3-3.6.1-bin.tar.gz \
&& svn export https://github.com/meertensinstituut/mtas/trunk/docker/ data \
&& add-apt-repository -y ppa:webupd8team/java \
&& apt-get update \
&& echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections \
&& apt-get install -y oracle-java8-installer \
&& rm -rf /var/lib/apt/lists/* \
&& tar xzf solr-6.3.0.tgz solr-6.3.0/bin/install_solr_service.sh --strip-components=2 \
&& bash ./install_solr_service.sh solr-6.3.0.tgz && rm install_solr_service.sh && rm -rf solr-6.3.0.tgz \
&& service apache2 stop \
&& echo "ServerName localhost" | tee /etc/apache2/conf-available/fqdn.conf \
&& a2enmod proxy \
&& a2enmod proxy_http \
&& a2enmod proxy_ajp \
&& a2enmod rewrite \
&& a2enmod deflate \
&& a2enmod headers \
&& a2enmod proxy_balancer \
&& a2enmod proxy_connect \
&& a2enmod proxy_html \
&& a2enmod xml2enc \
&& a2enconf fqdn \
&& sed -i '/<\/VirtualHost>/ i ProxyPass /solr http://localhost:8983/solr\nProxyPassReverse /solr http://localhost:8983/solr' /etc/apache2/sites-enabled/000-default.conf \
&& rm -rf /var/www/html/* \
&& mkdir /var/www/html/demo \ 
&& cp -rp data/folia-samples /var/www/html/demo/ \
&& cp -rp data/isotei-samples /var/www/html/demo/ \
&& gunzip -r /var/www/html/demo \
&& cp -rp data/site/* /var/www/html/ \
&& chmod -R 755 /var/www/html \
&& printf "echo\n" >> /start.sh \
&& printf "echo \"================ Mtas -- Multi Tier Annotation Search =================\"\n" >> /start.sh \
&& printf "echo \"  Timestamp 2016-12-16 12:13\"\n" >> /start.sh \
&& printf "echo \"  Lucene/Solr version 6.3.0\"\n" >> /start.sh \
&& printf "echo \"  Mtas release 20161216\"\n" >> /start.sh \
&& printf "echo \"  See https://meertensinstituut.github.io/mtas/ for more information\"\n" >> /start.sh \
&& printf "echo \"=======================================================================\"\n" >> /start.sh \
&& printf "echo\n" >> /start.sh \
&& printf "service solr start\nservice apache2 start\n" >> /start.sh \
&& chmod 755 /start.sh \
&& mkdir demo1 && mkdir demo1/lib && mkdir demo1/conf \
&& echo "name=demo1" > demo1/core.properties \
&& cp lib/commons-math3-3.6.1.jar demo1/lib/ \
&& cp lib/mtas-6.3.0.jar demo1/lib/ \
&& cp data/solrconfig.xml demo1/conf/ \
&& cp data/schemaBasic.xml demo1/conf/schema.xml \
&& cp -r data/mtas demo1/conf/ && cp data/mtas.xml demo1/conf/ \  
&& chmod -R 777 demo1 \
&& cp -rp demo1 demo2 \
&& cp data/schemaFull.xml demo2/conf/schema.xml \
&& echo "name=demo2" > demo2/core.properties\
&& cp -rp demo1 demo3 \
&& cp data/schemaFull.xml demo3/conf/schema.xml \
&& echo "name=demo3" > demo3/core.properties\
&& mv demo1 /var/solr/data/ \
&& mv demo2 /var/solr/data/ \
&& mv demo3 /var/solr/data/

CMD bash -C '/start.sh'; 'bash'