使用官方開源專案搭建自有Overleaf服務

joyliu9562發表於2024-10-06

Overleaf對於使用LaTex編輯論文的科研工作者和研究生來說扮演著重要的角色,可以說貫穿了從論文初稿的撰寫到提交的全過程,而Overleaf作為一個由商業公司運作的雲服務產品,即便對免費使用者施加的限制很少(只有編譯時間和頻率的限制),也不足以覆蓋研究工作者全部常見的應用場景,加上其每月9每月的訂閱費用,對於中國的研究工作者而言,還是貴了一些。

不過好在Overleaf對其產品做了開源,這就為廣大科研工作者利用研究機構的提供的硬體資源部署自有的Latax排版服務。

本篇將提供使用官方開源專案在伺服器上部署Overleaf服務的教程。

基礎環境要求和配置

硬體資源需要能夠流暢執行Ubuntu作業系統,且有足夠的記憶體和硬碟空間。

本篇所使用的軟體配置:

  1. Ubuntu 20.04 LTS
  2. Docker 4.33.0
  3. Git

配置步驟

  1. 下載Overleaf官方原始碼
git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit && cd overleaf-toolkit

下載完成之後,在overleaf-toolkit資料夾內有很多用來管理相關功能的指令碼;

  1. 初始化並修改配置
bin/init

這條命令會在./config目錄下生成三個檔案:

overleaf.rc     variables.env     version

這些檔案中的配置可以根據需要修改,這裡介紹幾個常用的。

overleaf.rc 檔案中的下面幾個配置一般來說需要一開始修改:

# 這裡的IP地址可以替換成伺服器的IP,如果是在自己電腦上本地部署,則可以忽略
OVERLEAF_LISTEN_IP=127.0.0.1
# 這裡的埠是Overleaf服務的監聽埠,這裡用的是9000,只要不衝突即可
OVERLEAF_PORT=9000
  1. 啟動服務
    輸入下面的命令啟動服務:
bin/up

如果是需要後臺啟動,請使用-d引數。

  1. 補全宏包
    預設情況下,overleaf使用的texlive中宏包是不全的,因此需要額外下載。

這裡先輸入

bin/shell

進入容器內部,執行下面的程式碼來下載補全宏包

# 下載並執行升級指令碼
wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
sh update-tlmgr-latest.sh -- --upgrade
# 更換texlive的下載源
tlmgr option repository https://mirrors.sustech.edu.cn/CTAN/systems/texlive/tlnet/
# 升級tlmgr
tlmgr update --self --all
# 安裝完整版texlive(時間比較長,不要讓shell斷開)
tlmgr install scheme-full

至此,在瀏覽器中輸入IP:埠即可訪問自己部署的Overleaf服務了。
如果提示需要註冊,可以訪問IP:埠/launchpad/來註冊。

一些其他可能需要的配置

對於很多需要自己部署Overleaf寫作的人,往往是因為所需要編譯的論文過大,這種過大的情況往往是畢業論文,而畢業論文往往要用到中文,因此,這裡額外給出配置中文的一種方式

在檔案中引入宏包

\usepackage[UTF8]{ctex}

在編輯頁面的左上角的menu選單中,更改Overleaf編譯引擎為XeLaTex

然後,Overleaf可以正常編譯中文了。

如果因為一些格式的要求,規定不允許使用這種方式,讀者可以自行搜尋其他方式。

參考資料

https://yangzhang.site/Note/NAS/self-hosted-overleaf/
https://blog.wsine.top/posts/selfhost-overleaf-for-thesis/
https://blog.csdn.net/rolling0707/article/details/86220557

相關文章