مجله ایرانیکاسرور آموزش سرور، هاست، وردپرس و شبکه پنل کاربری

راه‌اندازی Documenso روی سرور مجازی ایران؛ سامانه اختصاصی امضای الکترونیکی اسناد

اگر برای شرکت، تیم کاری یا کسب‌وکار خود به یک سامانه اختصاصی برای مدیریت و امضای الکترونیکی اسناد نیاز دارید، می‌توانید به‌جای استفاده از سرویس‌های آماده و پرداخت ماهانه دلاری، یک نمونه Self-Hosted را…

Amir Jabbari 📅 2 مهر 1405 ⏱ 9 دقیقه مطالعه 👁 0 بازدید 💬 0 دیدگاه

اگر برای شرکت، تیم کاری یا کسب‌وکار خود به یک سامانه اختصاصی برای مدیریت و امضای الکترونیکی اسناد نیاز دارید، می‌توانید به‌جای استفاده از سرویس‌های آماده و پرداخت ماهانه دلاری، یک نمونه Self-Hosted را روی سرور مجازی یا سرور اختصاصی خودتان راه‌اندازی کنید. Documenso یک پلتفرم متن‌باز برای ایجاد، ارسال، مدیریت و امضای اسناد به‌صورت آنلاین است که می‌توان آن را روی زیرساخت شخصی اجرا کرد.

در این آموزش، مراحل نصب Documenso با Docker را بررسی می‌کنیم و سپس نحوه اتصال دامنه، فعال‌سازی HTTPS و شروع فرایند امضای یک سند را توضیح می‌دهیم. این راهنما برای مدیران سرور و تیم‌های فنی نوشته شده که می‌خواهند کنترل کاملی روی داده‌های اسناد خود داشته باشند.

🔹 Documenso چه قابلیت‌هایی دارد؟

🔹 آپلود و مدیریت اسناد PDF

🔹 ایجاد فرایند امضای الکترونیکی چندمرحله‌ای

🔹 مشخص‌کردن امضاکنندگان و ترتیب امضا

🔹 قرار دادن محل امضا، تاریخ، متن و چک‌باکس روی سند

🔹 ارسال خودکار ایمیل به امضاکنندگان

🔹 پیگیری وضعیت اسناد از پنل مدیریتی

چرا Documenso را روی سرور مجازی ایران نصب کنیم؟

در سرویس‌های ابری آماده، اطلاعات اسناد روی زیرساخت ارائه‌دهنده ذخیره می‌شود؛ اما در مدل Self-Hosted، شما نرم‌افزار را روی سرور خودتان اجرا می‌کنید و کنترل کامل روی داده‌ها، کاربران و محل ذخیره‌سازی اطلاعات دارید. این موضوع برای شرکت‌هایی که با اسناد محرمانه و قراردادهای داخلی سر و کار دارند اهمیت دوچندان پیدا می‌کند.

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

پیش‌نیازهای نصب Documenso

قبل از شروع، یک سرور لینوکسی با Ubuntu 22.04 یا 24.04 آماده کنید. برای استفاده آزمایشی، منابع پایین هم کافی است؛ اما برای محیط سازمانی، منابع را بر اساس تعداد کاربران و حجم اسناد انتخاب کنید.

⚠️ پیشنهاد منابع برای محیط سازمانی

🔹 حداقل ۲ هسته CPU

🔹 حداقل ۲ تا ۴ گیگابایت RAM

🔹 حداقل ۲۰ گیگابایت فضای SSD/NVMe

🔹 یک دامنه یا زیردامنه (مثلاً sign.example.com)

🔹 دسترسی SSH به سرور

در این مقاله فرض می‌کنیم IP سرور شما SERVER_IP و دامنه مورد استفاده sign.example.com است. این مقادیر نمونه هستند و باید با اطلاعات واقعی خودتان جایگزین شوند.

مرحله اول؛ نصب Docker روی سرور

ابتدا با SSH وارد سرور شوید و سیستم را به‌روزرسانی کنید:

ssh root@SERVER_IP
apt update && apt upgrade -y

