SSD Nodes Learn Hosting plans →
गाइड Matt Connorलेखक: Matt Connor · अपडेट किया गया: 2026-08-25

2026 में सेल्फ-होस्ट करने के लिए 25 बेहतरीन ऐप्स

2026 में अपने VPS पर चलाने के लिए 25 उपयोगी ऐप्स की सूची देखें। इसमें RAM और डिस्क की वास्तविक खपत, रिप्लेसमेंट विकल्प और हर ऐप की एक जरूरी तकनीकी सावधानी बताई गई है।

आप क्या बना रहे हैं

यह केवल एक ऐप नहीं, बल्कि एक शॉर्टलिस्ट है। यह इस साइट पर मौजूद हर चीज़ का केंद्र है: 2026 में अपने खुद के VPS पर चलाने लायक पच्चीस एप्लिकेशन, जिन्हें उनके कार्य के आधार पर वर्गीकृत किया गया है। प्रत्येक के लिए आपको वह सर्विस मिलेगी जिसे यह रिप्लेस करता है, RAM और डिस्क की सटीक जानकारी, और वह एक महत्वपूर्ण बात जो अनदेखा करने पर आपको परेशानी में डाल सकती है। लिंक आपको पूरी स्टेप-बाय-स्टेप गाइड पर ले जाते हैं, जहाँ वह उपलब्ध है।

मैं पंद्रह वर्षों से VPS होस्ट चला रहा हूँ, और इनमें से अधिकांश को मैं अपने खुद के सर्वर पर चलाता हूँ। इसलिए नीचे दिए गए रिसोर्स आंकड़े वे हैं जो ऐप वास्तव में एक छोटे वास्तविक वर्कलोड के तहत उपयोग करता है, न कि किसी मार्केटिंग पेज पर दिए गए "न्यूनतम" आंकड़े। इन्हें एक बजट के रूप में पढ़ें, और फिर अतिरिक्त क्षमता (headroom) जोड़ें।

आवश्यक शर्तें और वास्तविक स्थिति

यहाँ प्रत्येक app एक फ्रेश Ubuntu 24.04 KVM VPS पर root या sudo एक्सेस के साथ चलता है। यही सूची आपके घर में रखे सर्वर पर भी समान रूप से काम करती है, और यदि आप मासिक किराए की तुलना एक बार RAM खरीदने से कर रहे हैं, तो घर पर Proxmox बनाम किराए का VPS हार्डवेयर और बिजली के गणित को समझने में मदद करेगा। इनमें से लगभग सभी Docker containers के रूप में आते हैं, इसलिए Docker को एक बार install करें और आप पूरी सूची के लिए तैयार हैं:

curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker "$USER"
newgrp docker
docker run --rm hello-world

यदि docker commands permission denied while trying to connect to the Docker daemon socket के साथ विफल हो जाती हैं, तो आपने group step को छोड़ दिया है या नया shell open नहीं किया है; log out करके पुनः log in करें। यदि docker compose का परिणाम docker: 'compose' is not a docker command आता है, तो आपके पास पुराना standalone binary है; ऊपर दी गई script आधुनिक Compose plugin install करती है, जिसे आप docker compose (hyphen के बजाय space) के रूप में call करते हैं।

तीन वास्तविकताएं नीचे दी गई हर चीज़ का आधार तय करती हैं। पहला, RAM एक बाधा है, disk या CPU नहीं। 1 GB का VPS केवल एक छोटा app चला सकता है, उससे अधिक नहीं। "कुछ चीज़ें self-host करने" वाले सर्वर के लिए 4 GB एक आदर्श स्थिति है। 2 GB एक कठिन स्थिति है जहाँ एक शुरुआती उपयोगकर्ता तीसरी service जोड़ता है, silent Out-Of-Memory kill का सामना करता है, और उसे कभी पता नहीं चलता कि container क्यों गायब हो गया; sudo dmesg वह Out of memory: Killed process line दिखाता है जिसे daemon ने निगल लिया था। दूसरा, किसी भी public service के लिए एक नाम और certificate की आवश्यकता होती है, bare IP केवल testing के लिए काम करता है और जिस क्षण आप चाहते हैं कि कोई phone app या browser उस पर भरोसा करे, वह विफल हो जाता है। तीसरा, दो ports आपके आधे विकल्पों का निर्णय करते हैं: automatic TLS के लिए 80 और 443 ports का box तक पहुँचना आवश्यक है, और अधिकांश providers द्वारा outbound 25 port को block किया जाता है, यही कारण है कि email अंत में "do not" सूची में है।

