افزودن نود
نود سروری است که کاربرهایتان به آن وصل میشوند. هیچ پایگاه داده و هیچ تنظیمی از خودش ندارد: پنل همه چیز را به آن میگوید. اول نود را در پنل اضافه میکنید، و بعد پنل دستوری را که آن را نصب میکند به شما میدهد.


پیش از شروع
- یک سرور لینوکس با systemd یا با Docker. amd64، arm64، armv5/v6/v7، 386، s390x و riscv64 همه پشتیبانی میشوند.
- root، یا کاربری با sudo.
- پورت TCP ۶۲۰۵۰ که از پنل، روی IPv4 یا IPv6، در دسترس باشد.
- پورتهایی که اینباندهای نود استفاده خواهند کرد. اینها را بعداً در پنل انتخاب میکنید.
نود به کلید لایسنس جداگانهای نیاز ندارد. لایسنس پنل تعیین میکند پنل چند نود را اداره کند.
نصب با دستور پنل
نودها را باز کنید و یک نود اضافه کنید. یک نام و آدرس آن را بدهید، یعنی آیپی یا دامنهای که پنل با آن به نود میرسد. پورت را روی ۶۲۰۵۰ نگه دارید.
نصب را روی نود باز کنید. شروع نصب، اول نود را ذخیره میکند.
در زبانهٔ دستی، دستور را کپی کنید. چیزی شبیه این است:
bashcurl -fsSL https://PANEL/install-node.sh | bash -s -- --panel PANEL --token TOKEN --port 62050--portهمان پورت نود است. برای پورت دیگر، آن را در پنجرهٔ نود عوض کنید نه در دستور: پنل به پورتی وصل میشود که آنجا ذخیره شده، و هم این دستور و هم نصب خودکار نود را روی همان پورت بالا میآورند. پشت port forward، شمارهٔ پورت را در دو طرف یکی بگذارید: هر نصب و بهروزرسانی نود را روی پورت ذخیرهشده بالا میآورد.آن را با root روی سرور نود اجرا کنید.
پنل روی گواهی خودامضای خودش
ویزارد راهاندازی پنل را با یک گواهی خودامضا بالا میآورد و curl ساده روی سرور نود آن را رد میکند. پنل این را میداند و در این حالت دستورش پنل را با کلید گواهیاش بررسی میکند:
curl -fsSLk --pinnedpubkey 'sha256//KEY' https://PANEL/install-node.sh | bash -s -- --panel PANEL --token TOKEN --port 62050 --pin 'sha256//KEY'اینجا -k بررسی را خاموش نمیکند: --pinnedpubkey هر سروری را که کلیدش کلید پنل شما نباشد همچنان رد میکند، و --pin همین کار را برای دانلودهای خود اسکریپت از پنل انجام میدهد. دستور را همانطور که پنل نشان میدهد کپی کنید. وقتی پنل گواهی Let's Encrypt یا یک مرجع ACME دیگر بگیرد (گواهیها)، دستور دوباره همان دستور ساده میشود.
پنلی که روی HTTP ساده است دستور را با http:// نوشتهشده نشان میدهد. روی آن اتصال هیچ چیز بررسی نمیشود؛ اگر به شبکهٔ میان دو سرور اعتماد ندارید، نصب خودکار با SSH را ترجیح دهید:
curl -fsSL http://PANEL/install-node.sh | bash -s -- --panel http://PANEL --token TOKEN --port 62050پنل نسخهٔ v0.0.3 و قدیمیتر
این پنلها، گواهی هرچه باشد، دستور ساده را نشان میدهند. روی پنل خودامضا به curl گزینهٔ -k و به اسکریپت گزینهٔ --insecure را اضافه کنید:
curl -fsSLk https://PANEL/install-node.sh | bash -s -- --panel PANEL --token TOKEN --insecureاین کار بررسیِ اینکه دانلود واقعاً از پنل خودتان میآید را کنار میگذارد. پنلی که روی HTTP ساده است اصلاً نمیتواند از این دستور استفاده کند؛ از نصب خودکار با SSH استفاده کنید.
در کمتر از یک دقیقه این کارها را میکند:
- باینری نود را از پنل خودتان دانلود میکند، نه از اینترنت؛
- توکن را با گواهی پنل عوض میکند. توکن یک بار کار میکند و منقضی میشود؛
- گواهی خود نود را میسازد؛
/opt/nx-node/config.jsonو یک سرویس را مینویسد و آن را اجرا میکند.
بعد پنل وصل میشود. در همان اولین اتصال گواهی نود را به خاطر میسپارد و از آن به بعد فقط همان را میپذیرد، و نود هم فقط پنل را میپذیرد. هیچ چیز دیگری نمیتواند از پورت ۶۲۰۵۰ استفاده کند.
نود در صفحهٔ نودها متصل نشان داده میشود. تا وقتی قالب نداشته باشد هیچ چیزی سرو نمیکند: نود را ویرایش کنید و در فیلد قالبش یکی را انتخاب کنید. اولین قالبتان را در اولین کاربر در ده دقیقه میسازید.
نصب خودکار با SSH
پنل میتواند همهٔ این کارها را خودش انجام دهد. در کشوی نصب نود، به خودکار (SSH) بروید:
- میزبان SSH، پورت SSH، کاربر، و یک رمز عبور یا کلید خصوصی بدهید. کاربری غیر از root به sudo نیاز دارد.
- تشخیص را بزنید. پنل سیستم، معماری، وجود systemd یا Docker و آنچه از قبل نصب است را گزارش میکند و بعد برنامهاش را نشان میدهد.
- نصب را بزنید. خروجی زنده برمیگردد.
در این روش همه چیز روی اتصال SSH بارگذاری میشود: نصبکننده، گواهی پنل و باینری نود. سرور به هیچ مسیری به پنل و هیچ توکنی نیاز ندارد.
اطلاعات ورود فقط برای همان یک اتصال استفاده و ذخیره نمیشود. کلید پنل روی این سرور مجاز شود را تیک بزنید تا پنل بعداً با کلید خودش وارد شود و بهروزرسانیها به رمز نیاز نداشته باشند. این دسترسی را با ابطال کلید پنل در منوی نود بردارید.
اولین اتصال، کلید میزبان SSH سرور را به خاطر میسپارد. اگر سرور بعداً کلید دیگری نشان دهد، پنل از اتصال خودداری میکند و این را اعلام میکند. وقتی واقعاً دستگاه را عوض کردهاید، از انتقال به سرور دیگر در منوی نود استفاده کنید.
فایروال
پورت ۶۲۰۵۰ فقط پنل را میپذیرد، اما دلیلی ندارد برای همه باز بماند:
ufw allow from 203.0.113.10 to any port 62050 proto tcpاگر پنل با IPv6 به نود میرسد، قانون باید آدرس IPv6 پنل را نام ببرد: قانون IPv4 اتصال IPv6 را پوشش نمیدهد.
پورتهایی را که کاربرهایتان به آنها وصل میشوند بعد از دادن قالب به نود باز کنید، وقتی میدانید از کدامها استفاده میکند.
گزینههای نصب
اینها را به انتهای دستور اضافه کنید:
| گزینه | اثر |
|---|---|
--port PORT | پورت کنترل؛ نودی که از قبل نصب است آدرسش را نگه میدارد و فقط پورت عوض میشود (پیشفرض: همانی که هست بماند، وگرنه [::]:62050) |
--listen ADDR | کل آدرس کنترل، میزبان و پورت؛ بر --port و بر آنچه نصب است برتری دارد |
--method script|docker | نصب به صورت سرویس systemd یا کانتینر (پیشفرض: همانی که هست بماند) |
--source panel|github | باینری را از پنل یا از یک نسخهٔ عمومی میگیرد |
--version TAG | نسخهٔ مشخصی از نود را نصب میکند (آن را از GitHub میگیرد) |
--image REF | ایمیج کانتینر برای --method docker |
--binary-url URL | باینری را از آدرس دیگری دانلود میکند |
--binary-file PATH | از باینریای که از قبل روی این سرور است استفاده میکند |
--ca-file PATH | به جای توکن، از گواهی پنلی که از قبل روی این سرور است استفاده میکند |
--pin sha256//KEY | گواهی پنل را با کلیدش میپذیرد (پنل هر وقت لازم باشد خودش آن را میگذارد) |
--insecure | هنگام دانلود، گواهی TLS پنل را بررسی نمیکند |
--detect | آنچه روی این سرور هست را چاپ میکند و چیزی را تغییر نمیدهد |
--uninstall | نود را متوقف و حذف میکند |
پنل باینریها را برای amd64 و arm64 آماده میکند. روی معماریهای دیگر، نصبکننده نود را از GitHub میگیرد. اگر نصب با node binary not provisioned متوقف شد، عیبیابی را ببینید.
Docker
زبانهٔ دستی یک دستور Docker هم نشان میدهد: همان دستور با --method docker. نصبکننده فایل compose را مینویسد و کانتینر را برایتان اجرا میکند.
اگر میخواهید فایل compose نود را خودتان اجرا کنید، گواهیای را که در همان زبانه زیر گواهی mTLS نشان داده شده به نام certs/panel_ca.pem ذخیره کنید، و بعد:
git clone https://github.com/nx-panel/node
cd node
mkdir -p certs
cp /path/to/panel_ca.pem certs/
docker compose up -dکانتینر نود از شبکهٔ میزبان استفاده میکند، پس پورتهای اینباندهایش بدون ویرایش فایل compose کار میکنند.
IPv6
به هیچ کار اضافهای نیاز نیست. نود همزمان روی IPv4 و IPv6 گوش میدهد، و روی سروری که IPv6 آن خاموش است به IPv4 برمیگردد. نودی را که فقط آدرس IPv6 دارد با آدرس ساده (2001:db8::1) اضافه کنید؛ پنل هر جا لازم باشد در لینکها کروشه میگذارد.
بعدی
- اولین کاربر در ده دقیقه به نود چیزی برای سرو کردن میدهد.
- نودها همهٔ بخشهای دیگر صفحهٔ نودها را توضیح میدهد.
- پنل و نود روی یک سرور اگر این نود روی سرور پنل است.