سپس Docker را از روش رسمی نصب کنید. بعد از نصب، وضعیت سرویس را بررسی کنید:

systemctl status docker
docker --version
docker compose version

اگر هر دو دستور نسخه نصب‌شده را نمایش دهند، سرور برای اجرای کانتینرها آماده است.

مرحله دوم؛ دریافت فایل‌های Documenso

روش نصب Documenso ممکن است با توجه به نسخه نرم‌افزار تغییر کند؛ بنابراین بهتر است فایل‌های Docker Compose و متغیرهای محیطی را از مستندات رسمی پروژه دریافت کنید. یک پوشه برای پروژه بسازید و وارد آن شوید:

mkdir -p /opt/documenso
cd /opt/documenso

سپس فایل docker-compose.yml رسمی پروژه را دانلود کنید. نسخه Production Compose شامل PostgreSQL و خود Documenso در یک فایل است.

curl -O https://raw.githubusercontent.com/documenso/documenso/release/docker/production/compose.yml

⚠️ نکته مهم: فایل Docker Compose را بدون توجه به نسخه Documenso از منابع قدیمی کپی نکنید. متغیرهای محیطی، سرویس‌های وابسته و تنظیمات موردنیاز ممکن است در نسخه‌های مختلف تغییر کنند.

مرحله سوم؛ ساخت فایل Environment

بسیاری از تنظیمات Documenso از طریق Environment Variableها انجام می‌شود. یک فایل .env بسازید و مقادیر موردنیاز را در آن قرار دهید:

nano .env

حداقل مقادیر موردنیاز در فایل .env عبارت‌اند از:

# Database
POSTGRES_USER=documenso
POSTGRES_PASSWORD=your-secure-password
POSTGRES_DB=documenso

# Secrets (generate with: openssl rand -base64 32)
NEXTAUTH_SECRET=your-nextauth-secret
NEXT_PRIVATE_ENCRYPTION_KEY=your-encryption-key-min-32-chars
NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY=your-secondary-key-min-32-chars

# Application URL
NEXT_PUBLIC_WEBAPP_URL=https://sign.example.com

# SMTP (for sending emails)
NEXT_PRIVATE_SMTP_TRANSPORT=smtp-auth
NEXT_PRIVATE_SMTP_HOST=smtp.example.com
NEXT_PRIVATE_SMTP_PORT=587
NEXT_PRIVATE_SMTP_USERNAME=your-smtp-user
NEXT_PRIVATE_SMTP_PASSWORD=your-smtp-pass
NEXT_PRIVATE_SMTP_FROM_NAME=Documenso
NEXT_PRIVATE_SMTP_FROM_ADDRESS=noreply@example.com

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

openssl rand -base64 32

همچنین برای امضای دیجیتال اسناد، به یک گواهی امضا نیاز دارید. می‌توانید یک گواهی self-signed بسازید یا از یک Certificate Authority معتبر گواهی بگیرید.

🚀 زیرساخت اختصاصی برای Documenso

اگر می‌خواهید Documenso را روی یک سرور پایدار و پرسرعت اجرا کنید، سرور مجازی ایران ایرانیکاسرور با منابع اختصاصی CPU و RAM، دیسک NVMe و پهنای باند نامحدود، گزینه‌ای مطمئن برای میزبانی سامانه امضای الکترونیکی اسناد است. پشتیبانی ۲۴/۷ و آپ‌تایم بالا، فرایند امضای قراردادهای شما را بدون وقفه نگه می‌دارد.

📞 تماس با پشتیبانی: 021-91302460 | ایرانیکاسرور

مرحله چهارم؛ اجرای Documenso

بعد از آماده‌سازی فایل‌های Docker Compose و .env، سرویس‌ها را اجرا کنید:

docker compose up -d
docker compose ps

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

docker compose logs -f documenso

در لاگ‌ها به دنبال پیام‌هایی مانند Running database migrations و Starting Documenso server باشید. اگر این پیام‌ها را دیدید، سرویس با موفقیت اجرا شده است.

مرحله پنجم؛ اتصال دامنه و فعال‌سازی HTTPS