फाइलें और फोटो

  • Nextcloud एक ही सूट में Google Drive, Dropbox और Google Calendar की जगह ले लेता है। इसके लिए 1–2 GB RAM और आपकी फाइलों के आकार के बराबर स्टोरेज का बजट रखें। एक मुख्य सावधानी: SQLite डेमो के लिए ठीक है लेकिन प्रोडक्शन के लिए यह एक जाल है; इसे पहले दिन से ही PostgreSQL पर इंस्टॉल करें, क्योंकि डेटा डालने के बाद डेटाबेस माइग्रेट करना Nextcloud को खराब करने का सबसे आम तरीका है। पूर्ण Nextcloud on a VPS with Docker, TLS and backups गाइड इसे पहली बार में ही सही तरीके से सेटअप करना सिखाती है।
  • Immich Google Photos की जगह लेता है, जिसमें फोन ऐप भी शामिल है जो आपके कैमरा रोल को ऑटो-अपलोड करती है और चेहरे व वस्तुओं की खोज (search) की सुविधा देती है। इसके लिए 6 GB RAM का बजट रखें, Immich के दस्तावेज़ इसे न्यूनतम बताते हैं, 8 GB आरामदायक है, और मशीन-लर्निंग कंटेनर सबसे अधिक संसाधन लेता है। डिस्क स्पेस आपकी लाइब्रेरी के आकार के बराबर और थंबनेल के लिए लगभग बीस प्रतिशत अतिरिक्त होना चाहिए। सावधानी: Immich के नए वर्ज़न में अक्सर बड़े बदलाव (breaking changes) होते हैं, इसलिए कभी भी आँख बंद करके latest न चलाएं; एक वर्ज़न को पिन करें और हर अपग्रेड से पहले रिलीज़ नोट्स पढ़ें। self-hosted Immich photo library गाइड सुरक्षित अपग्रेड का तरीका बताती है। यदि आपके सर्वर में 6 GB RAM नहीं है, तो PhotoPrism and Immich side by side लेख वास्तविक मेमोरी उपयोग, फोन ऐप्स और बैकअप कमांड्स की तुलना करता है, ताकि आप किसी एक को चुनने से पहले सही निर्णय ले सकें।
  • Seafile तीन में से सबसे तेज़ सिंक इंजन के साथ Dropbox की जगह लेता है। इसके लिए लगभग 1 GB RAM का बजट रखें। सावधानी: Seafile आपकी फाइलों को कंटेंट-एड्रेस्ड ब्लॉक्स के रूप में स्टोर करता है, न कि डिस्क पर सामान्य फाइलों के रूप में, इसलिए आप ls के साथ डेटा को ब्राउज़ नहीं कर सकते और आपको किसी फोल्डर को कॉपी करने के बजाय Seafile के अपने टूल्स के माध्यम से ही बैकअप लेना होगा।

पासवर्ड

  • Vaultwarden, Bitwarden के paid tier, LastPass और 1Password का एक विकल्प है। यह एक छोटा Rust सर्वर है जो Bitwarden protocol का उपयोग करता है, इसलिए सभी आधिकारिक Bitwarden apps और browser extensions इसके साथ काम करते हैं। इसके लिए 100–200 MB RAM और न के बराबर disk space की आवश्यकता होती है। ध्यान दें: यह सर्वर आपके सभी पासवर्ड सुरक्षित रखता है, इसलिए TLS और backups यहाँ अनिवार्य हैं; ये ही इसकी मुख्य विशेषता हैं। ADMIN_TOKEN को Argon2 hash के रूप में सेट करें, क्योंकि compose file में plaintext token का होना एक master key को cleartext में रखने जैसा है। Vaultwarden password manager गाइड आपका पहला self-host प्रोजेक्ट शुरू करने के लिए सबसे अच्छा विकल्प है।

