Back to Blog
Overleaf Self Host
Featured
selfhost

Overleaf Self Host

Hướng dẫn triển khai Overleaf Community Edition trên máy tính của bạn

24 tháng 1, 2025
8 phút đọc

Overleaf Self Host - Triển khai Overleaf Community Edition

Giới thiệu

Overleaf Community Edition (CE) là phiên bản mã nguồn mở cho phép bạn tự host Overleaf trên máy chủ của mình. Trong bài viết này, chúng ta sẽ tìm hiểu cách triển khai Overleaf CE sử dụng Overleaf Toolkit.

Yêu cầu hệ thống

Trước khi bắt đầu, hãy đảm bảo máy tính của bạn đáp ứng các yêu cầu sau:

  • Docker: Phiên bản 20.10 trở lên
  • Docker Compose: Phiên bản 2.0 trở lên
  • RAM: Tối thiểu 4GB (khuyến nghị 8GB)
  • Dung lượng ổ cứng: Tối thiểu 10GB trống
  • Hệ điều hành: Linux, macOS, hoặc Windows với WSL2

Cài đặt Overleaf Toolkit

Bước 1: Clone repository

git clone https://github.com/overleaf/toolkit.git
cd toolkit

Bước 2: Cấu hình môi trường

Tạo file cấu hình môi trường:

bin/init

Lệnh này sẽ tự động tạo ra các file cấu hình trong thư mục config/

Chỉnh sửa file config/overleaf.rc với các thông tin cần thiết:

# Địa chỉ email admin
SHARELATEX_ADMIN_EMAIL=admin@example.com

# Mật khẩu admin
SHARELATEX_ADMIN_PASSWORD=your_password

# Tên miền (nếu có)
SHARELATEX_SITE_URL=http://localhost:5000

# Để cho phép truy cập Overleaf từ các máy tính khác trong mạng LAN,
# chỉnh sửa dòng sau trong file cấu hình `config/overleaf.rc`:

SHARELATEX_BIND_ADDRESS=0.0.0.0

# Điều này giúp Overleaf lắng nghe trên tất cả các địa chỉ mạng thay vì chỉ localhost.

Bước 3: Khởi động Overleaf

sudo bin/up -d

Lệnh này sẽ:

  • Tải xuống các Docker images cần thiết
  • Khởi động các services (ShareLaTeX, Redis, MongoDB)
  • Thiết lập cơ sở dữ liệu
  • Khởi động web server

Truy cập Overleaf

Sau khi khởi động thành công, bạn có thể truy cập Overleaf tại:

Để cấu hình tài khoản và mật khẩu

Tiếp theo là sẽ tải gói Tex đầy đủ

Lưu ý:
Phiên bản Overleaf tự host cài theo hướng dẫn trên chỉ mới là phiên bản tối giản, chưa có đầy đủ các gói TeX như trên overleaf.com đâu nhé!

  • Nếu bạn chỉ biên dịch các project LaTeX cơ bản thì chừng đó là đủ.
  • Tuy nhiên, với các template phức tạp, thiếu package là chuyện bình thường. Lúc đó bạn sẽ cần cài thêm gói (xem hướng dẫn bên dưới).

Để cài đặt TeX Live đầy đủ (Full):

Lệnh này sẽ vô được shell của docker

sudo bin/shell

Lệnh này sẽ tải toàn bộ Tex package về

tlgmr install schema-full

Một số lệnh cơ bản với tlmgr

Sau khi đã vào shell Docker như hướng dẫn trên, bạn có thể dùng tlmgr để quản lý các package TeX:

  • Cập nhật tlmgr và các gói TeX:
    tlmgr update --self --all
    
  • Cài đặt thêm một package cụ thể (ví dụ: xcolor):
    tlmgr install xcolor
    
  • Tìm kiếm package liên quan đến một từ khóa (ví dụ: table):
    tlmgr search --global --word table
    
  • Xem danh sách các gói đã cài:
    tlmgr list --only-installed
    
  • Xóa một package:
    tlmgr remove <tên-gói>
    

