ac82600b74
* [docker] drop sudo Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] install qpdf in a single stage Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] install texlive and additional tlmgr packages in a single stage Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] drop the apt package lists Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] pull the package lists only once move the installation of nodejs into the dependencies install section Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] delete the default nginx configuration files immediately Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] skip the downloading and storage of unused texlive artifacts Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] drop the npm download cache Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] apply review feedback - install qpdf as ubuntu package - add a comment on the nginx config removal - add back and update a note on changing the texlive mirror |
||
---|---|---|
.. | ||
hotfix | ||
init_scripts | ||
logrotate | ||
nginx | ||
runit | ||
.dockerignore | ||
.editorconfig | ||
.gitignore | ||
Dockerfile | ||
Dockerfile-base | ||
git-revision.sh | ||
Makefile | ||
package.json | ||
README.md | ||
services.js | ||
settings.coffee |
Overleaf Docker Image
This is the source for building the Overleaf community-edition docker image.
End-User Install
Please see the offical wiki for install guides
Development
This repo contains two dockerfiles, Dockerfile-base
, which builds the
sharelatex/sharelatex-base
image, and Dockerfile
which builds the
sharelatex/sharelatex
(or "community") image.
The Base image generally contains the basic dependencies like wget
and
aspell
, plus texlive
. We split this out because it's a pretty heavy set of
dependencies, and it's nice to not have to rebuild all of that every time.
The sharelatex/sharelatex
image extends the base image and adds the actual Overleaf code
and services.
Use make build-base
and make build-community
to build these images.
How the Overleaf code gets here
This repo uses the public Overleaf repository, which used to be the main public source for the Overleaf system.
That repo is cloned down into the docker image, and a script then installs all the services.
How services run inside the container
We use the Phusion base-image
(which is extended by our base
image) to provide us with a VM-like container
in which to run the Overleaf services. Baseimage uses the runit
service
manager to manage services, and we add our init-scripts from the ./runit
folder.