मीडिया

  • Jellyfin Plex और आपकी अपनी लाइब्रेरी के लिए Netflix की जगह लेता है। यह पूरी तरह से open है, इसमें किसी account की आवश्यकता नहीं है और remote streaming के लिए कोई paywall नहीं है। idle रहने पर 1–2 GB RAM का बजट रखें, लेकिन transcode करते समय CPU पर भारी लोड पड़ता है। समस्या यह है: 4K stream की software transcoding एक छोटे VPS को गर्म कर देगी; या तो box को hardware acceleration दें या अपनी फाइलों को ऐसे format में रखें जिसे आपके clients सीधे चला सकें (Direct Play), ताकि सर्वर केवल bytes को आगे भेजे। Jellyfin media server on a VPS गाइड यह बताती है कि क्या क्या है। एक बार जब यह चल जाता है, तो Halcyon उसी लाइब्रेरी को ब्राउज़र में 90 के दशक के रेंटल स्टोर जैसा बना देता है। यह मेरे द्वारा जाना गया सबसे अनोखा और प्रभावी तरीका है जिससे घर के लोग सब कुछ स्क्रॉल करने के बजाय शेल्फ ब्राउज़ करने लगते हैं।
  • Navidrome आपके अपने संगीत के लिए Spotify की जगह लेता है और किसी भी Subsonic-compatible app पर stream करता है। 150–300 MB RAM का बजट रखें, यह Go में लिखा गया है और बहुत कम संसाधन लेता है। समस्या यह है: पहली बार लाइब्रेरी स्कैन करने पर हर फाइल के tags पढ़े जाते हैं और एक बड़े collection पर इसमें एक घंटा लग सकता है। यदि ID3 tags खराब होंगे, तो browsing का अनुभव भी खराब होगा।
  • Audiobookshelf Audible और आपके podcast app की जगह लेता है, जो सभी devices पर playback position को sync रखता है। 200–500 MB RAM का बजट रखें। समस्या यह है: यह हर किताब के लिए एक अलग folder के सख्त layout की अपेक्षा करता है। एक अव्यवस्थित import folder से एक बिखरी हुई और आधी-अधूरी लाइब्रेरी बनती है जिसे बाद में ठीक करना बहुत थकाऊ काम है।

ऑटोमेशन और AI

  • n8n विज़ुअल वर्कफ़्लो बिल्डर के साथ Zapier और Make की जगह लेता है, जिसे आप स्वयं होस्ट करते हैं और इसमें प्रति-टास्क कोई बिलिंग नहीं होती है। इसके लिए 400 MB से 1 GB RAM का बजट रखें। मुख्य सावधानी: n8n पहली बार चलने पर एक की (key) जनरेट करता है जिससे स्टोर किए गए क्रेडेंशियल्स एन्क्रिप्ट होते हैं। यदि आप वह की खो देते हैं, या N8N_ENCRYPTION_KEY सेट करना भूल जाते हैं और इसे फिर से जनरेट होने देते हैं, तो सभी सेव किए गए क्रेडेंशियल्स अपठनीय हो जाएंगे और आपको उन्हें फिर से डालना होगा। HTTPS के साथ self-hosted n8n गाइड में की (key) को पिन करने और webhook URLs के सामने एक वास्तविक सर्टिफिकेट लगाने की प्रक्रिया दी गई है।
  • Ollama स्थानीय और निजी LLM इन्फरेंस के लिए ChatGPT सब्सक्रिप्शन की जगह लेता है। मॉडल के अनुसार बजट तय करें: एक 7–8B मॉडल के लिए लगभग 8 GB RAM की आवश्यकता होती है, और प्रत्येक मॉडल डिस्क पर 4–8 GB जगह लेता है। मुख्य सावधानी: केवल CPU वाले VPS पर, इन्फरेंस सटीक तो होता है लेकिन धीमा होता है। यह होस्टेड API की तरह तुरंत जवाब नहीं देता, बल्कि प्रति सेकंड कुछ शब्द ही प्रोसेस कर पाता है, इसलिए अपनी अपेक्षाएं सीमित रखें या GPU वाला सर्वर किराए पर लें। LLM को self-host करने के लिए Ollama चलाएं गाइड में यथार्थवादी आंकड़े दिए गए हैं।

