جادوگر ساخت مجموعه
دیتای مونگو از آزمایشگاه کپی نمیشود؛ بکاند مدرسه خودش سوپرادمین اولیه را میسازد.
گواهی اچتیتیپیاس
وبسایت مدرسه از ایمیج رجیستری قالب ساخته میشود (مثلاً raysa-academia:main)؛ لزوماً همان بیلد زندهٔ دامنهٔ دمو نیست.
- رکورد A دامنهٔ عمومی باید به IP سرور میزبان اشاره کند (برای روش گواهی روی سرور)
- پورت ۸۰ از اینترنت به سرور باز باشد
- بعد از پروویژن، certbot روی سرور گواهی میگیرد
با win-acme یا ابزار مشابه روی ویندوز گواهی بگیرید، سپس بعد از ساخت مجموعه از دکمهٔ «بارگذاری گواهی» در تب مجموعهها فایلها را آپلود کنید. اگر روش خودکار شکست خورد، از دکمهٔ «گواهی از اول» همان ردیف دوباره certbot را اجرا کنید.
- fullchain.pem (یا معادل زنجیره کامل)
- privkey.pem (کلید خصوصی)
مجموعهها
وضعیت چرخهٔ عمر جدا از وضعیت زندهٔ سرور/سرویسهاست؛ وضعیت زنده با پروب Docker روی میزبان بهروز میشود.
سطل زباله (۳۰ روز)
حذف فقط از کاتالوگ پنل است؛ استک روی سرور مدرسه دست نخورده میماند و با بازیابی دوباره در پنل دیده میشود.
کارها
مشاهده بیشتر / لاگ
نسخههای ایمیج
نسخههای گزارششده از سیآی. تا ۳ نسخهٔ اخیر نگه داشته میشود؛ تا ۳ نسخه را میتوان «خوب» علامت زد تا خودکار پاک نشوند. «منبع مدرسه» مبنایی است که مجموعهها نسبت به آن قدیمی/بهروز سنجیده میشوند؛ آپدیت استک جداست و خودکار انجام نمیشود. دکمهٔ «ثبت از رجیستری فعلی» فقط وقتی فهرست خالی است یا میخواهید وضعیت فعلی تگهای شناور رجیستری را یکبار در کاتالوگ بنویسید کاربرد دارد (جایگزین گزارش سیآی نیست).
در حال بارگذاری…
راهنما و واژهنامه
این پنل برای ساخت و مدیریت «مجموعه مدرسه» روی سرورهای جداست. اصطلاحات انگلیسی که در دکمهها و لاگ کارها میبینید، اینجا توضیح داده شدهاند.
مسیر پیشنهادی کار
- روی سرور مدرسه کلید عمومی پنل را نصب کنید (راهنمای SSH در تب سرورها).
- سرور را در تب سرورها ثبت کنید و «آمادهسازی» بزنید.
- رکورد دامنه را به آیپی همان سرور بزنید.
- از جادوگر «ساخت مجموعه» مجموعه را بسازید و دیپلوی کنید.
- پیشرفت و خطا را در تب «کارها» ببینید؛ وضعیت زنده و بهروز بودن ایمیج را در «مجموعهها».
- بیلدهای جدید سیآی در تب «نسخهها» میآیند؛ وقتی آمادهٔ مدارس شد، «بگذار منبع مدرسه» بزنید، بعد روی مجموعه «آپدیت» کنید.
نسخهها و بهروز بودن
- سیآی بعد از بیلد، نسخه را به کاتالوگ گزارش میکند (تب نسخهها).
- «علامت خوب» نسخه را از پاکسازی خودکار نگه میدارد (حداکثر ۳ تا برای هر سرویس).
- «بگذار منبع مدرسه» تگ شناور مدرسه را به همان نسخه اشاره میدهد؛ مجموعههای فعلی خودکار عوض نمیشوند.
- ستون/نشان «قدیمی» یعنی ایمیج در حال اجرای مجموعه با منبع مدرسه یکی نیست — نه اینکه فقط بیلد جدید در سیآی آمده باشد.
- «آپدیت» در عملیات مجموعه یا روی کارت سرویس، ایمیج منبع مدرسه را میکشد و سرویس را بالا میآورد؛ بعد ایمیجهای بلااستفاده روی همان سرور پاک میشوند.
- «ثبت از رجیستری فعلی» یکبار وضعیت تگ شناور فعلی رجیستری را بهعنوان ردیف seed در کاتالوگ مینویسد؛ برای استفادهٔ روزمره بعد از سیآی لازم نیست.
- «حذف» در تب نسخهها ردیف کاتالوگ را برمیدارد (منبع فعلی را نمیتوان حذف کرد مگر اول منبع را عوض کنید).
واژهنامه
- مجموعه مدرسه school set / stack
- یک مدرسهٔ کامل روی یک سرور: سایت، پنل، ایپیآی، چت، دیتابیس و در صورت نیاز مدیا. همهٔ این سرویسها با هم یک «استک» هستند و معمولاً با یک دامنه در دسترساند.
- اسلاگ slug
- شناسهٔ کوتاه لاتین برای مدرسه (مثلاً kamal). در نام پوشه، پروژهٔ داکر و بعضی متغیرها استفاده میشود؛ بعد از ساخت بهتر است عوض نشود.
- کنترلپلین / پنل مالک control plane
- همین پنل (مثلاً ops.raysaai.ir). از اینجا سرورها و مجموعهها را مدیریت میکنید؛ خودِ سرویس مدرسه روی سرور مدرسه اجرا میشود، نه روی این پنل.
- سرور میزبان host / VM
- ماشین لینوکسی (معمولاً در آروان) که استک مدرسه روی آن نصب میشود. پنل با SSH و کلید خودش به این سرور وصل میشود. «حذف» در تب سرورها فقط رکورد پنل را برمیدارد؛ VM آروان پاک نمیشود. اگر مجموعهای (فعال یا در سطل زباله) به سرور وصل باشد، حذف رد میشود.
- آمادهسازی prepare / host prep
- نصب پیشنیازهای میزبان: داکر، انجیناکس، همگامسازی قالبها و اسکریپتها. قبل از اولین دیپلوی مجموعه باید سرور «آماده» باشد. با پروویژن فرق دارد.
- پروویژن provisioning
- نصب و راهاندازی خودِ مجموعه روی سرور آماده: ساخت فایل تنظیمات، ورود به رجیستری ایمیج، کشیدن ایمیجها، بالا آوردن سرویسها با داکر کامپوز، تنظیم انجیناکس و در صورت امکان گواهی TLS. در لاگ کارها معمولاً با عبارت Provisioning … شروع میشود.
- دیپلوی deploy
- در این پنل تقریباً همان پروویژن/نصب مجموعه است. دکمهٔ «دیپلوی» روی یک مجموعهٔ موجود، دوباره مراحل نصب/بهروزرسانی را روی سرور اجرا میکند.
- بهروزرسانی / آپدیت update / pull
- ایمیجها را مطابق منبع مدرسه از رجیستری میکشد و کانتینر را دوباره بالا میآورد. میتوان کل مجموعه را از منوی عملیات آپدیت کرد، یا فقط یک سرویس را از کارت همان سرویس. nginx و گواهی TLS را دوباره رندر یا صادر نمیکند. بعد از آپدیت موفق، ایمیجهای بلااستفاده روی همان سرور هدف پاک میشوند تا دیسک پر نشود.
- منبع مدرسه school source
- نسخهای که عمداً برای مدارس انتخاب کردهاید (تگ شناور مثل :school یا :panel). نشان «قدیمی/بهروز» مجموعهها نسبت به همین منبع است، نه نسبت به آخرین بیلد خام سیآی.
- ثبت از رجیستری فعلی seed from registry
- دکمهٔ تب نسخهها برای مالک: وضعیت فعلی تگهای شناور رجیستری را یکبار بهعنوان ردیفهای seed در کاتالوگ مینویسد. جایگزین گزارش خودکار سیآی نیست؛ معمولاً برای راهاندازی اولیهٔ فهرست خالی یا همتراز کردن دستی با رجیستری است. استکهای مدرسه را آپدیت نمیکند و منبع مدرسه را عوض نمیکند مگر بعداً خودتان «بگذار منبع مدرسه» بزنید.
- مرجع مدرسه در رجیستری
- نوار بالای تب مجموعهها: دیاجست فعلی منبع مدرسه برای هر سرویس. اگر با دیاجست در حال اجرای کارت سرویس یکی نباشد، آن سرویس «قدیمی» است.
- ناقص degraded
- در وضعیت زنده یعنی بعضی سرویسها بالا/سالماند و بعضی نه یا «نامشخص»اند (مثلاً ۵ از ۷). به قدیمی بودن ایمیج ربط مستقیم ندارد.
- پاکسازی فضای بیمصرف
- از منوی عملیات مجموعه یا تب سرورها: پاک کردن امن چیزهای بلااستفاده (لاگ حجیم، بکاپ اضافه، ایمیج یتیم و …) بدون دست زدن به مونگو، ولوم داده و کانتینرهای در حال اجرا. پیشنمایش حجم معمولاً کمتر از «کل فضای قابل آزادسازی داکر» است چون ایمیجهای تگدار قدیمی را عمداً حذف نمیکند؛ آنها بعد از آپدیت خودکار با prune پاک میشوند.
- رجیستری ایمیج container registry
- انبار ایمیجهای داکر رایسا (مثلاً registry.raysaai.ir). سرور مدرسه هنگام پروویژن باید با نام کاربری/رمز رجیستری لاگین کند تا بتواند ایمیجها را بکشد.
- ایمیج Docker image
- بستهٔ آمادهٔ یک سرویس (ایپیآی، پنل، چت، مونگو و …) که روی سرور مدرسه اجرا میشود.
- کلید SSH / کلید عمومی پنل
- برای اتصال بدون رمز از کنترلپلین به سرور مدرسه. «کلید عمومی پنل» باید در authorized_keys سرور مدرسه باشد؛ کلید خصوصی فقط روی کنترلپلین میماند.
- چرخه عمر lifecycle status
- وضعیت ثبتشده در کاتالوگ پنل (مثلاً در حال ساخت، آماده، خطا). این مقدار از دیتابیس پنل میآید و لزوماً یعنی سرویسها الان سالماند نیست.
- وضعیت زنده runtime
- نتیجهٔ پروب لحظهای از سرور مدرسه: آیا SSH برقرار است و کانتینرهای داکر کامپوز بالا هستند یا نه. با دکمهٔ «بروزرسانی وضعیت» تازه میشود.
- پروب probe
- پرسوجوی کوتاه از میزبان برای خواندن وضعیت سرویسها (معمولاً docker compose ps).
- مصرف سرور / تاریخچه متریک
- نمایش تقریبی سیپییو، رم و دیسک سرور میزبان؛ در جزئیات مجموعه نمودار تاریخچه هم هست. پر بودن دیسک میتواند باعث ناپایداری یا وضعیت «نامشخص» بعضی سرویسها شود.
- بکاپ / بازگردانی مونگو
- بکاپ دیتابیس روی همان سرور مدرسه ذخیره میشود. از عملیات مجموعه میتوان بکاپ فوری گرفت یا بکاپ قبلی را بازگرداند. زمانبند سراسری در تنظیمات مالک است.
- اطلاعرسانی دامنه
- صفحهٔ موقت روی دامنهٔ مدرسه (مثلاً در حال بهروزرسانی یا آفلاین) بدون خاموش کردن کل استک از دید پنل.
- انتقال مجموعه migrate
- جابهجایی استک به سرور میزبان دیگر. بعد از موفقیت معمولاً باید DNS را به آیپی جدید بزنید.
- سطل زباله trash
- حذف نرم از فهرست پنل (حدود ۳۰ روز). استک روی سرور مدرسه خاموش یا پاک نمیشود؛ فقط از دید پنل کنار میرود و قابل بازیابی است. پاکسازی نهایی فقط رکورد پنل را حذف میکند.
- کارها jobs
- عملیات پسزمینه مثل آمادهسازی سرور، پروویژن، آپدیت، بکاپ یا پاکسازی. لاگ کامل (از جمله docker pull و prune) اینجاست.
- مدیا / مدیای محلی
- سرویس فایل و رسانه. اگر «مدیای محلی داخل استک» روشن باشد، مدیا روی همان سرور مدرسه بالا میآید؛ وگرنه میتوانید سرور مدیای جدا در تب مدیا تعریف کنید.
- قالب سایت website template
- نوع ظاهر/سایت عمومی مدرسه (مثلاً آکادمیا یا جوانه). روی ایمیج وبسایت و تنظیمات اولیه اثر دارد.
- دامنهٔ عمومی / دامنهٔ مدیا DNS
- آدرسی که کاربر مدرسه با آن وارد میشود. رکورد A باید به آیپی سرور میزبان اشاره کند؛ وگرنه سایت و گواهی TLS درست کار نمیکند.
- گواهی TLS / اچتیتیپیاس auto / manual
- حالت خودکار: certbot روی سرور مدرسه (نیاز به DNS و پورت ۸۰). اگر صدور اولیه شکست خورد، دکمهٔ «گواهی از اول» دوباره از HTTP شروع میکند، در صورت نیاز گواهی قبلی را حذف میکند، certbot را اجرا میکند و nginx را HTTPS میکند. حالت دستی: آپلود فایلهای fullchain.pem و privkey.pem از پنل؛ فایلها در /etc/raysa/certs/<slug>/ قرار میگیرند و nginx TLS رندر میشود.
- ایمیج وبسایت مدرسه
- از منبع مدرسه / تگ قالب میآید (مثلاً آکادمیا یا جوانه در رجیستری). آپدیت مجموعه همان مرجعی را میکشد که در تب نسخهها برای وبسایت تنظیم شده است.
- داکر کامپوز Docker Compose
- ابزاری که چند کانتینر استک مدرسه را با هم تعریف و اجرا میکند (pull، up، stop).
- انجیناکس nginx
- پروکسی جلوی استک روی سرور مدرسه: مسیرهایی مثل سایت، /api، /chat را به سرویس درست میفرستد.
- مالک / اپراتور
- مالک همهٔ دسترسیها را دارد و میتواند کاربر بسازد. اپراتور با حساب ساختهشده توسط مالک وارد میشود و کارهای روزمره را انجام میدهد؛ ثبتنام عمومی وجود ندارد.
- نشان زنده / قطع WebSocket
- اتصال لحظهای مرورگر به پنل برای بهروز شدن لاگ کارها بدون رفرش صفحه. «زنده» یعنی این کانال وصل است؛ به سلامت سرور مدرسه ربط مستقیم ندارد.
- آروان Arvan Cloud
- ارائهدهندهٔ ماشین مجازی که معمولاً سرور مدرسه آنجا ساخته میشود. حذف مجموعه از پنل، VM آروان را پاک نمیکند.
تفاوتهای مهم
- آمادهسازی = آماده کردن سرور خالی · پروویژن/دیپلوی = نصب مجموعه روی آن سرور
- چرخه عمر = وضعیت در پنل · وضعیت زنده = وضعیت واقعی کانتینرها روی سرور
- بیلد جدید سیآی = فقط در تب نسخهها دیده میشود · منبع مدرسه = چیزی که مدارس باید به آن برسند
- تعویض منبع مدرسه = اشارهٔ رجیستری عوض میشود · آپدیت مجموعه = کانتینر روی سرور واقعاً عوض میشود
- آپدیت کل مجموعه = همهٔ سرویسها · آپدیت روی کارت سرویس = فقط همان سرویس
- ناقص = بعضی سرویسها بالا نیستند · قدیمی = ایمیج با منبع مدرسه یکی نیست
- ثبت از رجیستری فعلی = seed دستی کاتالوگ · گزارش سیآی = ثبت خودکار بعد از بیلد
- سطل زباله = حذف از فهرست پنل · نه پاک کردن VM و نه خاموش کردن استک مدرسه
تنظیمات
کاربران پنل (بدون ثبتنام عمومی)
فقط مالک میتواند حساب بسازد، سهمیهٔ ساخت مجموعه بدهد و دسترسی تب/عملیات را تنظیم کند. پیشفرض اپراتور: سهمیه صفر و بدون دسترسی.
ساخت کاربر جدید
بکاپ زمانبندیشده مونگو
بکاپها روی همان سرور مدرسه در مسیر زیر نگه داشته میشوند (حداکثر ۱۰ نسخه برای هر مجموعه).
/opt/raysa/backups/<slug>/