VpnHood!

Docker के साथ VpnHood! SERVER इंस्टॉल करें

Docker की मदद से किसी भी Linux मशीन पर सर्वर को कंटेनर के रूप में चलाएं। सिर्फ़ एक कमांड से इसे मैनेज्ड सर्वर या स्टैंडअलोन सर्वर के रूप में इंस्टॉल करें; कंटेनर सर्वर को चालू और हमेशा अपडेट रखता है।

शुरू करने से पहले

  • पब्लिक IP एड्रेस वाली एक Linux मशीन (x64 या arm64)। यह इमेज दोनों के लिए उपलब्ध है। सिस्टम आवश्यकताएँ में वे सिस्टम दिए गए हैं जिन पर सर्वर चलता है।
  • रूट (Root) एक्सेस।
  • Docker और उसका compose प्लगइन। Ubuntu, Debian और उन पर आधारित डिस्ट्रोज़ पर इंस्टॉलर इसे आपके लिए इंस्टॉल कर सकता है।
  • TCP पोर्ट 443 खुला होना चाहिए, मशीन के फ़ायरवॉल और आपके होस्टिंग प्रोवाइडर दोनों में। कंटेनर होस्ट के नेटवर्क को साझा करता है, इसलिए सर्वर सीधे होस्ट के पोर्ट पर सुनता है।

स्टैंडअलोन सर्वर इंस्टॉल करें

यह कमांड चलाएं। यह पूछेगा कि क्या Docker इंस्टॉल करना है, फिर कंपोज़ फ़ाइल डाउनलोड करके सर्वर कंटेनर शुरू कर देगा।

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

उदाहरण के लिए, एक फ़ोन के लिए की (key)

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

आउटपुट और विकल्प बिना Docker के इंस्टॉल किए गए स्टैंडअलोन सर्वर जैसे ही हैं: --- AccessKey --- के नीचे दी गई लाइन कॉपी करें, और की को सीमित करने वाले विकल्पों के लिए अपनी पहली एक्सेस की बनाएं देखें।

कनेक्ट करें

हर डिवाइस पर VpnHood! CLIENT इंस्टॉल करें, की (key) जोड़ें और कनेक्ट करें।

सर्वर शुरू करें, रोकें और जांचें

कंटेनर का नाम 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! दिखता है। ऐसे में इंस्टॉल कमांड फिर से चलाएं: यह सबसे नई इमेज डाउनलोड करेगा और उन्हीं सेटिंग्स व कीज़ (keys) के साथ कंटेनर फिर से बना देगा।

अगर आपने स्क्रिप्ट के पुराने वर्ज़न से इंस्टॉल किया था, तो इंस्टॉल कमांड फिर से चलाएं। यह सर्वर को नई इमेज पर ले जाएगा और पुराने VpnHoodUpdater कंटेनर को हटा देगा।

अनइंस्टॉल करें

सर्वर हटाने के लिए, उसका कंटेनर और इमेज हटा दें। उसकी सेटिंग्स, एक्सेस कीज़ और सर्टिफ़िकेट होस्ट पर /opt/VpnHoodServer/storage में बने रहते हैं, ताकि बाद में दोबारा इंस्टॉल किया जा सके।

sudo docker rm -f VpnHoodServer && sudo docker rmi vpnhood/vpnhoodserver

इसकी सेटिंग्स और की (key) भी मिटाएं: जिन डिवाइसों में इसकी की मौजूद हैं वे नए इंस्टॉलेशन से भी कनेक्ट नहीं हो पाएंगे

sudo rm -rf /opt/VpnHoodServer

कंटेनर खुद बनाएं

अगर आप अपने कंटेनर खुद मैनेज करते हैं, तो इंस्टॉलर यही कंटेनर बनाता है। इसे इंस्टॉलर की तरह ही होस्ट के नेटवर्क पर चलाएं।

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

नई इमेज पर ले जाने के लिए, vpnhood/vpnhoodserver पुल करें और कंटेनर फिर से बनाएं।

अगले कदम