نصب VpnHood! SERVER با داکر
سرور را بهصورت یک کانتینر روی هر سیستم لینوکس مجهز به داکر اجرا کنید. تنها با یک دستور، چه بهصورت سرور مدیریتشده و چه مستقل، نصب میشود و کانتینر همیشه سرور را فعال و بهروز نگه میدارد.
پیش از شروع
- یک سیستم لینوکس با IP عمومی بر پایه معماری x64 یا arm64 (ایمیج برای هر دو معماری ساخته شده است). پیشنیازهای سیستم سیستمعاملهایی را که سرور روی آنها اجرا میشود فهرست میکند.
- دسترسی Root.
- نرمافزار داکر به همراه پلاگین compose آن. نصاب میتواند در صورت نیاز آن را روی Ubuntu، Debian و توزیعهای مبتنی بر آنها نصب کند.
- باز بودن پورت TCP
443، هم در فایروال سیستم و هم در تنظیمات فایروال ارائهدهنده هاست. کانتینر از شبکه هاست استفاده میکند؛ بنابراین سرور مستقیماً به پورت هاست متصل میشود.
نصب سرور مستقل
این دستور را اجرا کنید. ابتدا برای نصب داکر از شما تایید میگیرد، سپس فایل compose را دانلود کرده و کانتینر سرور را راهاندازی میکند.
sudo bash -c 'u=https://github.com/vpnhood/VpnHood.App.Server/releases/latest/download/VpnHoodServer.docker.sh; bash <(wget -qO- $u 2>/dev/null || curl -fsSL $u)'برای نصب خودکار از طریق اسکریپت و بدون پرسش تایید، بخش گزینههای نصب را ببینید.
سرور تنظیمات، کلیدها و لاگهای خود را در مسیر /opt/VpnHoodServer/storage روی هاست ذخیره میکند تا با تغییر کانتینر همواره حفظ شوند.
ساخت کلید دسترسی
این دستور را روی سیستم اجرا کنید. کلید درون کانتینر سرور ساخته میشود و مستقیماً از تنظیمات خود سرور استفاده میکند.
sudo docker exec VpnHoodServer /app/vhsupervisor genبرای نمونه، یک کلید برای یک گوشی
sudo docker exec VpnHoodServer /app/vhsupervisor gen -name Phone -maxClient 1خروجی و گزینهها دقیقاً مانند سرور مستقلی است که بدون داکر نصب شده است: خط زیر --- AccessKey --- را کپی کنید و برای آشنایی با گزینههای محدودسازی کلید، راهنمای ساخت نخستین کلید دسترسی را ببینید.
اتصال
اپلیکیشن VpnHood! CLIENT را روی هر دستگاه نصب کنید، کلید را اضافه نمایید و متصل شوید.
راهاندازی، توقف و بررسی سرور
این کانتینر VpnHoodServer نام دارد. با راهاندازی مجدد سیستم، داکر آن را بهطور خودکار اجرا میکند و در صورت کرش کردن سرور نیز آن را دوباره راهاندازی خواهد کرد.
sudo docker logs VpnHoodServersudo docker stop VpnHoodServersudo docker start VpnHoodServerهمین لاگ در مسیر /opt/VpnHoodServer/storage/logs/server.log روی سیستم میزبان نیز ذخیره میشود.
تغییر تنظیمات
سرور تنظیمات خود را از /opt/VpnHoodServer/storage/appsettings.json میخواند. فایل را ویرایش کنید و سپس کانتینر را با sudo docker restart VpnHoodServer دوباره راهاندازی نمایید.
اگر امکان ویرایش فایل را ندارید، کل محتوای appsettings.json را در متغیر محیطی VH_APPSETTINGS قرار دهید تا سرور از آن استفاده کند.
راهنماهای تنظیم آدرسهای IP سرور و استفاده از دامنه و گواهی معتبر، مهمترین تنظیماتی را که احتمالاً تغییر خواهید داد گامبهگام توضیح میدهند.
بهروزرسانیها
سرور درون کانتینر بهطور خودکار بهروزرسانی میشود. هنگام اجرا و سپس هر ۱۲ ساعت نسخههای جدید را بررسی میکند و با نسخه جدید بازنشانی میشود.
برای ثابت ماندن روی یک نسخه، VH_AUTO_UPDATE=0 را در متغیرهای محیطی کانتینر تنظیم کنید.
گاهی انتشار نسخهای جدید به ایمیج تازهتری نیاز دارد. در این حالت سرور روی نسخه فعلی میماند و در لاگ آن Pull the latest image! ثبت میشود. کافی است دستور نصب را دوباره اجرا کنید تا آخرین ایمیج دریافت شده و کانتینر مجدداً با همان تنظیمات و کلیدها ساخته شود.
اگر با نسخه قدیمیتر اسکریپت نصب کردهاید، دستور نصب را دوباره اجرا کنید. این کار سرور را به ایمیج جدید منتقل کرده و کانتینر قدیمی VpnHoodUpdater را حذف میکند.
حذف نصب
برای حذف سرور، کانتینر و ایمیج آن را پاک کنید. تنظیمات، کلیدهای دسترسی و گواهیها در مسیر /opt/VpnHoodServer/storage روی هاست باقی میمانند تا در نصب بعدی استفاده شوند.
sudo docker rm -f VpnHoodServer && sudo docker rmi vpnhood/vpnhoodserverحذف کامل تنظیمات و کلیدها: دستگاههای دارای این کلیدها، حتی پس از نصب مجدد، دیگر متصل نخواهند شد
sudo rm -rf /opt/VpnHoodServerساخت دستی کانتینر
اگر کانتینرهای خود را بهصورت دستی مدیریت میکنید، این همان کانتینری است که نصبکننده میسازد. آن را مانند نصبکننده روی شبکه میزبان (host network) اجرا کنید.
sudo docker run -d --name VpnHoodServer --network host --restart always --stop-timeout 30 -v /opt/VpnHoodServer/storage:/app/storage vpnhood/vpnhoodserverبرای ارتقا به ایمیج جدیدتر، vpnhood/vpnhoodserver را pull کرده و کانتینر را دوباره بسازید.