3 पॉइंट द्वारा GN⁺ 2025-11-29 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • PocketBase एक ऐसा सिंगल‑फाइल ओपन सोर्स बैकएंड है जिसमें डेटाबेस, प्रमाणीकरण, फ़ाइल स्टोरेज और एडमिन डैशबोर्ड शामिल हैं
  • स्कीमा बिल्डर, डेटा वैलिडेशन, रीयल‑टाइम सब्सक्रिप्शन, REST API को सपोर्ट करने वाला इन‑बिल्ट हाई‑परफॉर्मेंस डेटाबेस स्ट्रक्चर प्रदान करता है
  • ईमेल/पासवर्ड तथा OAuth2 लॉगिन (Google, Facebook, GitHub, GitLab) सपोर्ट करके यूज़र मैनेजमेंट सरल बनाता है
  • फाइलों को लोकल या S3 स्टोरेज में सुरक्षित रूप से सेव किया जा सकता है, और डेटाबेस रिकॉर्ड से मीडिया अटैच करके थंबनेल ऑटोमैटिक जनरेशन किया जा सकता है
  • इसे स्टैंडअलोन ऐप या Go·JavaScript hooks के साथ एक एक्सटेंडेबल फ्रेमवर्क के रूप में प्रयोग करके हल्का, कस्टम बैकएंड बनाना आसान होता है

PocketBase का अवलोकन

  • PocketBase एक single executable से चलने वाला ओपन सोर्स बैकएंड प्लेटफ़ॉर्म है
    • डेटाबेस, प्रमाणीकरण, फाइल स्टोरेजी और एडमिन डैशबोर्ड का एकीकृत सपोर्ट
    • अलग सर्वर सेटअप के बिना जल्दी रन करने वाला स्ट्रक्चर

डेटाबेस फीचर्स

  • इसमें स्कीमा बिल्डर, डेटा वैलिडेशन, रीयल‑टाइम सब्सक्रिप्शन, और REST API सपोर्ट करने वाला built-in डेटाबेस मौजूद है
    • रीयल‑टाइम डेटा परिवर्तन डिटेक्शन और सब्सक्रिप्शन सुविधा उपलब्ध है
    • REST API के जरिए डेटा को आसान तरीके से देखने, बनाने, अपडेट करने और हटाने की सुविधा मिलती है

उपयोगकर्ता प्रमाणीकरण

  • ऐप यूज़र्स के लिए ईमेल/पासवर्ड आधारित लॉगिन उपलब्ध है
  • OAuth2 प्रमाणीकरण से Google, Facebook, GitHub, GitLab अकाउंट्स के साथ साइन‑अप और लॉगिन किया जा सकता है

फाइल स्टोरेज

  • फाइलों को लोकल या S3 स्टोरेज में सुरक्षित रूप से सेव किया जा सकता है
    • डेटाबेस रिकॉर्ड में मीडिया फाइलें अटैच की जा सकती हैं
    • अपलोड के दौरान थंबनेल ऑटोमैटिक जनरेशन फीचर उपलब्ध है

एक्सटेंसिबिलिटी और डेवलपर सपोर्ट

  • PocketBase को standalone application के रूप में या Go और JavaScript hooks के माध्यम से एक framework के तौर पर भी प्रयोग किया जा सकता है
    • डेवलपर्स अपने खुद के लॉजिक को जोड़कर कस्टम बैकएंड बना सकते हैं

JavaScript SDK उदाहरण

  • JavaScript SDK के जरिए PocketBase server के साथ interact किया जा सकता है
    • उदाहरण कोड में example कलेक्शन के रिकॉर्ड की सूची देखना, सिंगल रिकॉर्ड देखना/हटाना/बनाना, तथा real-time subscribe और unsubscribe दिखाए गए हैं
    • pb.collection('example').getList(), getOne(), create(), delete(), subscribe() जैसे methods उपलब्ध हैं