Lưu ý: Khi cài gói bằng tlmgr, chỉ ảnh hưởng trong container Docker của Overleaf, không ảnh hưởng tới hệ điều hành máy chủ.

Xem thêm tài liệu: tlmgr - TeX Live Manager

Quá trình này có thể mất nhiều thời gian (~tải + cài > 5GB). Nhưng sau đó bạn sẽ có gần đủ mọi package như bản Overleaf chính thức.

Để kiểm tra gói đã có chưa, trên Overleaf vào "Logs and output files", xem lỗi thiếu package nào rồi cài tiếp!

Lưu ý: Sau khi đã cài đầy đủ các gói với tlmgr, bạn nên chạy thêm lệnh sau để cập nhật đường dẫn các binary do TeX Live cài vào:

tlmgr path add

Sau khi thao tác xong trong shell Docker, bạn chỉ cần chạy lệnh sau để thoát ra:

exit

Lưu lại thay đổi vào Docker Image mới

Mặc định, mọi thay đổi bạn thực hiện ở container (ví dụ cài thêm các gói TeX qua tlmgr) sẽ bị mất nếu bạn xóa hoặc recreate lại container với Docker Compose.
Để giữ lại các thay đổi này (ví dụ khi cài full TeX Live), bạn cần commit lại container thành một Docker Image mới.

Bước 1: Kiểm tra phiên bản Overleaf

Xác định phiên bản hiện tại, để đặt đúng tag cho image mới:

cat config/version

Ví dụ ra: 5.0.3

Bước 2: Commit container thành Docker Image mới

Giả sử container tên là sharelatex (bạn có thể kiểm tra bằng docker ps).
Chạy lệnh sau, thay 5.0.3 bằng version đúng nếu khác:

docker commit sharelatex sharelatex/sharelatex:5.0.3-with-texlive-full

Lệnh này sẽ tạo ra một image mới sharelatex/sharelatex:5.0.3-with-texlive-full chứa mọi thay đổi bạn đã thực hiện (vd: đã cài đủ gói TeX Live).

Bước 3: Ghi nhận version mới vào cấu hình

Ghi lại version mới vào file config để Overleaf Toolkit sử dụng image mới khi chạy lại:

echo 5.0.3-with-texlive-full > config/version

Xác nhận lại:

cat config/version
# Kết quả: 5.0.3-with-texlive-full

Lưu ý: Nếu lần sau nâng cấp Overleaf hoặc TeX Live, bạn có thể lặp lại các bước trên để lưu lại image đã được tuỳ chỉnh.

Tóm tắt

  • Cài đủ TeX Live trong container sharelatex
  • Commit lại container thành image mới với tag riêng
  • Ghi nhận lại tên image mới trong file config/version
  • Từ giờ về sau, Overleaf sẽ dùng đúng image này, không cần cài lại TeX Live mỗi lần chạy lại!

Kết luận

Việc tự host Overleaf Community Edition mang lại nhiều lợi ích:

  • Quyền kiểm soát hoàn toàn: Bạn có thể tùy chỉnh mọi thứ theo nhu cầu
  • Bảo mật dữ liệu: Dữ liệu được lưu trữ trên máy chủ của bạn
  • Không giới hạn: Không bị giới hạn về số lượng dự án hay người dùng
  • Tích hợp: Có thể tích hợp với các hệ thống khác trong tổ chức

Tuy nhiên, việc tự host cũng đòi hỏi:

  • Kiến thức về Docker và Linux
  • Thời gian để bảo trì và cập nhật
  • Tài nguyên máy chủ phù hợp

Nếu bạn cần một giải pháp LaTeX trực tuyến đơn giản và không muốn quản lý server, Overleaf.com vẫn là lựa chọn tốt nhất. Nhưng nếu bạn cần kiểm soát hoàn toàn và có khả năng kỹ thuật, Overleaf CE là một lựa chọn tuyệt vời.

Tài liệu tham khảo

Tags:

overleaf
latex
docker
self-hosted

Bài viết liên quan