🚀 Marzban Panel روی Railway (روش PasarGuard)
این ریپازیتوری دقیقاً به همان روش ریپازیتوری PasarGuard ساخته شده:
بهجای اینکه سورس Marzban را داخل ریپو کپی (vendor) کنیم، Dockerfile در
لحظهی build خودش سورس رسمی را از
Gozargah/Marzban کلون میکند،
داشبورد را میسازد، Xray را نصب میکند و ایمیج نهایی را میسازد.
مزیت این روش نسبت به کپیکردن سورس داخل ریپو:
- همیشه آخرین نسخهی Marzban را میگیرید (هیچ فایلی "جا نمیماند" یا قدیمی نمیشود).
- حجم ریپوی شما خیلی کوچک میماند (فقط چند فایل دیپلوی).
- آپدیت گرفتن از آپستریم = فقط دوباره Deploy کردن روی Railway.
نصب
-
این ریپو را در گیتهاب خودتان Fork کنید.
-
در Railway: New Project → Deploy from GitHub Repo و ریپوی فورکشده را انتخاب کنید.
-
صبر کنید تا Build تمام شود (بهخاطر build گرفتن از داشبورد، کمی طول میکشد).
-
(اختیاری ولی پیشنهادی) در تب Variables این دو متغیر را اضافه کنید تا اولین ادمین بهصورت خودکار ساخته شود:
SUDO_USERNAMESUDO_PASSWORD
اگر تنظیم نکنید، بعداً از Console سرویس همین دستور را بزنید:
marzban-cli admin create --sudo -
دیتابیس پیشفرض SQLite است. اگر میخواهید از Postgres پلاگین Railway استفاده کنید، متغیر
SQLALCHEMY_DATABASE_URLرا در Variables ست کنید.
نکات
- پورت را Railway خودش از طریق
$PORTتزریق میکند؛ نیازی به تنظیم دستی نیست. - برای تغییر نسخهی Marzban که کلون میشود، آرگومان build به نام
MARZBAN_REFرا درrailway.toml/ تنظیمات Build اضافه کنید (پیشفرض:master).