Skip to content

octavioroncal/montex

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27,642 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Overleaf

An open-source online real-time collaborative LaTeX editor.

WikiServer ProAuthorsLicense

A screenshot of a project being edited in Overleaf Extended Community Edition

Figure 1: A screenshot of a project being edited in Overleaf Extended Community Edition.

Community Edition

Overleaf is an open-source online real-time collaborative LaTeX editor. Overleaf runs a hosted version at www.overleaf.com, but you can also run your own local version, and contribute to the development of Overleaf.

Extended Community Edition (CE+)

The present "extended" version of Overleaf CE includes:

  • Template gallery
  • Sandboxed compiles with TeX Live image selection
  • LDAP authentication
  • SAML authentication
  • OpenID Connect authentication
  • Real-time track changes and comments
  • Autocomplete of reference keys
  • Symbol palette
  • Import file from external URL
  • Advanced administrator tools for managing user accounts and projects
  • Git integration
  • Direct URL access to project entities by path (docs and files)
  • Project structure endpoint for browsing the full project tree

Project content API additions

The Extended CE includes three project-content endpoints (requires authentication and read access to the project):

  • GET /project/{Project_id}/structure
    Returns the full tree of folders, docs and files in a project.
  • GET /project/{Project_id}/download/by-path/{path}
    Downloads a project entity directly using its in-project path (for example: src/main.tex).
  • PUT /api/v1/project/{Project_id}/folder/by-path/{path}
    Creates a folder by in-project path (nested paths are supported). Alias: PUT /api/v1/project/{Project_id}/directory/by-path/{path}.
  • DELETE /api/v1/project/{Project_id}/entity/by-path/{path}
    Deletes a file or folder (recursively) by in-project path.
  • GET /project/{Project_id}?path={ruta/del/fichero}
    Opens a specific file directly in the editor.

Direct editor URL format:

  • http://localhost/project/<PROJECT_ID>?path=<ruta/del/fichero>
  • Example: http://localhost/project/69dad07c225fc5832ef56652?path=main.tex
  • Subfolder example: http://localhost/project/69dad07c225fc5832ef56652?path=chapters/intro.tex
  • If the path contains spaces, use URL encoding (for example %20).

Examples:

curl -b cookies.txt "http://localhost/project/<PROJECT_ID>/structure"
curl -L -b cookies.txt "http://localhost/project/<PROJECT_ID>/download/by-path/src/main.tex" -o main.tex

OpenAPI schema: doc/openapi.yaml

Caution

Overleaf Community Edition is intended for use in environments where all users are trusted. Community Edition is not appropriate for scenarios where isolation of users is required due to Sandbox Compiles not being available. When not using Sandboxed Compiles, users have full read and write access to the sharelatex container resources (filesystem, network, environment variables) when running LaTeX compiles. Therefore, in any environment where not all users can be fully trusted, it is strongly recommended to enable the Sandboxed Compiles feature available in the Extended Community Edition.

For more information on Sandbox Compiles check out Overleaf documentation.

Enterprise

If you want help installing and maintaining Overleaf in your lab or workplace, Overleaf offers an officially supported version called Overleaf Server Pro.

Installation

Detailed installation instructions can be found in the Overleaf Toolkit. Configuration details and release history for the Extended Community Edition can be found on the Extended CE Wiki Page.

Overleaf Docker Image

This repo contains two dockerfiles, Dockerfile-base, which builds the sharelatex/sharelatex-base:ext-ce image, and Dockerfile which builds the sharelatex/sharelatex:ext-ce image.

The Base image generally contains the basic dependencies like wget, plus texlive. This is split 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.

The Phusion base-image (which is extended by the base image) provides a VM-like container in which to run the Overleaf services. Baseimage uses the runit service manager to manage services, and init scripts from the server-ce/runit folder are added.

Publish To Docker Hub

Build and push your MonTex image with:

docker login
./scripts/release.sh <dockerhub_user>/<repo> <version>

Example:

./scripts/release.sh oroncal/montex 1.0.0

This publishes:

  • <dockerhub_user>/<repo>-base:<version> (base image, Node moderno)
  • <dockerhub_user>/<repo>-base:latest
  • <dockerhub_user>/<repo>:<version>
  • <dockerhub_user>/<repo>:latest

If you skip base build and use sharelatex/sharelatex-base:latest, the build may fail with toSorted is not a function because that image currently ships an old Node version.

Skip base build only if you provide a modern base explicitly:

BUILD_BASE=0 OVERLEAF_BASE_TAG=<your-modern-base-image> ./scripts/release.sh <dockerhub_user>/<repo> <version>

Deploy that image with:

OVERLEAF_SITE_URL=https://latex.tu-dominio.com \
MONTEX_IMAGE=oroncal/montex MONTEX_TAG=1.0.0 \
docker compose -f docker-compose.release.yml up -d

Git Bridge enabled in release (default):

MONTEX_IMAGE=oroncal/montex MONTEX_TAG=1.0.0 \
  docker compose -f docker-compose.release.yml up -d

Disable Git Bridge explicitly if needed:

GIT_BRIDGE_ENABLED=false MONTEX_IMAGE=oroncal/montex MONTEX_TAG=1.0.0 \
  docker compose -f docker-compose.release.yml up -d

When running with Podman, the internal /git proxy resolver is auto-detected from the container DNS. If needed, you can force it:

GIT_BRIDGE_NGINX_RESOLVER=10.89.0.1 MONTEX_IMAGE=oroncal/montex MONTEX_TAG=1.0.0 \
  docker compose -f docker-compose.release.yml up -d

Authors

The Overleaf Team
yu-i-i — CE extensions; references to adapted code are listed in CREDITS

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-2026.
Copyright (c) yu-i-i, 2024-2026, for CE extensions.

Portions of the code are derived from other open-source projects; see CREDITS.

About

A web-based collaborative LaTeX editor (CE extended with free premium features)

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 63.4%
  • TypeScript 28.9%
  • SCSS 2.6%
  • Java 2.1%
  • Pug 0.8%
  • Shell 0.7%
  • Other 1.5%