نصب Rocket.Chat روی سرور لینوکسی به شما امکان میدهد یک پلتفرم چت اوپنسورس قدرتمند و امن بر روی سرور اختصاصی یا سرور مجازی لینوکس راهاندازی کنید. در این راهنما به صورت جامع، نصب Rocket.Chat روی Ubuntu را بررسی میکنیم تا شما بتوانید بدون دردسر، راهاندازی Rocket Chat را در محیط تولیدی انجام دهید. مراحل نصب Rocket.Chat روی سرور را از آمادهسازی سرور گرفته تا اجرای اولیه ارائه خواهیم کرد.
Rocket Chat چیست؟
Rocket.Chat یک پلتفرم پیامرسان فوری منبعباز است که به تیمها امکان دارد پیامرسانی، اشتراک فایل، تماس صوتی/تصویری و بروزرسانیهای سریع را فراهم کند. این ابزار مشابه Slack بوده و برای سازمانهایی که به دنبال یک پیام رسان خود-میزبان یا Self-Hosted هستند، گزینهای ایدهآل بهشمار میرود. نصب Rocket.Chat روی سرور به شما کنترل کامل بر دادهها، امنیت و امکانات اضافه را میدهد.
روشهای مختلف نصب Rocket.Chat روی سرور
راهاندازی Rocket.Chat روی سرور مجازی لینوکس یا سرور اختصاصی ایران بهسادگی و از طریق چندین روش متنوع قابل انجام است. بسته به نیاز پروژه، سطح مقیاسپذیری و زیرساخت سرور، میتوانید از یکی از گزینههای زیر استفاده کنید:
۱. نصب با Docker و Docker Compose
یکی از سریعترین و توصیهشدهترین روشها برای راه اندازی Rocket Chat استفاده از داکر است. به لطف پشتیبانی رسمی Rocket.Chat از فایلهای docker-compose، این روش بسیار انعطافپذیر و قابل اعتماد است. Docker امکان اجرای ایزولهشده سرویسها را فراهم کرده و مدیریت نسخهها را نیز سادهتر میسازد.
۲. نصب با Kubernetes
برای سازمانهایی که نیاز به مقیاسپذیری بالا دارند، استقرار Rocket.Chat در محیط Kubernetes با استفاده از Helm Charts گزینهای قدرتمند است. این روش مناسب زیرساختهای پیچیدهتر بوده و امکان اجرای خوشهای (clustered) و افزایش خودکار منابع را فراهم میکند.
۳. نصب با Snap
Snap راهی سریع و آسان برای نصب Rocket.Chat بر روی توزیعهای محبوب لینوکسی مانند Ubuntu است. این روش برای محیطهای کوچک یا تیمهای توسعه بسیار مناسب است، اما برای استقرارهای بزرگتر به دلیل محدودیت در تنظیمات پیشرفته کمتر پیشنهاد میشود.
۴. نصب دستی (Tarball / Native Installation)
در مواقعی که سرور شما به اینترنت متصل نیست (مانند محیطهای Air-gapped یا حساس امنیتی)، میتوانید Rocket.Chat را بهصورت دستی و از طریق بستههای فشرده (tar.gz) نصب کنید. این روش نیازمند دانش فنی بیشتر است، اما کنترل کاملتری بر فرآیند نصب فراهم میآورد.
۵. استقرار در فضای ابری
Rocket.Chat قابلیت نصب در بسترهای ابری مانند AWS و DigitalOcean را نیز دارد. در AWS میتوان از Amazon Machine Image (AMI) آماده استفاده کرد، درحالیکه DigitalOcean نصب تککلیکی Rocket.Chat را از طریق Marketplace خود ارائه میدهد.
در این مطلب ما به بررسی روش استقرار با استفاده از داکر میپردازیم.
انتخاب سرور مناسب پیش از نصب Rocket.Chat
اگر قصد نصب Rocket.Chat روی سرور Ubuntu را دارید، باید یک سرور مجازی یا سرور اختصاصی ایران با مشخصات مناسب انتخاب کنید. قبل از هر چیز باید یک زیرساخت قوی داشته باشید:
- سرور مجازی لینوکس یا سرور اختصاصی ایران با سیستمعامل لینوکس اوبونتو 20.04 یا 22.04
- دسترسی SSH با سطح دسترسی
- حداقل ۲ گیگابایت رم، ترجیحا ۴ گیگابایت
- پردازنده با حداقل ۲ هسته
- حداقل ۲۰ گیگ فضای دیسک (SSD توصیه میشود)
- اتصال اینترنت پایدار و امکان دریافت بستهها
برای پروژههای سازمانی، پیشنهاد استفاده از سرور مجازی ایران یا سرور مجازی خارج برای حفظ دادهها و دسترسی داخلی بهتر است.
نصب نرمافزارهای پایه
ابتدا وارد SSH شوید و سیستم را بهروز کنید:
sudo apt update && sudo apt upgrade -y
سپس موارد زیر را در سرور نصب کنید:
- MongoDB (پایگاهداده مورد نیاز Rocket.Chat).
- Curl, build-essential, GraphicsMagick, etc.
نصب و استقرار Rocket.Chat با Docker و Docker Compose
از تاریخ ۱۵ دسامبر ۲۰۲۳، Rocket.Chat دیگر از اتصال سرویسهای ابری و برنامههای رسمی موبایل/دسکتاپ به فضاهای کاریای که از نسخههای قدیمی و خارج از بازه پشتیبانی استفاده میکنند، پشتیبانی نمیکند.
کاربرانی که هنوز از نسخههای قدیمی و بدون پشتیبانی استفاده میکنند، توصیه میشود که به جدیدترین نسخه Rocket.Chat ارتقا دهند تا دسترسی به اپلیکیشنهای ابری، موبایل و دسکتاپ حفظ شود. هر نسخه از Rocket.Chat به مدت شش ماه پس از انتشار، پشتیبانی میشود.
استقرار Rocket.Chat با Docker و Docker Compose روشی ساده و بسیار توصیهشده است، زیرا هم از نظر پیادهسازی راحت است و هم انعطافپذیر. در ادامه نحوه نصب راکت چت را به صورت مرحله به مرحله بررسی میکنیم تا بتوانید آن را برای فضای کاری خود راه اندازی و استفاده کنید.
گام ۱: نصب Docker و Docker Compose
این راهنما مخصوص کاربران لینوکس است. اگر از macOS یا ویندوز استفاده میکنید، لطفاً دستورالعمل نصب Docker Desktop برای همان سیستمعامل را دنبال کنید.
مطمئن شوید که Docker و Docker Compose (نسخه ۲ به بالا) روی سیستم شما نصب و فعال هستند. اگر نصب نیستند، میتوانید با استفاده از اسکریپت رسمی Docker آنها را در لینوکس نصب کنید:
curl -L https://get.docker.com | sh
برای اجرای دستورات Docker بدون نیاز به استفاده از sudo، کاربر فعلی را به گروه Docker اضافه کنید.
whoami sudo usermod -aG docker $USER sudo reboot
اگر از فایروال استفاده میکنید، ممکن است نیاز باشد برخی آدرسها را برای ارتباط با سرویسهای ابری ما، مجاز کنید. برای اطلاعات بیشتر، به پیکربندی فایروال مراجعه کنید.
گام ۲: دریافت فایل Compose
وارد دایرکتوری دلخواه خود شوید، یک فایل به نام compose.yml بسازید و محتوای آن را از تصویر رسمی Docker مربوط به Rocket.Chat کپی کنید.
یا با اجرای دستور زیر فایل را مستقیماً دریافت کنید:
curl -L https://go.rocket.chat/i/docker-compose.yml -O
گام ۳: ساخت فایل .env
برای داشتن پیکربندی تمیز و مرتب، توصیه میشود بهجای ویرایش مستقیم فایل compose.yml، متغیرهای محیطی را در یک فایل .env تعریف کنید.
در دایرکتوری پروژه خود این فایل را بسازید:
nano .env
سپس محتوای فایل نمونه .env.example رسمی را در آن وارد کنید.
متغیر RELEASE را به نسخه مورد نظر Rocket.Chat تنظیم کنید. استفاده از latest به عنوان نسخه توصیه نمیشود.
اگر قصد استقرار نسخه تولیدی (Production) با دامنه دارید، تنظیمات زیر را انجام دهید:
ROOT_URL=http://<your-domain> HOST_PORT=80
مطمئن شوید پورت ۸۰ توسط سرویس دیگری اشغال نشده باشد و ترافیک آن در فایروال مجاز باشد.
اگر روی localhost برای تست اجرا میکنید، نیازی به این تنظیمات نیست. اگر قصد دارید HTTPS را فعال کنید، این مقادیر را فعلاً وارد نکنید و بعد از راهاندازی کانتینر Rocket.Chat، مراحل مربوط به HTTPS را دنبال کنید.
در صورتی که توکن ثبتنام (Registration Token) از پورتال Rocket.Chat Cloud دریافت کردهاید، میتوانید آن را برای ثبت خودکار فضای کاری در .env قرار دهید:
REG_TOKEN=your_token_here
بعد از ثبت موفق، توکن دیگر لازم نیست و میتوانید آن را از فایل حذف کنید، زیرا اطلاعات ثبت در پایگاه داده ذخیره میشود.
اگر قصد دارید از پایگاهداده MongoDB خارجی مانند MongoDB Atlas استفاده کنید، مقدار MONGO_URL را مطابق ساختار زیر تنظیم کنید:
MONGO_URL=mongodb://<user>:<pass>@host1:27017,host2:27017,host3:27017/<databaseName>?replicaSet=<replicaSet>&ssl=true&authSource=admin
در محیطهای تولیدی، MongoDB باید جداگانه (غیر کانتینری) به صورت Replica Set راهاندازی شود.
گام ۴: راهاندازی Rocket.Chat
فایل .env را ذخیره کرده و با دستور زیر کانتینر Rocket.Chat را اجرا کنید:
docker compose up -d
این دستور یک سرویس MongoDB به نام mongodb راهاندازی میکند و سرویس rocketchat را که منتظر آماده شدن MongoDB میماند، اجرا میکند.
MongoDB به گونهای طراحی شده که بهصورت ۲۴ ساعته کار میکند و از بکاپ لایو پشتیبانی میکند؛ بنابراین نیاز به راهاندازی مجدد مکرر وجود ندارد. برای مدیریت بهتر، میتوانید mountهای حجم را فعال کرده و از یک دایرکتوری data/ برای ذخیرهسازی استفاده کنید.
گام ۵: دسترسی به فضای کاری
برای دسترسی به فضای کاری:
- اگر راکت چت را روی localhost نصب کردهاید، مرورگر را باز کرده و به آدرس زیر بروید:
http://localhost:3000 - اگر آن را با دامنه نصب کردهاید، از ROOT_URL مشخصشده استفاده کنید.
در این مرحله، راهنمای پیکربندی شما را در مراحل تنظیمات فضای کاری هدایت میکند. همچنین، فضای کاری و ایمیل شما در پورتال Rocket.Chat Cloud ثبت میشود تا بتوانید از آنجا تنظیمات و اشتراکهای خود را مدیریت کنید.
جمع بندی
نصب Rocket.Chat روی سرور لینوکس، راهکاری بسیار قدرتمند و قابلاعتماد برای سازمانها و تیمهایی است که بهدنبال راهاندازی یک پلتفرم پیامرسان امن، سریع و کاملاً خود-میزبان هستند. روش Docker با استفاده از Docker Compose نهتنها محبوبترین، بلکه سریعترین گزینه برای نصب Rocket.Chat به شمار میرود. این روش علاوه بر سادگی در راهاندازی، امکان بروزرسانی و مقیاسپذیری راحت را نیز فراهم میکند. در صورتی که به زیرساخت ابری علاقهمند باشید، Rocket.Chat به خوبی از بسترهایی مانند AWS و DigitalOcean نیز پشتیبانی میکند.