Overleaf

Overleaf

Official

Docker app from Selfhosters

Overview

A self-hosted LaTeX editor

Overleaf Docker Image

THIS REPOSITORY HAS BEEN MERGED INTO https://github.com/overleaf/overleaf .

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.

Install Overleaf on Unraid in a few clicks.

Find Overleaf in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Overleaf Review the template variables and paths Click Install

Categories

Download Statistics

5,385,502
Total Downloads
22,046
This Month
57,722
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
sharelatex/sharelatex
Last Updated2026-06-18
First Seen2019-11-15

Runtime arguments

Web UI
http://[IP]:[PORT:80]
Network
bridge
Shell
sh
Privileged
false

Template configuration

PORTPorttcp

WebUI HTTP port

Target
80
Default
80
SHARELATEX_APP_NAMEVariable

The name to display when talking about the running app. Defaults to 'Overleaf (Community Edition)'.

SHARELATEX_NAV_TITLEVariable

Set the tab title of the application

SHARELATEX_SITE_URLVariable

Where your instance of Overleaf is publicly available. This is used in public links, and when connecting over websockets, so must be configured correctly!

SHARELATEX_ADMIN_EMAILVariable

The email address where users can reach the person who runs the site.

SHARELATEX_REDIS_HOSTVariable

The host name of the Redis instance to use

SHARELATEX_REDIS_PORTVariable

The port of the Redis instance to use

SHARELATEX_REDIS_PASSVariable

The password to use when connecting to Redis (if applicable)

SHARELATEX_MONGO_URLVariable

The URL of the Mongo database to use

SHARELATEX_BEHIND_PROXYVariable

Set to true if running behind a proxy like nginx/apache allowing it to correctly detect the forwarded IP address

SHARELATEX_SESSION_SECRETVariable

A random string which is used to secure tokens, if load balancing this needs to be set to the same toke across boxes. If only 1 instance is being run it does not need to be set by the user.

SHARELATEX_SECURE_COOKIEVariable

Set this to something non-zero to use a secure cookie. Only use this if your Overleaf instance is running behind a reverse proxy with SSL configured.

SHARELATEX_RESTRICT_INVITES_TO_EXISTING_ACCOUNTSVariable

If set to true, will restrict project invites to email addresses which correspond with existing user accounts.

SHARELATEX_ALLOW_PUBLIC_ACCESSVariable

If set to 'true', will allow non-authenticated users to view the site. The default is false, which means non-authenticated users will be unconditionally redirected to the login page when they try to view any part of the site. Note, setting this option does not disable authentication or security in any way. This option is necessary if your users intend to make their projects public and have non-authenticated users view those projects.

SHARELATEX_ALLOW_ANONYMOUS_READ_AND_WRITE_SHARINGVariable

If set to 'true', will allow anonymous users to view and edit projects shared via the new link-sharing feature.