Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Backup overleaf server

Open
#334 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Documentation
Clarity
Needs clarification
Activity status
Stale
Tech stack
docker, docker-compose, mongodb, redis

Research direction

Start from the simple installation configuration shown in the issue and inspect the mounted sharelatex_data, mongo_data, and redis_data volumes. Determine which data must be backed up and how recovery on another server should be verified, then document a tested backup and restore procedure for this setup.

Written by the indexing model from the issue text.

Description

Hello everyone!!
I'm looking which is the best way to backup the whole instalation of my overleaf instance and recovery on another server. I have the toolkit "simple" installation.

Below you will find the doctor's scrpit output.
version: '2.2'
services:
sharelatex:
restart: always
# Server Pro users:
# image: quay.io/sharelatex/sharelatex-pro
image: sharelatex/sharelatex
container_name: sharelatex
depends_on:
mongo:
condition: service_healthy
redis:
condition: service_started
ports:
- 80:80
links:
- mongo
- redis
volumes:
- ~/sharelatex_data:/var/lib/sharelatex
########################################################################
#### Server Pro: Uncomment the following line to mount the docker ####
#### socket, required for Sibling Containers to work ####
########################################################################
# - /var/run/docker.sock:/var/run/docker.sock
environment:

        SHARELATEX_APP_NAME: Overleaf Community Edition

        SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex

        # Same property, unfortunately with different names in
        # different locations
        SHARELATEX_REDIS_HOST: redis
        REDIS_HOST: redis

        ENABLED_LINKED_FILE_TYPES: 'url,project_file'

        # Enables Thumbnail generation using ImageMagick
        ENABLE_CONVERSIONS: 'true'

        # Disables email confirmation requirement
        EMAIL_CONFIRMATION_DISABLED: 'true'

        # temporary fix for LuaLaTex compiles
        # see https://github.com/overleaf/overleaf/issues/695
        TEXMFVAR: /var/lib/sharelatex/tmp/texmf-var

        ## Set for SSL via nginx-proxy
        #VIRTUAL_HOST: 103.112.212.22

        # SHARELATEX_SITE_URL: http://sharelatex.mydomain.com
        # SHARELATEX_NAV_TITLE: Our ShareLaTeX Instance
        # SHARELATEX_HEADER_IMAGE_URL: http://somewhere.com/mylogo.png
        # SHARELATEX_ADMIN_EMAIL: [email protected]

        # SHARELATEX_LEFT_FOOTER: '[{"text": "Powered by <a href=\"https://www.sharelatex.com\">ShareLaTeX</a> 2016"},{"text": "Another page I want to link to can be found <a href=\"here\">here</a>"} ]'
        # SHARELATEX_RIGHT_FOOTER: '[{"text": "Hello I am on the Right"} ]'

        # SHARELATEX_EMAIL_FROM_ADDRESS: "[email protected]"

        # SHARELATEX_EMAIL_AWS_SES_ACCESS_KEY_ID:
        # SHARELATEX_EMAIL_AWS_SES_SECRET_KEY:

        # SHARELATEX_EMAIL_SMTP_HOST: smtp.mydomain.com
        # SHARELATEX_EMAIL_SMTP_PORT: 587
        # SHARELATEX_EMAIL_SMTP_SECURE: false
        # SHARELATEX_EMAIL_SMTP_USER:
        # SHARELATEX_EMAIL_SMTP_PASS:
        # SHARELATEX_EMAIL_SMTP_TLS_REJECT_UNAUTH: true
        # SHARELATEX_EMAIL_SMTP_IGNORE_TLS: false
        # SHARELATEX_EMAIL_SMTP_NAME: '127.0.0.1'
        # SHARELATEX_EMAIL_SMTP_LOGGER: true
        # SHARELATEX_CUSTOM_EMAIL_FOOTER: "This system is run by department x"

        ################
        ## Server Pro ##
        ################

        # SANDBOXED_COMPILES: 'true'

        # SANDBOXED_COMPILES_SIBLING_CONTAINERS: 'true'
        # SANDBOXED_COMPILES_HOST_DIR: '/var/sharelatex_data/data/compiles'
        # SYNCTEX_BIN_HOST_PATH: '/var/sharelatex_data/bin/synctex'

        # DOCKER_RUNNER: 'false'

        ## Works with test LDAP server shown at bottom of docker compose
        # SHARELATEX_LDAP_URL: 'ldap://ldap:389'
        # SHARELATEX_LDAP_SEARCH_BASE: 'ou=people,dc=planetexpress,dc=com'
        # SHARELATEX_LDAP_SEARCH_FILTER: '(uid={{username}})'
        # SHARELATEX_LDAP_BIND_DN: 'cn=admin,dc=planetexpress,dc=com'
        # SHARELATEX_LDAP_BIND_CREDENTIALS: 'GoodNewsEveryone'
        # SHARELATEX_LDAP_EMAIL_ATT: 'mail'
        # SHARELATEX_LDAP_NAME_ATT: 'cn'
        # SHARELATEX_LDAP_LAST_NAME_ATT: 'sn'
        # SHARELATEX_LDAP_UPDATE_USER_DETAILS_ON_LOGIN: 'true'

        # SHARELATEX_TEMPLATES_USER_ID: "578773160210479700917ee5"
        # SHARELATEX_NEW_PROJECT_TEMPLATE_LINKS: '[ {"name":"All Templates","url":"/templates/all"}]'


        # SHARELATEX_PROXY_LEARN: "true"

mongo:
    restart: always
    image: mongo:4.0
    container_name: mongo
    expose:
        - 27017
    volumes:
        - ~/mongo_data:/data/db
    healthcheck:
        test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet
        interval: 10s
        timeout: 10s
        retries: 5

redis:
    restart: always
    image: redis:5
    container_name: redis
    expose:
        - 6379
    volumes:
        - ~/redis_data:/data

# ldap:
#    restart: always
#    image: rroemhild/test-openldap
#    container_name: ldap
#    expose:
#        - 389

# See https://github.com/jwilder/nginx-proxy for documentation on how to configure the nginx-proxy container,
# and https://github.com/overleaf/overleaf/wiki/HTTPS-reverse-proxy-using-Nginx for an example of some recommended
# settings. We recommend using a properly managed nginx instance outside of the Overleaf Server Pro setup,
# but the example here can be used if you'd prefer to run everything with docker-compose

# nginx-proxy:
#     image: jwilder/nginx-proxy
#     container_name: nginx-proxy
#     ports:
#       #- "80:80"
#       - "443:443"
#     volumes:
#       - /var/run/docker.sock:/tmp/docker.sock:ro
#       - /home/sharelatex/tmp:/etc/nginx/certs
Dominant language
Shell
Stars
1.3k
Forks
310
Avg merge
3d 12h
Merged PRs (30d)
1

Getting set up

We have not checked this project's setup files yet. Start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from overleaf/toolkit

All issues in overleaf/toolkit

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.