-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
105 lines (87 loc) · 2.85 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
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# Use phusion/baseimage as base image
FROM phusion/baseimage:0.9.19
# Set environment variables the phusion way
RUN echo en_US.UTF-8 > /etc/container_environment/LANGUAGE
RUN echo en_US.UTF-8 > /etc/container_environment/LANG
RUN echo en_US.UTF-8 > /etc/container_environment/LC_ALL
RUN echo UTF-8 > /etc/container_environment/PYTHONIOENCODING
# Use baseimage-docker's init system.
CMD ["/sbin/my_init"]
MAINTAINER Simon Frost <[email protected]>
## Set a default user. Available via runtime flag `--user docker`
RUN useradd docker \
&& mkdir /home/docker \
&& chown docker:docker /home/docker \
&& mkdir /home/docker/programs \
&& addgroup docker staff
RUN apt-get update -qq && \
DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \
build-essential \
python3-dev \
git \
wget \
cmake \
nodejs \
npm \
libudunits2-dev \
graphviz-dev
## Add RethinkDB repository
RUN echo "deb http://download.rethinkdb.com/apt xenial main" > /etc/apt/sources.list.d/rethinkdb.list
RUN wget -qO- https://download.rethinkdb.com/apt/pubkey.gpg | apt-key add -
RUN apt-get update -qq && \
DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends rethinkdb
## Add R
RUN sh -c 'echo "deb http://cran.rstudio.com/bin/linux/ubuntu xenial/" >> /etc/apt/sources.list'
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
RUN apt-get update -qq && \
DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \
default-jdk \
perl \
libcurl4-openssl-dev \
r-base \
r-base-dev
#setup R configs
RUN echo "r <- getOption('repos'); r['CRAN'] <- 'http://cran.rstudio.com'; options(repos = r);" > ~/.Rprofile
RUN Rscript -e "install.packages('ape')"
RUN Rscript -e "install.packages('ggplot2')"
RUN Rscript -e "install.packages('ggforce')"
RUN Rscript -e "install.packages('plotly')"
RUN Rscript -e "install.packages('rethinker')"
RUN Rscript -e "install.packages('cowplot')"
RUN Rscript -e "install.packages('DT')"
RUN Rscript -e "install.packages('xtable')"
# Install the recent pip release
RUN curl -O https://bootstrap.pypa.io/get-pip.py && \
python3 get-pip.py && \
rm get-pip.py && \
# Install nexthiv
pip3 install git+https://github.com/sdwfrost/nexthiv@master
# Install IQ-TREE
RUN cd /home/docker/programs && \
git clone https://github.com/Cibiv/IQ-TREE.git && \
cd IQ-TREE && \
mkdir build && \
cd build && \
cmake -DIQTREE_FLAGS=omp .. && \
make && \
cp iqtree-omp /usr/local/bin && \
rm -rf /home/docker/programs/IQ-TREE
# Install TN93
RUN cd /home/docker/programs && \
git clone https://github.com/veg/tn93 && \
cd tn93 && \
cmake . && \
make install && \
rm -rf /home/docker/programs/tn93
# Chateau
RUN npm install -g chateau
# RethinkDB stuff
VOLUME ["/data"]
WORKDIR /data
CMD ["rethinkdb","--bind","all"]
CMD ["chateau"]
EXPOSE 8080
EXPOSE 28015
EXPOSE 29015
EXPOSE 3000
#VOLUME ["data"]