* Add a default 30s timeout for `delayShutdownMs` `settings.delayShutdownMs` doesn't seem to be defined anywhere Logs typically often this pair of entries: ``` INFO 2024-11-21T15:51:42.115Z [resource.labels.containerName: filestore] received interrupt, cleaning up INFO 2024-11-21T15:51:42.120Z [resource.labels.containerName: filestore] shutdown timed out, exiting ``` This indicates that there is no delay between the interrupt signal and the shutdown. The 100ms delay also doesn't happen. We believe that the `server.close` callback is called after `server.closeAllConnections()`, and the `server closed` log is usually lost because of the process exiting immediately. See: https://cloudlogging.app.goo.gl/WJQ6mc3gWwotVQya7 * Add timeout before exiting * Replace `delayShutdownMs` by `gracefulShutdownDelayInMs`. Looks like the error came from a wrong merge in https://github.com/overleaf/internal/pull/18756 We don't want a default 30s timeout for the shutdown, per https://github.com/overleaf/internal/pull/16888 GitOrigin-RevId: c1bdc8986f78a6e18e8b8b1fe60b33aa6ffef909 |
||
---|---|---|
.github | ||
develop | ||
doc | ||
libraries | ||
patches | ||
server-ce | ||
services | ||
.gitignore | ||
CONTRIBUTING.md | ||
docker-compose.debug.yml | ||
docker-compose.yml | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.backend.json |
An open-source online real-time collaborative LaTeX editor.
Wiki • Server Pro • Contributing • Mailing List • Authors • License

Figure 1: A screenshot of a project being edited in Overleaf Community Edition.
Community Edition
Overleaf is an open-source online real-time collaborative LaTeX editor. We run a hosted version at www.overleaf.com, but you can also run your own local version, and contribute to the development of Overleaf.
Enterprise
If you want help installing and maintaining Overleaf in your lab or workplace, we offer an officially supported version called Overleaf Server Pro. It also includes more features for security (SSO with LDAP or SAML), administration and collaboration (e.g. tracked changes). Find out more!
Keeping up to date
Sign up to the mailing list to get updates on Overleaf releases and development.
Installation
We have detailed installation instructions in the Overleaf Toolkit.
Upgrading
If you are upgrading from a previous version of Overleaf, please see the Release Notes section on the Wiki for all of the versions between your current version and the version you are upgrading to.
Overleaf Docker Image
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
, 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
from server-ce/
to build these images.
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 server-ce/runit
folder.
Contributing
Please see the CONTRIBUTING file for information on contributing to the development of Overleaf.
Authors
License
The code in this repository is released under the GNU AFFERO GENERAL PUBLIC LICENSE, version 3. A copy can be found in the LICENSE
file.
Copyright (c) Overleaf, 2014-2024.