راهاندازی Jitsi Meet خودمیزبان روی سرور مجازی و اختصاصی: ویدیو کنفرانس خصوصی با Docker
اگر جلسات تیم یا مشاورههای آنلاینتان روی Zoom یا Google Meet برگزار میشود، دادههای آن جلسات روی سرورهای شرکت ثالث ذخیره و پردازش میشود. راهاندازی Jitsi Meet روی سرور خودتان این وابستگی را حذف میکند: یک ابزار ویدیو کنفرانس متنباز که کامل زیر کنترل شما اجرا میشود، بدون محدودیت زمانی یا تعداد شرکتکنندهای که پلنهای رایگان رقبا تحمیل میکنند.

این راهنما مراحل نصب Jitsi Meet با Docker Compose را روی یک VPS یا سرور اختصاصی، از پیکربندی دامنه و HTTPS تا تنظیم TURN server برای عبور از NAT، قدمبهقدم توضیح میدهد.
چرا Jitsi Meet خودمیزبان؟
Jitsi Meet یک نسخهٔ عمومی رایگان هم دارد (meet.jit.si) که نیازی به نصب ندارد، اما روی زیرساخت مشترک و با محدودیت کیفیت در ساعات پرترافیک اجرا میشود. نسخهٔ خودمیزبان این مشکلات را ندارد و پهنای باند، نسخه و دادهٔ جلسات کامل در اختیار شماست.
| ویژگی | Jitsi خودمیزبان | Jitsi عمومی (meet.jit.si) | Zoom/Google Meet |
|---|---|---|---|
| محل ذخیره داده | سرور شما | سرور Jitsi (مشترک) | سرور شرکت ثالث |
| محدودیت زمانی جلسه | ندارد | ندارد | در پلن رایگان دارد |
| شخصیسازی برندینگ | کامل | ندارد | محدود |
| کیفیت در ساعات پرترافیک | قابل کنترل با منابع خودتان | وابسته به بار عمومی سرویس | وابسته به پلن |
| هزینهٔ ماهانه | هزینهٔ سرور | رایگان | رایگان تا پولی بر اساس پلن |
برای تیمهایی که جلسات حساس (مشاوره حقوقی، جلسات مدیریتی، پشتیبانی مشتری) برگزار میکنند یا میخواهند آدرس و ظاهر صفحهٔ جلسه مطابق برند خودشان باشد، این تفاوتها قابل چشمپوشی نیستند.

