Docker में VpnHood! SERVER चलाएं
Docker की मदद से किसी भी Linux मशीन पर सर्वर को कंटेनर के रूप में चलाएं। सिर्फ एक कमांड से इसे प्रबंधित सर्वर या स्टैंडअलोन सर्वर के रूप में इंस्टॉल करें; कंटेनर सर्वर को चालू और हमेशा अपडेट रखता है।
शुरू करने से पहले
- पब्लिक IP एड्रेस वाली एक Linux मशीन (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)? पूछे, तो Docker इंस्टॉल करने के लिए y टाइप करें, या अगर मशीन में यह पहले से है तो n टाइप करें।
स्क्रिप्ट में बिना किसी सवाल के इंस्टॉल करें। अगर Docker पहले से इंस्टॉल है, तो -install-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
उदाहरण के लिए, एक फ़ोन के लिए की (key)
sudo docker exec VpnHoodServer /app/vhsupervisor gen -name Phone -maxClient 1
आउटपुट और विकल्प बिना Docker वाले स्टैंडअलोन सर्वर जैसे ही हैं: --- AccessKey --- के नीचे दी गई लाइन कॉपी करें, और की (key) सीमित करने वाले विकल्पों के लिए अपनी पहली एक्सेस की (access key) बनाएं देखें।
कनेक्ट करें
हर डिवाइस पर 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 कंटेनर को हटा देगा।
कंटेनर खुद बनाएं
अगर आप अपने कंटेनर खुद मैनेज करते हैं, तो इंस्टॉलर यही कंटेनर बनाता है। इसे इंस्टॉलर की तरह ही होस्ट के नेटवर्क पर चलाएं।
sudo docker run -d --name VpnHoodServer --network host --restart always --stop-timeout 30 -v /opt/VpnHoodServer/storage:/app/storage vpnhood/vpnhoodserver
नई इमेज पर ले जाने के लिए, vpnhood/vpnhoodserver पुल करें और कंटेनर फिर से बनाएं।