اگر برای شرکت، تیم کاری یا کسبوکار خود به یک سامانه اختصاصی برای مدیریت و امضای الکترونیکی اسناد نیاز دارید، میتوانید بهجای استفاده از سرویسهای آماده و پرداخت ماهانه دلاری، یک نمونه 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 به یک سرور پایدار نیاز دارید، میتوانید پلنهای سرور مجازی ایرانیکاسرور را بررسی کنید و متناسب با تعداد کاربران و حجم اسناد، منابع مناسب را انتخاب کنید. برای مشاوره رایگان با پشتیبانی تماس بگیرید.
دیدگاهها
0 دیدگاه برای این مطلب ثبت شده است.