संचार

  • Rocket.Chat टीम के लिए Slack की जगह लेता है, जिसमें थ्रेड्स, कॉल्स और इंटीग्रेशन की सुविधा है। इसके लिए कम से कम 2 GB RAM आवंटित करें, क्योंकि यह MongoDB पर चलता है और वह काफी भारी संसाधन लेता है। ध्यान देने योग्य बात: Rocket.Chat हर release के साथ एक विशिष्ट MongoDB major version को अनिवार्य करता है, और upgrade के दौरान किसी version को छोड़ने से आपका database अटक सकता है, इसलिए एक बार में एक ही step आगे बढ़ें। Rocket.Chat with Docker Compose गाइड आपको version के अनुसार upgrade करने की प्रक्रिया समझाती है।
  • Matrix (Synapse) एक federated, end-to-end-encrypted नेटवर्क के साथ Slack और Discord की जगह लेता है, जहाँ आपका homeserver आपके नियंत्रण में होता है। इसके लिए 1–2 GB RAM का बजट रखें, जो बड़े public rooms में शामिल होने पर बढ़ सकता है। ध्यान देने योग्य बात: बड़े federated rooms पर Synapse की memory खपत काफी बढ़ जाती है, और इसे PostgreSQL पर चलना चाहिए; डिफ़ॉल्ट SQLite केवल single-user परीक्षण के लिए है और federation शुरू होते ही यह काम करना बंद कर देता है। यदि Synapse भारी लगता है, तो हल्के Conduit या Dendrite सर्वर का उपयोग करें, जो समान protocol का समर्थन करते हैं।

नेटवर्किंग और एक्सेस

  • WireGuard एक कमर्शियल VPN की जगह लेता है, जो आपको आपके अपने IP और अन्य सेवाओं के लिए एक निजी टनल प्रदान करता है। इसका बजट लगभग नगण्य है, यह 50 MB से कम जगह लेता है और इसका क्रिप्टो kernel में चलता है। ध्यान दें: container-आधारित वर्चुअलाइजेशन (OpenVZ, कुछ LXC) पर यह मॉड्यूल RTNETLINK answers: Operation not supported के साथ विफल हो जाता है; इसके लिए आपको KVM की आवश्यकता होगी। self-hosted WireGuard VPN गाइड एक संदर्भ है, और इसे टनल से जुड़ी सेवाओं के साथ जोड़ना ही वह तरीका है जिससे आप चीजों को पूरी तरह से सार्वजनिक इंटरनेट से दूर रख सकते हैं। यदि आप प्रत्येक नए डिवाइस के लिए peer कॉन्फ़िगरेशन को मैन्युअल रूप से संपादित नहीं करना चाहते हैं, तो running a Tailscale subnet router on the VPS इसके बजाय उस पूरी निजी रेंज को आपकी अन्य मशीनों के लिए उपलब्ध करा देता है, बशर्ते आप रूट को approve करें और IP forwarding को रीबूट के बाद भी सक्रिय रखें।
  • Traefik मैन्युअल रूप से लिखे गए nginx वर्चुअल होस्ट और सर्टिफिकेट रिन्यूअल की जगह लेता है, यह Docker labels के माध्यम से आपके कंटेनरों को खोजता है और स्वचालित रूप से Let's Encrypt सर्टिफिकेट प्राप्त करता है। इसका बजट लगभग 100 MB RAM है। ध्यान दें: label-आधारित कॉन्फ़िगरेशन मॉडल शुरुआत में काफी भ्रमित करने वाला हो सकता है, और एक भी गलत लेबल होने पर ऐप बिना किसी स्पष्ट त्रुटि के अनरूटेड रह जाता है। Traefik reverse proxy for multiple Docker apps गाइड विशेष रूप से इस पेज पर मौजूद कई ऐप्स को एक ही एंट्री पॉइंट के पीछे चलाने के लिए बनाई गई है।
  • AdGuard Home एक Pi-hole बॉक्स और पेड DNS फिल्टरिंग की जगह लेता है, जो आपके नेटवर्क के हर डिवाइस के लिए DNS स्तर पर विज्ञापनों और ट्रैकर्स को ब्लॉक करता है। इसका बजट 100–150 MB RAM है। ध्यान दें: यह port 53 का उपयोग करना चाहता है, जो Ubuntu पर systemd-resolved के साथ टकराता है, और जब तक आप पहले उस पोर्ट को खाली नहीं करते, यह listen udp 0.0.0.0:53: bind: address already in use के साथ शुरू होने में विफल रहता है।

