2 पॉइंट द्वारा GN⁺ 2025-09-04 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • यह ब्लॉग रीसायकल किए गए Google Pixel 5 पर चल रहा है
  • Termux जैसे टूल्स का उपयोग करके मोबाइल डिवाइस पर server environment बनाकर ब्लॉग चलाया गया है
  • 100W solar panel और Jackery 160W power station के संयोजन से यह ब्लॉग पूरी तरह off-grid environment में चलता है
  • ब्लॉग Hugo आधारित है, और package installation व operations automation के साथ file backup/management को ssh, rsync, cron आदि से आसानी से support करता है
  • Android smartphone पर भी यह सामान्य Linux server की तरह स्थिर और तेज़ चलता है, साथ ही power consumption भी कुशल रहता है

परिचय और प्रेरणा

  • यह ब्लॉग केवल Google Pixel 5 और renewable energy (solar power) पर चल रहा है
  • कई Mastodon users को ESP32, Android devices, routers जैसे अनोखे hardware पर खुद वेबसाइट host करते देख कर प्रेरणा मिली
  • कम power consumption पर विचार करते हुए used hardware को नए उपयोग में लाने का यह प्रयोग सीधे शुरू किया गया

हार्डवेयर और नेटवर्क वातावरण

  • उपलब्ध कई devices में से Google Pixel 5 को चुना गया, क्योंकि इसमें wired Ethernet के लिए करीबी समर्थन (USB-OTG और dock support) है और इसे नवीनतम security updates मिल सकते हैं
  • Verizon lock होने की वजह से custom ROM install नहीं किया जा सका, इसलिए Android environment को वैसे ही इस्तेमाल किया गया
  • wireless connection (Wi‑Fi) के बजाय physical wired Ethernet network का उपयोग अनिवार्य माना गया

solar power आधारित off-grid ब्लॉग

  • बिजली के लिए Harbor Freight Tools का 100W monocrystalline solar panel और Jackery 160W power station इस्तेमाल किया गया
  • इस setup से permacomputing (स्थायी रूप से टिकाऊ computing) और renewable energy के प्रयोग का अनुभव जुटाया गया
  • केवल used parts के सहारे स्वतंत्र off-grid website चलाने की संभावना की पुष्टि हुई

साइट सेटअप: Termux और Hugo

  • सामान्य Linux environment बनाने पर विचार किया गया, लेकिन Android terminal emulator Termux और उसके अपने package system का उपयोग किया गया
  • ssh, git, hugo जैसे ज़रूरी packages लंबे समय से Termux repository में मौजूद हैं
  • Hugo को सीधे Termux में install करके मौजूदा Hugo-आधारित ब्लॉग को migrate किया गया

संचालन अनुभव

  • साइट अपेक्षा से अधिक तेज़ और भरोसेमंद चली
  • शुरुआत में Hugo version differences और solar battery management जैसी कुछ छोटी समस्याएँ आईं
  • वातावरण इतना परिपक्व बना कि visitors के लिए यह पहचानना मुश्किल है कि यह Android smartphone पर चल रहा है

सरल सेटअप और प्रबंधन

  • सिर्फ git, screen, text editor और hugo install करके जल्दी server setup किया जा सकता है
  • file upload और नई posting के लिए dufs package (browser-based static file server) या scp का उपयोग किया जा सकता है
  • dufs भी Termux repository से आसानी से install किया जा सकता है

बुनियादी utility package सूची

  • rsync, openssh, git, wget, curl, fish shell, cronie, termux-services, iperf3, speedtest-go, screen, helix, hugo

service automation और SSH access

  • Termux के भीतर service units (sv-enable) के ज़रिए sshd/cronie शुरू किए जाते हैं
  • official documentation के अनुसार ssh public key registration, fixed port (8022), और auto-generated username जैसी बातों पर ध्यान देना ज़रूरी है