حالا باید دامنه یا زیردامنه خود را به IP سرور متصل کنید. در پنل DNS دامنه، یک رکورد A ایجاد کنید:

Type: A

Name: sign

Value: SERVER_IP

برای اینکه Documenso از طریق دامنه و HTTPS در دسترس باشد، از یک Reverse Proxy مانند Nginx یا Caddy استفاده کنید. ساختار کلی به این شکل است:

User
  |
  | HTTPS
  v
Domain (sign.example.com)
  |
  v
Nginx / Caddy
  |
  v
Documenso Container (port 3000)

برای دریافت گواهی SSL از Let’s Encrypt و Certbot استفاده کنید:

apt install certbot python3-certbot-nginx -y
certbot --nginx -d sign.example.com

پس از آن آدرس https://sign.example.com در دسترس خواهد بود.

مرحله ششم؛ ورود به Documenso و ساخت اولین سند

بعد از اجرای موفق سرویس و تنظیم دامنه، آدرس https://sign.example.com را در مرورگر باز کنید. در اولین اجرا باید مراحل ایجاد حساب یا تنظیمات اولیه را انجام دهید. پس از ورود، محیط مدیریتی Documenso را مشاهده خواهید کرد.

برای ساخت اولین سند، یک فایل PDF آزمایشی آپلود کنید. سپس امضاکننده را مشخص کنید (مثلاً نام: علی رضایی، ایمیل: ali@example.com) و محل امضا را روی صفحه موردنظر سند قرار دهید. در صورت نیاز می‌توانید فیلدهای دیگری مانند تاریخ، متن و چک‌باکس نیز اضافه کنید.

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

مشکلات رایج و راه‌حل آن‌ها

سایت باز نمی‌شود: ابتدا DNS را بررسی کنید (dig sign.example.com)، سپس وضعیت کانتینرها را با docker compose ps چک کنید و لاگ‌ها را با docker compose logs مشاهده کنید.

خطای Database: مقدار DATABASE_URL را در فایل .env بررسی کنید. اشتباه بودن نام دیتابیس، کاربر، رمز عبور یا Host می‌تواند باعث اجرا نشدن برنامه شود.

ایمیل ارسال نمی‌شود: تنظیمات SMTP را در .env بررسی کنید. متغیر NEXT_PRIVATE_SMTP_TRANSPORT باید روی smtp-auth تنظیم شده باشد.

مشکل Permission: اگر برنامه در هنگام ذخیره فایل با خطای Permission مواجه شد، مالکیت Volumeها را بررسی کنید. از تغییر Permission به شکل chmod -R 777 بدون بررسی دقیق خودداری کنید.

📌 مشکل دارید؟ همین حالا راهنمایی بگیرید

اگر در مراحل نصب Documenso یا تنظیمات Reverse Proxy، SSL، دیتابیس و SMTP به مشکل خوردید، تیم فنی ایرانیکاسرور آماده راهنمایی شماست. کافی است درخواست خود را از طریق صفحه کانفیگ ارسال کنید تا در سریع‌ترین زمان بررسی شود.

🔹 درخواست کانفیگ و رفع مشکل

📞 تماس با پشتیبانی: 021-91302460 | ایرانیکاسرور

بکاپ‌گیری از Documenso

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

🔹 Database (PostgreSQL)

🔹 Uploaded Files (اسناد آپلودشده)

🔹 Configuration

🔹 Environment Variables (فایل .env)

فایل .env شامل اطلاعات حساس است و نباید بدون رمزنگاری در اختیار افراد دیگر قرار گیرد. پیشنهاد می‌شود حداقل یک نسخه Backup خارج از همان سرور نگهداری شود. همچنین فقط گرفتن Backup کافی نیست؛ باید هر چند وقت یک‌بار فرایند Restore را نیز آزمایش کنید.

نکات امنیتی مهم

HTTPS: همیشه سامانه را با HTTPS در اختیار کاربران قرار دهید. بدون HTTPS، اطلاعات بین مرورگر و سرور رمزنگاری نمی‌شود.

