GUIDES = { "dns": { "title": "راهنمای DNS", "summary": "تنظیم DNS از طریق systemd-resolved", "content": """
DNS چیست؟

DNS آدرس دامنه‌ها (مثل github.com) را به IP تبدیل می‌کند. در ایران برای دسترسی به سرویس‌های فیلترشده از DNSهای داخلی استفاده می‌شود.

چه کاری انجام می‌دهد؟
DNSهای پیش‌فرض
نکات مهم
""", }, "apt": { "title": "راهنمای APT", "summary": "تنظیم مخزن Ubuntu برای apt update/install", "content": """
APT چیست؟

مدیر بسته Ubuntu. برای نصب و آپدیت پکیج‌های سیستم از مخزن (mirror) استفاده می‌کند.

چه کاری انجام می‌دهد؟
میرورهای پیش‌فرض
نسخه‌های Ubuntu
""", }, "docker": { "title": "راهنمای Docker Registry", "summary": "تنظیم registry-mirrors برای pull ایمیج", "content": """
Registry Mirror چیست؟

وقتی docker pull می‌زنید، درخواست از mirror ایرانی عبور می‌کند و سرعت بیشتر و قطعی کمتر می‌شود.

چه کاری انجام می‌دهد؟
هشدار

با restart Docker، containerها (از جمله Dokploy) چند ثانیه قطع می‌شوند. همیشه ابتدا «تست موقت» را بزنید.

فقط کلیدهای رسمی Docker در daemon.json نوشته می‌شوند — کلیدهای نامعتبر باعث crash شدن Docker نمی‌شوند.

میرور پیش‌فرض
""", }, "github": { "title": "راهنمای GitHub", "summary": "تنظیم git برای clone/pull از GitHub", "content": """
مشکل GitHub

معمولاً git pull و git clone از GitHub کند یا timeout می‌شود.

چه کاری انجام می‌دهد؟
تست

بعد از apply، دستور git ls-remote روی repo نمونه اجرا می‌شود.

میرورهای پیش‌فرض
""", }, "pip": { "title": "راهنمای pip", "summary": "تنظیم index-url برای pip install", "content": """
pip چیست؟

مدیر بسته Python. فایل /etc/pip.conf برای تنظیم سراسری استفاده می‌شود.

میرور پیش‌فرض
""", }, "npm": { "title": "راهنمای npm", "summary": "تنظیم registry برای npm install", "content": """
npm چیست؟

مدیر بسته Node.js. فایل /root/.npmrc برای تنظیم registry سراسری استفاده می‌شود.

""", }, "profiles": { "title": "راهنمای پروفایل‌ها", "summary": "ترکیب چند تنظیم در یک کلیک", "content": """
پروفایل چیست؟

مجموعه‌ای از میرورها برای DNS، APT، Docker، GitHub و... که با یک کلیک apply می‌شوند.

اعمال امن (توصیه‌شده)
  1. تست موقت (۲ دقیقه): پروفایل اعمال می‌شود. اگر تأیید نکنید، خودکار rollback.
  2. سرویس‌ها (Dokploy، mirror، deploy) را تست کنید.
  3. اعمال نهایی: از صفحه وضعیت تست، دکمه «نگه‌داشتن تغییرات» را بزنید.
بازگردانی فوری

اگر دسترسی قطع شد: mirror-manager emergency-restore از SSH — یا دکمه «بازگردانی فوری» در بخش Restore.

پروفایل‌های پیش‌فرض
Rollback

تست موقت پیش‌فرض ۲ دقیقه است. اعمال نهایی بدون پنجره rollback — فقط بعد از تست موفق.

""", }, "settings": { "title": "راهنمای تنظیمات", "summary": "Auto-switch و rollback", "content": """
Auto-switch

اگر فعال باشد، برنامه به صورت دوره‌ای میرور فعال هر بخش را تست می‌کند. در صورت fail، به بهترین میرور جایگزین switch می‌کند.

Rollback خودکار

بعد از apply، تا پایان پنجره زمانی می‌توانید تأیید کنید. در غیر این صورت backup قبلی restore می‌شود.

محدودیت switch

حداکثر تعداد switch خودکار در روز قابل تنظیم است (پیش‌فرض: ۳).

""", }, "restore": { "title": "راهنمای بازگردانی", "summary": "Restore backup اولیه یا backupهای قبلی", "content": """
Backup اولیه

در اولین اجرا، snapshot از تنظیمات فعلی سیستم گرفته می‌شود.

بازگردانی فوری (Emergency)

یک دستور / یک دکمه — برگشت به آخرین backup قبل از apply (DNS، APT، Docker، ...).

بازگردانی
از SSH
mirror-manager emergency-restore
mirror-manager restore --initial
mirror-manager restore --last
mirror-manager disable
mirror-manager enable
""", }, "dashboard": { "title": "راهنمای داشبورد", "summary": "نمای کلی وضعیت سیستم", "content": """
داشبورد

وضعیت فعلی DNS، APT، Docker و GitHub را نشان می‌دهد. آخرین apply و rollback pending هم نمایش داده می‌شود.

""", }, }