Skip to content

Commit

Permalink
Embedd typst fontawesome package in the Docker image
Browse files Browse the repository at this point in the history
  • Loading branch information
kadykov committed Nov 20, 2024
1 parent 7f27304 commit c5d9ac6
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
ARG FEDORA_VERSION=41
ARG ALPINE_VERSION=3.20
ARG TYPST_FONTAWESOME_VERSION=0.5.0

FROM alpine:${ALPINE_VERSION} AS builder

Expand All @@ -8,9 +9,12 @@ ARG TYPST_VERSION=v0.12.0
RUN wget -qO typst.tar.xz https://github.com/typst/typst/releases/download/${TYPST_VERSION}/typst-x86_64-unknown-linux-musl.tar.xz \
&& tar xf typst.tar.xz

FROM fedora:${FEDORA_VERSION}
ARG TYPST_FONTAWESOME_VERSION
RUN wget -qO typst-fontawesome.tar.gz https://packages.typst.org/preview/fontawesome-${TYPST_FONTAWESOME_VERSION}.tar.gz \
&& mkdir /fontawesome \
&& tar xf typst-fontawesome.tar.gz -C /fontawesome

COPY --from=builder typst-x86_64-unknown-linux-musl/typst /usr/bin/typst
FROM fedora:${FEDORA_VERSION}

ARG PANDOC_VERSION=3.1.11.1
ARG JUST_VERSION=1.35.0
Expand All @@ -27,17 +31,22 @@ RUN dnf update -yq \
fontawesome-6-free-fonts-${FONTAWESOME_VERSION} \
&& dnf clean all

ENV TYPST_FONT_PATHS=/usr/share/fonts/

ENV PANDOC_DATA_DIR=/usr/share/pandoc-${PANDOC_VERSION}/

COPY typst-cv.typ typst-letter.typ ${PANDOC_DATA_DIR}/data/templates/
COPY *.lua ${PANDOC_DATA_DIR}/filters/

COPY --from=builder typst-x86_64-unknown-linux-musl/typst /usr/bin/typst

ARG PANDOC_CV_VERSION=0.1.0
ENV TYPST_PACKAGE_PATH=/usr/local/share/typst/packages/
COPY style.typ typst.toml ${TYPST_PACKAGE_PATH}/local/pandoc-cv/${PANDOC_CV_VERSION}/

ARG TYPST_FONTAWESOME_VERSION
COPY --from=builder /fontawesome/*.typ /fontawesome/typst.toml ${TYPST_PACKAGE_PATH}/preview/fontawesome/${TYPST_FONTAWESOME_VERSION}/

ENV TYPST_FONT_PATHS=/usr/share/fonts/

WORKDIR /data

ENTRYPOINT [ "just", "build" ]

0 comments on commit c5d9ac6

Please sign in to comment.