امنیت SSH: ورود SSH را ایمن کنید و از روش‌های مناسب احراز هویت مانند کلید عمومی استفاده کنید.

Firewall: فقط پورت‌های موردنیاز را باز کنید: 22 (SSH)، 80 (HTTP)، 443 (HTTPS).

به‌روزرسانی: سیستم‌عامل و Docker Imageهای مورد استفاده را مرتب بررسی و به‌روزرسانی کنید.

Secretها: رمزهای عبور و Secretهای برنامه را در اختیار افراد غیرمجاز قرار ندهید و از مقادیر پیش‌فرض استفاده نکنید.

جمع‌بندی

Documenso یک راهکار Self-Hosted برای ایجاد و مدیریت فرایند امضای اسناد است که می‌توان آن را روی سرور مجازی ایران یا سرور اختصاصی اجرا کرد. در این آموزش، نصب Docker، دریافت فایل‌های Compose، تنظیم متغیرهای محیطی، اجرای سرویس، اتصال دامنه، فعال‌سازی HTTPS و ساخت اولین سند را بررسی کردیم.

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

سوالات متداول

Documenso چیست و چه تفاوتی با DocuSign دارد؟

Documenso یک پلتفرم متن‌باز برای امضای الکترونیکی اسناد است که می‌توان آن را به‌صورت Self-Hosted اجرا کرد. برخلاف DocuSign که یک سرویس ابری است، Documenso روی سرور خودتان اجرا می‌شود و کنترل کامل روی داده‌ها را به شما می‌دهد.

آیا Documenso برای استفاده سازمانی مناسب است؟

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

حداقل منابع موردنیاز برای اجرای Documenso چقدر است؟

برای استفاده آزمایشی، ۲ هسته CPU، ۲ تا ۴ گیگابایت RAM و ۲۰ گیگابایت فضای SSD کافی است. برای محیط سازمانی، منابع را بر اساس تعداد کاربران و حجم اسناد افزایش دهید.

آیا می‌توان Documenso را روی VPS ایران نصب کرد؟

بله، از نظر فنی می‌توان Documenso را روی VPS ایران اجرا کرد؛ به شرطی که سرور شما منابع کافی، دسترسی شبکه مناسب و امکان اجرای Docker را داشته باشد.

از چه مواردی باید Backup بگیرم؟

حداقل باید از Database (PostgreSQL)، فایل‌های آپلودشده (اسناد)، فایل‌های تنظیمات و فایل .env نسخه پشتیبان تهیه کنید. پیشنهاد می‌شود نسخه Backup خارج از سرور اصلی نیز نگهداری شود.

اگر سایت باز نشد چه کار کنم؟

ابتدا DNS را بررسی کنید، سپس وضعیت کانتینرها را با docker compose ps چک کنید و لاگ‌ها را با docker compose logs مشاهده کنید. اگر کانتینر متوقف شده بود، با docker compose up -d دوباره آن را اجرا کنید.

اگر برای اجرای Documenso به یک سرور پایدار نیاز دارید، می‌توانید پلن‌های سرور مجازی ایرانیکاسرور را بررسی کنید و متناسب با تعداد کاربران و حجم اسناد، منابع مناسب را انتخاب کنید. برای مشاوره رایگان با پشتیبانی تماس بگیرید.

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

Amir Jabbari

نویسنده مجله ایرانیکاسرور؛ منتشرکننده آموزش‌ها و راهنماهای کاربردی در حوزه هاست، سرور، وردپرس و شبکه.

برای اجرای آموزش به زیرساخت نیاز داری؟

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

ایرانیکاسرور
گفت‌وگو درباره آموزش

دیدگاه‌ها

0 دیدگاه برای این مطلب ثبت شده است.

هنوز دیدگاهی ثبت نشده است؛ اگر سؤال یا تجربه‌ای درباره این آموزش داری، همین‌جا بنویس. پاسخ‌های مدیریت و کاربران به‌صورت مشخص از هم تفکیک می‌شوند.

دیدگاه یا سؤال خود را بنویسید

ایمیل شما منتشر نمی‌شود. فیلدهای ضروری مشخص شده‌اند.