mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-10-27 00:04:59 +03:00
docs: vendor the documentation site into the monorepo
Fold the standalone 3x-ui-docs project (Next.js 16 + Fumadocs, deployed to docs.sanaei.dev) into docs/ so the panel and its documentation share a single source of truth, the way sing-box keeps its docs in-tree. The old repo becomes redundant and can be retired. - Import the full site under docs/ (app, components, content, lib, public, scripts, config). The self-contained pnpm project sits alongside the existing engineering notes with no filename collisions. - Re-point "Edit on GitHub" links from MHSanaei/3x-ui-docs to this repo's docs/content/docs path (docs/lib/shared.ts, docs/app/.../page.tsx). - Add docs-ci.yml and docs-deploy.yml under .github/workflows/, scoped to docs/** and run with working-directory: docs, since GitHub only runs workflows from the repo-root .github/. deploy-static.yml's GitHub Pages publish (CNAME docs.sanaei.dev) carries over unchanged. Follow-up (outside this commit): attach the docs.sanaei.dev custom domain to this repository's Pages (or set the Vercel project's root directory to docs), confirm the site is live from the monorepo, then delete MHSanaei/3x-ui-docs.
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
---
|
||||
title: پشتیبانگیری و بازیابی
|
||||
description: از پایگاهداده و گواهیهای 3x-ui خود بهصورت دستی یا از طریق ربات Telegram پشتیبان بگیرید و آنها را بازیابی کنید.
|
||||
icon: DatabaseBackup
|
||||
---
|
||||
|
||||
تمام پیکربندی شما — ورودیها، کلاینتها و تنظیمات — در پایگاهدادهی پنل
|
||||
قرار دارد. مرتب از آن پشتیبان بگیرید تا بتوانید بازیابی یا مهاجرت کنید.
|
||||
|
||||
## از چه چیزی پشتیبان بگیریم
|
||||
|
||||
- **پایگاهداده** — بهصورت پیشفرض یک SQLite در `/etc/x-ui/x-ui.db` (یا پایگاهدادهی
|
||||
PostgreSQL شما اگر از آن backend استفاده میکنید).
|
||||
- **گواهیها** — هر چیزی که زیر `/root/cert/` (یا هر جایی که گواهیهای TLS را نگه میدارید)
|
||||
قرار دارد.
|
||||
|
||||
## پشتیبانگیری دستی
|
||||
|
||||
میتوانید یک نسخهی پشتیبان را از صفحهی نمای کلی پنل دانلود کنید، یا فایل پایگاهداده را
|
||||
مستقیماً از سرور کپی نمایید:
|
||||
|
||||
```bash title="copy the SQLite database"
|
||||
cp /etc/x-ui/x-ui.db /root/x-ui-backup-$(date +%F).db
|
||||
```
|
||||
|
||||
برای بازیابی، پنل را متوقف کنید، پایگاهداده را سر جای خود برگردانید و دوباره آن را اجرا کنید.
|
||||
|
||||
<Callout type="warn">
|
||||
هر وقت ممکن است، یک نسخهی پشتیبان را روی **همان نسخهی اصلی (major)** که از آن گرفته شده
|
||||
بازیابی کنید. در ارتقاهای میاننسخهای اصلی، بهجای تحمیل یک شِمای قدیمی، بگذارید پنل
|
||||
مهاجرتهای خود را اجرا کند.
|
||||
</Callout>
|
||||
|
||||
## پشتیبانگیری با Telegram
|
||||
|
||||
اگر [ربات Telegram](/docs/operations/telegram-bot) را پیکربندی کردهاید، گزینهی
|
||||
**`tgBotBackup`** را فعال کنید تا یک نسخهی پشتیبان به گزارش دورهای ضمیمه شود (بر اساس
|
||||
زمانبندی `tgRunTime`، بهصورت پیشفرض روزانه). ربات هم **پایگاهداده** و هم **`config.json`
|
||||
مربوط به Xray** را به چت ادمین شما میفرستد، بنابراین همیشه یک نسخهی خارج از سرور در اختیار
|
||||
دارید. ادمینها همچنین میتوانند بهصورت درخواستی از منوی ربات یک نسخهی پشتیبان بخواهند.
|
||||
|
||||
## دامپ / بازیابی SQLite
|
||||
|
||||
دستور `x-ui migrate-db` پایگاهدادهی SQLite را به یک دامپ متنی SQL ساده و بالعکس تبدیل
|
||||
میکند (برای بررسی یا انتقال میان دستگاهها کاربردی است):
|
||||
|
||||
```bash
|
||||
x-ui migrate-db --dump /root/x-ui.sql # SQLite -> SQL text
|
||||
x-ui migrate-db --restore /root/x-ui.sql # SQL text -> SQLite
|
||||
```
|
||||
|
||||
برای مهاجرت به PostgreSQL، به [پایگاهداده](/docs/reference/database) مراجعه کنید.
|
||||
|
||||
<Callout type="info">
|
||||
از هر روشی که استفاده میکنید، نسخههای پشتیبان را **خارج از سرور** نگه دارید و هرازگاهی
|
||||
یک بازیابی را آزمایش کنید — یک نسخهی پشتیبانِ آزمایشنشده، پشتیبان بهحساب نمیآید.
|
||||
</Callout>
|
||||
Reference in New Issue
Block a user