Search code examples
dockergoogle-chromealpine-linuxchromeless

How to install fonts in Docker?


How to install fonts for all languages? This is what I do, but no Japanese fonts in Chrome.

From this image: https://github.com/Zenika/alpine-chrome/blob/master/Dockerfile

FROM zenika/alpine-chrome

USER root

RUN apk add --no-cache msttcorefonts-installer fontconfig
RUN update-ms-fonts

# Installs latest Chromium package.
RUN apk add --no-cache \
    msttcorefonts-installer fontconfig \
    font-noto \
    font-noto-adlam \
    font-noto-adlamunjoined \
    font-noto-arabic \
    font-noto-armenian \
    font-noto-avestan \
    font-noto-bamum \
    font-noto-bengali \
    font-noto-buhid \
    font-noto-carian \
    font-noto-chakma \
    font-noto-cherokee \
    font-noto-cypriot \
    font-noto-deseret \
    font-noto-devanagari \
    font-noto-ethiopic \
    font-noto-extra \
    font-noto-georgian \
    font-noto-glagolitic \
    font-noto-gothic \
    font-noto-gujarati \
    font-noto-gurmukhi \
    font-noto-hebrew \
    font-noto-kannada \
    font-noto-kayahli \
    font-noto-khmer \
    font-noto-lao \
    font-noto-lisu \
    font-noto-malayalam \
    font-noto-mandaic \
    font-noto-myanmar \
    font-noto-nko \
    font-noto-olchiki \
    font-noto-oldturkic \
    font-noto-oriya \
    font-noto-osage \
    font-noto-osmanya \
    font-noto-shavian \
    font-noto-sinhala \
    font-noto-tamil \
    font-noto-telugu \
    font-noto-thaana \
    font-noto-thai \
    font-noto-tibetan \
    font-noto-tifinagh \
    font-noto-vai \
    terminus-font \
    ttf-opensans \
    font-bakoma \
    font-misc-misc \
    font-croscore

RUN fc-cache -f && rm -rf /var/cache/*

USER chrome


Solution

  • My solution that worked is to download Google fonts and install it manually. Image size grows up to 1GB.

    FROM zenika/alpine-chrome
    
    USER root
    
    RUN apk add --no-cache msttcorefonts-installer fontconfig
    RUN update-ms-fonts
    
    # Google fonts
    RUN wget https://github.com/google/fonts/archive/master.tar.gz -O gf.tar.gz
    RUN tar -xf gf.tar.gz
    RUN mkdir -p /usr/share/fonts/truetype/google-fonts
    RUN find $PWD/fonts-master/ -name "*.ttf" -exec install -m644 {} /usr/share/fonts/truetype/google-fonts/ \; || return 1
    RUN rm -f gf.tar.gz
    RUN fc-cache -f && rm -rf /var/cache/*
    
    USER chrome