Tropic Host

Paperless-ngx: kho tài liệu OCR của riêng bạn trên VPS

10 phút đọc
Tropic
Paperless-ngx: kho tài liệu OCR của riêng bạn trên VPS

Paperless-ngx: cách tạo kho tài liệu có thể tìm kiếm của riêng bạn

Bạn nhớ hợp đồng có một khoản tiền quan trọng, nhưng tệp mang tên scan_2024_03_17.pdf và nằm giữa hàng trăm tệp tương tự. Trình quản lý tệp thông thường tìm theo tên, còn những từ bạn cần lại nằm bên trong bản scan.

Paperless-ngx giải quyết vấn đề này. Bạn tải lên PDF, ảnh biên lai hoặc tệp đính kèm email; dịch vụ nhận dạng văn bản, lập chỉ mục và biến các tệp rải rác thành một kho duy nhất. Sau đó, bạn có thể tìm tài liệu theo họ tên, địa chỉ, số tài khoản hoặc bất kỳ cụm từ nào trên trang.

Paperless-ngx là gì?

Paperless-ngx là hệ thống quản lý tài liệu miễn phí, mã nguồn mở. Nó chạy trên máy chủ riêng, nhận tệp từ nhiều nguồn, thực hiện OCR và cho phép tìm kiếm nội dung.

Thay vì một cấu trúc thư mục cứng nhắc, ứng dụng dùng đối tác, loại tài liệu, thẻ, ngày tháng, trường tùy chỉnh và quy tắc lưu trữ. Nhờ vậy, bạn có thể trong vài giây hiển thị hóa đơn điện năm 2026, tài liệu của một căn hộ cụ thể hoặc các bảo hành sắp hết hạn.

Vì sao Paperless-ngx tốt hơn thư mục thông thường?

Thư mục phù hợp khi bạn có ít tài liệu và vẫn nhớ hệ thống đặt tên. Sau vài năm, các thư mục như Documents, Scans, NewTo sort xuất hiện, khiến việc tìm đúng tệp trở nên khó khăn.

Thư mục thông thườngPaperless-ngx
Tìm theo tên tệpTìm văn bản bên trong tài liệu
Một tệp, một thư mụcNhiều thẻ và thuộc tính
Đặt tên và sắp xếp thủ côngTự động gán metadata
Phải lưu tệp đính kèm thủ côngNhập từ email
Bản scan vẫn chỉ là hình ảnhOCR giúp tìm kiếm văn bản

Thay vì cố nhớ một thư mục, bạn chỉ cần nhớ một từ trong tài liệu.

Paperless-ngx xử lý tệp như thế nào?

Sau khi tải lên, dịch vụ sẽ:

  1. lưu tệp gốc;
  2. trích xuất văn bản có sẵn hoặc bắt đầu OCR;
  3. tạo phiên bản PDF lưu trữ và thumbnail khi cần;
  4. thêm nội dung vào chỉ mục toàn văn;
  5. áp dụng quy tắc và đề xuất đối tác, loại, thẻ và đường dẫn lưu trữ.

Bạn có thể bắt đầu bằng tải lên và tìm kiếm, sau đó mới thêm tự động hóa.

Các tính năng Paperless-ngx hữu ích nhất

Tìm kiếm bên trong bản scan

Sau OCR, bạn có thể tìm hợp đồng theo địa chỉ, hóa đơn theo mã khách hàng và biên lai theo model thiết bị. Ví dụ, tìm “early termination” sẽ hiển thị tài liệu chứa cụm từ đó ngay cả khi PDF gốc chỉ gồm hình ảnh.

Chất lượng phụ thuộc vào bản scan: trang thẳng, tương phản cao được nhận dạng tốt hơn ảnh tối chụp nghiêng. Với kho tài liệu Nga–Anh, điều quan trọng là cài cả hai ngôn ngữ OCR.

Tự động sắp xếp

Paperless-ngx có thể ghép tài liệu mới với các tài liệu bạn đã sắp xếp. Bạn gắn nhãn thủ công vài hóa đơn từ một nhà cung cấp, dịch vụ sẽ học và đề xuất cùng đối tác, loại và thẻ cho các tệp tiếp theo.

Với logic chặt chẽ, bạn có thể tạo quy tắc dựa trên văn bản, tên tệp, nguồn hoặc thư mục tải lên.

Nhập từ email

