Fix Docker apply crash and add safe profile test flow
Remove invalid _mirror_manager from daemon.json that prevented Docker from starting. Add 2-minute test apply with auto-rollback, final apply confirmation, emergency-restore CLI/UI, and post-restart Docker health checks. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+21
-5
@@ -71,7 +71,8 @@ GUIDES = {
|
||||
</ul>
|
||||
|
||||
<h5>هشدار</h5>
|
||||
<p>با restart Docker، containerها (از جمله Dokploy) چند ثانیه قطع میشوند. بهتر است در ساعات کمترافیک apply کنید.</p>
|
||||
<p>با restart Docker، containerها (از جمله Dokploy) چند ثانیه قطع میشوند. همیشه ابتدا «تست موقت» را بزنید.</p>
|
||||
<p>فقط کلیدهای رسمی Docker در <code>daemon.json</code> نوشته میشوند — کلیدهای نامعتبر باعث crash شدن Docker نمیشوند.</p>
|
||||
|
||||
<h5>میرور پیشفرض</h5>
|
||||
<ul>
|
||||
@@ -131,6 +132,16 @@ GUIDES = {
|
||||
<h5>پروفایل چیست؟</h5>
|
||||
<p>مجموعهای از میرورها برای DNS، APT، Docker، GitHub و... که با یک کلیک apply میشوند.</p>
|
||||
|
||||
<h5>اعمال امن (توصیهشده)</h5>
|
||||
<ol>
|
||||
<li><strong>تست موقت (۲ دقیقه):</strong> پروفایل اعمال میشود. اگر تأیید نکنید، خودکار rollback.</li>
|
||||
<li>سرویسها (Dokploy، mirror، deploy) را تست کنید.</li>
|
||||
<li><strong>اعمال نهایی:</strong> از صفحه وضعیت تست، دکمه «نگهداشتن تغییرات» را بزنید.</li>
|
||||
</ol>
|
||||
|
||||
<h5>بازگردانی فوری</h5>
|
||||
<p>اگر دسترسی قطع شد: <code>mirror-manager emergency-restore</code> از SSH — یا دکمه «بازگردانی فوری» در بخش Restore.</p>
|
||||
|
||||
<h5>پروفایلهای پیشفرض</h5>
|
||||
<ul>
|
||||
<li><strong>آروان کامل:</strong> Shecan + Arvan APT/Docker + GitClone</li>
|
||||
@@ -139,7 +150,7 @@ GUIDES = {
|
||||
</ul>
|
||||
|
||||
<h5>Rollback</h5>
|
||||
<p>بعد از apply، پنجره زمانی (پیشفرض ۱۵ دقیقه) برای تست دارید. اگر تأیید نکنید، تنظیمات قبلی بازگردانده میشود.</p>
|
||||
<p>تست موقت پیشفرض ۲ دقیقه است. اعمال نهایی بدون پنجره rollback — فقط بعد از تست موفق.</p>
|
||||
""",
|
||||
},
|
||||
"settings": {
|
||||
@@ -163,15 +174,20 @@ GUIDES = {
|
||||
<h5>Backup اولیه</h5>
|
||||
<p>در اولین اجرا، snapshot از تنظیمات فعلی سیستم گرفته میشود.</p>
|
||||
|
||||
<h5>بازگردانی فوری (Emergency)</h5>
|
||||
<p>یک دستور / یک دکمه — برگشت به آخرین backup قبل از apply (DNS، APT، Docker، ...).</p>
|
||||
|
||||
<h5>بازگردانی</h5>
|
||||
<ul>
|
||||
<li><strong>emergency-restore:</strong> آخرین backup قبل از apply — سریعترین راه</li>
|
||||
<li><strong>تنظیمات اولیه:</strong> برگشت به وضعیت قبل از نصب Mirror Manager</li>
|
||||
<li><strong>backup apply:</strong> برگشت به وضعیت قبل از آخرین apply</li>
|
||||
<li><strong>backup apply:</strong> برگشت به backup مشخص</li>
|
||||
</ul>
|
||||
|
||||
<h5>از SSH</h5>
|
||||
<pre>mirror-manager restore --initial
|
||||
mirror-manager restore --backup /path/to/backup
|
||||
<pre>mirror-manager emergency-restore
|
||||
mirror-manager restore --initial
|
||||
mirror-manager restore --last
|
||||
mirror-manager disable
|
||||
mirror-manager enable</pre>
|
||||
""",
|
||||
|
||||
Reference in New Issue
Block a user