Sharelatex Docker

安装环境

  • Ubuntu 24.04
  • docker 27.3.1
  • docker-compose v2.30.3
  • sharelatex 5.2.1

安装

官网给出 docker-compose 文件 无法安装,mongo 总是报错,同时也尝试通过 toolkit 安装,也同样无法安装。

参考 issues1263 得知是数据库初始化的问题,修改 docker-compose.yml 文件中的 mongo 配置:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
mongo:
    restart: always
    image: mongo:6.0
    command: ["--replSet", "overleaf", "--bind_ip_all", "--port", "27017"]
    container_name: mongo
    volumes:
        - ./mongo_data:/data/db
    ports:
        - 27017:27017
    environment:
        MONGO_INITDB_DATABASE: sharelatex
    healthcheck:
        test: echo "try { rs.status() } catch (err) { rs.initiate({_id:'overleaf',members:[{_id:0,host:'<IP>:27017'}]}) }" | mongosh --port 27017 --quiet
        retries: 10
        interval: 5s
        timeout: 10s

此时即可通过 docker compose up -d 正常运行。

配置

使用下面命令注册管理员账号:

1
2
docker exec sharelatex /bin/bash -ce \
  "cd /overleaf/services/web && node modules/server-ce-scripts/scripts/create-user --admin --email=<EMAIL>"

参考 文档 安装全部的 texlive 的中英文字体。先将字体放入挂载的卷 sharelatex_data/fonts 中,进入容器执行:

1
2
3
4
5
6
apt update
apt install -y latex-cjk-all texlive-lang-chinese texlive-lang-english
cp /var/lib/overleaf/fonts/* /usr/share/fonts/zh-cn/
cd /usr/share/fonts
fc-cache -fv
fc-list :lang=zh-cn

也可以直接使用打包好的镜像(基于 sharelatex/sharelatex:5.2.1)。

1
docker pull hackroot/sharelatex-full-cn:5.2.1
0%