summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2019-09-03 13:06:00 +0200
committerChristoph Helma <helma@in-silico.ch>2019-09-03 13:06:00 +0200
commita84d9eabf1b921086a688f81df28b0f21ba4df19 (patch)
tree8ca3d6c2a0bc8d22821212af2eada21cce2ea1e0 /docker
parentc9f8cd864a2b72e7330b8095691fa5c16fea83aa (diff)
docker installation as gem, links with port numbers, version 1.4.0prerelease
Diffstat (limited to 'docker')
-rw-r--r--docker/Dockerfile46
-rwxr-xr-xdocker/start.sh4
2 files changed, 20 insertions, 30 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
index a606b9a..b7ba3c1 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -23,12 +23,17 @@ RUN pacman -Scc --noconfirm
RUN R -e "install.packages('Rserve', repos='http://rforge.net/')"
RUN pip install xlsx2csv
+
+# install lazar-gui gem
+RUN echo 'gem: --no-document' > /etc/gemrc
+RUN gem install lazar-gui
+
RUN useradd -ms /bin/bash ist
-# mongodb has been removed from main repositories
USER ist
WORKDIR /home/ist
RUN mkdir data
+# mongodb has been removed from main repositories, AUR installation
RUN mkdir src
WORKDIR /home/ist/src
RUN wget https://aur.archlinux.org/cgit/aur.git/snapshot/mongodb-bin.tar.gz
@@ -36,38 +41,23 @@ RUN tar -xvzf mongodb-bin.tar.gz
WORKDIR /home/ist/src/mongodb-bin
RUN makepkg -s --noconfirm
-# installation requires root
-USER root
-RUN pacman -U --noconfirm /home/ist/src/mongodb-bin/mongodb-bin*.pkg.tar.xz
-
-# install lazar-gui gem
-RUN echo 'gem: --no-document' > /etc/gemrc
-
-#RUN gem install lazar-gui
-RUN gem install lazar
-RUN gem install qsar-report
-RUN gem install sinatra haml sass rdiscount unicorn
-
-USER ist
-WORKDIR /home/ist
-RUN rm -r src
-
-# lazar-gui
-RUN git clone https://git.in-silico.ch/lazar-gui
-WORKDIR lazar-gui
-RUN git checkout prerelease
-
-# SWAGGER for API
+# rest api swagger gui
WORKDIR /home/ist
RUN git clone https://github.com/swagger-api/swagger-ui.git
COPY swagger.html /home/ist/swagger-ui/dist/index.html
-# TODO adjust to lazar-gui gem path
-RUN ln -s /home/ist/swagger-ui/dist/swagger-ui-bundle.js /home/ist/lazar-gui/public/swagger-ui-bundle.js
-RUN ln -s /home/ist/swagger-ui/dist/swagger-ui-standalone-preset.js /home/ist/lazar-gui/public/swagger-ui-standalone-preset.js
-RUN ln -s /home/ist/swagger-ui/dist/swagger-ui.css /home/ist/lazar-gui/public/swagger-ui.css
-
# start script
COPY start.sh /home/ist/start.sh
+# mongodb installation requires root
+USER root
+RUN pacman -U --noconfirm /home/ist/src/mongodb-bin/mongodb-bin*.pkg.tar.xz
+
+# swagger links
+RUN ln -s /home/ist/swagger-ui/dist/swagger-ui-bundle.js $(gem which "lazar-gui"|sed 's#/lib/lazar-gui.rb/##')/public/swagger-ui-bundle.js
+RUN ln -s /home/ist/swagger-ui/dist/swagger-ui-standalone-preset.js $(gem which "lazar-gui"|sed 's#/lib/lazar-gui.rb/##')/public/swagger-ui-standalone-preset.js
+RUN ln -s /home/ist/swagger-ui/dist/swagger-ui.css $(gem which "lazar-gui"|sed 's#/lib/lazar-gui.rb/##')/public/swagger-ui.css
+
+USER ist
+RUN rm -r /home/ist/src
ENTRYPOINT ["/home/ist/start.sh"]
diff --git a/docker/start.sh b/docker/start.sh
index ad40a0e..07fefde 100755
--- a/docker/start.sh
+++ b/docker/start.sh
@@ -5,8 +5,8 @@ mongod --bind_ip 127.0.0.1 --dbpath ~/data &
R CMD Rserve --vanilla &
# import data
-ruby -e "require 'lazar'; include OpenTox; Import.public_data"
+ruby -e "require 'lazar'; include OpenTox; Import.public_data if Model::Validation.all.empty?"
# start lazar service
-cd $HOME/lazar-gui
+cd $(gem which lazar-gui|sed 's#/lib/lazar-gui.rb/##')
unicorn -p 8088 -E production