Stirling PDF روی VPS: نصب و راه‌اندازی ویرایشگر PDF شخصی

2 دقیقه خواندن
Tropic
Stirling PDF روی VPS: نصب و راه‌اندازی ویرایشگر PDF شخصی

Language: fa

Stirling PDF: چگونه ویرایشگر PDF شخصی خود را روی VPS نصب کنیم

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

Stirling PDF رویکرد متفاوتی ارائه می‌دهد. این برنامه یک وب‌اپلیکیشن با ده‌ها ابزار PDF است که می‌توانید آن را روی VPS خود اجرا کنید. رابط کاربری در مرورگر رایانه یا تلفن باز می‌شود و سرور شما اسناد را پردازش می‌کند.

در ادامه، قابلیت‌های مهم Stirling PDF، نیازمندی‌های سرور و روش نصب آن روی Ubuntu با Docker Compose، احراز هویت و HTTPS را بررسی می‌کنیم.

Stirling PDF چیست

Stirling PDF یک پلتفرم self-hosted برای ویرایش و پردازش فایل‌های PDF است. بیش از ۵۵ عملیات را در یک محیط جمع می‌کند: ادغام و جداسازی فایل‌ها، جابه‌جایی صفحات، فشرده‌سازی، تبدیل، OCR، امضا، واترمارک، مقایسه اسناد و حذف فراداده و اطلاعات محرمانه.

می‌توان از این سرویس به‌عنوان برنامه دسکتاپ، محصول ابری یا سرور self-hosted استفاده کرد. در حالت self-hosted، فایل‌ها توسط نمونه Stirling PDF خودتان پردازش می‌شوند و می‌توان دسترسی را با گذرواژه و HTTPS محافظت کرد. نسخه رایگان سرور برای گروه‌های حداکثر پنج‌نفره در نظر گرفته شده است؛ برای تیم‌های بزرگ‌تر و بعضی قابلیت‌های سازمانی، نسخه‌های پولی وجود دارد.

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

مهم‌ترین قابلیت‌های Stirling PDF

مدیریت دیداری صفحات

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

OCR برای اسناد اسکن‌شده

OCR یک لایه متن به PDF اسکن‌شده اضافه می‌کند. پس از پردازش، می‌توانید در سند کلمه جست‌وجو کنید، متن را انتخاب و کپی کنید. صاف کردن صفحه‌های کج، حذف نویز و بهبود کنتراست نیز در دسترس است. برای زبان روسی باید بسته Tesseract یعنی فایل rus.traineddata را جداگانه اضافه کنید.

حذف امن داده‌های محرمانه

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

مقایسه نسخه‌ها و اسکنر موبایل

Compare نشان می‌دهد بین دو نسخه قرارداد، گزارش یا مشخصات فنی چه کلماتی اضافه یا حذف شده‌اند. برای اسناد کاغذی، اسکنر موبایل نیز وجود دارد: یک کد QR روی رایانه ظاهر می‌شود، تلفن عکس‌ها را مستقیماً به نشست فعلی می‌فرستد و فایل‌های موقت پس از دانلود یا ده دقیقه بی‌فعالیتی به‌صورت خودکار حذف می‌شوند.

خودکارسازی و API

Automate مانند ماکرو برای فایل‌های PDF کار می‌کند. برای نمونه، می‌توانید گردش‌کار زیر را یک بار ذخیره کنید:

OCR → remove blank pages → compress → add a watermark → set a password

سپس همین گردش‌کار را بدون تکرار هر مرحله روی فایل‌های جدید اجرا کنید. Stirling PDF پردازش فایل‌های یک پوشه تحت نظارت را نیز پشتیبانی می‌کند و REST API همراه با مستندات داخلی Swagger ارائه می‌دهد.

Stirling PDF به چه VPS نیاز دارد

پردازش PDF ممکن است به حافظه‌ای بسیار بیشتر از اندازه خود فایل منبع نیاز داشته باشد. OCR، تبدیل صفحات به تصویر و تبدیل اسناد اداری با LibreOffice به‌خصوص منابع زیادی مصرف می‌کنند.

برای نصب آزمایشی، ۲ GB RAM کافی است؛ اما برای استفاده مداوم بهتر است این مشخصات را انتخاب کنید:

  • 2 vCPU؛
  • 4 GB RAM؛
  • دست‌کم 10–20 GB فضای خالی روی SSD یا NVMe؛
  • Ubuntu 22.04 یا 24.04.

اگر چند کاربر هم‌زمان OCR یا تبدیل را اجرا می‌کنند، انتخاب 4 vCPU و 8 GB RAM منطقی‌تر است. برای سرور کم‌توان، ایمیج latest-ultra-lite وجود دارد؛ در حالی که latest-fat برای تبدیل باکیفیت‌تر، فونت‌ها و ابزارهای بیشتری دارد. ایمیج استاندارد latest برای بیشتر کاربران مناسب است.

نصب Stirling PDF با Docker Compose

در پیکربندی زیر، کانتینر فقط روی رابط محلی گوش می‌دهد. دسترسی خارجی بعداً از طریق Nginx و HTTPS انجام می‌شود، بنابراین پورت 8080 در سراسر اینترنت منتشر نخواهد شد.

مرحله ۱. نصب 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

نصب را بررسی کنید:

docker --version
docker compose version

مرحله ۲. ساخت پیکربندی Docker Compose

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

پیکربندی را اضافه کنید:

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

