SSD Nodes Learn Hosting plans →
गाइड Matt Connorलेखक: Matt Connor

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

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

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

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

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

पूर्वापेक्षाएँ और वास्तविक स्थिति

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

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

यदि docker कमांड permission denied while trying to connect to the Docker daemon socket के साथ विफल हो जाते हैं, तो आपने group स्टेप को छोड़ दिया है या नया shell ओपन नहीं किया है; लॉग आउट करके पुनः लॉग इन करें। यदि docker compose का आउटपुट docker: 'compose' is not a docker command आता है, तो आपके पास पुराना standalone binary है; ऊपर दी गई स्क्रिप्ट आधुनिक Compose plugin इंस्टॉल करती है, जिसे आप docker compose (हाइफ़न के बजाय स्पेस) के रूप में कॉल करते हैं।

तीन वास्तविकताएँ नीचे दी गई हर चीज़ का आधार तय करती हैं। पहला, RAM एक बाधा है, डिस्क या CPU नहीं। 1 GB का VPS केवल एक छोटा ऐप चला सकता है, उससे अधिक नहीं। "कुछ चीज़ों को self-host करने" के लिए 4 GB का सर्वर सबसे उपयुक्त है। 2 GB एक कठिन स्थिति है जहाँ एक शुरुआती उपयोगकर्ता तीसरी सर्विस जोड़ता है, और फिर silent Out-Of-Memory kill का शिकार हो जाता है। उसे कभी पता नहीं चलता कि container अचानक गायब क्यों हो गया, sudo dmesg वह Out of memory: Killed process लाइन दिखाता है जिसे daemon ने निगल लिया था। दूसरा, किसी भी public सर्विस के लिए एक नाम और certificate की आवश्यकता होती है; एक bare IP केवल टेस्टिंग के लिए काम करता है, लेकिन जैसे ही आप चाहते हैं कि कोई फोन ऐप या ब्राउज़र उस पर भरोसा करे, यह विफल हो जाता है। तीसरा, दो ports आपके आधे विकल्पों का निर्णय करते हैं: मानक HTTP-01 certificate challenge के लिए inbound 80 का सर्वर तक पहुँचना आवश्यक है (DNS-01 challenge इसे छोड़ देता है क्योंकि यह DNS record के माध्यम से नियंत्रण साबित करता है, जो तब उपयोगी होता है जब 80 बंद हो), और outbound 25 को अधिकांश प्रदाता ब्लॉक कर देते हैं, यही कारण है कि ईमेल को अंत में "न करें" (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 की जगह लेता है, जिसमें फोन ऐप भी शामिल है जो आपके कैमरा रोल को ऑटो-अपलोड करता है और चेहरे व वस्तुओं की खोज की सुविधा देता है। 6 GB RAM का बजट रखें, Immich के दस्तावेज़ इसे न्यूनतम बताते हैं, 8 GB आरामदायक है, और मशीन-लर्निंग कंटेनर सबसे अधिक संसाधन लेता है। डिस्क स्पेस आपकी लाइब्रेरी के आकार का और थंबनेल के लिए लगभग बीस प्रतिशत अतिरिक्त होना चाहिए। सावधानी: Immich ने अक्टूबर 2025 में अपने पहले स्टेबल रिलीज़ v2.0.0 के बाद से सिमेंटिक वर्ज़निंग का पालन किया है, जो मेजर वर्ज़न के लिए ब्रेकिंग बदलावों को सुरक्षित रखता है। यह v3 पर आगे बढ़ चुका है, इसलिए कभी भी आँख बंद करके latest न करें, क्योंकि यह आपको सीधे अगले मेजर वर्ज़न पर ले जाएगा; एक वर्ज़न पिन करें और हर अपग्रेड से पहले रिलीज़ नोट्स पढ़ें। self-hosted Immich photo library गाइड सुरक्षित अपग्रेड पाथ को कवर करती है। यदि 6 GB की न्यूनतम आवश्यकता आपके सर्वर की क्षमता से अधिक है, तो PhotoPrism and Immich side by side गाइड वास्तविक मेमोरी उपयोग, फोन ऐप्स और बैकअप कमांड्स की तुलना करती है, ताकि आप किसी एक को चुनने से पहले निर्णय ले सकें।
  • Seafile ड्रॉपबॉक्स की जगह लेता है और इन तीनों में सबसे तेज़ सिंक इंजन है। लगभग 1 GB RAM का बजट रखें। सावधानी: Seafile आपकी फाइलों को कंटेंट-एड्रेस्ड ब्लॉक्स के रूप में स्टोर करता है, न कि डिस्क पर सामान्य फाइलों के रूप में, इसलिए आप ls के साथ डेटा ब्राउज़ नहीं कर सकते और आपको बैकअप Seafile के अपने टूल्स के माध्यम से ही लेना होगा, न कि केवल फोल्डर कॉपी करके।

पासवर्ड

  • Vaultwarden Bitwarden के पेड टियर, LastPass और 1Password की जगह एक छोटे Rust सर्वर के रूप में काम करता है। यह Bitwarden प्रोटोकॉल का उपयोग करता है, इसलिए सभी आधिकारिक Bitwarden ऐप्स और ब्राउज़र एक्सटेंशन इसके साथ काम करते हैं। इसके लिए 100–200 MB RAM और न के बराबर डिस्क स्पेस की आवश्यकता होती है। ध्यान देने वाली बात यह है कि इस सर्वर में आपके सभी पासवर्ड सुरक्षित रहते हैं, इसलिए TLS और बैकअप अनिवार्य हैं। इसके अलावा, ADMIN_TOKEN को Argon2 हैश के रूप में सेट करें, क्योंकि आपके compose फ़ाइल में मौजूद प्लेनटेक्स्ट टोकन आपके सर्वर के एडमिन पैनल का पासवर्ड होता है। यह पैनल सभी उपयोगकर्ताओं की सूची रखता है और सर्वर सेटिंग्स को बदल सकता है, इसलिए इसे फ़ाइल पढ़ने वाले किसी भी व्यक्ति के लिए स्पष्ट (cleartext) रूप में न छोड़ें। Vaultwarden पासवर्ड मैनेजर गाइड आपका पहला 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 के साथ संग्रहीत क्रेडेंशियल्स को एन्क्रिप्ट करता है। यदि आप वह key खो देते हैं, या N8N_ENCRYPTION_KEY को सेट करना भूल जाते हैं और इसे फिर से उत्पन्न होने देते हैं, तो सभी सहेजे गए क्रेडेंशियल्स अपठनीय हो जाएंगे और आपको उन्हें फिर से दर्ज करना होगा। HTTPS के साथ self-hosted n8n गाइड में key को पिन करने और webhook URLs के सामने एक वास्तविक certificate लगाने की प्रक्रिया दी गई है।
  • Ollama स्थानीय और निजी LLM इन्फरेंस के लिए ChatGPT सब्सक्रिप्शन का विकल्प है। मॉडल के अनुसार RAM आवंटित करें: एक 7–8B मॉडल को लगभग 8 GB RAM की आवश्यकता होती है। डिस्क पर इसका आकार क्वांटाइजेशन पर निर्भर करता है, जो सामान्य 4-bit डाउनलोड के लिए लगभग 4 से 5 GB और पूर्ण-सटीक fp16 बिल्ड के लिए 13 GB या उससे अधिक होता है। ध्यान दें: केवल CPU वाले VPS पर, इन्फरेंस सटीक तो होता है लेकिन धीमा होता है; यह होस्टेड API की तरह त्वरित उत्तर नहीं देता, बल्कि शब्दों की गति से चलता है। इसलिए अपनी अपेक्षाएं सीमित रखें या GPU बॉक्स किराए पर लें। LLM को self-host करने के लिए Ollama चलाएं गाइड में यथार्थवादी आंकड़े दिए गए हैं।

Communication

  • Rocket.Chat टीम के लिए Slack की जगह लेता है, जिसमें थ्रेड्स, कॉल्स और इंटीग्रेशन की सुविधा है। इसके लिए कम से कम 2 GB RAM आवंटित करें, क्योंकि यह MongoDB पर चलता है जो काफी भारी संसाधन लेता है। ध्यान देने वाली बात: प्रत्येक Rocket.Chat major release केवल MongoDB के कुछ सीमित वर्ज़न को ही सपोर्ट करता है (8.x को MongoDB 8.0 या उससे नए वर्ज़न की आवश्यकता होती है, जबकि 7.x वर्ज़न 6.0 या 7.0 पर चलता था)। Rocket.Chat के अपने अपग्रेड दिशानिर्देशों के अनुसार, major versions को क्रम से अपग्रेड करना आवश्यक है; किसी एक वर्ज़न को छोड़ने से आपका डेटाबेस फंस सकता है, इसलिए एक बार में एक ही स्टेप आगे बढ़ें। Rocket.Chat with Docker Compose गाइड आपको वर्ज़न अपग्रेड की प्रक्रिया समझाती है।
  • Matrix (Synapse) एक फेडरेटेड, एंड-टू-एंड-एन्क्रिप्टेड नेटवर्क के साथ Slack और Discord की जगह लेता है, जहाँ आपका अपना homeserver होता है। इसके लिए 1–2 GB RAM आवंटित करें, जो बड़े पब्लिक रूम्स में शामिल होने पर बढ़ सकती है। ध्यान देने वाली बात: बड़े फेडरेटेड रूम्स में Synapse का मेमोरी उपयोग बहुत बढ़ जाता है, और इसे PostgreSQL पर चलना अनिवार्य है। डिफ़ॉल्ट SQLite केवल सिंगल-यूज़र टेस्ट के लिए है और फेडरेशन शुरू होते ही यह क्रैश हो जाता है। यदि Synapse भारी लगता है, तो Conduit या Dendrite जैसे हल्के सर्वर का उपयोग करें जो समान प्रोटोकॉल का समर्थन करते हैं।

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

  • 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 कम रखरखाव के साथ वही परिणाम देते हैं।

डैशबोर्ड और कंट्रोल पैनल

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

  • Cloudron "काश यह वन-क्लिक होता" वाली इच्छा को एक बेहतरीन ऐप स्टोर, ऑटोमैटिक TLS और इन-बिल्ट बैकअप के साथ पूरा करता है। कम से कम 2 GB RAM रखें, 4 GB आरामदायक है। इसकी सीमा यह है कि यह बहुत सख्त है और पूरे सर्वर का नियंत्रण चाहता है। यह एक नए Ubuntu सर्वर पर अपने स्वयं के cloudron-setup स्क्रिप्ट के साथ इंस्टॉल होता है, न कि कंटेनर के रूप में। इसके डॉक्यूमेंटेशन के अनुसार यह ARM, LXC, Docker और OpenVZ होस्ट पर नहीं चलता है। यह केवल दो ऐप्स तक मुफ्त है, उसके बाद यह एक पेड प्रोडक्ट है।
  • CasaOS एक अव्यवस्थित होमलैब डैशबोर्ड को एक फ्रेंडली ऐप ग्रिड से बदल देता है, जो मुफ्त और हल्का है। यह होस्ट पर अपनी स्क्रिप्ट (curl -fsSL https://get.casaos.io | sudo bash) के साथ इंस्टॉल होता है, न कि कंटेनर के रूप में, और फिर आपके ऐप्स को Docker में चलाता है। CasaOS के लिए लगभग 150 से 300 MB RAM का बजट रखें। इसकी सीमा यह है कि इसे एक भरोसेमंद होम नेटवर्क के लिए डिज़ाइन किया गया है और यह पब्लिक इंटरनेट के लिए सुरक्षित (hardened) नहीं है। इसे सीधे एक्सपोज़ न करें; इसे WireGuard के माध्यम से एक्सेस करें।
  • Coolify Heroku, Vercel और Netlify की जगह लेता है। यह आपके अपने सर्वर पर git-push डिप्लॉयमेंट, डेटाबेस और प्रीव्यू की सुविधा देता है। कम से कम 2 GB RAM का बजट रखें। इसकी सीमा यह है कि यह एक नया प्रोजेक्ट है जो तेजी से विकसित हो रहा है, इसलिए वर्ज़न पिन करें और अपग्रेड करने से पहले रिलीज़ नोट्स पढ़ें। 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 का बजट रखें। ध्यान दें: ऑटोमैटिक बैंक सिंक इसमें इन-बिल्ट है लेकिन वैकल्पिक है, और यह तभी काम करता है जब आप SimpleFIN Bridge या Enable Banking जैसे क्षेत्रीय प्रदाता के साथ साइन अप करें और अपनी API क्रेडेंशियल्स जोड़ें, अन्यथा शुरुआत में आपको ट्रांजेक्शन मैन्युअल रूप से इंपोर्ट करने होंगे।
  • 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 तक की समस्या दिखेगी और इसे आप अपनी तरफ से ठीक नहीं कर सकते, क्योंकि यह प्रदाता की नीति है। कुछ प्रदाता अनुरोध करने पर इसे हटा देते हैं (जैसे AWS, जो प्रतिबंध हटाने का अनुरोध स्वीकार करता है), लेकिन यह एक प्रक्रिया है, कोई बटन नहीं। भले ही port 25 खुला हो, बिना किसी reputation, PTR record, SPF, DKIM और DMARC वाली नई IP से भेजा गया मेल या तो spam में जाएगा या सीधे reject हो जाएगा। यह एक वास्तविक और निरंतर चलने वाला काम है, न कि सप्ताहांत का कोई प्रोजेक्ट। यदि आप इसे करने के लिए दृढ़ हैं, तो Mailcow के साथ self-hosted email गाइड का उपयोग करें और महीनों तक deliverability की निगरानी करने के लिए तैयार रहें।
  • कोई भी ऐसी चीज़ जिसका आप विश्वसनीय रूप से backup और restore न कर सकें। यदि आपने कभी test restore नहीं किया है, तो आपके पास backup नहीं, केवल एक उम्मीद है। जब तक restore प्रक्रिया सिद्ध न हो जाए, तब तक अपनी अपूरणीय डेटा, अपनी तस्वीरों की एकमात्र प्रति या अपने accounts को किसी ऐसी सेवा पर न रखें।
  • किसी महत्वपूर्ण dependency की एकमात्र प्रति। एक self-hosted DNS सर्वर जो क्रैश होने पर आपके पूरे नेटवर्क का इंटरनेट बंद कर दे, एक बुरा शुरुआती प्रोजेक्ट है। हमेशा एक upstream fallback रखें।
  • Real-time सुरक्षा प्रणालियाँ। होम अलार्म, मेडिकल अलर्ट या ऐसी कोई भी चीज़ जहाँ पाँच मिनट का 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 दूसरा बेहतरीन विकल्प है, ताकि आप अपने users से पहले outages के बारे में जान सकें।

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

एक छोटे app के लिए, 1 GB RAM पर्याप्त है। "कुछ चीजें चलाने" के लिए एक आरामदायक server चाहिए, तो 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। इस सूची की बाकी सभी चीजें आप बेझिझक host कर सकते हैं।

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

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

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

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