منوی راهنما
در این صفحه

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 روشن است.

گام‌ها

  1. در ترمینال (روی ویندوز، PowerShell) پنل را اجرا کنید:

    docker run -d --name nasnet -p 8080:80 --restart unless-stopped ghcr.io/nasnet-community/nasnet-panel:latest
  2. آدرس http://localhost:8080 را باز کنید، یا از دستگاه دیگر http://<computer-ip>:8080 را.

  3. روتر خود را اضافه کنید.

روی ویندوز ممکن است 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 را اجرا کنید.

مرتبط