Paperless-ngx: آرشیو شخصی اسناد OCR روی VPS

1 دقیقه خواندن
Tropic
Paperless-ngx: آرشیو شخصی اسناد OCR روی VPS

Language: fa

Paperless-ngx: چگونه آرشیو قابل جست‌وجوی اسناد خود را بسازیم

یادتان هست قراردادی شامل مبلغ مهمی بود، اما نام فایل scan_2024_03_17.pdf است و میان صدها فایل مشابه قرار دارد؟ فایل‌منیجر معمولی بر اساس نام فایل جست‌وجو می‌کند، درحالی‌که کلمات موردنیاز شما داخل اسکن هستند.

Paperless-ngx این مشکل را حل می‌کند. یک PDF، عکس رسید یا پیوست ایمیل را بارگذاری می‌کنید و سرویس متن را تشخیص می‌دهد، آن را ایندکس می‌کند و فایل‌های پراکنده را به یک آرشیو واحد تبدیل می‌کند. پس از آن می‌توانید سند را با نام خانوادگی، نشانی، شماره حساب یا هر عبارتی که در صفحه آمده است پیدا کنید.

Paperless-ngx چیست

Paperless-ngx یک سیستم رایگان و متن‌باز برای مدیریت اسناد است. این سیستم روی سرور خودتان اجرا می‌شود، فایل‌ها را از منابع مختلف می‌پذیرد، OCR انجام می‌دهد و امکان جست‌وجو در محتوای آن‌ها را فراهم می‌کند.

به‌جای یک ساختار خشک پوشه‌ها، از فرستندگان، انواع سند، برچسب‌ها، تاریخ‌ها، فیلدهای سفارشی و قوانین ذخیره‌سازی استفاده می‌کند. به این ترتیب می‌توانید قبض‌های برق سال 2026، اسناد یک آپارتمان مشخص یا ضمانت‌نامه‌هایی را که به‌زودی منقضی می‌شوند، در چند ثانیه ببینید.

چرا Paperless-ngx از پوشه‌های معمولی بهتر است

پوشه‌ها زمانی مناسب‌اند که اسناد کمی دارید و هنوز سیستم نام‌گذاری خود را به یاد می‌آورید. پس از چند سال، پوشه‌هایی مانند Documents، Scans، New و To sort ایجاد می‌شوند و پیدا کردن فایل درست دشوار خواهد شد.

پوشه معمولیPaperless-ngx
جست‌وجو بر اساس نام فایلجست‌وجو در متن داخل سند
یک فایل، یک پوشهچندین برچسب و ویژگی
نام‌گذاری و مرتب‌سازی دستیاختصاص خودکار فراداده
ذخیره دستی پیوست‌هاوارد کردن از ایمیل
اسکن فقط یک تصویر استOCR متن را قابل جست‌وجو می‌کند

به‌جای به خاطر سپردن یک پوشه، کافی است یک کلمه از سند را به یاد داشته باشید.

Paperless-ngx چگونه یک فایل را پردازش می‌کند

پس از بارگذاری، سرویس:

  1. فایل اصلی را ذخیره می‌کند؛
  2. متن موجود را استخراج می‌کند یا OCR را آغاز می‌کند؛
  3. در صورت نیاز نسخه PDF آرشیوی و تصاویر بندانگشتی می‌سازد؛
  4. محتوا را به ایندکس تمام‌متن اضافه می‌کند؛
  5. قوانین را اعمال می‌کند و فرستنده، نوع، برچسب‌ها و مسیر ذخیره‌سازی را پیشنهاد می‌دهد.

می‌توانید کار را با بارگذاری و جست‌وجو شروع کنید و بعداً سراغ خودکارسازی بروید.

مفیدترین قابلیت‌های Paperless-ngx

جست‌وجو در اسکن‌ها

