-
Notifications
You must be signed in to change notification settings - Fork 3
/
Dockerfile
84 lines (63 loc) · 3.29 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
# docker build -t fruitflybrain/ffbo.neuroarch_component:hemibrain .
# Initialize image
FROM python:2
MAINTAINER Yiyin Zhou <[email protected]>
RUN apt-get update && apt-get install -y apt-transport-https
ENV HOME /app
ENV DEBIAN_FRONTEND noninteractive
# Add the application resources URL
RUN echo "deb http://archive.ubuntu.com/ubuntu/ trusty main universe" >> /etc/apt/sources.list
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
RUN apt-get update
# Install basic applications
RUN apt-get install -y --force-yes tar git curl vim wget dialog net-tools build-essential
# Install Python and Basic Python Tools
RUN apt-get install -y --force-yes --force-yes python python-dev python-distribute python-pip
# Crossbar.io connection defaults
ENV CBURL ws://crossbar:8080/ws
ENV CBREALM realm1
# install Autobahn|Python
RUN pip install -U pip && pip install autobahn[twisted]==18.12.1
# Install Java
RUN apt-get install -y --force-yes default-jre
# Install OrientDB
RUN wget https://s3.us-east-2.amazonaws.com/orientdb3/releases/2.2.37/orientdb-community-importers-2.2.37.zip && \
unzip orientdb-community-importers-2.2.37.zip -d /opt && \
mv /opt/orientdb-community-importers-2.2.37 /opt/orientdb && \
rm orientdb-community-importers-2.2.37.zip
RUN sed -e "s/-d64 //g" -i.backup /opt/orientdb/bin/server.sh
# Install dependancies
RUN pip install --upgrade pip
RUN pip install numpy==1.14.5 cython simplejson daff path.py networkx==1.11
RUN apt-get -yq update && \
apt-get -yqq install ssh
RUN apt-get install -y --force-yes python-h5py
RUN apt-get clean
RUN rm -r /var/lib/apt/lists/*
RUN apt-get update
# Package that supports binary serialization for pyorient
RUN pip install pyorient_native pyOpenSSL pandas service_identity configparser
# Install from forked pyorient till binary serialization support
# is integrated in the next release
#WORKDIR /app
#RUN git clone https://github.com/nikulukani/pyorient.git
#WORKDIR /app/pyorient
#RUN git fetch && git checkout develop
#RUN python setup.py install
RUN pip install pyorient
ENV ORIENTDB_ROOT_PASSWORD root
RUN git clone --single-branch -b hemibrain https://github.com/fruitflybrain/ffbo.neuroarch_component /neuroarch_component
RUN git clone --single-branch -b hemibrain https://github.com/fruitflybrain/neuroarch /neuroarch
# You can optionally download and install the database when building the image,
# otherwise download the database dump using the link below or wget command further below
# and map volume into the docker container.
# https://drive.google.com/file/d/1IOTpQDeb-byw6Zvcs9N3JrWjgun3cnWN/view?usp=sharing
# Install database
# WORKDIR /opt/orientdb/databases
# RUN wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=1IOTpQDeb-byw6Zvcs9N3JrWjgun3cnWN' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=1IOTpQDeb-byw6Zvcs9N3JrWjgun3cnWN" -O ffbo_db.tar.gz && rm -rf /tmp/cookies.txt && \
# tar zxvf ffbo_db.tar.gz && \
# mv hemibrain na_server && \
# rm ffbo_db.tar.gz
WORKDIR /neuroarch_component/neuroarch_component
CMD sh run_component_docker.sh