VpnHood!

تشغيل VpnHood! SERVER في Docker

شغّل الخادم كحاوية على أي جهاز Linux يعمل بنظام Docker. أمر واحد يكفي لتثبيته كخادم مُدار أو مستقل، وتتكفل الحاوية بإبقائه قيد التشغيل ومُحدّثًا باستمرار.

قبل أن تبدأ

  • جهاز Linux مزود بعنوان IP عام، بمعمارية x64 أو arm64. الحاوية مبنية لتدعم كلاهما.
  • صلاحيات Root.
  • برنامج Docker مع إضافة compose. يمكن لأداة التثبيت تثبيته تلقائيًا على Ubuntu وDebian والتوزيعات المبنية عليهما.
  • منفذ TCP المفتوح 443، في الجدار الناري للجهاز ولدى مزود الاستضافة معًا. تشارك الحاوية شبكة المضيف، لذا يستمع الخادم مباشرةً إلى منفذ المضيف.

تثبيت خادم مُدار

في VpnHood! MANAGER، افتح Servers، واختر Add، ثم حدد اسم الخادم واختر Create. من بين خيارات التثبيت، حدد Install on Linux manually by running a command. في الأمر الذي يظهر لك في MANAGER، استبدل VpnHoodServer-linux.sh بـ VpnHoodServer.docker.sh، ثم نفّذه على الجهاز. سيقوم بتثبيت الحاوية بالإعدادات التي تربط الخادم بـ MANAGER، ويطرح السؤال الموضح في التثبيت المستقل أدناه.

بالنسبة لحاوية أنشأتها مسبقًا، اختر Install Manually by configuring appsettings بدلًا من ذلك. احفظ الإعدادات التي يعرضها MANAGER باسم /opt/VpnHoodServer/storage/appsettings.json على المضيف، ثم أعد تشغيل الحاوية باستخدام sudo docker restart VpnHoodServer.

ثم أنشئ مفاتيح الوصول لأجهزتك في MANAGER، ضمن Access Tokens.

تثبيت خادم مستقل

نفّذ هذا الأمر. سيقوم بتنزيل ملف compose، وتشغيل حاوية الخادم، ويطرح عليك سؤالًا واحدًا.

sudo su -c "bash <( wget -qO- https://github.com/vpnhood/VpnHood.App.Server/releases/latest/download/VpnHoodServer.docker.sh)"

عندما يظهر السؤال Install Docker (y/n)?، اكتب y لتثبيت Docker، أو n إذا كان مثبتًا بالفعل على الجهاز.

للتثبيت التلقائي عبر نص برمجي (سكريبت) دون طرح السؤال: استبعد -install-docker إذا كان Docker مثبتًا مسبقًا.

sudo su -c "bash <( wget -qO- https://github.com/vpnhood/VpnHood.App.Server/releases/latest/download/VpnHoodServer.docker.sh) -install-docker -q"

يحتفظ الخادم بإعداداته ومفاتيحه وسجلاته في /opt/VpnHoodServer/storage على الجهاز المضيف، لتبقى محفوظة حتى عند ترقية الحاوية أو إزالتها.

إنشاء مفتاح وصول

نفّذ هذا الأمر على الجهاز. يتم إنشاء المفتاح داخل حاوية الخادم، لذا فهو يعتمد إعدادات الخادم نفسها مباشرةً.

sudo docker exec VpnHoodServer /app/vhsupervisor gen

على سبيل المثال، مفتاح لهاتف واحد

sudo docker exec VpnHoodServer /app/vhsupervisor gen -name Phone -maxClient 1

المخرجات والخيارات مطابقة لما هو عليه في الخادم المستقل المُثبت بدون Docker: انسخ السطر الموجود أسفل --- AccessKey ---، وراجع إنشاء مفتاح الوصول الأول لمعرفة خيارات تقييد المفتاح.

الاتصال

ثبّت تطبيق VpnHood! CLIENT على كل جهاز، ثم أضف المفتاح واتصل.

تشغيل الخادم وإيقافه وفحصه

الحاوية باسم VpnHoodServer. يُعيد Docker تشغيلها تلقائياً عند إعادة تشغيل الجهاز، كما يُعاد تشغيل الخادم بداخلها في حال توقفه المفاجئ.

sudo docker logs VpnHoodServer
sudo docker stop VpnHoodServer
sudo docker start VpnHoodServer

يُحفظ السجل نفسه في /opt/VpnHoodServer/storage/logs/server.log على الجهاز المضيف.

تغيير الإعدادات

يقرأ الخادم إعداداته من /opt/VpnHoodServer/storage/appsettings.json. عدّل الملف، ثم أعد تشغيل الحاوية باستخدام sudo docker restart VpnHoodServer.

إذا تعذر عليك تعديل الملف، ضع محتوى appsettings.json بالكامل في متغير البيئة VH_APPSETTINGS، وسيستخدمه الخادم بدلاً من الملف.

يستعرض دليلا تعيين عناوين IP لخادمك والاتصال عبر اسم نطاق أهم الإعدادات التي قد تحتاج لتغييرها.

التحديثات

يُحدّث الخادم نفسه تلقائياً داخل الحاوية؛ حيث يتحقق من وجود إصدارات جديدة عند بدء التشغيل وكل 12 ساعة، ثم يُعاد تشغيله بالنسخة الجديدة.

للبقاء على إصدار محدد، اضبط VH_AUTO_UPDATE=0 في بيئة الحاوية.

قد يتطلب أحد الإصدارات صورة أحدث بين الحين والآخر. في هذه الحالة، يحتفظ الخادم بإصداره الحالي ويظهر في سجله Pull the latest image!. ما عليك سوى تشغيل أمر التثبيت مجدداً لسحب أحدث صورة وإعادة إنشاء الحاوية مع الاحتفاظ بنفس الإعدادات والمفاتيح.

إذا قمت بالتثبيت باستخدام إصدار سابق من البرنامج النصي، فأعد تشغيل أمر التثبيت. سينقل ذلك الخادم إلى الصورة الجديدة ويزيل الحاوية القديمة VpnHoodUpdater.

إنشاء الحاوية يدوياً

إذا كنت تدير حاوياتك يدوياً، فهذه هي الحاوية التي ينشئها برنامج التثبيت. شغّلها على شبكة المضيف كما يفعل برنامج التثبيت.

sudo docker run -d --name VpnHoodServer --network host --restart always --stop-timeout 30 -v /opt/VpnHoodServer/storage:/app/storage vpnhood/vpnhoodserver

للترقية إلى صورة أحدث، اسحب vpnhood/vpnhoodserver ثم أنشئ الحاوية مجدداً.

الخطوات التالية