پس از OCR می‌توانید قرارداد را با نشانی، فاکتور را با شماره مشتری و رسید را با مدل دستگاه پیدا کنید. برای نمونه، جست‌وجوی «فسخ زودهنگام» اسنادی را نشان می‌دهد که این عبارت را دارند، حتی اگر PDF اصلی فقط از تصاویر تشکیل شده باشد.

کیفیت به اسکن بستگی دارد: صفحه صاف و پُرتضاد بهتر از عکس تیره‌ای که از زاویه گرفته شده تشخیص داده می‌شود. برای آرشیو روسی-انگلیسی مهم است هر دو زبان OCR را نصب کنید.

مرتب‌سازی خودکار

Paperless-ngx می‌تواند اسناد جدید را با اسنادی که قبلاً مرتب کرده‌اید تطبیق دهد. چند فاکتور از یک تأمین‌کننده را دستی برچسب می‌زنید و سرویس یاد می‌گیرد برای فایل‌های بعدی همان فرستنده، نوع و برچسب‌ها را پیشنهاد کند.

برای منطق دقیق‌تر می‌توانید قوانینی بر اساس متن، نام فایل، منبع یا پوشه بارگذاری بسازید.

وارد کردن از ایمیل

سرویس می‌تواند یک صندوق ایمیل را از طریق IMAP بررسی کند و پیام‌ها را طبق قوانین پردازش کند. مثلاً فقط پیوست‌های PDF یک تأمین‌کننده را دریافت کند، آن‌ها را به آرشیو بفرستد و سپس ایمیل را خوانده‌شده علامت بزند یا به پوشه دیگری منتقل کند.

فاکتورها دیگر در صندوق ورودی جمع نمی‌شوند و همراه اسکن‌ها قابل جست‌وجو خواهند بود.

گردش‌کارها، فیلدها و نماهای ذخیره‌شده

گردش‌کارها هنگام بارگذاری، افزودن یا تغییر سند و همچنین طبق یک زمان‌بندی، عملیات انجام می‌دهند. آن‌ها می‌توانند مالک تعیین کنند، برچسبی بیفزایند، نوعی را انتخاب کنند و مسیر ذخیره‌سازی را مشخص کنند.

فیلدهای سفارشی آرشیو را به یک پایگاه داده کوچک تبدیل می‌کنند. برای قرارداد می‌توانید تاریخ انقضا، برای فاکتور مبلغ و مهلت پرداخت، و برای تجهیزات شماره سریال را ذخیره کنید. نماهای ذخیره‌شده نیز می‌توانند مثلاً اسناد «نیازمند پرداخت» یا «ضمانت‌نامه‌هایی که این ماه منقضی می‌شوند» را نشان دهند.

اسکن دسته‌ای با بارکد

Paperless-ngx می‌تواند با استفاده از بارکد یک اسکن بزرگ را به چند سند تقسیم کند. می‌توانید بین برگه‌ها صفحات جداکننده بگذارید یا یک کد ASN به اولین برگه اضافه کنید.

ASN شماره سریال آرشیوی است که یک نسخه دیجیتال را به اصل کاغذی آن مرتبط می‌کند. این قابلیت هنگام دیجیتالی کردن دسته‌های بزرگ بسیار کاربردی است.

نسخه‌ها و هوش مصنوعی اختیاری

سری Paperless-ngx 3.x نسخه‌های سند، مجموعه لینک‌های دسترسی اشتراکی و قابلیت‌های داخلی AI را معرفی کرد. با اتصال یک مدل، سرویس می‌تواند فراداده پیشنهاد دهد و به پرسش‌های مربوط به اسناد پاسخ دهد.

برای قابلیت‌های اصلی به AI نیازی نیست: OCR، جست‌وجو، قوانین، برچسب‌ها و وارد کردن ایمیل بدون آن هم کار می‌کنند. هنگام استفاده از API خارجی هوش مصنوعی، ممکن است بخشی از متن از سرور خارج شود، درحالی‌که مدل محلی منابع بیشتری نیاز دارد.