پیشنیازها
قبل از شروع، این موارد باید آماده باشد:
- یک VPS یا سرور اختصاصی با سیستمعامل لینوکس (اوبونتو ۲۲.۰۴ یا دبیان ۱۲ پیشنهاد میشود)
- یک دامنه یا سابدامنه که به IP سرور اشاره کند (مثلاً
meet.example.com) - Docker و Docker Compose نصبشده روی سرور
- دسترسی root یا sudo برای باز کردن پورتها در فایروال
باز کردن پورتهای لازم
Jitsi برای ارتباط صوتی و تصویری به چند پورت مشخص نیاز دارد. اینها باید هم در فایروال سرور (ufw/iptables) و هم در پنل امنیتی ارائهدهندهٔ VPS باز شوند:
| پورت | پروتکل | کاربرد |
|---|---|---|
| 443 | TCP | HTTPS و رابط وب Jitsi |
| 4443 | TCP | کانال رزرو برای رسانه (fallback) |
| 10000 | UDP | انتقال رسانهٔ اصلی (videobridge) |
| 20000-20050 | UDP | فقط در صورت استفاده از چند videobridge (Octo) |
فراموش کردن باز کردن پورت ۱۰۰۰۰/UDP رایجترین دلیلی است که تصویر یا صدا در جلسه بالا نمیآید، چون این پورت مسیر اصلی انتقال رسانه است، نه پورت وب.
نصب Jitsi Meet با Docker Compose
مخزن رسمی jitsi/docker-jitsi-meet سادهترین روش نصب است:
git clone https://github.com/jitsi/docker-jitsi-meet.git
cd docker-jitsi-meet
cp env.example .env
./gen-passwords.sh
پیکربندی دامنه و HTTPS رایگان با Let's Encrypt
در فایل .env مقادیر زیر را تنظیم کنید:
PUBLIC_URL=https://meet.example.com
ENABLE_LETSENCRYPT=1
LETSENCRYPT_DOMAIN=meet.example.com
LETSENCRYPT_EMAIL=admin@example.com
با فعال بودن ENABLE_LETSENCRYPT، کانتینر nginx در اولین بالا آمدن بهصورت خودکار گواهی SSL را از Let's Encrypt دریافت و هر چند ماه یکبار تمدید میکند؛ نیازی به certbot جدا نیست. سپس سرویسها را بالا بیاورید:
docker-compose up -d
بعد از چند ثانیه، آدرس https://meet.example.com باید صفحهٔ ورودی Jitsi را نشان دهد.
تنظیم TURN server برای عبور از NAT
بسیاری از کاربران پشت NAT شرکتی یا فایروالهای محدودکننده هستند که اتصال مستقیم UDP را مسدود میکنند. بدون TURN server، تصویر این کاربران قطع یا سیاه میماند حتی اگر خود سرور Jitsi سالم باشد.
Jitsi از coturn بهعنوان TURN server پشتیبانی میکند. برای فعال کردن آن در .env:
ENABLE_TRANSCRIPTIONS=0
TURN_HOST=turn.example.com
TURN_PORT=443
TURN_TRANSPORT=tcp
coturn را میتوان روی همان سرور یا سروری جدا نصب کرد. اگر نسبت زیادی از کاربران شما از شبکههای سختگیرانه متصل میشوند، TURN روی سرور جدا با IP اختصاصی پیشنهاد بهتری است، چون ترافیک رلهشده میتواند حجم بالایی از پهنای باند را مصرف کند و بهتر است از منابع videobridge اصلی جدا بماند.
تخمین منابع سرور بر اساس تعداد شرکتکننده همزمان
مصرف منابع Jitsi تقریباً خطی با تعداد استریمهای ویدیویی همزمان رشد میکند، نه فقط تعداد جلسات. جدول زیر یک تخمین کلی برای یک جلسهٔ ویدیویی با کیفیت متوسط (۷۲۰p) است:
| شرکتکننده همزمان | vCPU پیشنهادی | RAM پیشنهادی | پهنای باند تخمینی | نوع سرور پیشنهادی |
|---|---|---|---|---|
| تا ۱۰ نفر | ۲ هسته | ۴ گیگابایت | حدود ۱۰ مگابیت بر ثانیه | VPS پایه |
| ۱۰ تا ۳۰ نفر | ۴ هسته | ۸ گیگابایت | حدود ۳۰ مگابیت بر ثانیه | VPS متوسط |
| ۳۰ تا ۷۵ نفر | ۸ هسته | ۱۶ گیگابایت | حدود ۷۰ مگابیت بر ثانیه | VPS بالا یا سرور اختصاصی |
| بیش از ۷۵ نفر | ۱۶+ هسته، چند videobridge (Octo) | ۳۲+ گیگابایت | بیش از ۱۵۰ مگابیت بر ثانیه | سرور اختصاصی |
این اعداد تخمینی هستند و به کیفیت تصویر انتخابی، تعداد کسانی که دوربینشان روشن است و میزان استفاده از اشتراک صفحه بستگی دارند؛ بهتر است با نصب روی یک منبع کوچک شروع کنید و با مانیتورینگ مصرف CPU در ساعات واقعی استفاده، منابع را بالا ببرید.
برای تیمهای کوچک تا متوسط، یک سرور مجازی (VPS) با امکان ارتقای آنی منابع، نقطهٔ شروع مناسبی است؛ وقتی جلسات بزرگ و همیشگی با بیش از ۷۵ شرکتکننده بخشی از روزمرهٔ سازمان شد، انتقال videobridge به یک سرور اختصاصی ثبات بیشتری در کیفیت تصویر میدهد، چون منابع CPU و پهنای باند با سرورهای دیگر مشترک نیست.
نکات امنیتی و نگهداری
برای سختتر کردن سطح حمله روی سرور، نکات افزایش امنیت سرور لینوکس عمومی هم در کنار موارد زیر کاربرد دارند:
- محدود کردن ایجاد جلسه: با تنظیم
ENABLE_AUTH=1وENABLE_GUESTS=1در.env، فقط کاربران احراز هویتشده میتوانند جلسه بسازند و مهمانها فقط میتوانند به جلسهٔ موجود ملحق شوند. - بهروزرسانی منظم: تصاویر Docker را هر چند هفته با
docker-compose pullوdocker-compose up -dبهروزرسانی کنید تا آسیبپذیریهای امنیتی پوشش داده شود. - محدود کردن دسترسی به پورتهای مدیریتی: پورتهای پیشفرض مانیتورینگ Prosody و Jicofo را فقط از IP داخلی یا VPN در دسترس بگذارید، نه از اینترنت عمومی.
- پشتیبانگیری از
.envو گواهیهای SSL: این دو فایل تمام پیکربندی دامنه، رمزها و گواهی را در خود دارند؛ از دست رفتنشان یعنی تنظیم مجدد کامل. پشتیبانگیری خودکار و رمزنگاریشده با Restic راهی ساده برای این کار است.
جمعبندی
راهاندازی Jitsi Meet روی سرور خودتان با Docker Compose چند ساعت کار میبرد: نصب Docker، تنظیم دامنه و HTTPS با Let's Encrypt، باز کردن پورتهای ۴۴۳، ۴۴۴۳ و ۱۰۰۰۰/UDP، و در صورت نیاز یک TURN server برای کاربران پشت NAT سختگیر. در ازای این کار، کنترل کامل روی دادههای جلسات و بدون محدودیت پلنهای رایگان را به دست میآورید.
اگر هنوز زیرساخت مناسبی برای این نصب ندارید، یک سرور مجازی ابری آریانت با منابع قابل ارتقا و پهنای باند مناسب برای ویدیو کنفرانس، نقطهٔ شروع مناسبی برای این پروژه است.




