mirror of
https://github.com/penpot/penpot.git
synced 2025-01-09 08:20:45 -05:00
101 lines
2.6 KiB
Text
101 lines
2.6 KiB
Text
FROM ubuntu:22.04
|
|
LABEL maintainer="Andrey Antukh <niwi@niwi.nz>"
|
|
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
|
|
ENV LANG=en_US.UTF-8 \
|
|
LC_ALL=en_US.UTF-8 \
|
|
NODE_VERSION=v16.17.0
|
|
|
|
RUN set -ex; \
|
|
mkdir -p /etc/resolvconf/resolv.conf.d; \
|
|
echo "nameserver 8.8.8.8" > /etc/resolvconf/resolv.conf.d/tail; \
|
|
apt-get -qq update; \
|
|
apt-get -qqy --no-install-recommends install curl tzdata locales ca-certificates fontconfig xz-utils; \
|
|
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; \
|
|
locale-gen; \
|
|
rm -rf /var/lib/apt/lists/*;
|
|
|
|
RUN set -ex; \
|
|
apt-get -qq update; \
|
|
apt-get -qqy install \
|
|
imagemagick \
|
|
ghostscript \
|
|
netpbm \
|
|
poppler-utils \
|
|
potrace \
|
|
gconf-service \
|
|
libasound2 \
|
|
libatk1.0-0 \
|
|
libatk-bridge2.0-0 \
|
|
libatomic1 \
|
|
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 \
|
|
libxcb-dri3-0 \
|
|
libxcomposite1 \
|
|
libxcursor1 \
|
|
libxdamage1 \
|
|
libxext6 \
|
|
libxfixes3 \
|
|
libxi6 \
|
|
libxrandr2 \
|
|
libxrender1 \
|
|
libxshmfence1 \
|
|
libxss1 \
|
|
libxtst6 \
|
|
fonts-liberation \
|
|
libnss3 \
|
|
libgbm1 \
|
|
; \
|
|
rm -rf /var/lib/apt/lists/*;
|
|
|
|
ENV PATH="/usr/local/nodejs/bin:$PATH"
|
|
|
|
RUN set -eux; \
|
|
ARCH="$(dpkg --print-architecture)"; \
|
|
case "${ARCH}" in \
|
|
aarch64|arm64) \
|
|
BINARY_URL="https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-linux-arm64.tar.xz"; \
|
|
;; \
|
|
armhf|armv7l) \
|
|
BINARY_URL="https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-linux-armv7l.tar.xz"; \
|
|
;; \
|
|
amd64|x86_64) \
|
|
BINARY_URL="https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-linux-x64.tar.xz"; \
|
|
;; \
|
|
*) \
|
|
echo "Unsupported arch: ${ARCH}"; \
|
|
exit 1; \
|
|
;; \
|
|
esac; \
|
|
curl -LfsSo /tmp/nodejs.tar.xz ${BINARY_URL}; \
|
|
mkdir -p /usr/local/nodejs; \
|
|
cd /usr/local/nodejs; \
|
|
tar -xf /tmp/nodejs.tar.xz --strip-components=1; \
|
|
chown -R root /usr/local/nodejs; \
|
|
/usr/local/nodejs/bin/npm install -g yarn; \
|
|
rm -rf /tmp/nodejs.tar.xz;
|
|
|
|
WORKDIR /opt/app
|
|
|
|
ADD ./bundle-exporter/ /opt/app/
|
|
|
|
RUN set -ex; \
|
|
yarn; \
|
|
npx playwright install chromium;
|
|
|
|
CMD ["/usr/local/nodejs/bin/node", "app.js"]
|