Display L-UI; panel binary/process l-ui, agent lui-agent. Dirs /usr/local/l-ui, /etc/l-ui, /var/log/l-ui; DB /etc/l-ui/l-ui.db (name file drives it via GetName), probe.db beside it, cert /etc/l-ui/cert, bin /usr/local/l-ui/bin. Services l-ui.service / lui-agent.service, OpenRC lui-agent, l-ui.sh, cmd/lui-agent. Env prefix XUI_ -> LUI_ (code reads new prefix only). Release assets l-ui-linux-* / lui-agent-linux-*; Gitea repo rogue/l-ui is a placeholder pending user confirmation (see selfupdate.go note). Go module path github.com/mhsanaei/3x-ui/v3 intentionally kept. Versions unchanged: panel V2.6.0 / agent A2.5.0.
151 lines
6.8 KiB
Plaintext
151 lines
6.8 KiB
Plaintext
---
|
|
title: نصب
|
|
description: نصب L-UI با اسکریپت رسمی (نسخهٔ پایدار، نسخهٔ مشخص یا dev-latest)، نصب خودکار/cloud-init یا Docker — و انتخاب میان SQLite و PostgreSQL.
|
|
icon: Download
|
|
---
|
|
|
|
L-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`.
|
|
|
|
<Callout type="warn">
|
|
نصبکنندهٔ اسکریپتی را بهصورت **root** (یا با `sudo`) اجرا کنید. این اسکریپت یک
|
|
سرویس نصب میکند، دستور مدیریتی `l-ui` را راهاندازی میکند و پنل را در زمان
|
|
بوت فعال میسازد.
|
|
</Callout>
|
|
|
|
<Tabs items={['Script', 'Docker', 'Manual']}>
|
|
|
|
<Tab value="Script">
|
|
|
|
اسکریپت رسمی مسیر توصیهشده است. این اسکریپت در طول نصب یک نام کاربری، رمز عبور و
|
|
مسیر دسترسی (مسیر پایهٔ وب) **تصادفی** تولید میکند، سرویس را راهاندازی میکند و
|
|
دستور مدیریتی `l-ui` را نصب میکند.
|
|
|
|
```bash title="latest stable"
|
|
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
|
|
```
|
|
|
|
برای نصب یک **نسخهٔ مشخص**، تگ آن را در انتها اضافه کنید:
|
|
|
|
```bash title="pinned version"
|
|
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v3.4.0
|
|
```
|
|
|
|
برای نصب نسخهٔ **dev** غلتان (آخرین پیشانتشار بهازای هر کامیت از شاخهٔ `main`
|
|
— نه یک نسخهٔ پایدار) عبارت `dev-latest` را پاس دهید:
|
|
|
|
```bash title="rolling dev build"
|
|
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) dev-latest
|
|
```
|
|
|
|
پس از پایان نصب، مشخصات ورود چاپشده را یادداشت کنید و دستور `l-ui` را اجرا کنید تا
|
|
[منوی مدیریت](/docs/guide/update-uninstall#the-l-ui-management-menu) باز شود، سپس
|
|
به [نخستین ورود](/docs/guide/first-login) ادامه دهید.
|
|
|
|
</Tab>
|
|
|
|
<Tab value="Docker">
|
|
|
|
پیکربندی پیشفرض Compose از SQLite استفاده میکند. مخزن را کلون کنید (یا فایلهای
|
|
`docker-compose.yml` و `Dockerfile` آن را کپی کنید) و آن را اجرا کنید:
|
|
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
برای اجرا با سرویس **PostgreSQL** همراه، دو خط `LUI_DB_*` را در
|
|
`docker-compose.yml` از حالت کامنت خارج کنید و با پروفایل مربوطه اجرا کنید:
|
|
|
|
```bash
|
|
docker compose --profile postgres up -d
|
|
```
|
|
|
|
ترجیح میدهید از ایمیج ازپیشساخته استفاده کنید؟ این ایمیج روی GitHub Container Registry
|
|
منتشر شده است. این ایمیج Fail2ban را بههمراه دارد (برای [محدودیتهای IP](/docs/operations/security))
|
|
که با `iptables` مسدودسازی انجام میدهد و بنابراین به `NET_ADMIN` (و `NET_RAW` برای IPv6)
|
|
نیاز دارد — در غیر این صورت مسدودسازیها فقط ثبت میشوند ولی هرگز اعمال نمیشوند:
|
|
|
|
```bash title="docker run"
|
|
docker run -d \
|
|
--cap-add=NET_ADMIN \
|
|
--cap-add=NET_RAW \
|
|
-e LUI_ENABLE_FAIL2BAN=true \
|
|
-v $PWD/db/:/etc/l-ui/ \
|
|
-v $PWD/cert/:/root/cert/ \
|
|
--network=host \
|
|
--restart=unless-stopped \
|
|
--name L-UI \
|
|
ghcr.io/mhsanaei/3x-ui:latest
|
|
```
|
|
|
|
والیوم `db/` پایگاهدادهٔ SQLite (`/etc/l-ui/l-ui.db`) را نگه میدارد و `cert/`
|
|
گواهیهای TLS را، بنابراین دادههای شما در ارتقاها حفظ میشوند.
|
|
|
|
</Tab>
|
|
|
|
<Tab value="Manual">
|
|
|
|
برای کاربران پیشرفته، یک آرشیو انتشار متناسب با معماری خود را از
|
|
[صفحهٔ releases](https://github.com/MHSanaei/L-UI/releases) دانلود کنید، آن را
|
|
استخراج کنید و باینری را بهعنوان یک سرویس systemd اجرا کنید. اسکریپت نصب دقیقاً
|
|
همین مراحل را خودکار میکند، بنابراین مگر اینکه دلیل خاصی برای نصب دستی داشته
|
|
باشید، روش اسکریپتی ترجیح داده میشود.
|
|
|
|
</Tab>
|
|
|
|
</Tabs>
|
|
|
|
## دستور نصب خود را بسازید
|
|
|
|
دستور را متناسب با تنظیمات خود سفارشی کنید:
|
|
|
|
<InstallCommandBuilder />
|
|
|
|
## انتخاب یک پایگاهداده
|
|
|
|
شما بکاند ذخیرهسازی را در زمان نصب انتخاب میکنید:
|
|
|
|
- **SQLite** (پیشفرض) — یک فایل واحد در مسیر `/etc/l-ui/l-ui.db`. بدون نیاز به هیچ تنظیماتی.
|
|
- **PostgreSQL** — برای تعداد کلاینت بالا یا پیکربندیهای چندنودی. نصبکننده
|
|
میتواند آن را بهصورت محلی نصب کند یا از یک DSN که شما ارائه میدهید استفاده کند.
|
|
|
|
برای جزئیات و مهاجرت SQLite→PostgreSQL به [پایگاهداده](/docs/reference/database)
|
|
مراجعه کنید.
|
|
|
|
## نصب خودکار / cloud-init
|
|
|
|
نصبکننده برای خودکارسازی بهصورت **غیرتعاملی** نیز اجرا میشود.
|
|
`LUI_NONINTERACTIVE=1` را تنظیم کنید (یا بدون TTY اجرا کنید) تا نصب بهصورت
|
|
سرتاسری و بدون هیچ پرسشی انجام شود، مشخصات تصادفی تولید کند و آنها را در
|
|
`/etc/l-ui/install-result.env` بنویسد:
|
|
|
|
```bash
|
|
LUI_NONINTERACTIVE=1 bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
|
|
```
|
|
|
|
دایرکتوری [`deploy/`](https://github.com/MHSanaei/L-UI/tree/main/deploy) در مخزن
|
|
یک user-data آمادهٔ **cloud-init** برای نصبهای خودکار روی هر ابری (Hetzner، AWS،
|
|
DigitalOcean، Vultr، GCP، Azure، Oracle) دارد.
|
|
|
|
## گامهای بعدی
|
|
|
|
<Cards>
|
|
<Card
|
|
title="نخستین ورود"
|
|
href="/docs/guide/first-login"
|
|
description="به پنل دسترسی پیدا کنید و آن را ایمن کنید."
|
|
/>
|
|
<Card
|
|
title="بهروزرسانی و حذف نصب"
|
|
href="/docs/guide/update-uninstall"
|
|
description="منوی l-ui، بهروزرسانیها و حذف."
|
|
/>
|
|
<Card
|
|
title="REALITY"
|
|
href="/docs/config/reality"
|
|
description="نخستین ورودی مخفی خود را پیکربندی کنید."
|
|
/>
|
|
</Cards>
|