Paperless-ngx برای چه کسانی مناسب است

برای آرشیو شخصی یا خانوادگی: قراردادها، بیمه‌نامه‌ها، صورت‌حساب‌ها، ضمانت‌نامه‌ها، رسیدها، اسناد مسکن و دفترچه‌های تجهیزات.

برای فریلنسرها و کسب‌وکارهای کوچک: فاکتورها، صورت‌جلسه‌های تحویل، قراردادها، هزینه‌ها و مکاتبات با طرف‌های تجاری. وارد کردن ایمیل کار دستی را کاهش می‌دهد و مجوزهای دسترسی امکان اشتراک‌گذاری اسناد را فراهم می‌کنند.

برای فرایندهای اداری: جست‌وجوی سریع در اسناد منبع، انتخاب بر اساس تأمین‌کننده و دوره زمانی و صف فایل‌های پردازش‌نشده.

Paperless-ngx جای نرم‌افزار حسابداری، امضای الکترونیکی یا سیستم ECM سازمانی را نمی‌گیرد.

Paperless-ngx به چه سروری نیاز دارد

بار کاری به تعداد صفحات، کیفیت اسکن، تعداد دفعات بارگذاری و اجزای اضافی بستگی دارد. برای شروع می‌توانید از این مقادیر عملی استفاده کنید:

سناریوCPURAMدیسک
آرشیو شخصی2 vCPU2 GB30–50 GB NVMe یا بیشتر
خانواده یا تیم کوچک2–4 vCPU4 GB60–100 GB NVMe یا بیشتر
دسته‌های بزرگ، فایل‌های Office، AI محلی4 vCPU یا بیشتر8 GB یا بیشتراندازه آرشیو به‌علاوه فضای ذخیره اضافی

روی سرور ضعیف ممکن است رابط کاربری عادی باشد، اما OCR اسناد بزرگ کند اجرا می‌شود. Tika و Gotenberg برای Word، Excel و دیگر قالب‌های اداری نیز مصرف حافظه را افزایش می‌دهند.

ظرفیت دیسک را با فضای خالی کافی برنامه‌ریزی کنید: سیستم علاوه بر فایل‌های اصلی ممکن است نسخه‌های آرشیوی، تصاویر بندانگشتی، ایندکس، پایگاه داده و فایل‌های موقت را نگه دارد. پشتیبان‌ها نیز به فضای جداگانه نیاز دارند.

نصب Paperless-ngx روی VPS با Docker

ساده‌ترین روش پشتیبانی‌شده Docker Compose است. به یک سرور Linux، Docker Engine و افزونه Compose نیاز دارید.

پروژه رسمی یک نصب‌کننده تعاملی ارائه می‌کند:

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

نصب‌کننده درباره دایرکتوری، پایگاه داده، پورت، زبان OCR، اجزای اضافی و حساب مدیر سؤال می‌کند، سپس پیکربندی Compose را می‌سازد و کانتینرها را اجرا می‌کند.

روی سرور تولیدی بهتر است ابتدا اسکریپت را دانلود و بررسی کنید:

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

از دایرکتوری نصب می‌توانید با این فرمان‌ها راه‌اندازی را بررسی کنید:

docker compose ps
docker compose logs -f webserver

برای OCR روسی و انگلیسی معمولاً rus+eng را تنظیم می‌کنند و داده‌های زبانی اضافی rus eng را در Docker نصب می‌کنند.

پورت داخلی برنامه را مستقیماً در اینترنت منتشر نکنید. دامنه را از طریق reverse proxy متصل کنید، HTTPS را فعال کنید و پورت‌های غیرضروری را ببندید. برای آرشیو شخصی، محدود کردن دسترسی به VPN امن‌تر است.

Paperless-ngx روی VPS در tropic.host

