overleaf/server-ce
2019-02-19 10:22:40 +00:00
..
init_scripts chown /var/www/ to www-data 2016-12-19 14:17:39 +00:00
logrotate add logrotate 2016-08-03 16:22:17 +01:00
nginx remove proxy_set_header X-Forwarded-Proto $scheme for https 2017-01-06 16:02:27 +00:00
runit move contacts run file 2017-12-05 09:48:05 +00:00
.gitignore add grunt cut task 2016-06-09 11:36:00 +00:00
Dockerfile Change launchpad location to github 2018-02-06 10:26:29 +00:00
Dockerfile-base Update texlive path 2017-08-02 09:45:08 +01:00
git-revision.js add support for grunt build 2016-05-02 23:53:49 +00:00
Makefile Add a makefil 2017-02-22 09:23:01 +00:00
package.json Pin version of simple-git 2018-01-22 14:47:00 +00:00
README.md Update the readme with a short explanation of how this code works 2019-02-19 10:22:40 +00:00
services.js Pin contacts to branch 'sk-update-mongojs' 2017-12-06 11:21:54 +00:00
settings.coffee added trackChanges into features 2018-01-26 09:43:43 +00:00

ShareLaTeX Docker Image

This is the source for building the sharelatex 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 image extends the base image and adds the actual sharelatex code and services.

Use make build-base and make build-community to build these images.

How the Sharelatex code gets here

This repo uses the public Sharelatex repository, which used to be the main public source for the sharelatex system.

That repo is cloned down into the docker image, and a script then installs all the services. This way of doing things predates the new dev-env, and isn't currently tested.

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 sharelatex services. Baseimage uses the runit service manager to manage services, and we add our init-scripts from the ./runit folder.

Overall, this is very like how the services would run in production, it just happens to be all inside one docker container instead of being on one VM.