FROM ubuntu:24.04 ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ PIP_NO_CACHE_DIR=1 \ PIP_DISABLE_PIP_VERSION_CHECK=1 # system deps + libreoffice fresh ppa RUN apt-get update && \ apt-get install -y --no-install-recommends \ software-properties-common \ ca-certificates && \ add-apt-repository -y ppa:libreoffice/ppa && \ apt-get update && \ apt-get install -y --no-install-recommends \ python3 \ python3-pip \ python3-venv \ libreoffice \ poppler-utils \ # fonts-liberation2 \ # fonts-dejavu \ # fonts-dejavu-extra \ # fonts-noto \ # fonts-noto-color-emoji \ # fonts-noto-core \ # fonts-noto-extra \ # fonts-noto-ui-core \ # fonts-noto-ui-extra \ # fonts-noto-cjk \ # fonts-noto-cjk-extra \ # fonts-noto-hinted \ # fonts-noto-unhinted \ # fonts-freefont-ttf \ # fonts-urw-base35 \ # fonts-font-awesome \ # fonts-powerline \ # ttf-mscorefonts-installer \ # fonts-cascadia-code \ # fonts-firacode \ # fonts-roboto \ # fonts-roboto-slab \ # fonts-ubuntu \ # fonts-hack \ # fonts-lato \ # fonts-open-sans \ # fonts-inconsolata \ # fonts-droid-fallback \ # fonts-symbola \ # fonts-ancient-scripts \ # fonts-indic \ # fonts-beng \ # fonts-deva \ # fonts-gargi \ # fonts-gubbi \ # fonts-gujr \ # fonts-guru \ # fonts-kalapi \ # fonts-knda \ # fonts-lohit-beng-assamese \ # fonts-lohit-beng-bengali \ # fonts-lohit-deva \ # fonts-lohit-gujr \ # fonts-lohit-guru \ # fonts-lohit-knda \ # fonts-lohit-mlym \ # fonts-lohit-orya \ # fonts-lohit-taml \ # fonts-lohit-taml-classical \ # fonts-lohit-telu \ # fonts-mlym \ # fonts-navilu \ # fonts-orya \ # fonts-pagul \ # fonts-sahadeva \ # fonts-samyak-deva \ # fonts-samyak-gujr \ # fonts-samyak-mlym \ # fonts-samyak-taml \ # fonts-sarai \ # fonts-smc \ # fonts-taml \ # fonts-telu \ # fonts-tlwg-garuda \ # fonts-tlwg-kinnari \ # fonts-tlwg-loma \ # fonts-tlwg-mono \ # fonts-tlwg-norasi \ # fonts-tlwg-purisa \ # fonts-tlwg-sawasdee \ # fonts-tlwg-typewriter \ # fonts-tlwg-typist \ # fonts-tlwg-typo \ # fonts-tlwg-umpush \ # fonts-tlwg-waree \ # fonts-arphic-ukai \ # fonts-arphic-uming \ # fonts-wqy-microhei \ # fonts-wqy-zenhei \ # fonts-ipafont \ # fonts-ipafont-gothic \ # fonts-ipafont-mincho \ # fonts-ipaexfont \ # fonts-ipaexfont-gothic \ # fonts-ipaexfont-mincho \ # fonts-takao \ # fonts-takao-gothic \ # fonts-takao-mincho \ # fonts-vlgothic \ # fonts-hanazono \ # fonts-khmeros \ # fonts-lao \ # fonts-sil-abyssinica \ # fonts-sil-ezra \ # fonts-sil-padauk \ # fonts-sil-scheherazade \ # fonts-thai-tlwg \ # fonts-lklug-sinhala \ # fonts-kacst \ # fonts-kacst-one \ # fonts-farsiweb \ # fonts-smc-anjalioldlipi \ # fonts-smc-chilanka \ # fonts-smc-dyuthi \ # fonts-smc-karumbi \ # fonts-smc-keraleeyam \ # fonts-smc-manjari \ # fonts-smc-meera \ # fonts-smc-rachana \ # fonts-smc-raghumalayalamsans \ # fonts-smc-suruma \ # fonts-smc-uroob \ # fonts-yrsa-rasa \ # fonts-cantarell \ # fonts-comfortaa \ # fonts-croscore \ # fonts-ebgaramond \ # fonts-fantasque-sans \ # fonts-junicode \ # fonts-lyx \ # fonts-mathjax \ # fonts-nanum \ # fonts-nanum-coding \ # fonts-nanum-extra \ # fonts-opensymbol \ # fonts-quicksand \ # fonts-sil-gentium \ # fonts-sil-gentiumplus \ # fonts-stix \ # fonts-texgyre \ # fonts-terminus \ # fonts-dejavu-mono \ # fonts-linuxlibertine \ # fonts-arkpandora \ # fonts-beteckna \ # fonts-gfs-artemisia \ # fonts-gfs-complutum \ # fonts-gfs-didot \ # fonts-gfs-neohellenic \ # fonts-gfs-olga \ # fonts-gfs-solomos \ # fonts-gfs-theokritos \ fonts-liberation \ fonts-dejavu-core && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # python deps COPY src/requirements.txt /tmp/requirements.txt RUN pip3 install --no-cache-dir --no-compile --break-system-packages -r /tmp/requirements.txt # kjandoc binary -> /usr/local/bin COPY src/kjandoc /usr/local/bin/kjandoc RUN chmod +x /usr/local/bin/kjandoc # demoware WORKDIR /app COPY demoware/ /app/ # storage dirs RUN mkdir -p /app/uploads /app/output EXPOSE 8080 CMD ["python3", "server.py"]