1 टिप्पणियां

 
GN⁺ 2025-11-29
Hacker News राय
  • “SQLite scalable नहीं है” वाली बात ज़्यादातर premature optimization की गलतफ़हमी है
    असल में WAL contention limit से टकराने वाले मामले बहुत कम होते हैं, और single binary की सादगी distributed system की जटिलता से कहीं बेहतर लगती है
    आजकल छोटे प्रोजेक्ट में भी लोग default रूप से DB cluster और Redis cache जोड़ देते हैं, लेकिन Pocketbase दिखाता है कि CRUD ऐप्स के 99% में bottleneck DB नहीं बल्कि network latency और developer का maintenance time होता है

    • ज़्यादातर ऐप्स में तकनीकी bottleneck से बड़ा bottleneck users हासिल करना होता है
    • मैं अपना personal blog सबसे सस्ते DigitalOcean droplet पर चला रहा हूँ और SQLite इस्तेमाल कर रहा हूँ
      Rust CLI benchmark से test किया था, और उसी machine पर यह MySQL या Postgres से बेहतर perform कर रहा था
      इस scale के project के लिए SQLite सबसे सही है
    • लेकिन decimal type की कमी की वजह से financial calculations के लिए SQLite इस्तेमाल करना मुश्किल है
      application side पर सारी calculations संभालनी पड़ती हैं, जो झंझट वाला है
  • Pocketbase दिखते ही मैं तुरंत upvote कर देता हूँ
    मैं इसे कई production apps में इस्तेमाल कर रहा हूँ और यह बहुत stable है
    कभी-कभी breaking changes आते हैं, लेकिन कुल मिलाकर शानदार है और scaling भी अच्छी है
    जब कोई ज़रूरी feature नहीं होता तो थोड़ा पेचीदा हो सकता है, लेकिन experienced developer इसे संभाल सकता है

    • FAQ में यह लाइन मुझे बहुत पसंद है: “अगर आपके पास docs पढ़ने का समय नहीं है और आप सिर्फ AI tools पर निर्भर रहना चाहते हैं, तो Pocketbase मत इस्तेमाल करें”
    • मैं भी यही सोचता हूँ। मैंने इसे JS से extend किया है और यह बहुत अच्छे से काम करता है
      बस developer अकेला है, इसलिए future maintenance को लेकर थोड़ी चिंता रहती है
      फिर भी जब front-end और back-end को अलग रखना हो, तब यह वाकई बहुत अच्छा option है
    • जानना चाहूँगा कि आप Pocketbase पर किस तरह के production apps चला रहे हैं
  • Personal projects और internal tools के लिए मैं Pocketbase बहुत पसंद करता हूँ
    PocketPages के साथ इस्तेमाल करें तो file-based routing और templates आसानी से मिल जाते हैं
    automatic DB migration feature की वजह से schema changes को version control में शामिल किया जा सकता है
    मैंने इसमें Gemini protocol server भी जोड़ा है ताकि Lagrange से अपना personal knowledge graph browse कर सकूँ

    • मैं इसे Raspberry Pi 5 पर host करना चाहता हूँ; performance requirements कैसी हैं, और Supabase के मुकाबले कोई खास limitation है क्या?
    • मुझे नहीं पता Lagrange क्या है। यह LLM या knowledge graph project जैसा नहीं लगता
  • Pocketbase एक backend server है जिसे GUI से configure किया जा सकता है
    यह आपको लगभग बिना code के काम करने वाला backend बनाने देता है, इसलिए prototype, MVP और simple apps के लिए उपयुक्त है
    इस concept को Firebase ने popular बनाया था

    • यह specifically क्या करता है, जानना चाहूँगा
      जो backend मैं लिखता हूँ, उसमें सैकड़ों से हज़ारों lines of code लगती हैं; यह उसे कैसे replace करता है, यह समझना चाहता हूँ
      ऐसे tools से किस range के apps बनाए जा सकते हैं, यह भी जानना चाहता हूँ
    • Homepage के examples देखकर Parse याद आ गया
  • मैंने side project में Pocketbase इस्तेमाल किया था और यह वाकई काफ़ी impressive था
    मैं लंबे समय से Django के साथ काम कर रहा हूँ, लेकिन छोटे और मझोले projects में traditional backend खुद बनाने से Pocketbase कहीं बेहतर fit बैठता है
    अगर कोई सवाल हो तो मैं खुशी से जवाब दूँगा

    • Django का GIS integration शानदार है; Pocketbase का इस मामले में क्या हाल है?
      और क्या यह PostgreSQL support करता है, या सिर्फ SQLite तक सीमित है?
    • यह भी जानना है कि existing SQLite-based backend से migration कितना आसान है
    • मैंने भी इसे personal project में इस्तेमाल किया है, लेकिन LLMs बार-बार Pocketbase के साथ interaction को लेकर confuse हो जाते हैं
      इसलिए मैंने Claude Skill बनाया; क्या किसी और का भी ऐसा अनुभव रहा है?
  • Trailbase इसी concept का Rust implementation है

    • TrailBase का comparison page है
    • Examples में curl commands को omit नहीं किया गया, यह बात मुझे पसंद आई, इसलिए Trailbase के लिए सकारात्मक भावना बनी
    • Pocketbase SQLite पर आधारित है, लेकिन NULLABLE columns support नहीं करता, जो मुझे असुविधाजनक लगा
      इसलिए मैं Trailbase पर चला गया
    • Trailbase endpoint पर JS चला सकता है
      यानी यह पूरी app भी host कर सकता है
      Guide link
    • इन बातों को देखें तो Pocketbase वाला approach ज़्यादा आकर्षक भी लग सकता है
  • मैं Pocketbase को side project की authentication layer के रूप में इस्तेमाल कर रहा हूँ
    यह kavla.dev पर चल रहा है, और इसका hook system शानदार है
    Go event hook docs की मदद से infra automation भी आसानी से implement किया जा सकता है

  • मैंने SQLite और DuckDB से MVP जल्दी बना लिया था, लेकिन बाद में backup और production में ले जाने के चरण में पछतावा हुआ
    लगता है शुरुआत से ही Supabase लिया होता तो ज़्यादा आसान रहता

  • मैंने Pocketbase से OpenSOHO बनाया, और इससे development time काफ़ी बचा
    backend को reusable बनाने के लिए थोड़ा modify किया, लेकिन यह मुश्किल नहीं था
    सिर्फ screenshots देखकर भी Pocketbase की छाप तुरंत दिख जाती है
    GitHub link

  • Pocketbase के SQLite backup को लेकर चिंता थी, इसलिए मैंने खुद sqlrsync.com बनाया, जो running state में भी sqlite3_rsync से backup कर सकता है
    MVP काम कर रहा है, और यह Cloudflare Durable Objects पर आधारित है, इसलिए तेज़ और stable है
    Feedback का स्वागत है

    • मुझे भी SQLite पसंद है। मैं litestream से continuous replication चला रहा हूँ; क्या आप SQLite rsync इस्तेमाल कर रहे हैं?
    • क्या आपने SQLite की online backup API इस्तेमाल की है? Raw file access से बचना बेहतर लग रहा है
    • sqlrsync और litestream में अंतर क्या है, यह जानना चाहूँगा