overleaf / toolkit

GNU Affero General Public License v3.0
576 stars 138 forks source link

What is the latest Overleaf CE version that supports mongoDB 4.4.x and how do I install it? #274

Closed iacchi closed 2 months ago

iacchi commented 2 months ago

Hello everyone and thank you for any help! I tried installing the latest version of Overleaf CE but I was unable to start it because the mondoDB docker image would not start. Troubleshooting a bit, I discovered that mongoDB 5.0+ needs a CPU with AVX support, which my CPU doesn't support. Since I don't want to buy a new server, I was wondering which is the latest version of Overleaf CE that supports mongoDB 4.4.6 and how can I install it with the toolkit (if possible) making sure that it'll download the correct versions of the mongoDB and Redis docker images to go with it?

iacchi commented 2 months ago

Ok, I've done some more research and I found out that version 4.1.6 is the one I want, with the associated toolkit version. This is what I've done: I've pulled the git repo as usual:

# git clone https://github.com/overleaf/toolkit.git /opt/overleaf

then I've done the checkout of the commit related to the correct toolkit version:

# git checkout 7cb96d161f7f38aff5dbcbb3e258c7e543257ef2

and now if I do bin/init the config files are related to version 4.1.6 and the mongoDB version is 4.4, which is good. I modified the overleaf.rc file to set SHARELATEX_PORT=8085 (I haven't touched anything else). I then run bin/up and all the containers are downloaded and started successfully (as far as I can see). However, if I try to access localhost:8085 I obtain a "502 Bad Gateway" error from "nginx/1.18.0 (Ubuntu)", which I guess is the webserver of the sharelatex container. Running bin/logs -f web doesn't show anything interesting. This is the output of bin/doctor:

====== Overleaf Doctor ======
- Host Information
    - Linux
    - Output of 'lsb_release -a':
            Distributor ID:     Debian
            Description:        Debian GNU/Linux 12 (bookworm)
            Release:    12
            Codename:   bookworm
- Dependencies
    - bash
        - status: present
        - version info: 5.2.15(1)-release
    - docker
        - status: present
        - version info: Docker version 27.0.3, build 7d4bcd8
    - realpath
        - status: present
        - version info: realpath (GNU coreutils) 9.1
    - perl
        - status: present
        - version info: 5.036000
    - awk
        - status: present
        - version info: GNU Awk 5.2.1, API 3.2, PMA Avon 8-g1, (GNU MPFR 4.2.0, GNU MP 6.2.1)
    - openssl
        - status: present
        - version info: OpenSSL 3.0.13 30 Jan 2024 (Library: OpenSSL 3.0.13 30 Jan 2024)
    - docker compose
        - status: present
        - version info: Docker Compose version v2.28.1
- Docker Daemon
    - status: up
====== Configuration ======
- config/version
    - status: present
    - version: 4.1.6
- config/overleaf.rc
    - status: present
    - values
        - SHARELATEX_DATA_PATH: data/sharelatex
        - SERVER_PRO: false
        - SHARELATEX_LISTEN_IP: 127.0.0.1
        - SHARELATEX_PORT: 8085
        - MONGO_ENABLED: true
        - MONGO_IMAGE: mongo:4.4
        - MONGO_DATA_PATH: data/mongo
        - REDIS_ENABLED: true
        - REDIS_IMAGE: redis:6.2
        - REDIS_DATA_PATH: data/redis
        - NGINX_ENABLED: false
        - NGINX_CONFIG_PATH: config/nginx/nginx.conf
        - TLS_PRIVATE_KEY_PATH: config/nginx/certs/overleaf_key.pem
        - TLS_CERTIFICATE_PATH: config/nginx/certs/overleaf_certificate.pem
        - NGINX_HTTP_LISTEN_IP: 127.0.1.1
        - NGINX_HTTP_PORT: 80
        - NGINX_TLS_LISTEN_IP: 127.0.1.1
        - TLS_PORT: 443
        - GIT_BRIDGE_ENABLED: false
- config/variables.env
    - status: present
    - values
        - SHARELATEX_FILESTORE_BACKEND: fs
        - SHARELATEX_HISTORY_BACKEND: fs
====== Warnings ======
- None, all good
====== End ======
iacchi commented 2 months ago

ok, fixed this as well by downgrading docker from the official repo to the version present in the debian bookworm repo. At least for the moment it's good enough. I suspect it has something to do with issues 1146, 1168 and 1199. I tried to apply the fixes reported there before downgrading docker, but it didn't work (I don't know if I have done something wrong or what else), but for the moment I'm closing it here.