mirror of
https://github.com/gotenberg/gotenberg.git
synced 2026-08-08 00:22:14 +01:00
* adding URL conversions * updating gotenberg version in documentation * pkg: input as variadic string (#39) * pkg: input as variadic string * pkg: fix link to github doc * update doc about v4 client * make doc * fixing missing variadic inputs in doc * adding more fonts * updating PHP documentation
105 lines
3.7 KiB
Docker
105 lines
3.7 KiB
Docker
FROM thecodingmachine/gotenberg:3.2.0 AS hack
|
||
FROM debian:9.5-slim
|
||
|
||
# |--------------------------------------------------------------------------
|
||
# | Common libraries
|
||
# |--------------------------------------------------------------------------
|
||
# |
|
||
# | Libraries used in the build process of this image.
|
||
# |
|
||
|
||
RUN echo "deb http://httpredir.debian.org/debian/ stretch main contrib non-free" > /etc/apt/sources.list &&\
|
||
apt-get update &&\
|
||
apt-get install -y curl wget python3-pip ttf-mscorefonts-installer
|
||
|
||
# |--------------------------------------------------------------------------
|
||
# | PM2
|
||
# |--------------------------------------------------------------------------
|
||
# |
|
||
# | Installs PM2 for launching programs in background and with failure
|
||
# | recovering. In our case: Chrome (headless) and Office (headless).
|
||
# |
|
||
|
||
# Yep, this is dirty. The following script does not work anymore (see https://github.com/Unitech/pm2/issues/4127).
|
||
#RUN curl -sL https://raw.githubusercontent.com/Unitech/pm2/master/packager/setup.deb.sh | bash -
|
||
|
||
# Installing PM2 with Node.js and npm breaks something which prevents Google Chrome to work as expected.
|
||
# So we just copy all PM2 related files from a previous version of Gotenberg.
|
||
|
||
RUN curl -sL https://deb.nodesource.com/setup_9.x | bash - &&\
|
||
apt-get install -y nodejs
|
||
|
||
COPY --from=hack /usr/bin/pm2 /usr/bin/pm2
|
||
COPY --from=hack /usr/share/pm2 /usr/share/pm2
|
||
COPY --from=hack /etc/default/pm2 /etc/default/pm2
|
||
COPY --from=hack /etc/systemd/system/pm2.service /etc/systemd/system/pm2.service
|
||
|
||
# |--------------------------------------------------------------------------
|
||
# | Chrome
|
||
# |--------------------------------------------------------------------------
|
||
# |
|
||
# | Installs Chrome for HTML and Markdown conversions.
|
||
# |
|
||
|
||
RUN wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - &&\
|
||
echo "deb http://dl.google.com/linux/chrome/deb/ stable main" | tee /etc/apt/sources.list.d/google-chrome.list &&\
|
||
apt-get update &&\
|
||
apt-get -y install google-chrome-stable
|
||
|
||
# |--------------------------------------------------------------------------
|
||
# | Unoconv
|
||
# |--------------------------------------------------------------------------
|
||
# |
|
||
# | Installs unoconv and LibreOffice for Office documents conversions.
|
||
# |
|
||
|
||
RUN pip3 install unoconv &&\
|
||
# https://github.com/nextcloud/docker/issues/380
|
||
mkdir -p /usr/share/man/man1mkdir -p /usr/share/man/man1 &&\
|
||
apt-get -y install libreoffice
|
||
|
||
# |--------------------------------------------------------------------------
|
||
# | PDFtk
|
||
# |--------------------------------------------------------------------------
|
||
# |
|
||
# | Installs PDFtk as an alternative to pdfcpu for merging PDFs.
|
||
# | https://github.com/thecodingmachine/gotenberg/issues/29
|
||
# |
|
||
|
||
RUN apt-get -y install pdftk
|
||
|
||
# |--------------------------------------------------------------------------
|
||
# | Fonts
|
||
# |--------------------------------------------------------------------------
|
||
# |
|
||
# | Installs a handful of fonts.
|
||
# | Note: ttf-mscorefonts-installer are installed on top of this Dockerfile.
|
||
# |
|
||
|
||
# Credits:
|
||
# https://github.com/arachnys/athenapdf/blob/master/cli/Dockerfile
|
||
# https://help.accusoft.com/PrizmDoc/v12.1/HTML/Installing_Asian_Fonts_on_Ubuntu_and_Debian.html
|
||
RUN apt-get install -y \
|
||
culmus \
|
||
fonts-beng \
|
||
fonts-hosny-amiri \
|
||
fonts-lklug-sinhala \
|
||
fonts-lohit-guru \
|
||
fonts-lohit-knda \
|
||
fonts-samyak-gujr \
|
||
fonts-samyak-mlym \
|
||
fonts-samyak-taml \
|
||
fonts-sarai \
|
||
fonts-sil-abyssinica \
|
||
fonts-sil-padauk \
|
||
fonts-telu \
|
||
fonts-thai-tlwg \
|
||
ttf-liberation \
|
||
ttf-wqy-zenhei \
|
||
fonts-arphic-uming \
|
||
fonts-ipafont-mincho \
|
||
fonts-ipafont-gothic \
|
||
fonts-unfonts-core
|
||
|
||
COPY build/base/fonts.conf /etc/fonts/conf.d/100-gotenberg.conf
|