Monitoring

  • Uptime Kuma Pingdom, UptimeRobot और StatusPage की जगह एक साफ-सुथरे डैशबोर्ड और लगभग किसी भी चैनल पर अलर्ट भेजने की सुविधा के साथ आता है। इसके लिए 150–300 MB RAM का बजट रखें। इसमें एक महत्वपूर्ण बात है जिसे लोग अक्सर नजरअंदाज कर देते हैं: अपने प्रोडक्शन सर्वर को किसी दूसरे सर्वर से मॉनिटर करें। यदि Uptime Kuma उसी सर्वर पर चल रहा है जिसे वह मॉनिटर कर रहा है, तो वह सर्वर के डाउन होने पर आपको सूचित नहीं कर पाएगा। Uptime Kuma status monitoring गाइड में इसे बाहरी सर्वर पर रखने की जानकारी दी गई है।
  • Zabbix Datadog और एंटरप्राइज मॉनिटरिंग सुइट्स का विकल्प है, जो एजेंट-आधारित मेट्रिक्स, ट्रिगर्स और हिस्ट्री की गहरी जानकारी देता है। इसके लिए 2 GB RAM या उससे अधिक और अपने स्वयं के डेटाबेस का बजट रखें। इसमें ध्यान देने वाली बात यह है कि Zabbix बहुत शक्तिशाली है और इसे सेट अप करना काफी जटिल है; तीन कंटेनरों की निगरानी के लिए यह जरूरत से ज्यादा है, लेकिन सर्वर के एक बड़े समूह (fleet) के लिए यह सही टूल है। शुरुआत Uptime Kuma से करें; जब आपके पास मॉनिटर करने के लिए वास्तविक इंफ्रास्ट्रक्चर हो, तब Zabbix monitoring server पर शिफ्ट हों।

Prometheus और Grafana को जानबूझकर इस सूची में शामिल नहीं किया गया है: ये फ्लीट-स्केल टूलिंग के लिए बेहतरीन हैं, लेकिन दो या तीन सर्वरों के पर्सनल स्टैक के लिए इन्हें चलाना और ट्यून करना बहुत भारी पड़ता है। इस स्तर पर Uptime Kuma और Zabbix कम रखरखाव के साथ वही परिणाम देते हैं।

Dashboards और control panels

ये पूरे मॉडल को बदल देते हैं, compose files को मैन्युअल रूप से चलाने के बजाय, एक पैनल आपके लिए apps को मैनेज करता है।

  • Cloudron "काश यह one-click होता" वाली इच्छा को एक बेहतरीन app store, automatic TLS और इन-बिल्ट backups के साथ पूरा करता है। कम से कम 2 GB RAM का बजट रखें, 4 GB आरामदायक है। इसकी सीमा यह है कि यह काफी opinionated है और पूरे सर्वर का नियंत्रण चाहता है, साथ ही यह केवल दो apps तक मुफ्त है, उसके बाद यह एक paid product है।
  • CasaOS एक अव्यवस्थित homelab dashboard को एक friendly app grid से बदल देता है, जो मुफ्त और हल्का है। CasaOS के लिए लगभग 150 से 300 MB RAM का बजट रखें। इसकी सीमा यह है कि इसे एक trusted home network के लिए डिज़ाइन किया गया है और यह public internet के लिए सुरक्षित नहीं है, इसे सीधे expose न करें; इसे WireGuard के माध्यम से एक्सेस करें।
  • Coolify Heroku, Vercel और Netlify की जगह लेता है, जो आपके अपने सर्वर पर git-push deployments, databases और previews की सुविधा देता है। कम से कम 2 GB RAM का बजट रखें। इसकी सीमा यह है कि यह एक नया project है जो तेजी से विकसित हो रहा है, इसलिए versions को pin करें और upgrade करने से पहले release notes जरूर पढ़ें। Cloudron बनाम CasaOS बनाम Coolify तुलना यह स्पष्ट करती है कि तीनों में से कौन सा विकल्प किसके लिए उपयुक्त है।