برای یک آرشیو کوچک، VPS با 2 vCPU، رم 2–4 GB و فضای NVMe مناسب است. در tropic.host می‌توانید Ubuntu را مستقر کنید، Docker را نصب کنید و Paperless-ngx را بدون NAS خانگی از رایانه و تلفن در دسترس نگه دارید.

VPS شبانه‌روزی اجرا می‌شود، بنابراین سرویس می‌تواند مرتباً پیوست‌های ایمیل را دریافت کند. بااین‌حال، اسناد اغلب داده‌های شخصی دارند: از HTTPS یا VPN، کلیدهای SSH، فایروال محدودکننده و پشتیبان‌های مستقل استفاده کنید.

امنیت و پشتیبان‌گیری

Paperless-ngx برای اسناد رمزنگاری سرتاسری داخلی ارائه نمی‌کند. کاربری که دسترسی کامل به سرور، volumeهای Docker یا یک نسخه پشتیبان داشته باشد، ممکن است بتواند آرشیو را بخواند.

حداقل اقدامات:

  • سرویس را فقط روی زیرساخت مورد اعتماد میزبانی کنید؛
  • سیستم و کانتینرها را به‌روز نگه دارید؛
  • دسترسی SSH را به کلیدها محدود کنید؛
  • نسخه‌های رمزنگاری‌شده را خارج از سرور اصلی نگه دارید؛
  • بازیابی را به‌طور دوره‌ای آزمایش کنید.

برای مهاجرت و پشتیبان‌گیری، ابزار داخلی document_exporter وجود دارد:

docker compose exec webserver document_exporter ../export

دایرکتوری export را روی دستگاهی دیگر یا فضای ذخیره مستقل کپی کنید. نسخه‌ای که روی همان VPS قرار دارد در برابر خرابی دیسک، حذف تصادفی یا از دست رفتن دسترسی محافظت نمی‌کند.

آیا نصب Paperless-ngx ارزش دارد؟

Paperless-ngx زمانی مفید است که مشکل دیگر نگهداری فایل‌ها نیست، بلکه پیدا کردن آن‌هاست. این سرویس اسکن‌ها، پیوست‌ها و PDFهای دارای نام‌های نامشخص را به آرشیوی تبدیل می‌کند که اسناد در آن بر اساس محتوا پیدا می‌شوند و طبق قوانین منظم پردازش می‌گردند.

برای شروع کافی است سرویس را نصب کنید، زبان‌های OCR را پیکربندی کنید و نخستین فایل‌ها را بارگذاری کنید. وقتی یک فرایند روشن و تکرارشونده داشتید، برچسب‌ها، وارد کردن ایمیل، گردش‌کارها، بارکدها و قابلیت‌های AI را اضافه کنید.

FAQ

آیا می‌توان از Paperless-ngx رایگان استفاده کرد؟

بله. این یک پروژه متن‌باز است. هزینه‌ها فقط مربوط به سخت‌افزار، VPS، دامنه یا سرویس‌های خارجی هستند.

آیا Paperless-ngx می‌تواند متن روسی را تشخیص دهد؟

بله. OCR از بسته زبان rus در Tesseract استفاده می‌کند. برای آرشیو ترکیبی معمولاً rus+eng تنظیم می‌شود.

آیا فایل اصلی پس از OCR حذف می‌شود؟

خیر. فایل اصلی حفظ می‌شود. بسته به تنظیمات، ممکن است نسخه PDF آرشیوی جداگانه‌ای نیز در کنار آن ایجاد شود.

آیا می‌توان اسناد را از تلفن بارگذاری کرد؟

بله. می‌توانید از رابط وب، API، یک برنامه موبایل سازگار یا ارسال سند به نشانی ایمیل متصل استفاده کنید.

آیا پشتیبان VPS کافی است؟

Snapshot VPS مفید است، اما بهتر است آن را با exporter داخلی ترکیب کنید و یک نسخه جداگانه نگه دارید. فقط ساختن آرشیو کافی نیست؛ باید بازیابی آن را نیز روی یک نصب تمیز آزمایش کنید.