Dockerfile
3.75 KB
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
# Automatically generated Dockerfile
# - Build ${timestamp}
# - Lucene/Solr version ${currentDevelopmentVersion}
# - Mtas release ${currentDevelopmentRelease}
#
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/${currentDevelopmentRelease}/mtas-${currentDevelopmentVersion}.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/${currentDevelopmentVersion}/solr-${currentDevelopmentVersion}.tgz' | grep -o '<strong>[^<]*</strong>' | sed 's/<[^>]*>//g' | head -1) \
&& curl -o /root/solr-${currentDevelopmentVersion}.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-${currentDevelopmentVersion}.tgz solr-${currentDevelopmentVersion}/bin/install_solr_service.sh --strip-components=2 \
&& bash ./install_solr_service.sh solr-${currentDevelopmentVersion}.tgz && rm install_solr_service.sh && rm -rf solr-${currentDevelopmentVersion}.tgz \
&& service apache2 stop \
&& a2enmod proxy \
&& a2enmod proxy_http \
&& a2enmod proxy_ajp \
&& a2enmod rewrite \
&& a2enmod deflate \
&& a2enmod headers \
&& a2enmod proxy_balancer \
&& a2enmod proxy_connect \
&& a2enmod proxy_html \
&& 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/ \
&& 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 \" Version ${timestamp}\"\n" >> /start.sh \
&& printf "echo \" Lucene/Solr version ${currentDevelopmentVersion}\"\n" >> /start.sh \
&& printf "echo \" Mtas release ${currentDevelopmentRelease}\"\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-${currentDevelopmentVersion}.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\
&& mv demo1 /var/solr/data/ \
&& mv demo2 /var/solr/data/
CMD bash -C '/start.sh'; 'bash'