Sign inSign up

adstewart/cits-courseware-builder

By adstewart

•Updated almost 5 years ago

Ubuntu 20.04-based image to build CITS course content, with Pandoc LaTeX etc installed

Image
0

373

adstewart/cits-courseware-builder repository overview

Docker image for building CITS course content (slides, Word docx problem sheets, etc). Ubuntu 20.04-based image with packages including:

  • Pandoc
  • LaTeX
  • xcftools
  • Inkscape
  • Pweave
  • LibreOffice Writer

Built from a private Gitlab repository.

Dockerfile is (at at October 2021):

FROM ubuntu:20.04@sha256:7cc0576c7c0ec2384de5cbf245f41567e922aab1b075f3e8ad565f508032df17
MAINTAINER Arran Stewart <[email protected]>

RUN apt-get update && \
  apt-get install -y -o Acquire::Retries=10 --no-install-recommends \
    locales && \
  # Removing doc packages after installing to reduce size
  apt-get --purge remove -y .\*-doc$ && \
  # Remove more unnecessary stuff
  apt-get autoclean && \
  apt-get clean -y && \
  apt-get --purge -y autoremove && \
  rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \
   && locale-gen en_US.utf8 \
   && /usr/sbin/update-locale LANG=en_US.UTF-8

ENV LANG=en_US.UTF-8 \
    LANGUAGE=en_US:en \
    LC_ALL=en_US.UTF-8

RUN apt-get update && \
  DEBIAN_FRONTEND=noninteractive \
  apt-get install -y -o Acquire::Retries=10 --no-install-recommends \
    ca-certificates \
    curl \
    default-jre \
    fontconfig \
    fonts-texgyre \
    ghostscript \
    git \
    graphviz \
    imagemagick \
    inkscape \
    latexmk \
    librsvg2-bin \
    libreoffice-java-common \
    libreoffice-writer \
    lmodern \
    m4 \
    make \
    poppler-utils \
    ps2eps \
    psutils \
    python3-pip \
    sudo \
    texlive-bibtex-extra \
    texlive-fonts-extra \
    texlive-fonts-recommended \
    texlive-font-utils \
    texlive-latex-base \
    texlive-latex-extra \
    texlive-latex-recommended \
    texlive-luatex \
    texlive-pictures \
    texlive-pstricks \
    texlive-publishers \
    texlive-science \
    texlive-science \
    texlive-xetex \
    wget \
    unzip \
    xcftools \
    zip && \
  # Removing doc packages after installing to reduce size
  apt-get --purge remove -y .\*-doc$ && \
  # Remove more unnecessary stuff
  apt-get autoclean && \
  apt-get clean -y && \
  apt-get --purge -y autoremove && \
  rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

ARG PANDOC_VERSION=2.14.2

RUN \
  cd /tmp && \
  wget https://github.com/jgm/pandoc/releases/download/${PANDOC_VERSION}/pandoc-${PANDOC_VERSION}-1-amd64.deb && \
  apt install $PWD/pandoc-${PANDOC_VERSION}-1-amd64.deb && \
  rm pandoc* && \
  apt-get clean && \
  apt-get autoclean && \
  apt-get clean -y && \
  apt-get --purge -y autoremove && \
  rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# allow imagemagick conversions
# (see https://stackoverflow.com/questions/52998331/imagemagick-security-policy-pdf-blocking-conversion)
RUN \
  sed -i '/^  <policy domain="coder"/ s/none/read|write/;' /etc/ImageMagick-6/policy.xml

ARG USER_NAME=user
ARG USER_ID=1001
ARG USER_GID=1001

RUN \
  addgroup --gid ${USER_GID} ${USER_NAME} && \
  adduser --home /home/${USER_NAME} --disabled-password --shell /bin/bash --gid ${USER_GID} --uid ${USER_ID} --gecos '' ${USER_NAME} && \
  echo "%${USER_NAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

USER ${USER_NAME}

ENV PATH=/home/${USER_NAME}/.local/bin:$PATH

RUN \
  pip3 install --user --upgrade pip pweave

ENTRYPOINT /usr/bin/bash

ARG GIT_REF
ARG GIT_COMMIT_DATE
ARG VERSION

LABEL org.label-schema.schema-version="1.0"
LABEL org.label-schema.description="Ubuntu 20.04 environment with tools for building CITS course content"
LABEL org.label-schema.vcs-url="https://gitlab.com/ads-uwa/cits-course-content-builder-docker"
LABEL org.label-schema.vcs-ref=$GIT_REF
LABEL org.label-schema.version=$VERSION
LABEL org.label-schema.vendor="[email protected]"

Tag summary

Content type

Image

Digest

Size

1.3 GB

Last updated

almost 5 years ago

docker pull adstewart/cits-courseware-builder