Paperless-ngx: VPS-এ নিজের OCR document archive

3 মিনিট পড়া
Tropic
Paperless-ngx: VPS-এ নিজের OCR document archive

Paperless-ngx: নিজের searchable document archive তৈরির উপায়

আপনার মনে আছে contract-এ গুরুত্বপূর্ণ একটি amount ছিল, কিন্তু file-এর নাম scan_2024_03_17.pdf এবং সেটি শত শত একই ধরনের file-এর মধ্যে পড়ে আছে। সাধারণ file manager filename দিয়ে search করে, অথচ আপনার প্রয়োজনীয় শব্দ scan-এর ভেতরে রয়েছে।

Paperless-ngx এই সমস্যা সমাধান করে। আপনি PDF, receipt-এর photo বা email attachment upload করলে সার্ভিসটি text চিনে index করে এবং ছড়িয়ে থাকা file-কে একটি archive-এ পরিণত করে। এরপর surname, address, account number বা page-এর যেকোনো phrase দিয়ে document খুঁজে পাওয়া যায়।

Paperless-ngx কী

Paperless-ngx হলো বিনামূল্যের open-source document management system। এটি নিজের server-এ চলে, বিভিন্ন উৎস থেকে file গ্রহণ করে, OCR চালায় এবং content search করার সুযোগ দেয়।

একটি কঠোর folder structure-এর বদলে এটি correspondent, document type, tag, date, custom field ও storage rule ব্যবহার করে। ফলে 2026 সালের electricity bill, নির্দিষ্ট apartment-এর document বা শিগগির expire হতে যাওয়া warranty কয়েক সেকেন্ডে দেখানো যায়।

সাধারণ folder-এর চেয়ে Paperless-ngx কেন ভালো

Document কম থাকলে এবং naming system মনে থাকলে folder ঠিকঠাক কাজ করে। কয়েক বছর পরে Documents, Scans, NewTo sort-এর মতো directory তৈরি হয়, আর সঠিক file খুঁজে পাওয়া কঠিন হয়ে যায়।

Ordinary folderPaperless-ngx
Filename দিয়ে searchDocument-এর ভেতরের text দিয়ে search
একটি file, একটি folderএকাধিক tag ও attribute
হাতে name দেওয়া ও sort করাAutomatic metadata assignment
Attachment হাতে save করতে হয়Email থেকে import
Scan শুধু image থাকেOCR text-কে searchable করে

Directory মনে রাখার বদলে document-এর একটি শব্দ মনে রাখলেই যথেষ্ট।

Paperless-ngx কীভাবে file process করে

Upload-এর পরে সার্ভিসটি:

  1. original file সংরক্ষণ করে;
  2. existing text বের করে অথবা OCR শুরু করে;
  3. প্রয়োজনে archival PDF version ও thumbnail তৈরি করে;
  4. content full-text index-এ যোগ করে;
  5. rule প্রয়োগ করে এবং correspondent, type, tag ও storage path-এর পরামর্শ দেয়।

প্রথমে upload ও search দিয়ে শুরু করে পরে automation যোগ করতে পারেন।

Paperless-ngx-এর সবচেয়ে উপকারী feature

OCR-এর পরে address দিয়ে contract, customer number দিয়ে invoice এবং device model দিয়ে receipt খুঁজে পাওয়া যায়। যেমন, “early termination” search করলে original PDF শুধু image হলেও phrase-টি থাকা document দেখাবে।

Quality scan-এর ওপর নির্ভর করে: সোজা, high-contrast page কাত হয়ে তোলা অন্ধকার photo-র চেয়ে ভালোভাবে recognize হয়। Russian-English archive-এর জন্য দুই OCR language install করা গুরুত্বপূর্ণ।

Automatic sorting

Paperless-ngx নতুন document-কে আগে সাজানো document-এর সঙ্গে match করতে পারে। কোনো provider-এর কয়েকটি invoice হাতে label করলে পরের file-এর জন্য একই correspondent, type ও tag suggest করতে শেখে।

Strict logic-এর জন্য text, filename, source বা upload folder-এর ওপর ভিত্তি করে rule তৈরি করতে পারেন।