डेवलपर और उत्पादकता उपकरण

  • Gitea (या Forgejo) निजी रिपॉजिटरी, इश्यू और CI के लिए GitHub का स्थान लेता है। इसके लिए 200–500 MB RAM का बजट रखें। ध्यान दें: Forgejo, Gitea का कम्युनिटी-गवर्न फोर्क है और आजकल कई लोग इसी की सिफारिश करते हैं; दोनों बेहतरीन हैं, लेकिन किसी एक को चुनें और रिपॉजिटरी तथा डेटाबेस का बैकअप एक साथ लें। डेटाबेस के बिना लिया गया रिपो बैकअप सभी इश्यू और पुल रिक्वेस्ट को खो देता है।
  • Paperless-ngx फाइलिंग कैबिनेट और महंगे डॉक्यूमेंट स्कैनर की जगह लेता है। यह हर चीज की OCR करता है ताकि आपके डॉक्यूमेंट सर्च करने योग्य बन जाएं। इसके लिए लगभग 1 GB RAM का बजट रखें, OCR के दौरान CPU का उपयोग बढ़ सकता है। ध्यान दें: OCR के परिणाम आपके स्कैन की गुणवत्ता पर निर्भर करते हैं। बड़े आर्काइव को दोबारा प्रोसेस करना धीमा होता है, इसलिए दस साल के कागजात बल्क-इंपोर्ट करने से पहले इसे ट्यून कर लें।
  • Actual Budget YNAB और Mint की जगह तेज, स्थानीय और निजी एनवेलप बजटिंग प्रदान करता है। इसके लिए लगभग 150 MB RAM का बजट रखें। ध्यान दें: ऑटोमैटिक बैंक सिंक एक अलग ऐड-ऑन है जिसे अलग से सेटअप करना पड़ता है, इसलिए शुरुआत में आपको ट्रांजेक्शन मैन्युअल रूप से इंपोर्ट करने होंगे।
  • FreshRSS Feedly और बंद हो चुके Google Reader की जगह एक तेज और निजी फीड रीडर है, जिसमें मोबाइल ऐप्स भी उपलब्ध हैं। इसके लिए लगभग 150 MB RAM का बजट रखें। ध्यान दें: क्रॉन-आधारित (cron-based) फीड रिफ्रेश सेटअप करें, अन्यथा फीड तभी अपडेट होंगे जब आप पेज खोलेंगे।
  • BookStack डॉक्यूमेंटेशन के लिए Notion और Confluence की जगह लेता है, जिसे शेल्फ, बुक और पेज के रूप में व्यवस्थित किया जाता है। इसके लिए PHP और MySQL पर लगभग 500 MB RAM का बजट रखें। ध्यान दें: यह कंटेंट को फ्री-फॉर्म नोट्स के बजाय अपने तरीके से व्यवस्थित करता है। कुछ लोगों को यह पसंद आता है और कुछ को यह कठोर लगता है, इसलिए अपनी पूरी विकी को इसमें डालने से पहले इसे आजमा कर देखें।
  • Home Assistant SmartThings और दर्जनों वेंडर ऐप्स की जगह लेता है, जो आपके स्मार्ट होम को स्थानीय रूप से एकीकृत करता है। इसके लिए लगभग 1 GB RAM का बजट रखें। ध्यान दें: इसके अधिकांश फीचर्स को आपके डिवाइस तक स्थानीय नेटवर्क एक्सेस की आवश्यकता होती है, इसलिए यह रिमोट VPS के बजाय घर पर मौजूद हार्डवेयर पर बेहतर काम करता है। डैशबोर्ड को रिमोटली चलाएं और यदि आवश्यक हो तो ब्रिज का उपयोग करें।

एक प्रतिनिधि इंस्टॉलेशन

इसे स्पष्ट करने के लिए, यहाँ एक self-host का पूरा स्वरूप दिया गया है: एक compose file, एक वास्तविक certificate, और एक backup। यह Uptime Kuma है, लेकिन सूची का हर app इसी पैटर्न का पालन करता है।

services:
  uptime-kuma:
    image: louislam/uptime-kuma:2
    container_name: uptime-kuma
    volumes:
      - ./data:/app/data
    ports:
      - "127.0.0.1:3001:3001"
    restart: unless-stopped
docker compose up -d
docker compose logs -f

127.0.0.1: पर ध्यान दें, app केवल localhost पर listen करता है, और Traefik या nginx जैसा reverse proxy इसके सामने TLS terminate करता है। सीधे 0.0.0.0:3001 पर bind करना वह तरीका है जिससे लोग अनजाने में एक unencrypted admin panel को पूरे इंटरनेट पर प्रकाशित कर देते हैं।

