Docker
پنل را بهصورت کانتینر روی یک کامپیوتر ویندوز، لینوکس یا مک اجرا کنید، نه حتی روی روتر.
مرور کلی
با Docker، نسنت پنل روی یک کامپیوتر یا سرور در شبکهٔ شما اجرا میشود، نه روی روتر. این روش زمانی به کار میآید که روتر شما نمیتواند کانتینر اجرا کند، یا یک دستگاه همیشهروشن دارید. ایمیج پنل ghcr.io/nasnet-community/nasnet-panel است و روی amd64، arm64 و arm/v7 اجرا میشود.
قبل از شروع
- Docker روی لینوکس، یا Docker Desktop روی ویندوز و macOS نصب و روشن است. روی لینوکس میتوانید آن را با
curl -fsSL https://get.docker.com | sudo shنصب کنید. - کامپیوتر تا زمانی که از پنل استفاده میکنید روشن میماند و به روترها دسترسی دارد.
- روترها RouterOS نسخهٔ ۷ دارند و سرویس
apiآنها روی پورت8728روشن است.
گامها
-
در ترمینال (روی ویندوز، PowerShell) پنل را اجرا کنید:
docker run -d --name nasnet -p 8080:80 --restart unless-stopped ghcr.io/nasnet-community/nasnet-panel:latest -
آدرس
http://localhost:8080را باز کنید، یا از دستگاه دیگرhttp://<computer-ip>:8080را.
روی ویندوز ممکن است Windows Firewall بپرسد که آیا Docker اجازهٔ دریافت اتصال دارد. اگر میخواهید از دستگاههای دیگر به پنل وصل شوید، برای شبکههای private اجازه دهید.
HTTPS
پنل داخل کانتینر روی پورت 443 هم با یک گواهی خودامضا کار میکند. برای استفاده از آن، -p 8443:443 را به دستور اضافه کنید و https://localhost:8443 را باز کنید. مرورگر یک هشدار امنیتی نمایش میدهد که برای گواهی خودامضا طبیعی است.
شبکهٔ host
اگر میخواهید کانتینر مستقیم روی شبکهٔ کامپیوتر باشد (بیشتر روی لینوکس کاربرد دارد)، پورتها را با PORT و HTTPS_PORT تغییر دهید تا پورتهای 80 و 443 را اشغال نکند:
docker run -d --name nasnet --network=host -e PORT=8080 -e HTTPS_PORT=8443 \
--restart unless-stopped ghcr.io/nasnet-community/nasnet-panel:latest
بررسی سلامت داخلی ایمیج همیشه پورت 80 را بررسی میکند. بنابراین با مقدار دیگری برای PORT، Docker کانتینر را unhealthy نشان میدهد، اما پنل کار میکند.
Docker Compose
همین سرویس در یک فایل compose.yaml:
services:
nasnet:
image: ghcr.io/nasnet-community/nasnet-panel:latest
container_name: nasnet
ports:
- "8080:80"
restart: unless-stopped
آن را با docker compose up -d اجرا کنید.
بهروزرسانی و حذف
برای بهروزرسانی، ایمیج جدید را دریافت کنید، کانتینر را پاک کنید و همان دستور docker run را دوباره اجرا کنید:
docker pull ghcr.io/nasnet-community/nasnet-panel:latest
docker rm -f nasnet
برای حذف پنل فقط دستور docker rm -f nasnet را اجرا کنید.
مرجع
| متغیر | کاربرد | پیشفرض در ایمیج |
|---|---|---|
PORT |
پورت HTTP پنل داخل کانتینر | 80 |
HTTPS_PORT |
پورت HTTPS پنل داخل کانتینر | 443 |
برای ثابت نگه داشتن نسخه، بهجای latest از تگ یک نسخه بدون v استفاده کنید، مانند ghcr.io/nasnet-community/nasnet-panel:0.1.0.
رفع مشکلات
پیام port is already allocated. برنامهٔ دیگری از پورت 8080 استفاده میکند. پورت دیگری انتخاب کنید، برای مثال -p 8090:80، و http://localhost:8090 را باز کنید.
پنل باز میشود اما به روتر وصل نمیشود. بررسی کنید که خود کامپیوتر به روتر دسترسی داشته باشد، برای مثال با ping 192.168.88.1، و سرویس api روتر روی 8728 روشن باشد. یک VPN روی کامپیوتر ممکن است ترافیک را به مسیر دیگری بفرستد.
پیام Cannot connect to the Docker daemon. Docker روشن نیست. Docker Desktop را باز کنید، یا روی لینوکس دستور sudo systemctl start docker را اجرا کنید.