-
Notifications
You must be signed in to change notification settings - Fork 54
/
Dockerfile.chemotion-dev
45 lines (37 loc) · 2.28 KB
/
Dockerfile.chemotion-dev
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
# This dockerfile is used by docker-compose.dev.yml
# It builds a container with all the necessary gems to run chemotion ELN
# WARNING: Building this container initially takes a lot of time, due to gem compiling, so grab a coffee
# and write some documentation meanwhile ;)
FROM --platform=linux/amd64 ubuntu:jammy
ARG DEBIAN_FRONTEND=noninteractive
RUN set -xe && apt-get update -yqqq --fix-missing && apt-get upgrade -y
RUN apt update && apt-get install -yqq --fix-missing bash ca-certificates wget apt-transport-https git gpg\
imagemagick libmagic-dev libmagickcore-dev libmagickwand-dev curl gnupg2 \
build-essential sudo postgresql-client libappindicator1 swig \
gconf-service libasound2 libgconf-2-4 cmake \
libnspr4 libnss3 libpango1.0-0 libxss1 xdg-utils tzdata libpq-dev \
gtk2-engines-pixbuf \
libssl-dev libreadline-dev\
unzip openssh-client \
libsqlite3-dev libboost-all-dev p7zip-full \
xfonts-cyrillic xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable \
fonts-crosextra-caladea fonts-crosextra-carlito \
fonts-dejavu fonts-dejavu-core fonts-dejavu-extra fonts-liberation2 fonts-liberation \
fonts-linuxlibertine fonts-noto-core fonts-noto-extra fonts-noto-ui-core \
fonts-opensymbol fonts-sil-gentium fonts-sil-gentium-basic inkscape \
libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libxtst6 xauth xvfb
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN useradd -ms /bin/bash chemotion-dev \
&& echo "chemotion-dev ALL=NOPASSWD: ALL" >> /etc/sudoers
USER chemotion-dev
WORKDIR /home/chemotion-dev
# Create node modules folder OUTSIDE of application directory
RUN mkdir /home/chemotion-dev/node_modules
SHELL ["/bin/bash", "-c"]
# Even if asdf and the related tools are only installed by running run-ruby-dev.sh, we set the PATH variables here, so when we enter the container via docker exec, we have the path set correctly
ENV ASDF_DIR=/home/chemotion-dev/.asdf
ENV PATH=/home/chemotion-dev/.asdf/shims:/home/chemotion-dev/.asdf/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
RUN echo 'network-timeout 600000' > /home/chemotion-dev/.yarnrc
# use node modules from outside the application directory
RUN echo '--modules-folder /home/chemotion-dev/node_modules/' >> /home/chemotion-dev/.yarnrc