3x-ui3x-ui
شروع به کار

نصب

نصب 3x-ui با اسکریپت رسمی (نسخهٔ پایدار، نسخهٔ مشخص یا dev-latest)، نصب خودکار/cloud-init یا Docker — و انتخاب میان SQLite و PostgreSQL.

‏3x-ui روی طیف گسترده‌ای از توزیع‌های Linux اجرا می‌شود — Ubuntu، Debian، Armbian، Fedora، CentOS، RHEL، AlmaLinux، Rocky Linux، Oracle Linux، Amazon Linux، Virtuozzo، Arch، Manjaro، openSUSE (Tumbleweed/Leap)، Alpine — و همچنین Windows، روی معماری‌های amd64، 386، arm64، armv7، armv6، armv5 و s390x.

نصب‌کنندهٔ اسکریپتی را به‌صورت root (یا با sudo) اجرا کنید. این اسکریپت یک سرویس نصب می‌کند، دستور مدیریتی x-ui را راه‌اندازی می‌کند و پنل را در زمان بوت فعال می‌سازد.

اسکریپت رسمی مسیر توصیه‌شده است. این اسکریپت در طول نصب یک نام کاربری، رمز عبور و مسیر دسترسی (مسیر پایهٔ وب) تصادفی تولید می‌کند، سرویس را راه‌اندازی می‌کند و دستور مدیریتی x-ui را نصب می‌کند.

latest stable
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

برای نصب یک نسخهٔ مشخص، تگ آن را در انتها اضافه کنید:

pinned version
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v3.4.0

برای نصب نسخهٔ dev غلتان (آخرین پیش‌انتشار به‌ازای هر کامیت از شاخهٔ main — نه یک نسخهٔ پایدار) عبارت dev-latest را پاس دهید:

rolling dev build
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) dev-latest

پس از پایان نصب، مشخصات ورود چاپ‌شده را یادداشت کنید و دستور x-ui را اجرا کنید تا منوی مدیریت باز شود، سپس به نخستین ورود ادامه دهید.

پیکربندی پیش‌فرض Compose از SQLite استفاده می‌کند. مخزن را کلون کنید (یا فایل‌های docker-compose.yml و Dockerfile آن را کپی کنید) و آن را اجرا کنید:

docker compose up -d

برای اجرا با سرویس PostgreSQL همراه، دو خط XUI_DB_* را در docker-compose.yml از حالت کامنت خارج کنید و با پروفایل مربوطه اجرا کنید:

docker compose --profile postgres up -d

ترجیح می‌دهید از ایمیج از‌پیش‌ساخته استفاده کنید؟ این ایمیج روی GitHub Container Registry منتشر شده است. این ایمیج Fail2ban را به‌همراه دارد (برای محدودیت‌های IP) که با iptables مسدودسازی انجام می‌دهد و بنابراین به NET_ADMINNET_RAW برای IPv6) نیاز دارد — در غیر این صورت مسدودسازی‌ها فقط ثبت می‌شوند ولی هرگز اعمال نمی‌شوند:

docker run
docker run -d \
  --cap-add=NET_ADMIN \
  --cap-add=NET_RAW \
  -e XUI_ENABLE_FAIL2BAN=true \
  -v $PWD/db/:/etc/x-ui/ \
  -v $PWD/cert/:/root/cert/ \
  --network=host \
  --restart=unless-stopped \
  --name 3x-ui \
  ghcr.io/mhsanaei/3x-ui:latest

والیوم db/ پایگاه‌دادهٔ SQLite (/etc/x-ui/x-ui.db) را نگه می‌دارد و cert/ گواهی‌های TLS را، بنابراین داده‌های شما در ارتقاها حفظ می‌شوند.

برای کاربران پیشرفته، یک آرشیو انتشار متناسب با معماری خود را از صفحهٔ releases دانلود کنید، آن را استخراج کنید و باینری را به‌عنوان یک سرویس systemd اجرا کنید. اسکریپت نصب دقیقاً همین مراحل را خودکار می‌کند، بنابراین مگر اینکه دلیل خاصی برای نصب دستی داشته باشید، روش اسکریپتی ترجیح داده می‌شود.

دستور نصب خود را بسازید

دستور را متناسب با تنظیمات خود سفارشی کنید:

Install command builder

Build the exact install command for your setup. It is assembled in your browser.

blank = latest stable · a tag like v3.4.0 · or dev-latest for the rolling dev build
Run on your server
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

انتخاب یک پایگاه‌داده

شما بک‌اند ذخیره‌سازی را در زمان نصب انتخاب می‌کنید:

  • SQLite (پیش‌فرض) — یک فایل واحد در مسیر /etc/x-ui/x-ui.db. بدون نیاز به هیچ تنظیماتی.
  • PostgreSQL — برای تعداد کلاینت بالا یا پیکربندی‌های چندنودی. نصب‌کننده می‌تواند آن را به‌صورت محلی نصب کند یا از یک DSN که شما ارائه می‌دهید استفاده کند.

برای جزئیات و مهاجرت SQLite→PostgreSQL به پایگاه‌داده مراجعه کنید.

نصب خودکار / cloud-init

نصب‌کننده برای خودکارسازی به‌صورت غیرتعاملی نیز اجرا می‌شود. XUI_NONINTERACTIVE=1 را تنظیم کنید (یا بدون TTY اجرا کنید) تا نصب به‌صورت سرتاسری و بدون هیچ پرسشی انجام شود، مشخصات تصادفی تولید کند و آن‌ها را در /etc/x-ui/install-result.env بنویسد:

XUI_NONINTERACTIVE=1 bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

دایرکتوری deploy/ در مخزن یک user-data آمادهٔ cloud-init برای نصب‌های خودکار روی هر ابری (Hetzner، AWS، DigitalOcean، Vultr، GCP، Azure، Oracle) دارد.

گام‌های بعدی

On this page