overleaf-full-container (sha256:82a48d77998c64bf4dca1fe71db66c86b658cb9bc1e2adff970e3b5c592040ab)

Published 2026-06-25 14:46:06 +00:00 by jonas

Installation

docker pull git.koenig.technology/jonas/overleaf-full-container@sha256:82a48d77998c64bf4dca1fe71db66c86b658cb9bc1e2adff970e3b5c592040ab
sha256:82a48d77998c64bf4dca1fe71db66c86b658cb9bc1e2adff970e3b5c592040ab

Image layers

ARG RELEASE
ARG LAUNCHPAD_BUILD_ARCH
LABEL org.opencontainers.image.version=24.04
ADD file:46ac5b8ee4c64ad9ebe840abd5619f571a617ac19483764d47d0eeba7907934f in /
CMD ["/bin/bash"]
ARG QEMU_ARCH
COPY . /bd_build # buildkit
RUN |1 QEMU_ARCH= /bin/sh -c /bd_build/prepare.sh && /bd_build/system_services.sh && /bd_build/utilities.sh && /bd_build/cleanup.sh # buildkit
ENV DEBIAN_FRONTEND=teletype LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
CMD ["/sbin/my_init"]
ENV TEXMFVAR=/var/lib/overleaf/tmp/texmf-var
ENV REBUILT_AFTER=2026-06-05
RUN /bin/sh -c true && rm -f /etc/apt/apt.conf.d/docker-clean && echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache && apt-get update && apt-get install -y unattended-upgrades build-essential wget net-tools unzip time poppler-utils optipng strace nginx git python3 python-is-python3 zlib1g-dev libpcre3-dev gettext-base libwww-perl ca-certificates curl gnupg qpdf && unattended-upgrade --verbose --no-minimal-upgrade-steps && mkdir -p /etc/apt/keyrings && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && apt-get update && apt-get install -y nodejs && rm -rf /etc/nginx/nginx.conf /etc/nginx/sites-enabled/default # buildkit
ARG TEXLIVE_MIRROR=https://mirror.ox.ac.uk/sites/ctan.org/systems/texlive/tlnet
RUN |1 TEXLIVE_MIRROR=https://mirror.ox.ac.uk/sites/ctan.org/systems/texlive/tlnet /bin/sh -c mkdir /install-tl-unx && wget --quiet https://tug.org/texlive/files/texlive.asc && gpg --import texlive.asc && rm texlive.asc && wget --quiet ${TEXLIVE_MIRROR}/install-tl-unx.tar.gz && wget --quiet ${TEXLIVE_MIRROR}/install-tl-unx.tar.gz.sha512 && wget --quiet ${TEXLIVE_MIRROR}/install-tl-unx.tar.gz.sha512.asc && gpg --verify install-tl-unx.tar.gz.sha512.asc && sha512sum -c install-tl-unx.tar.gz.sha512 && tar -xz -C /install-tl-unx --strip-components=1 -f install-tl-unx.tar.gz && rm install-tl-unx.tar.gz* && echo "tlpdbopt_autobackup 0" >> /install-tl-unx/texlive.profile && echo "tlpdbopt_install_docfiles 0" >> /install-tl-unx/texlive.profile && echo "tlpdbopt_install_srcfiles 0" >> /install-tl-unx/texlive.profile && echo "selected_scheme scheme-basic" >> /install-tl-unx/texlive.profile && /install-tl-unx/install-tl -profile /install-tl-unx/texlive.profile -repository ${TEXLIVE_MIRROR} && $(find /usr/local/texlive -name tlmgr) path add && tlmgr install --repository ${TEXLIVE_MIRROR} latexmk texcount synctex etoolbox xetex && tlmgr path add && rm -rf /install-tl-unx # buildkit
RUN |1 TEXLIVE_MIRROR=https://mirror.ox.ac.uk/sites/ctan.org/systems/texlive/tlnet /bin/sh -c adduser --system --group --home /overleaf --no-create-home overleaf && mkdir -p /var/lib/overleaf && chown www-data:www-data /var/lib/overleaf && mkdir -p /var/log/overleaf && chown www-data:www-data /var/log/overleaf && mkdir -p /var/lib/overleaf/data/template_files && chown www-data:www-data /var/lib/overleaf/data/template_files # buildkit
WORKDIR /overleaf
COPY --parents libraries/*/package.json .yarn/patches/ services/*/package.json tools/migrations/ package.json yarn.lock .yarnrc.yml /overleaf/ # buildkit
COPY server-ce/genScript.js server-ce/services.js /overleaf/ # buildkit
ENV PATH=/overleaf/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV COREPACK_HOME=/opt/corepack
RUN /bin/sh -c corepack enable && corepack install -g yarn@4.14.1 # buildkit
ENV COREPACK_ENABLE_NETWORK=0
RUN /bin/sh -c node genScript install | bash # buildkit
COPY --parents libraries/ services/ tools/migrations/ /overleaf/ # buildkit
RUN /bin/sh -c node genScript compile | bash # buildkit
ADD server-ce/runit /etc/service # buildkit
ADD server-ce/config/env.sh /etc/overleaf/env.sh # buildkit
ADD server-ce/nginx/nginx.conf.template /etc/nginx/templates/nginx.conf.template # buildkit
ADD server-ce/nginx/overleaf.conf /etc/nginx/sites-enabled/overleaf.conf # buildkit
ADD server-ce/nginx/clsi-nginx.conf /etc/nginx/sites-enabled/clsi-nginx.conf # buildkit
ADD server-ce/logrotate/overleaf /etc/logrotate.d/overleaf # buildkit
RUN /bin/sh -c chmod 644 /etc/logrotate.d/overleaf # buildkit
ADD server-ce/cron /overleaf/cron # buildkit
ADD server-ce/config/crontab-history /etc/cron.d/crontab-history # buildkit
RUN /bin/sh -c chmod 600 /etc/cron.d/crontab-history # buildkit
ADD server-ce/config/crontab-deletion /etc/cron.d/crontab-deletion # buildkit
RUN /bin/sh -c chmod 600 /etc/cron.d/crontab-deletion # buildkit
COPY server-ce/init_scripts/ /etc/my_init.d/ # buildkit
COPY server-ce/init_preshutdown_scripts/ /etc/my_init.pre_shutdown.d/ # buildkit
COPY server-ce/config/settings.js /etc/overleaf/settings.js # buildkit
COPY server-ce/config/production.json /overleaf/services/history-v1/config/production.json # buildkit
COPY server-ce/config/custom-environment-variables.json /overleaf/services/history-v1/config/custom-environment-variables.json # buildkit
ADD server-ce/bin/grunt /usr/local/bin/grunt # buildkit
RUN /bin/sh -c chmod +x /usr/local/bin/grunt # buildkit
ADD server-ce/bin/flush-history-queues /overleaf/bin/flush-history-queues # buildkit
RUN /bin/sh -c chmod +x /overleaf/bin/flush-history-queues # buildkit
ADD server-ce/bin/force-history-resyncs /overleaf/bin/force-history-resyncs # buildkit
RUN /bin/sh -c chmod +x /overleaf/bin/force-history-resyncs # buildkit
COPY server-ce/config/latexmkrc /usr/local/share/latexmk/LatexMk # buildkit
ENV SITE_MAINTENANCE_FILE=/etc/overleaf/site_status
RUN /bin/sh -c touch $SITE_MAINTENANCE_FILE # buildkit
ENV OVERLEAF_CONFIG=/etc/overleaf/settings.js
ENV WEB_API_USER=overleaf
ENV ADMIN_PRIVILEGE_AVAILABLE=true
ENV OVERLEAF_APP_NAME=Overleaf Community Edition
ENV OPTIMISE_PDF=true
ENV KILL_PROCESS_TIMEOUT=55
ENV KILL_ALL_PROCESSES_TIMEOUT=55
ENV GRACEFUL_SHUTDOWN_DELAY_SECONDS=1
ENV NODE_ENV=production
ENV LOG_LEVEL=info
EXPOSE [80/tcp]
ENTRYPOINT ["/sbin/my_init"]
ARG SHELL_ESCAPE=true
LABEL org.opencontainers.image.source=https://git.koenig.technology/jonas/overleaf-full-container
RUN |1 SHELL_ESCAPE=true /bin/sh -c tlmgr update --self && tlmgr update --all # buildkit
RUN |1 SHELL_ESCAPE=true /bin/sh -c tlmgr install collection-basic collection-bibtexextra collection-binextra collection-context collection-fontsextra collection-fontsrecommended collection-fontutils collection-formatsextra && tlmgr path add || true # buildkit
RUN |1 SHELL_ESCAPE=true /bin/sh -c tlmgr install collection-games collection-humanities collection-langarabic collection-langchinese collection-langcjk collection-langcyrillic collection-langczechslovak collection-langenglish && tlmgr path add || true # buildkit
RUN |1 SHELL_ESCAPE=true /bin/sh -c tlmgr install collection-langeuropean collection-langfrench collection-langgerman collection-langgreek collection-langitalian collection-langlatin && tlmgr path add || true # buildkit
RUN |1 SHELL_ESCAPE=true /bin/sh -c tlmgr install collection-langjapanese && tlmgr path add || true # buildkit
RUN |1 SHELL_ESCAPE=true /bin/sh -c tlmgr install collection-langkorean && tlmgr path add || true # buildkit
RUN |1 SHELL_ESCAPE=true /bin/sh -c tlmgr install collection-langother collection-langpolish collection-langportuguese collection-langspanish collection-latex collection-latexextra collection-latexrecommended collection-luatex && tlmgr path add || true # buildkit
RUN |1 SHELL_ESCAPE=true /bin/sh -c tlmgr install collection-mathscience collection-metapost collection-music collection-pictures collection-plaingeneric collection-pstricks collection-publishers collection-texworks collection-wintools collection-xetex && tlmgr path add || true # buildkit
RUN |1 SHELL_ESCAPE=true /bin/sh -c apt-get update && apt-get install -y --no-install-recommends pipx && apt-get clean && rm -rf /var/lib/apt/lists/* && pipx install latexminted # buildkit
ARG SHELL_ESCAPE=true
RUN |1 SHELL_ESCAPE=true /bin/sh -c if [ "$SHELL_ESCAPE" = "true" ]; then apt-get update && apt-get install -y --no-install-recommends graphviz gnuplot inkscape asymptote && apt-get clean && rm -rf /var/lib/apt/lists/* && pipx install dot2tex && echo "shell_escape = t" >> /usr/local/texlive/texmf-local/web2c/texmf.cnf && texhash; fi # buildkit

Labels

Key Value
com.overleaf.ce.revision 93a4f0c88a1aa3217db8773993ff178edff208d9
org.opencontainers.image.source https://git.koenig.technology/jonas/overleaf-full-container
org.opencontainers.image.version 24.04
Details
Container
2026-06-25 14:46:06 +00:00
0
OCI / Docker
linux/amd64
3.4 GiB
Versions (4) View all
latest-shell-escape 2026-06-25
6.2.0-shell-escape 2026-06-25
6.2.0 2026-06-25
latest 2026-06-25