Email থেকে import

সার্ভিসটি IMAP দিয়ে mailbox check করে rule অনুযায়ী message process করতে পারে। যেমন, supplier-এর শুধু PDF attachment retrieve করে archive-এ পাঠানো, তারপর email-কে read mark করা বা অন্য folder-এ সরানো যায়।

Invoice inbox-এ জমে না থেকে scan-এর পাশাপাশি searchable হয়ে যায়।

Workflow, field ও saved view

Document upload, add, change বা নির্দিষ্ট schedule-এ workflow action সম্পাদন করে। এটি owner assign, tag যোগ, type নির্বাচন এবং storage path নির্ধারণ করতে পারে।

Custom field archive-কে ছোট database-এ পরিণত করে। Contract-এর জন্য expiration date, invoice-এর জন্য amount ও payment deadline এবং equipment-এর জন্য serial number সংরক্ষণ করা যায়। এরপর saved view-তে “payment required” বা “warranty expires this month” দেখানো সম্ভব।

Barcode দিয়ে batch scan

Barcode ব্যবহার করে Paperless-ngx একটি বড় scan-কে একাধিক document-এ ভাগ করতে পারে। কাগজের মাঝে separator page রাখা যায় বা প্রথম sheet-এ ASN code লাগানো যায়।

ASN হলো archive serial number, যা digital copy-কে paper original-এর সঙ্গে যুক্ত করে। বড় stack digitize করার সময় এটি সুবিধাজনক।

Version ও ঐচ্ছিক AI

Paperless-ngx 3.x series-এ document version, shared access-এর জন্য link set এবং built-in AI feature যোগ হয়েছে। Model connect করলে সার্ভিসটি metadata suggest করতে ও document সম্পর্কে প্রশ্নের উত্তর দিতে পারে।

মূল feature-এর জন্য AI দরকার নেই: OCR, search, rule, tag ও email import AI ছাড়াই কাজ করে। External AI API ব্যবহার করলে কিছু text server-এর বাইরে যেতে পারে, আর local model-এর জন্য বেশি resource দরকার।

কার জন্য Paperless-ngx উপযুক্ত

Personal বা family archive-এর জন্য: contract, insurance policy, statement, warranty, receipt, housing document এবং equipment manual।

Freelancer ও ছোট business-এর জন্য: invoice, acceptance certificate, contract, expense এবং counterparty-র সঙ্গে correspondence। Email import manual কাজ কমায়, আর access permission দিয়ে document share করা যায়।

Administrative process-এর জন্য: source document দ্রুত search, supplier ও period অনুযায়ী selection এবং unprocessed file-এর queue।

Paperless-ngx accounting software, electronic signature বা corporate ECM system-এর বিকল্প নয়।

Paperless-ngx-এর জন্য কেমন server দরকার

Load page-এর সংখ্যা, scan quality, upload frequency এবং additional component-এর ওপর নির্ভর করে। শুরু করার জন্য এই ব্যবহারিক configuration নিতে পারেন:

ScenarioCPURAMDisk
Personal archive2 vCPU2 GB30–50 GB NVMe বা বেশি
Family বা small team2–4 vCPU4 GB60–100 GB NVMe বা বেশি
Large batch, Office file, local AI4 vCPU বা বেশি8 GB বা বেশিArchive-এর size ও অতিরিক্ত capacity

দুর্বল server-এ interface স্বাভাবিক কাজ করতে পারে, কিন্তু বড় document-এর OCR ধীর হবে। Word, Excel ও অন্যান্য office format-এর জন্য Tika ও Gotenberg memory usage-ও বাড়ায়।

Disk capacity-তে পর্যাপ্ত reserve রাখুন: original-এর পাশাপাশি system archival version, thumbnail, index, database ও temporary file সংরক্ষণ করতে পারে। Backup-এর জন্যও আলাদা space দরকার।

Docker দিয়ে VPS-এ Paperless-ngx ইনস্টল

সবচেয়ে সহজ supported method হলো Docker Compose। একটি Linux server, Docker Engine ও Compose plugin দরকার।

Official project একটি interactive installer দেয়:

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

