-
Notifications
You must be signed in to change notification settings - Fork 3
/
Dockerfile
44 lines (36 loc) · 1.55 KB
/
Dockerfile
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
FROM ubuntu:18.04
RUN mkdir -p /app
WORKDIR /app
RUN apt-get update
RUN apt-get install -y clustalo ncbi-tools-bin
RUN apt-get install -y make rsync wget
RUN apt-get install -y git g++ libz-dev libbz2-dev bzip2 doxygen xsltproc docbook docbook-xsl docbook-xml autoconf automake autotools-dev libperl-dev
RUN mkdir -p /deps
# Install boost 1.65
WORKDIR /deps/
RUN wget https://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_65_1.tar.bz2 && tar xjf boost_1_65_1.tar.bz2 && rm boost_1_65_1.tar.bz2
WORKDIR /deps/boost_1_65_1
RUN ./bootstrap.sh && ./b2 install && ldconfig
RUN install bjam /usr/local/bin/bjam
ENV BOOST_ROOT /deps/boost_1_65_1
# Install libzeep
RUN git clone https://github.com/mhekkel/libzeep.git /deps/libzeep
WORKDIR /deps/libzeep
RUN make -j ; make install ; ldconfig
WORKDIR /app
COPY . /app
RUN ./configure && make -j && make install
RUN mkdir -p /srv/files && cp -r /srv/mrs-data/* /srv/files
# The config file generated by the makefile is never correct.
# Previously the generated config file has been edited by hand to set the
# correct <base-url> address.
#
# The problem is that MRS_BASE_URL needs to be set to the hostname and port
# machine running the docker container for the web service (e.g.
# chelonium:18090) but to the externally visible hostname and port for the SOAP
# service (because this is set in the WSDL).
#
# We can workaround this by replacing the <base-url> value in the generated
# config.
RUN sed -i 's/http\:\/\/chelonium\.cmbi\.umcn\.nl\:18090/https\:\/\/mrs.cmbi.umcn.nl/' /usr/local/etc/mrs/mrs-config.xml
EXPOSE 18090