سرویس را اجرا کنید:

docker compose up -d
docker compose ps

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

docker compose logs --tail=100 stirling-pdf

مرحله ۳. ورود برای نخستین بار

پیش از تنظیم دامنه، رابط کاربری را از طریق تونل SSH باز کنید. این دستور را روی رایانه خود اجرا کنید:

ssh -L 8080:127.0.0.1:8080 root@SERVER_IP

به http://localhost:8080 بروید. نام کاربری پیش‌فرض ورود اول admin و گذرواژه stirling است. گذرواژه را بلافاصله در تنظیمات حساب تغییر دهید.

اتصال دامنه و HTTPS

برای نشانی‌ای مانند pdf.example.com یک رکورد DNS از نوع A بسازید و آن را به IP سرور هدایت کنید. سپس Nginx و Certbot را نصب کنید:

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

پیکربندی را اضافه کرده و نام دامنه را جایگزین کنید:

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;
    }
}

سایت را فعال و گواهی را دریافت کنید:

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 از طریق HTTPS در دسترس است و پورت داخلی 8080 بسته می‌ماند. برای فایل‌های بزرگ‌تر از 500 MB، مقدار client_max_body_size را افزایش دهید.

افزودن OCR روسی

یک پوشه بسازید و بسته‌های Tesseract انگلیسی و روسی را دانلود کنید:

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

خط زیر را به بخش volumes فایل docker-compose.yml اضافه کنید:

      - ./tessdata:/usr/share/tessdata

تغییرات را اعمال و زبان‌های موجود را بررسی کنید:

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

فهرست باید شامل eng و rus باشد.

امنیت، به‌روزرسانی و محدودیت‌ها

پیش از استفاده عادی، گذرواژه پیش‌فرض را تغییر دهید، احراز هویت را فعال نگه دارید، پورت 8080 را در معرض اینترنت قرار ندهید و در فایروال فقط SSH، HTTP و HTTPS را مجاز کنید. پوشه‌های configs و pipeline باید در نسخه‌های پشتیبان قرار بگیرند. تحلیل‌گر Stirling PDF فقط پس از رضایت کاربر فعال می‌شود و مدیر می‌تواند آن را کاملاً غیرفعال کند.

برای به‌روزرسانی برنامه، اجرا کنید:

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

Stirling PDF بیشتر کارهای روزمره را پوشش می‌دهد، اما هنگام تبدیل بین PDF و قالب‌های اداری، چیدمان‌های پیچیده را همیشه حفظ نمی‌کند. OCR ساختار جدول‌ها و فرمول‌ها را تشخیص نمی‌دهد و کیفیت دست‌خط یا متن بسیار کوچک محدود است. برای نتیجه بهتر، از اسکن‌های واضح با وضوح حدود 300 DPI استفاده کنید.

Stirling PDF روی VPS از tropic.host

این سرویس به کارت گرافیک نیاز ندارد؛ RAM، عملکرد پایدار CPU و فضای ذخیره‌سازی سریع مهم‌تر هستند. بهتر است مکانی نزدیک به کاربران انتخاب کنید، زیرا اسناد بزرگ ابتدا روی سرور بارگذاری و سپس دوباره دانلود می‌شوند.

برای یک نمونه شخصی یا تیم کوچک، Linux VPS با 2 vCPU و 4 GB RAM معمولاً کافی است. روی VPS از tropic.host می‌توانید Ubuntu را نصب کنید، پیکربندی Docker Compose بالا را اجرا کنید و رابط را روی یک زیردامنه جداگانه میزبانی کنید. اگر کانتینرهای دیگری نیز روی همان سرور اجرا می‌شوند، حافظه بیشتر اهمیت ویژه‌ای دارد.

جمع‌بندی

Stirling PDF، VPS را به سرویس وب شخصی شما برای اسناد تبدیل می‌کند. این برنامه ده‌ها ابزار، OCR، حذف واقعی داده‌های محرمانه، مقایسه نسخه‌ها، اسکن موبایلی، خودکارسازی و API را در یکجا ارائه می‌دهد.

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

FAQ

آیا Stirling PDF رایگان است

بله. نسخه رایگان self-hosted تا پنج کاربر را پشتیبانی می‌کند. تیم‌های بزرگ‌تر و سازمان‌هایی که به قابلیت‌های سازمانی نیاز دارند باید نسخه پولی تهیه کنند.

آیا اسناد از سرور من خارج می‌شوند

در حالت self-hosted، اسناد توسط نمونه Stirling PDF خودتان پردازش می‌شوند. سطح نهایی امنیت به پیکربندی VPS، HTTPS، گذرواژه‌ها، به‌روزرسانی‌ها و دسترسی مدیر بستگی دارد.

آیا 2 GB RAM کافی است

برای آزمایش و عملیات سبک، بله. برای استفاده معمول، OCR و تبدیل، بهتر است 4 GB RAM انتخاب کنید و برای پردازش‌های هم‌زمان به حافظه بیشتری نیاز است.

آیا داشتن دامنه ضروری است

خیر. سرویس را می‌توان با IP یا از طریق تونل SSH باز کرد. دامنه برای داشتن نشانی دائمی مناسب و پیکربندی صحیح HTTPS مفید است.

آیا OCR روسی پشتیبانی می‌شود

بله. فایل rus.traineddata را به پوشه Tesseract اضافه و آن را داخل کانتینر mount کنید.