এটি directory, database, port, OCR language, additional component ও administrator account সম্পর্কে জিজ্ঞাসা করে, তারপর Compose configuration তৈরি করে এবং container চালু করে।

Production server-এ আগে script download ও inspect করা নিরাপদ:

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

Installation directory থেকে এই command-গুলো দিয়ে startup check করতে পারেন:

docker compose ps
docker compose logs -f webserver

Russian ও English OCR-এর জন্য সাধারণত rus+eng সেট করুন এবং Docker-এ অতিরিক্ত rus eng language data install করুন।

Application-এর internal port সরাসরি expose করবেন না। Reverse proxy দিয়ে domain connect করুন, HTTPS চালু করুন এবং অপ্রয়োজনীয় port বন্ধ করুন। Personal archive-এর ক্ষেত্রে শুধু VPN-এর মাধ্যমে access দেওয়া আরও নিরাপদ।

tropic.host VPS-এ Paperless-ngx

ছোট archive-এর জন্য 2 vCPU, 2–4 GB RAM ও NVMe storage-সহ VPS উপযুক্ত। tropic.host-এ Ubuntu deploy করে Docker install করলে home NAS ছাড়াই computer ও phone থেকে Paperless-ngx accessible রাখা যায়।

VPS সারাক্ষণ চলে, তাই সার্ভিসটি নিয়মিত email attachment সংগ্রহ করতে পারে। তবে document-এ প্রায়ই personal data থাকে: HTTPS বা VPN, SSH key, restrictive firewall এবং independent backup ব্যবহার করুন।

Security ও backup

Paperless-ngx document-এর জন্য built-in end-to-end encryption দেয় না। Server, Docker volume বা backup-এ full access থাকা user archive পড়তে পারে।

ন্যূনতম ব্যবস্থা:

  • trusted infrastructure-এ কেবল সার্ভিসটি host করুন;
  • system ও container update করুন;
  • SSH access key-তে সীমিত করুন;
  • main server-এর বাইরে encrypted copy রাখুন;
  • নিয়মিত recovery পরীক্ষা করুন।

Migration ও backup-এর জন্য built-in document_exporter আছে:

docker compose exec webserver document_exporter ../export

Export directory অন্য device বা independent storage-এ copy করুন। একই VPS-এ থাকা copy disk damage, accidental deletion বা access হারানোর বিরুদ্ধে সুরক্ষা দেবে না।

Paperless-ngx ইনস্টল করা কি যুক্তিযুক্ত?

সমস্যা file রাখা নয়, খুঁজে পাওয়া হয়ে উঠলে Paperless-ngx উপকারী। এটি অস্পষ্ট নামের scan, attachment ও PDF-কে এমন archive-এ পরিণত করে যেখানে document content দিয়ে খুঁজে পাওয়া যায় এবং consistent rule অনুযায়ী process করা যায়।

শুরু করতে সার্ভিস install, OCR language configure এবং প্রথম file upload করাই যথেষ্ট। স্পষ্ট repetitive process থাকলে tag, email import, workflow, barcode ও AI feature যোগ করুন।

FAQ

Paperless-ngx কি বিনামূল্যে ব্যবহার করা যায়?

হ্যাঁ। এটি open-source project। Hardware, VPS, domain বা external service-এর জন্যই শুধু খরচ হবে।

Paperless-ngx কি Russian text চিনতে পারে?

হ্যাঁ। OCR Tesseract-এর rus language package ব্যবহার করে। Mixed archive-এর জন্য সাধারণত rus+eng configure করা হয়।

OCR-এর পরে কি original file মুছে যায়?

না। Original file সংরক্ষিত থাকে। Setting অনুযায়ী তার পাশে আলাদা archival PDF version তৈরি হতে পারে।

Phone থেকে কি document upload করা যায়?

হ্যাঁ। Web interface, API, compatible mobile app অথবা connected email address-এ document forward করে upload করা যায়।

VPS backup কি যথেষ্ট?

VPS snapshot উপকারী, কিন্তু built-in exporter-এর সঙ্গে এটি মিলিয়ে আলাদা copy রাখা ভালো। শুধু archive তৈরি করাই নয়, clean installation-এ recovery test করাও জরুরি।