2021-01-26 11:34:36 +01:00
FROM ubuntu:20.04
2018-11-03 09:57:10 +01:00
LABEL maintainer="Andrey Antukh <niwi@niwi.nz>"
2016-11-20 20:08:24 +01:00
2019-09-20 17:31:03 +02:00
ARG DEBIAN_FRONTEND=noninteractive
2019-06-03 16:53:31 +02:00
2022-02-25 08:45:06 +01:00
ENV NODE_VERSION=v16.14.0 \
CLOJURE_VERSION=1.10.3.1075 \
CLJKONDO_VERSION=2022.02.09 \
BABASHKA_VERSION=0.7.6 \
2019-06-03 16:53:31 +02:00
LANG=en_US.UTF-8 \
2020-10-07 12:56:06 +02:00
LC_ALL=en_US.UTF-8
2019-06-03 16:53:31 +02:00
2020-01-20 13:03:01 +01:00
RUN set -ex; \
mkdir -p /etc/resolvconf/resolv.conf.d; \
2020-10-07 12:56:06 +02:00
echo "nameserver 8.8.8.8" > /etc/resolvconf/resolv.conf.d/tail; \
apt-get -qq update; \
apt-get -qqy install --no-install-recommends \
2019-02-15 22:35:49 +01:00
locales \
2019-09-17 16:14:49 +00:00
gnupg2 \
2019-02-15 22:35:49 +01:00
ca-certificates \
wget \
2019-06-05 10:07:01 +00:00
sudo \
tmux \
vim \
curl \
2019-02-15 22:35:49 +01:00
bash \
git \
rlwrap \
2020-12-02 11:00:08 +01:00
unzip \
2022-01-11 11:36:30 +01:00
rsync \
2021-03-31 11:01:53 +02:00
fakeroot \
2021-10-20 11:18:28 +02:00
netcat \
2020-10-07 12:56:06 +02:00
; \
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; \
locale-gen; \
rm -rf /var/lib/apt/lists/*;
RUN set -ex; \
2020-12-02 09:39:39 +01:00
useradd -m -g users -s /bin/bash penpot; \
2020-11-10 12:41:20 +01:00
passwd penpot -d; \
echo "penpot ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
2020-10-07 12:56:06 +02:00
RUN set -ex; \
apt-get -qq update; \
apt-get -qqy install --no-install-recommends \
2020-01-20 13:03:01 +01:00
python \
2019-02-15 22:35:49 +01:00
build-essential \
imagemagick \
2021-08-30 16:54:27 +02:00
ghostscript \
2020-08-05 14:40:44 +02:00
netpbm \
2021-11-05 13:08:28 +01:00
poppler-utils \
2020-08-05 14:40:44 +02:00
potrace \
2019-02-15 22:35:49 +01:00
webp \
2020-06-02 16:14:23 +02:00
nginx \
2020-02-04 12:35:55 +01:00
jq \
2020-04-19 19:36:48 +02:00
redis-tools \
2021-04-24 11:49:58 +02:00
woff-tools \
woff2 \
fontforge \
2019-02-15 22:35:49 +01:00
; \
2019-06-05 10:07:01 +00:00
rm -rf /var/lib/apt/lists/*;
2016-11-20 20:08:24 +01:00
2020-07-01 10:38:18 +02:00
RUN set -ex; \
2020-10-07 12:56:06 +02:00
apt-get -qq update; \
apt-get -qqy install \
2020-07-01 10:38:18 +02:00
gconf-service \
libasound2 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libcairo2 \
libcups2 \
libdbus-1-3 \
libexpat1 \
libfontconfig1 \
libgcc1 \
libgconf-2-4 \
libgdk-pixbuf2.0-0 \
libglib2.0-0 \
libgtk-3-0 \
libnspr4 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
libx11-6 \
libx11-xcb1 \
libxcb1 \
libxcomposite1 \
libxcursor1 \
libxdamage1 \
libxext6 \
libxfixes3 \
libxi6 \
libxrandr2 \
libxrender1 \
2021-03-15 12:47:49 +01:00
libxshmfence1 \
2020-07-01 10:38:18 +02:00
libxss1 \
libxtst6 \
fonts-liberation \
libappindicator1 \
libnss3 \
libgbm1 \
2021-12-01 13:38:09 +01:00
xvfb \
2020-07-01 10:38:18 +02:00
; \
rm -rf /var/lib/apt/lists/*;
2021-08-19 14:16:34 +02:00
RUN set -x; \
apt-get -qq update; \
curl -LfsSo /tmp/chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb; \
dpkg -i /tmp/chrome.deb; \
apt-get -fy install; \
rm -rf /var/lib/apt/lists/*; \
rm -rf /tmp/chrome.deb;
2020-09-21 16:02:37 +02:00
RUN set -ex; \
2022-02-25 08:45:06 +01:00
curl -LfsSo /tmp/openjdk.tar.gz https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_x64_linux_hotspot_17.0.2_8.tar.gz; \
2021-12-01 16:11:43 +01:00
mkdir -p /usr/lib/jvm/openjdk17; \
cd /usr/lib/jvm/openjdk17; \
2021-03-17 15:54:50 +01:00
tar -xf /tmp/openjdk.tar.gz --strip-components=1; \
rm -rf /tmp/openjdk.tar.gz;
2021-12-01 16:11:43 +01:00
ENV PATH="/usr/lib/jvm/openjdk17/bin:/usr/local/nodejs/bin:$PATH" JAVA_HOME=/usr/lib/jvm/openjdk17
2021-03-17 15:54:50 +01:00
RUN set -ex; \
curl -LfsSo /tmp/clojure.sh https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh; \
chmod +x /tmp/clojure.sh; \
/tmp/clojure.sh; \
rm -rf /tmp/clojure.sh;
2020-02-04 12:35:55 +01:00
2020-09-21 16:02:37 +02:00
RUN set -ex; \
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -; \
2021-01-26 11:34:36 +01:00
echo "deb http://apt.postgresql.org/pub/repos/apt focal-pgdg main" >> /etc/apt/sources.list.d/postgresql.list; \
2020-09-21 16:02:37 +02:00
apt-get -qq update; \
2020-10-21 12:41:11 +02:00
apt-get -qqy install postgresql-client-13; \
2020-02-04 12:35:55 +01:00
rm -rf /var/lib/apt/lists/*;
2020-01-20 13:03:01 +01:00
RUN set -ex; \
2021-03-17 15:54:50 +01:00
curl -LfsSo /tmp/nodejs.tar.xz https://nodejs.org/dist/$NODE_VERSION/node-$NODE_VERSION-linux-x64.tar.xz; \
mkdir -p /usr/local/nodejs; \
cd /usr/local/nodejs; \
tar -xf /tmp/nodejs.tar.xz --strip-components=1; \
2020-12-02 09:39:39 +01:00
chown -R root /usr/local/nodejs; \
2021-03-17 15:54:50 +01:00
PATH="$PATH:/usr/local/nodejs/bin"; \
2020-12-02 09:39:39 +01:00
/usr/local/nodejs/bin/npm install -g yarn; \
2021-01-07 12:26:55 +01:00
/usr/local/nodejs/bin/npm install -g svgo; \
2021-03-17 15:54:50 +01:00
rm -rf /tmp/nodejs.tar.xz;
2020-03-29 14:33:54 +02:00
2021-03-31 11:01:53 +02:00
# Install clj-kondo
RUN set -ex; \
curl -LfsSo /tmp/clj-kondo.zip https://github.com/borkdude/clj-kondo/releases/download/v$CLJKONDO_VERSION/clj-kondo-$CLJKONDO_VERSION-linux-amd64.zip; \
cd /usr/local/bin; \
unzip /tmp/clj-kondo.zip; \
rm /tmp/clj-kondo.zip;
# Install babashka
2020-12-02 11:00:08 +01:00
RUN set -ex; \
cd /tmp; \
2021-03-31 11:01:53 +02:00
curl -LfsSo /tmp/babashka.tar.gz https://github.com/babashka/babashka/releases/download/v$BABASHKA_VERSION/babashka-$BABASHKA_VERSION-linux-amd64.tar.gz; \
cd /usr/local/bin; \
tar -xf /tmp/babashka.tar.gz; \
rm -rf /tmp/babashka.tar.gz;
2022-02-28 17:16:27 +01:00
RUN set -ex; \
2022-03-20 13:37:37 +01:00
curl -LfsSo /tmp/mc https://dl.min.io/client/mc/release/linux-amd64/mc --user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Safari/605.1.15"; \
mv /tmp/mc /usr/local/bin/; \
chmod +x /usr/local/bin/mc;
2022-02-28 17:16:27 +01:00
2021-03-31 11:01:53 +02:00
WORKDIR /home
2020-12-02 11:00:08 +01:00
2020-03-29 14:33:54 +02:00
EXPOSE 3447
EXPOSE 3448
2020-01-20 13:03:01 +01:00
EXPOSE 3449
EXPOSE 6060
EXPOSE 9090
2021-03-31 11:01:53 +02:00
COPY files/nginx.conf /etc/nginx/nginx.conf
2021-03-17 15:54:50 +01:00
COPY files/phantomjs-mock /usr/bin/phantomjs
COPY files/bashrc /root/.bashrc
COPY files/vimrc /root/.vimrc
COPY files/tmux.conf /root/.tmux.conf
2021-03-25 09:05:32 +01:00
COPY files/sudoers /etc/sudoers
2021-03-17 15:54:50 +01:00
2021-10-20 11:18:28 +02:00
COPY files/start-tmux.sh /home/start-tmux.sh
COPY files/start-tmux-back.sh /home/start-tmux-back.sh
COPY files/entrypoint.sh /home/entrypoint.sh
COPY files/init.sh /home/init.sh
2020-12-02 09:39:39 +01:00
2020-10-07 12:56:06 +02:00
ENTRYPOINT ["/home/entrypoint.sh"]
2020-09-07 13:38:17 +02:00
CMD ["/home/init.sh"]