क्या self-host नहीं करना चाहिए (अभी के लिए)

  • Email. यह सबसे ईमानदार सलाह है। अधिकांश VPS प्रदाता outbound port 25 को ब्लॉक रखते हैं, आपको Connection timed out से telnet aspmx.l.google.com 25 तक की समस्या दिखेगी और इसे ठीक करने का कोई तरीका नहीं है, यह उनकी नीति है। भले ही port 25 खुला हो, बिना किसी reputation वाली नई IP, PTR record, SPF, DKIM और DMARC के बिना आपका मेल spam में जाएगा या सीधे reject कर दिया जाएगा। यह एक वास्तविक और निरंतर चलने वाला काम है, न कि सप्ताहांत का कोई छोटा प्रोजेक्ट। यदि आप इसे करने के लिए दृढ़ हैं, तो Mailcow के साथ self-hosted email गाइड का उपयोग करते हुए पूरी जानकारी के साथ आगे बढ़ें, और महीनों तक deliverability की निगरानी करने के लिए तैयार रहें।
  • कोई भी ऐसी चीज़ जिसका आप विश्वसनीय रूप से backup और restore नहीं कर सकते। यदि आपने कभी test restore नहीं किया है, तो आपके पास backup नहीं है, केवल एक उम्मीद है। जब तक restore प्रक्रिया सिद्ध न हो जाए, तब तक अपनी अपूरणीय डेटा, अपनी तस्वीरों की एकमात्र प्रति या अपने accounts को किसी ऐसी service पर न रखें।
  • किसी महत्वपूर्ण dependency की एकमात्र प्रति। एक self-hosted DNS server जो crash होने पर आपके पूरे network का internet बंद कर दे, एक खराब शुरुआती प्रोजेक्ट है। हमेशा एक upstream fallback रखें।
  • Real-time सुरक्षा प्रणालियाँ। घर के अलार्म, medical alerts, या ऐसी कोई भी चीज़ जहाँ पाँच मिनट का downtime भी एक गंभीर समस्या बन सकता है, उसे ऐसे hobby box पर न रखें जिसे आप रविवार की रात को upgrade करते हैं।

अपना पहला ऐप कैसे चुनें, और दो अनिवार्य शर्तें

वह ऐप चुनें जो आपके किसी ऐसे बिल को खत्म करे जिससे आप परेशान हैं या जो आपकी किसी वास्तविक गोपनीयता चिंता को दूर करे। व्यावहारिक रूप से, सबसे पहले इंस्टॉल करने के लिए Vaultwarden और Uptime Kuma सबसे अच्छे हैं: दोनों बहुत छोटे हैं, तुरंत उपयोगी हो जाते हैं, और यदि आपसे कोई गलती हो जाए तो दोनों में सुधार की गुंजाइश रहती है। दूसरा ऐप जोड़ने से पहले एक को पूरी तरह से काम करने दें—इंस्टॉल करें, सर्टिफिकेट लगाएँ, बैकअप लें और रिस्टोर का परीक्षण करें। आप जो कौशल विकसित कर रहे हैं वह ऑपरेशंस का है, न कि केवल इंस्टॉल बटन क्लिक करने का।

ऊपर बताए गए हर एक ऐप के लिए दो चीजें अनिवार्य हैं, जिनमें कोई अपवाद नहीं है:

  1. हर सार्वजनिक सेवा पर TLS का उपयोग करें। बिना TLS वाला, सादे IP पर चलने वाला सर्विस केवल एक डेमो है, डिप्लॉयमेंट नहीं। इसके सामने Certbot and Let's Encrypt on nginx का उपयोग करके एक वास्तविक सर्टिफिकेट लगाएँ, या Traefik को इसे स्वचालित रूप से करने दें। फिर Fail2ban for SSH on Ubuntu 24.04 का उपयोग करके मुख्य द्वार को सुरक्षित करें।
  2. ऐसे बैकअप जिन्हें आपने वास्तव में रिस्टोर करके देखा हो। डेटाबेस और डेटा वॉल्यूम का एक साथ रात में स्वचालित डंप लें, इसे सर्वर से बाहर कहीं और भेजें, और महीने में एक बार इसे किसी अस्थायी VPS पर रिस्टोर करके देखें कि यह काम कर रहा है या नहीं। जिस दिन आपकी डिस्क खराब होगी, उस दिन यह पता चलना कि बैकअप खाली था, बहुत देर हो चुकी होगी।

