-
Notifications
You must be signed in to change notification settings - Fork 66
Expand file tree
/
Copy pathDockerfile.chemotion-dev
More file actions
66 lines (50 loc) · 2.48 KB
/
Dockerfile.chemotion-dev
File metadata and controls
66 lines (50 loc) · 2.48 KB
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
# 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 ;)
ARG source_image=ubuntu:24.04
FROM ${source_image} AS chemotion_dev_base
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 \
build-essential sudo postgresql-common swig cmake \
libnspr4 libnss3 libxss1 xdg-utils tzdata
RUN apt-get install -yqq --fix-missing \
libyaml-dev \
libpq-dev \
imagemagick libmagic-dev libmagickcore-dev libmagickwand-dev curl \
gtk2-engines-pixbuf \
libssl-dev libreadline-dev \
unzip openssh-client
RUN apt-get install -yqq --fix-missing \
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 install -yqq ranger nano vim jq
RUN /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y
RUN apt-get update && apt-get install -yqq --fix-missing postgresql-client-16
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/*
#RUN useradd -ms /bin/bash chemotion-dev \
RUN echo "ubuntu ALL=NOPASSWD: ALL" >> /etc/sudoers
USER ubuntu
WORKDIR /home/ubuntu
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/ubuntu/.asdf
ENV PATH="${ASDF_DIR}/shims:${ASDF_DIR}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH"
FROM chemotion_dev_base AS chemotion_eln_dev
ARG gid=default
ARG uid=default
USER root
COPY ./prepare-chuser.sh .
RUN ./prepare-chuser.sh ${uid} ${gid}
USER ubuntu
# COPY --chown=ubuntu:ubuntu ./prepare-asdf.sh .
# COPY --chown=ubuntu:ubuntu ./.tool-versions .
# RUN chmod +x prepare-asdf.sh && ./prepare-asdf.sh