Hugo-आधारित ब्लॉग संचालन automation

  • hugo serve command को fish shell alias के रूप में register करके manage किया गया
  • पुरानी screen session बंद करना, cache साफ़ करना, और नई session बनाना जैसी चीज़ों को automation script (~/scripts/blog_reload.sh) से लागू किया गया
  • cronie के जरिए cron job registration (*/5 * * * * ...) से ब्लॉग को समय-समय पर restart और reload किया जाता है

backup और data management

  • Termux पर ssh के माध्यम से remote access लेकर rsync से पूरी directory का backup लिया जा सकता है
  • desktop और NAS के लिए cron-linked automation भी शामिल है
  • अपनी git instance पर अतिरिक्त backup रखा जा सकता है, और Github जैसे दूसरे forge का उपयोग भी स्वतंत्र रूप से किया जा सकता है

समापन और संदेश

  • mobile device और renewable energy को जोड़कर सस्ता, कुशल और पर्यावरण-अनुकूल ब्लॉग संचालन संभव होने का प्रमाण दिया गया
  • संबंधित प्रश्न और feedback Mastodon या email के माध्यम से आमंत्रित हैं

1 टिप्पणियां

 
GN⁺ 2025-09-04
Hacker News टिप्पणियाँ
  • पुराने स्मार्टफ़ोन को infrastructure-light कामों के लिए इस्तेमाल करने का आइडिया मुझे पसंद आया, क्योंकि इसकी बिजली खपत कम है और इसमें बिल्ट-इन UPS भी है (हालाँकि कुछ कमियाँ हैं, लेकिन उन्हें कुछ हद तक संभाला जा सकता है)। मेरे पास भी कुछ पुराने Android डिवाइस हैं और मैं भी ऐसा कोई मज़ेदार प्रयोग करना चाहूँगा। पहले से चल रहे homelab infrastructure में VM या container के ज़रिए आसानी से फ़ंक्शन जोड़े जा सकते हैं, इसलिए बिजली खपत लगभग न के बराबर लग सकती है, लेकिन फिर भी ऐसी कोशिश अपने आप में बहुत बढ़िया है और मैं भी इसे आज़माना चाहूँगा। एक बात को लेकर जिज्ञासा है कि WiFi क्यों नहीं इस्तेमाल किया गया। docking->wired LAN डिवाइस मुझे ऐसा अनावश्यक अतिरिक्त हार्डवेयर लगता है जो बस बिजली खपत बढ़ाता है। पुराने फ़ोन में इतना bandwidth चाहिए होगा, ऐसा नहीं लगता, इसलिए लेखक ने wired LAN पर इतना ज़ोर क्यों दिया, यह जानना चाहता हूँ। वैसे Pixel 5 को भी अब homelab inventory में जोड़ना पड़ेगा। साइट का layout और जानकारी भी बहुत शानदार है
    • मैं भी Pixel 3 को कीबोर्ड के बाएँ तरफ़ magnet से लगाकर इस्तेमाल कर रहा हूँ। उस पर button grid वाली एक webpage खुली रहती है, और बटन दबाने पर cursor की जगह पर timestamp डालना, monitor on/off toggle करना, खास app चलाना जैसी कई चीज़ें करता हूँ। पहले Elgato Stream Deck खरीदना चाहता था, लेकिन एक फ़ालतू फ़ोन पड़ा था, तो उसी का यह उपयोग कर रहा हूँ
    • मैं पुराने mobile डिवाइसों के लिए ऐसा "serverization" kit देखना चाहूँगा। कुछ वैसा जैसा पहले Game Boy Advance के लिए consolizer kit [https://fingercramp.com/portfolio/…] आती थी, जिसमें फ़ोन का mainboard निकालकर उसे external storage, बेहतर power supply, physical network interface वगैरह के साथ expand किया जा सके
    • मैं इस ब्लॉग का लेखक हूँ, धन्यवाद। इस बात से सहमत हूँ कि पहले से चल रहे homelab में VM या container जोड़ने से बिजली खपत नहीं बढ़ती। मैंने यह प्रोजेक्ट मज़े के लिए शुरू किया था, और इसलिए भी कि इसे solar power पर चलाकर देखना चाहता था। मूल योजना यह थी कि रात में homelab बंद कर दूँ और सिर्फ़ फ़ोन को battery पर चलता रहने दूँ, लेकिन अब homelab ज़रूरी infrastructure बन गया है, इसलिए हमेशा चालू रखना पड़ता है। wired LAN की ज़रूरत stable bandwidth की वजह से है। मेरा WiFi network बहुत अच्छा perform नहीं करता
    • WiFi में latency ज़्यादा और अस्थिर होती है। server से निकलने वाली requests में सबसे धीमे 1% को लगभग 1 सेकंड अतिरिक्त लग सकता है। अगर ब्लॉग फ़ोन पर चलाना है, तो मेरा मानना है कि उसे बहुत तेज़ respond करना चाहिए। पुराने Android फ़ोन शायद नए WiFi standards को support न करें, और HN front page का traffic भी शायद संभाल न पाएँ
    • स्मार्टफ़ोन पर WiFi में power-saving फीचर की वजह से बाहर से आने वाले अप्रत्याशित connections की performance बहुत अस्थिर रहती है और latency भी ज़्यादा होती है। शायद kernel parameter से इसे बंद किया जा सके, लेकिन अगर हो भी सके तो rooting करनी पड़ेगी
  • स्मार्टफ़ोन की power efficiency सचमुच दिलचस्प है। आजकल के फ़ोन battery usage के लिए optimized ARM server जैसे हैं। Pixel 5 full load पर भी 5W से कम लेता है, जबकि आम x86 server 50~100W खपत करता है। सिर्फ़ एक personal blog के लिए भी सालाना 400~800kWh की बचत हो सकती है। electronics को recycle करने की तुलना में reuse का पर्यावरण पर असर उम्मीद से बड़ा होता है
    • अगर static site है, तो उसे S3 या Github Pages पर deploy करना कहीं ज़्यादा efficient होगा। जब request नहीं होती, तब resource usage शून्य होता है। घर में static site चलाने के लिए x86 server इस्तेमाल करना बहुत inefficient है
    • x86 को भी low-power setup में चलाया जा सकता है। n100 system idle में 10W से कम और max load पर भी 20-30W के आसपास रहता है
    • 2020 के फ़ोन जितना काम करने के लिए x86 CPU का 50~100W लेना शायद 10 साल पहले की बात थी। कुछ static files host करने के लिए 75W जलाना अब आम नहीं है। फिर भी घर में पड़ा पुराना smartphone किसी ultra-low-power Pi की जगह इस्तेमाल करना अच्छा आइडिया है
    • सालाना 400~800kWh की बचत अमेरिका की औसत बिजली दर (13.2 cent प्रति kWh) पर ज़्यादा से ज़्यादा 105.60 डॉलर, यानी लगभग 8.8 डॉलर प्रति महीना बनती है। यह 1 व्यक्ति वाले household की poverty line (2025 में 15650 डॉलर) का 1% भी नहीं है। energy efficiency अच्छी बात है, लेकिन macro स्तर पर यह बहुत बड़ा फ़र्क नहीं है
  • तकनीकी रूप से यह reused Google Pixel 5 है। इसे पूरी तरह खोलकर फिर से बनाया नहीं गया। Reduce, Reuse, Recycle का क्रम ही पर्यावरण पर असर का क्रम है, और reuse एक स्तर बेहतर है
    • फिर भी अगर कुल मिलाकर दोबारा इस्तेमाल ही है, तो “recycle” कहना भी पूरी तरह ग़लत नहीं है। [https://en.wiktionary.org/wiki/recycle/…]
    • recycle भी व्याकरण की दृष्टि से सही शब्द है। reuse से कोई बड़ा अर्थभेद नहीं है
  • RPi या दूसरे boards के reuse प्रयासों से तुलना करें तो Pixel 5 का उपयोग काफ़ी तर्कसंगत लगता है। प्रदर्शन शायद बेहतर भी हो सकता है, और बिजली की बड़ी खपत तो स्क्रीन ही करती है। मुझे लगता है high-load कामों में heat की समस्या आ सकती है, इसलिए power optimization कैसे किया गया यह जानना दिलचस्प होगा। ब्लॉग में इस्तेमाल होने वाला Hugo, जो Go में बना static site generator है, content serve करने के लिए उपयुक्त लगता है। वैसे मुझे इन दिनों SSG पसंद आने लगे हैं, और मैं Markdown-आधारित blog editor को Tauri/Rust + React/MUI से बनाकर git integration और Cloudflare deployment के साथ तैयार करने की सोच रहा हूँ, लेकिन अभी तक अमल नहीं किया। पहले MS ने GUI blog editor बनाया था, जो अब नहीं है, उसका अफ़सोस है
  • मेरी सबसे बड़ी चिंता यह है कि ‘spicy pillow’ (battery swelling और fire) की समस्या से कैसे बचा जाए। अगर battery के बिना सिर्फ़ USB से इसे चलाया जा सके तो बहुत अच्छा होगा
    • आजकल कुछ फ़ोन में 80% तक charge limit का विकल्प भी मिलता है। अगर नहीं है, तो smart plug और timer, या IFTTT के ज़रिए battery level के हिसाब से power को अपने-आप control किया जा सकता है। जैसे 40% से नीचे जाने पर चालू हो, और 60% से ऊपर पहुँचने पर बंद हो जाए
    • सबसे परेशान करने वाली बात यह है कि battery cell निकालकर BMS में सीधे power देने पर भी Android कुछ समय बाद “battery खत्म हो गई” कहकर shutdown कर सकता है। इसे रोकने के लिए rooting करनी पड़ती है और यह बहुत झंझट वाला है। अगर wall power सीधे inject हो सके तो यह समस्या भी नहीं रहेगी
    • मैं कई पुराने Android डिवाइसों को USB multi-charger से जोड़कर रखता हूँ, और पूरे charger को ही smart switch में लगाता हूँ ताकि रात में सिर्फ़ कुछ घंटों के लिए charge हो। ROM बदलने और rooting के बाद ACCA app से 80% charge limit सेट कर रखी है। 2015 में आया Samsung Note 5 लगभग आधा साल पहले फूल गया था, लेकिन Samsung S9 और Nokia 6.1 पर LineageOS डालने के बाद वे 6 साल से बिना समस्या चल रहे हैं
    • [https://www.instructables.com/Power-an-Android-Phone-Without-Battery/] जैसी विधि देखी जा सकती है, और model-specific fake battery भी online खरीदी जा सकती है
    • बस इसे किसी fireproof box में रख दो, और खराब हो जाए तो नया रख दो — यह भी एक तरीका है
  • कहीं न कहीं कोई Google executive शायद सोच रहा होगा, "हम Google डिवाइसों को इस तरह reuse करने की इजाज़त क्यों देते हैं, क्या यहाँ ads लगाने का कोई तरीका नहीं है?"
  • यह टिप्पणी मैं अभी भी अच्छी हालत वाले Pixel 5 से भेज रहा हूँ। यह मेरे इस्तेमाल का सबसे अच्छा फ़ोन है। सही आकार, पीछे fingerprint sensor वगैरह — सब अच्छा है। इसके बाद आए फ़ोन मुझे बिल्कुल संतोषजनक नहीं लगे
    • मैं भी लगभग 250 डॉलर में refurbished Pixel 5 खरीदकर इस्तेमाल कर रहा हूँ। यह भी मेरे लिए अब तक का सबसे अच्छा फ़ोन है। 2020 का डिज़ाइन सीधा-सादा और उपयोगी था (जैसे in-display fingerprint sensor जैसी दिखावटी चीज़ों से बचा हुआ), इसलिए लंबे समय तक संतुष्टि देता है। आगे भी 2~3 दिन की battery life और photo quality के ‘काफ़ी ठीक’ स्तर की उम्मीद है
    • मेरे Pixel 5 में शायद battery बदलने की ज़रूरत है। अब हालत यह है कि दिन में दो-तीन बार charge करना पड़ता है
    • मेरा भी लगभग यही हाल है। मैं iPhone SE2 को उसके आख़िरी दम तक इस्तेमाल करने वाला हूँ (एक ही दौर का, समान आकार, वज़न, Touch ID वगैरह)
  • ऐसी setup में DNS कैसे संभाला जाता है, यह जानने की जिज्ञासा है। आम तौर पर ISP घर के connection पर server चलाना पसंद नहीं करते होंगे
    • असली समस्या NAT है। मैं tailscale से जुड़ा यह issue [https://github.com/tailscale/tailscale/issues/11563] track कर रहा हूँ। इसके अलावा ISP से सीधे बात करके (या competitor के पास जाकर) थोड़ा अतिरिक्त शुल्क देकर (जैसे +5 euro/month) static IP लेना भी एक तरीका है। इससे दोस्त के साथ Factorio multiplayer भी चल सकता है
    • ज़्यादातर ISP तकनीकी रूप से ‘dynamic’ IP देते हैं, लेकिन वे शायद ही बदलते हैं। मेरे मामले में साल में एक बार random तरीके से बदलता है, और तब मैं DNS manually update कर देता हूँ। automation भी किया जा सकता है, लेकिन इतनी कम ज़रूरत पड़ती है कि मैं manual ही करता हूँ। ISP को शायद तभी फ़र्क पड़ेगा जब upload traffic लगातार saturate हो, और Comcast/XFinity जैसी जगहों पर upload/download asymmetry बहुत ज़्यादा होती है, यह ध्यान रखना चाहिए
    • dynamic DNS solutions की कई किस्में हैं। TP-link वगैरह में तो app से आसानी से setup किया जा सकता है
    • मैं 2.5 gigabit internet इस्तेमाल करता हूँ, फिर भी static IP नहीं है। इसकी जगह router पर script चलती है जो IP बदलते ही DNS settings update कर देती है। अगर DNS provider ttl बदलने देता हो, तो इसे automate किया जा सकता है
  • संबंधित लिंक: [https://fairphone.com/en/2024/…]
  • उhm, यह मेरा ब्लॉग है। मैं बस इधर-उधर की चीज़ें लिखने वाला एक सामान्य इंसान हूँ, लेकिन ऐसा लग रहा है जैसे मुझे कुएँ से बाहर उछाल दिया गया हो। HN account भी आज ही पहली बार बनाया। सवालों के जवाब में: 1) अब भी Pixel पर ही ब्लॉग चला रहा हूँ। बदलने की कोई वजह नहीं 2) इसे घर के internet पर इसलिए रखा क्योंकि शुरू से लगा था कि traffic लगभग नहीं आएगा 3) मैं बस weekday शामों में घर पर तरह-तरह के प्रयोग करने वाला इंसान हूँ, industry में काम नहीं करता। असल में मैं construction contracting company का मालिक हूँ
    • तुम्हारा सोचने का तरीका engineer जैसा है, इसलिए लगता है तुम यहाँ अच्छी तरह फिट हो जाओगे। मैंने ब्लॉग की दूसरी posts भी देखीं, उनमें काफ़ी दिलचस्प चीज़ें हैं, और layout भी पढ़ने में आसान है, इसलिए फिर से आऊँगा। “I want to be alone” वाला post भी HN पर लोकप्रिय था
    • पढ़ने में मज़ा आया। एक सवाल है: सिर्फ़ hugo serve चलाने के बजाय, hugo से files build करके nginx जैसे web server का इस्तेमाल क्यों नहीं किया?