Tropic Host

Stirling PDF trên VPS: cài đặt trình chỉnh sửa PDF của riêng bạn

9 phút đọc
Tropic
Stirling PDF trên VPS: cài đặt trình chỉnh sửa PDF của riêng bạn

Stirling PDF: cách cài trình chỉnh sửa PDF của riêng bạn trên VPS

Để ghép hợp đồng với phụ lục, nén bản scan hộ chiếu hoặc che thông tin thanh toán, nhiều người tải tài liệu lên dịch vụ trực tuyến đầu tiên họ tìm thấy. Cùng với tệp, chữ ký, địa chỉ, hóa đơn và dữ liệu mật khác có thể được gửi tới website của bên thứ ba.

Stirling PDF mang đến một cách tiếp cận khác. Đây là ứng dụng web với hàng chục công cụ PDF có thể chạy trên VPS của riêng bạn. Giao diện mở trong trình duyệt trên máy tính hoặc điện thoại, còn máy chủ xử lý tài liệu.

Dưới đây, chúng ta sẽ xem các tính năng thú vị nhất của Stirling PDF, yêu cầu máy chủ và cách cài đặt trên Ubuntu bằng Docker Compose, xác thực và HTTPS.

Stirling PDF là gì?

Stirling PDF là nền tảng self-hosted để chỉnh sửa và xử lý tệp PDF. Nó kết hợp hơn 55 thao tác: ghép và tách tệp, sắp xếp lại trang, nén, chuyển đổi, OCR, chữ ký, watermark, so sánh tài liệu, cũng như xóa metadata và thông tin mật.

Dịch vụ có thể dùng như ứng dụng máy tính, sản phẩm cloud hoặc máy chủ self-hosted. Ở chế độ self-hosted, tệp được xử lý bởi instance Stirling PDF của bạn và quyền truy cập có thể bảo vệ bằng mật khẩu cùng HTTPS. Phiên bản máy chủ miễn phí dành cho nhóm tối đa năm người; bản trả phí có sẵn cho nhóm lớn hơn và một số tính năng doanh nghiệp.

Điểm khác biệt chính so với trình chuyển đổi trực tuyến thông thường là quyền kiểm soát. Bạn chọn nhà cung cấp, vị trí máy chủ, người dùng và quy tắc truy cập. Đồng thời, bạn không phải tìm một website riêng cho từng thao tác: một giao diện thay thế cả bộ dịch vụ nén, chuyển đổi, ký và OCR.

Các tính năng Stirling PDF thú vị nhất

Quản lý trang trực quan

Ở chế độ Multi-Tool, tài liệu được hiển thị dưới dạng lưới thumbnail. Trang có thể kéo thả, xoay, xóa, tách, chèn vào vị trí cần thiết và xuất riêng. Tệp chỉ tải lên một lần, còn các thay đổi hỗ trợ undo và redo.

OCR cho tài liệu scan

OCR thêm lớp văn bản vào PDF đã scan. Sau khi xử lý, bạn có thể tìm từ trong tài liệu, chọn và sao chép văn bản. Có các tính năng căn thẳng, loại bỏ nhiễu và tăng tương phản. Với tiếng Nga, bạn cần thêm riêng gói Tesseract rus.traineddata.

Che và xóa dữ liệu an toàn

Một hình chữ nhật màu đen đặt lên số tài khoản không phải lúc nào cũng xóa văn bản gốc. Công cụ Redact có thể xóa kết quả khỏi cấu trúc PDF thay vì chỉ phủ một lớp hiển thị. Bạn có thể đánh dấu thủ công một vùng hoặc tìm toàn bộ tài liệu để xác định số điện thoại, địa chỉ email, số thẻ và dữ liệu khác bằng từ khóa hoặc biểu thức chính quy.

So sánh phiên bản và máy quét di động

Compare cho biết những từ nào được thêm hoặc xóa giữa hai phiên bản hợp đồng, báo cáo hoặc đặc tả kỹ thuật. Với tài liệu giấy, có máy quét di động: mã QR xuất hiện trên máy tính, điện thoại tải ảnh trực tiếp vào phiên hiện tại và tệp tạm tự động bị xóa sau khi tải xuống hoặc sau mười phút không hoạt động.

Tự động hóa và API

Automate hoạt động giống macro cho tệp PDF. Ví dụ, bạn có thể lưu workflow sau một lần:

OCR → xóa trang trắng → nén → thêm watermark → đặt mật khẩu

Sau đó áp dụng cùng workflow cho tệp mới mà không lặp lại từng bước. Stirling PDF cũng hỗ trợ xử lý tệp từ thư mục được theo dõi và cung cấp REST API với tài liệu Swagger tích hợp.

Stirling PDF cần VPS như thế nào?

Xử lý PDF có thể cần nhiều bộ nhớ hơn đáng kể so với dung lượng của tệp nguồn. OCR, chuyển trang thành ảnh và chuyển đổi tài liệu văn phòng qua LibreOffice đặc biệt tốn tài nguyên.

Với bản triển khai thử nghiệm, 2 GB RAM là đủ, nhưng dùng thường xuyên thì nên chọn:

  • 2 vCPU;
  • 4 GB RAM;
  • ít nhất 10–20 GB trống trên ổ SSD hoặc NVMe;
  • Ubuntu 22.04 hoặc 24.04.

Nếu nhiều người chạy OCR hoặc chuyển đổi cùng lúc, nên chọn 4 vCPU và 8 GB RAM. Với máy chủ công suất thấp, có image latest-ultra-lite, còn latest-fat bao gồm thêm font và công cụ để chuyển đổi chất lượng cao hơn. Image latest tiêu chuẩn phù hợp với hầu hết người dùng.

Cài Stirling PDF bằng Docker Compose

Trong cấu hình dưới đây, container chỉ lắng nghe trên giao diện cục bộ. Sau đó, truy cập bên ngoài sẽ đi qua Nginx với HTTPS, vì vậy port 8080 không được mở cho toàn bộ internet.

Bước 1. Cài Docker

ssh root@SERVER_IP
apt update && apt upgrade -y
apt install -y curl
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
rm get-docker.sh

Xác minh cài đặt:

docker --version
docker compose version

Bước 2. Tạo cấu hình Docker Compose

mkdir -p /opt/stirling-pdf/{configs,logs,pipeline}
cd /opt/stirling-pdf
nano docker-compose.yml

Thêm cấu hình:

services:
  stirling-pdf:
    image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest
    container_name: stirling-pdf
    restart: unless-stopped
    ports:
      - "127.0.0.1:8080:8080"
    volumes:
      - ./configs:/configs
      - ./logs:/logs
      - ./pipeline:/pipeline
    environment:
      - SECURITY_ENABLELOGIN=true
      - SYSTEM_DEFAULTLOCALE=ru-RU
      - SYSTEM_GOOGLEVISIBILITY=false

Khởi động dịch vụ:

docker compose up -d
docker compose ps

Để chẩn đoán, dùng:

docker compose logs --tail=100 stirling-pdf

Bước 3. Đăng nhập lần đầu

Trước khi cấu hình tên miền, hãy mở giao diện qua SSH tunnel. Chạy lệnh trên máy tính của bạn:

ssh -L 8080:127.0.0.1:8080 root@SERVER_IP

Truy cập http://localhost:8080. Thông tin đăng nhập lần đầu mặc định là username admin và mật khẩu stirling. Đổi mật khẩu ngay trong cài đặt tài khoản.

Kết nối tên miền và HTTPS

Tạo bản ghi DNS loại A cho địa chỉ như pdf.example.com và trỏ tới IP của máy chủ. Sau đó cài Nginx và Certbot:

apt install -y nginx certbot python3-certbot-nginx
nano /etc/nginx/sites-available/stirling-pdf

Thêm cấu hình sau và thay tên miền:

server {
    listen 80;
    server_name pdf.example.com;
    client_max_body_size 500M;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 300s;
    }
}

Bật website và lấy chứng chỉ:

ln -s /etc/nginx/sites-available/stirling-pdf /etc/nginx/sites-enabled/stirling-pdf
nginx -t
systemctl reload nginx
certbot --nginx -d pdf.example.com

Stirling PDF hiện khả dụng qua HTTPS, còn port nội bộ 8080 vẫn đóng. Với tệp lớn hơn 500 MB, hãy tăng client_max_body_size.

Cách thêm OCR tiếng Nga

Tạo thư mục và tải các gói Tesseract tiếng Anh và tiếng Nga:

cd /opt/stirling-pdf
mkdir -p tessdata
curl -L -o tessdata/eng.traineddata \
  https://raw.githubusercontent.com/tesseract-ocr/tessdata_fast/main/eng.traineddata
curl -L -o tessdata/rus.traineddata \
  https://raw.githubusercontent.com/tesseract-ocr/tessdata_fast/main/rus.traineddata

Thêm dòng sau vào phần volumes của tệp docker-compose.yml:

      - ./tessdata:/usr/share/tessdata

Áp dụng thay đổi và kiểm tra ngôn ngữ có sẵn:

docker compose up -d
docker exec stirling-pdf tesseract --list-langs

Danh sách phải gồm engrus.

Bảo mật, cập nhật và giới hạn

Trước khi dùng thường xuyên, hãy đổi mật khẩu mặc định, giữ xác thực luôn bật, không công khai port 8080 và chỉ cho phép SSH, HTTP và HTTPS qua firewall. Các thư mục configspipeline nên được đưa vào bản sao lưu. Phân tích Stirling PDF chỉ bật sau khi người dùng đồng ý và có thể được quản trị viên tắt hoàn toàn.

Để cập nhật ứng dụng, chạy:

cd /opt/stirling-pdf
docker compose pull
docker compose up -d

Stirling PDF đáp ứng hầu hết tác vụ hằng ngày, nhưng không phải lúc nào cũng giữ nguyên bố cục phức tạp khi chuyển đổi giữa PDF và định dạng văn phòng. OCR không nhận dạng tốt cấu trúc bảng và công thức, còn chữ viết tay hoặc văn bản rất nhỏ có chất lượng hạn chế. Để có kết quả tốt, hãy dùng bản scan rõ với độ phân giải khoảng 300 DPI.

Stirling PDF trên VPS của tropic.host

Dịch vụ không cần card đồ họa: RAM, hiệu năng CPU ổn định và bộ nhớ nhanh quan trọng hơn. Tốt hơn nên chọn vị trí gần người dùng vì tài liệu lớn trước tiên được tải lên máy chủ rồi lại tải xuống.

Với instance cá nhân hoặc nhóm nhỏ, VPS Linux 2 vCPU và 4 GB RAM thường đủ. Trên VPS của tropic.host, bạn có thể cài Ubuntu, khởi chạy cấu hình Docker Compose ở trên và host giao diện trên một tên miền phụ riêng. Bộ nhớ bổ sung đặc biệt quan trọng nếu máy chủ chạy các container khác.

Kết luận

Stirling PDF biến VPS thành dịch vụ web xử lý tài liệu của riêng bạn. Nó kết hợp hàng chục công cụ và hỗ trợ OCR, xóa thực sự dữ liệu mật, so sánh phiên bản, quét bằng điện thoại, tự động hóa và API.

Lý do chính để tự triển khai là quyền kiểm soát tệp. Với hợp đồng, hóa đơn, biểu mẫu và tài liệu nội bộ, instance được bảo vệ bằng xác thực và HTTPS thuận tiện hơn một loạt trình chuyển đổi trực tuyến ngẫu nhiên.

Câu hỏi thường gặp

Stirling PDF có miễn phí không?

Có. Phiên bản self-hosted miễn phí hỗ trợ tối đa năm người dùng. Nhóm và tổ chức lớn hơn cần các tính năng doanh nghiệp sẽ cần bản trả phí.

Tài liệu có rời khỏi máy chủ không?

Ở chế độ self-hosted, chúng được xử lý bởi instance Stirling PDF của bạn. Mức bảo mật cuối cùng phụ thuộc vào cấu hình VPS, HTTPS, mật khẩu, cập nhật và quyền truy cập quản trị.

2 GB RAM có đủ không?

Đủ cho kiểm thử và thao tác nhẹ. Với việc sử dụng thường xuyên, OCR và chuyển đổi, nên chọn 4 GB RAM; khối lượng đồng thời cần nhiều hơn.

Có bắt buộc phải có tên miền không?

Không. Dịch vụ có thể mở bằng địa chỉ IP hoặc qua SSH tunnel. Tên miền hữu ích cho địa chỉ thường trực thuận tiện và cấu hình HTTPS đúng cách.

Có hỗ trợ OCR tiếng Nga không?

Có. Thêm tệp rus.traineddata vào thư mục Tesseract và mount nó vào container.