इन दो चीजों को सही ढंग से करने पर self-hosting एक सुखद अनुभव है। इन्हें नजरअंदाज करना एक बड़ी मुसीबत को न्योता देना है।

विकल्प व्यावहारिक से लेकर बेतुके तक हो सकते हैं, जैसे परिवार के लिए Minecraft server on a VPS से लेकर, यदि आप एक चेतावनी भरी कहानी पढ़ना चाहते हैं, तो the world's least efficient datacenter तक।

FAQ

मुझे सबसे पहले क्या self-host करना चाहिए?

Vaultwarden। एक password manager आपको दैनिक उपयोगिता देता है, एक subscription की आवश्यकता को समाप्त करता है, और आपको पूरा workflow, Docker, reverse proxy, TLS, और backups सीखने के लिए प्रेरित करता है। यह एक छोटा app है जिसे यदि आप खराब कर दें, तो दस मिनट में फिर से बनाया जा सकता है। Uptime Kuma दूसरा बेहतरीन विकल्प है, ताकि आपके उपयोगकर्ताओं को पता चलने से पहले आपको outages की जानकारी मिल जाए।

मुझे वास्तव में कितने VPS की आवश्यकता है?

एक छोटे app के लिए, 1 GB RAM पर्याप्त है। "कुछ चीजें चलाने" के लिए एक आरामदायक सर्वर हेतु 4 GB का लक्ष्य रखें; 2 GB का मध्यम स्तर वह जगह है जहाँ लोग silent Out-Of-Memory container kills का सामना करते हैं और समझ नहीं पाते कि ऐसा क्यों हो रहा है। RAM लगभग हमेशा सीमा होती है; आप जितना डेटा स्टोर करने की योजना बना रहे हैं, उसके अनुसार disk जोड़ें, और Immich, Ollama, तथा किसी भी बड़े database वाले app के लिए अधिक RAM और disk की अपेक्षा रखें।

मुझे क्या self-host नहीं करना चाहिए?

सबसे पहले और सबसे महत्वपूर्ण, Email। अधिकांश providers द्वारा outbound port 25 ब्लॉक किया जाता है और deliverability बनाए रखना एक पूर्णकालिक संघर्ष है। इसके बाद, ऐसी कोई भी चीज जिसे आप विश्वसनीय रूप से backup और restore नहीं कर सकते, और विफलता का कोई भी ऐसा एकल बिंदु (single point of failure) जिसका downtime वास्तविक नुकसान पहुँचाए, जैसे कि बिना किसी fallback वाला DNS server या home safety system। इस सूची में बाकी सब कुछ self-host करने के लिए उपयुक्त है।

क्या मुझे इन सबके लिए Docker की आवश्यकता है?

नहीं, लेकिन आप इसे चाहेंगे। यहाँ मौजूद हर app की एक Docker image है, और Docker आपको clean installs, clean removals, आसान version pinning, और नए host पर portability की सुविधा देता है। यदि आप चाहें, तो कुछ apps (WireGuard, Zabbix) को apt के माध्यम से natively भी install किया जा सकता है। एक बार जब आप एक compose file समझ जाते हैं, तो आप सभी को समझ जाते हैं, यही कारण है कि पूरी सूची सुलभ हो जाती है।

मैं इसे सुरक्षित कैसे रखूँ?

चार आदतें अधिकांश सुरक्षा सुनिश्चित करती हैं: हर चीज के सामने TLS लगाएँ, SSH को केवल key-only login और Fail2ban brute-force प्रयासों को ब्लॉक करने के साथ सुरक्षित रखें, केवल उन्हीं ports को public रूप से expose करें जिनकी वास्तव में आवश्यकता है और बाकी को अपने WireGuard VPN के माध्यम से एक्सेस करें, और नियमित रूप से update करते रहें जबकि release notes भी पढ़ें ताकि कोई upgrade आपको हैरान न करे। Backups पाँचवीं आदत है, जब पहली चार आदतों से कोई गलती हो जाए तो वे ही आपकी recovery का साधन हैं।