Dịch vụ có thể kiểm tra hộp thư qua IMAP và xử lý thư theo quy tắc. Ví dụ, nó chỉ lấy tệp đính kèm PDF từ một nhà cung cấp, gửi vào kho lưu trữ rồi đánh dấu email đã đọc hoặc chuyển sang thư mục khác.

Hóa đơn không còn tích tụ trong hộp thư mà trở nên có thể tìm kiếm cùng với bản scan.

Workflow, trường và chế độ xem đã lưu

Workflow thực hiện hành động khi tài liệu được tải lên, thêm, thay đổi hoặc theo lịch. Chúng có thể gán chủ sở hữu, thêm thẻ, chọn loại và đặt đường dẫn lưu trữ.

Trường tùy chỉnh biến kho thành một cơ sở dữ liệu nhỏ. Với hợp đồng, bạn có thể lưu ngày hết hạn; với hóa đơn, số tiền và hạn thanh toán; với thiết bị, số serial. Chế độ xem đã lưu sau đó có thể hiển thị “cần thanh toán” hoặc “bảo hành hết hạn trong tháng này”.

Quét hàng loạt bằng mã vạch

Paperless-ngx có thể tách một bản scan lớn thành nhiều tài liệu bằng mã vạch. Bạn có thể đặt trang phân cách giữa các giấy tờ hoặc gắn mã ASN vào trang đầu.

ASN là số serial lưu trữ liên kết bản sao kỹ thuật số với bản gốc giấy. Điều này thuận tiện khi số hóa các xấp tài liệu lớn.

Phiên bản và AI tùy chọn

Dòng Paperless-ngx 3.x giới thiệu phiên bản tài liệu, nhóm liên kết để chia sẻ và các tính năng AI tích hợp. Khi kết nối mô hình, dịch vụ có thể đề xuất metadata và trả lời câu hỏi về tài liệu.

AI không cần thiết cho tính năng cốt lõi: OCR, tìm kiếm, quy tắc, thẻ và nhập email vẫn hoạt động mà không có AI. Khi dùng API AI bên ngoài, một phần văn bản có thể rời máy chủ; mô hình cục bộ thì cần nhiều tài nguyên hơn.

Paperless-ngx phù hợp với ai?

Kho cá nhân hoặc gia đình: hợp đồng, hợp đồng bảo hiểm, sao kê, bảo hành, biên lai, tài liệu nhà ở và hướng dẫn thiết bị.

Freelancer và doanh nghiệp nhỏ: hóa đơn, biên bản nghiệm thu, hợp đồng, chi phí và trao đổi với đối tác. Nhập email giảm việc thủ công, còn quyền truy cập cho phép người dùng chia sẻ tài liệu.

Quy trình hành chính: tìm nhanh tài liệu gốc, lọc theo nhà cung cấp và giai đoạn, cùng hàng đợi tệp chưa xử lý.

Paperless-ngx không thay thế phần mềm kế toán, chữ ký điện tử hoặc hệ thống ECM doanh nghiệp.

Paperless-ngx cần máy chủ như thế nào?

Tải phụ thuộc vào số trang, chất lượng scan, tần suất tải lên và các thành phần bổ sung. Bạn có thể dùng các điểm khởi đầu thực tế sau:

Kịch bảnCPURAMĐĩa
Kho cá nhân2 vCPU2 GBTừ 30–50 GB NVMe
Gia đình hoặc nhóm nhỏ2–4 vCPU4 GBTừ 60–100 GB NVMe
Lô lớn, tệp Office, AI cục bộTừ 4 vCPUTừ 8 GBKích thước kho cộng dung lượng dự phòng

Trên máy chủ yếu, giao diện có thể vẫn hoạt động bình thường nhưng OCR tài liệu lớn sẽ chậm. Tika và Gotenberg cho Word, Excel và định dạng văn phòng khác cũng làm tăng mức dùng bộ nhớ.

Hãy lên kế hoạch đĩa có dung lượng dự phòng: ngoài bản gốc, hệ thống có thể lưu phiên bản lưu trữ, thumbnail, chỉ mục, cơ sở dữ liệu và tệp tạm. Bản sao lưu cũng cần không gian riêng.

Cài Paperless-ngx trên VPS bằng Docker

Phương thức được hỗ trợ đơn giản nhất là Docker Compose. Bạn cần máy chủ Linux, Docker Engine và plugin Compose.

Dự án chính thức cung cấp trình cài đặt tương tác:

bash -c "$(curl -L https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh)"

Trình cài đặt hỏi thư mục, cơ sở dữ liệu, port, ngôn ngữ OCR, thành phần bổ sung và tài khoản quản trị; sau đó tạo cấu hình Compose rồi khởi động container.

Trên máy chủ production, tải và kiểm tra script trước sẽ an toàn hơn:

curl -L https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh \
  -o install-paperless-ngx.sh
less install-paperless-ngx.sh
bash install-paperless-ngx.sh

Từ thư mục cài đặt, bạn có thể kiểm tra quá trình khởi động bằng:

docker compose ps
docker compose logs -f webserver

Đối với OCR tiếng Nga và tiếng Anh, thường đặt rus+eng và cài dữ liệu ngôn ngữ bổ sung rus eng trong Docker.

Không công khai port nội bộ của ứng dụng. Kết nối tên miền qua reverse proxy, bật HTTPS và đóng các port không cần thiết. Với kho cá nhân, chỉ cho phép truy cập qua VPN còn an toàn hơn.

Paperless-ngx trên VPS của tropic.host

Với kho nhỏ, VPS 2 vCPU, 2–4 GB RAM và bộ nhớ NVMe là phù hợp. Trên tropic.host, bạn có thể triển khai Ubuntu, cài Docker và giữ Paperless-ngx truy cập được từ máy tính lẫn điện thoại mà không cần NAS tại nhà.

VPS chạy 24/7, vì vậy dịch vụ có thể thường xuyên thu thập tệp đính kèm email. Tuy nhiên, tài liệu thường chứa dữ liệu cá nhân: dùng HTTPS hoặc VPN, SSH keys, firewall hạn chế và bản sao lưu độc lập.

Bảo mật và sao lưu

Paperless-ngx không cung cấp mã hóa đầu cuối tích hợp cho tài liệu. Người có toàn quyền trên máy chủ, Docker volume hoặc bản sao lưu có thể đọc kho về mặt lý thuyết.

Biện pháp tối thiểu:

  • chỉ host dịch vụ trên hạ tầng đáng tin cậy;
  • cập nhật hệ thống và container;
  • giới hạn SSH ở các khóa;
  • lưu bản sao đã mã hóa bên ngoài máy chủ chính;
  • định kỳ kiểm tra khôi phục.

Để di chuyển và sao lưu, có document_exporter tích hợp:

docker compose exec webserver document_exporter ../export

Sao chép thư mục export sang thiết bị khác hoặc bộ nhớ độc lập. Bản sao trên cùng VPS không bảo vệ khỏi hỏng đĩa, xóa nhầm hoặc mất quyền truy cập.

Có nên cài Paperless-ngx không?

Paperless-ngx hữu ích khi vấn đề không còn là lưu tệp mà là tìm chúng. Nó biến bản scan, tệp đính kèm và PDF có tên khó hiểu thành kho nơi tài liệu được tìm theo nội dung và xử lý theo quy tắc nhất quán.

Để bắt đầu, chỉ cần cài dịch vụ, cấu hình ngôn ngữ OCR và tải lên những tệp đầu tiên. Thẻ, nhập email, workflow, mã vạch và tính năng AI đáng thêm vào khi bạn có một quy trình rõ ràng, lặp lại.

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

Paperless-ngx có miễn phí không?

Có. Đây là dự án mã nguồn mở. Chi phí chỉ phát sinh cho phần cứng, VPS, tên miền hoặc dịch vụ bên ngoài.

Paperless-ngx có nhận dạng được văn bản tiếng Nga không?

Có. OCR sử dụng gói ngôn ngữ Tesseract rus. Với kho hỗn hợp, thường cấu hình rus+eng.

Tệp gốc có bị xóa sau OCR không?

Không. Tệp gốc được giữ lại. Tùy cấu hình, một phiên bản PDF lưu trữ riêng có thể được tạo cùng với nó.

Có thể tải tài liệu từ điện thoại không?

Có. Bạn có thể dùng giao diện web, API, ứng dụng di động tương thích hoặc chuyển tiếp tài liệu tới địa chỉ email đã kết nối.

Bản sao lưu VPS có đủ không?

Snapshot VPS hữu ích, nhưng tốt hơn nên kết hợp với exporter tích hợp và lưu một bản riêng. Không chỉ cần tạo kho lưu trữ mà còn phải kiểm tra khôi phục trên bản cài đặt sạch.