9 पॉइंट द्वारा GN⁺ 4 시간 전 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • Chatto समूह·टीम चैट के लिए एक ऐप है, जो Slack·Teams·Discord जैसे ग्रुप चैट ऐप्स जैसा है, लेकिन इसका लक्ष्य ज़्यादा कॉम्पैक्ट और तेज़ उपयोग अनुभव देना है
  • सिर्फ़ executable फ़ाइल से सर्वर चलाया जा सकता है और यह अपना frontend भी देता है, इसलिए इसे निजी infrastructure पर अपेक्षाकृत आसानी से deploy किया जा सकता है
  • हर सर्वर एक ही community को संभालता है, और सर्वरों के बीच federation या third-party tracking·analytics शामिल नहीं हैं
  • व्यक्तिगत और चैट डेटा को प्रति-उपयोगकर्ता keys से स्टोरेज के समय encrypt किया जाता है, और account delete होने पर वह key नष्ट कर दी जाती है
  • यह लगभग पिछले 1 साल से विकसित किया गया समूह·टीम चैट application है, और अब आधिकारिक तौर पर open source हो गया है ताकि कोई भी इसे खुद चला सके

self-hosting के लिए जारी Chatto

  • Chatto लगभग पिछले 1 साल से विकसित किया गया समूह·टीम चैट application है, और अब आधिकारिक तौर पर open source हो गया है ताकि कोई भी इसे खुद चला सके
  • इसे सबसे जल्दी चलाने का तरीका Homebrew का उपयोग करना है
brew install chattocorp/tap/chatto  
chatto init  
chatto run  
  • installation प्रक्रिया Getting Started Guide में देखी जा सकती है
  • इसका उद्देश्य Slack, Teams, Discord जैसे समूह चैट ऐप्स जैसा उपयोग देना है, लेकिन यह ज़्यादा कॉम्पैक्ट और तेज़ उपयोग अनुभव पर ज़ोर देता है
  • इसका वास्तविक कामकाज Chatto HQ Community में देखा जा सकता है

सर्वर संरचना और security model

  • सबसे बुनियादी रूप में, एक ही executable फ़ाइल से सर्वर चलाया जा सकता है, और सर्वर अपना frontend भी साथ में उपलब्ध कराता है
  • resource उपयोग कम है, और व्यक्तिगत तथा चैट डेटा को प्रति-उपयोगकर्ता keys से स्टोरेज के समय पूरी तरह encrypt किया जाता है
    • यदि उपयोगकर्ता account delete करता है, तो उस उपयोगकर्ता की key नष्ट कर दी जाती है
  • हर Chatto सर्वर एक single community चलाता है
    • सर्वरों के बीच data federation नहीं है
    • third-party tracking या analytics भी नहीं हैं
    • अगर कोई एक साथ कई सर्वरों पर रहना चाहता है, तो client हर सर्वर से सीधे connect करता है
    • कई communities host करने के लिए Chatto process की कई instances चलानी होंगी
  • voice·video calls और screen sharing का built-in support है
    • calls end-to-end encrypted हैं
    • participants की संख्या का विस्तार उपयोगकर्ता के infrastructure की क्षमता तक किया जा सकता है

deployment फ़ाइलें और संचालन सामग्री

Chatto Cloud और paid hosting

  • Chatto Cloud जल्द public beta में जाएगा और केवल Chatto सर्वरों की paid hosting प्रदान करेगा
    • premium subscription, ads, या अन्य अतिरिक्त तत्व नहीं होंगे; केवल hosting दी जाएगी
  • launch के समय का infrastructure Europe और Europe-owned infrastructure से बना होगा
    • अधिक regions 2027 की शुरुआत में जारी होने की योजना है
    • सभी Chatto Cloud सर्वर auto-scaling, हर रात full data backup, और zero-downtime version upgrades प्रदान करेंगे
  • Chatto Cloud का लक्ष्य lock-in न बनाना है
    • Chatto Cloud पर host किए गए सर्वर self-hosted सर्वरों के साथ 100% compatible हैं
    • कभी भी data migrate करके Chatto Cloud के भीतर या बाहर जाया जा सकता है

0.4 स्थिति और 1.0.0 तक की योजना

  • अभी Chatto का version 0.4 है
    • इसे production उपयोग के लिए काफ़ी stable माना जाता है
    • अभी भी कुछ महत्वपूर्ण features गायब हैं
    • पूरी योजना Chatto Roadmap में देखी जा सकती है
  • Chatto 0.5 का फोकस safety features और client improvements पर है
    • इसमें content reporting और moderation features शामिल होंगे
    • खास तौर पर multi-server functionality को बेहतर बनाने पर ध्यान है
  • Chatto 1.0.0 लगभग 6~12 महीनों में आने की उम्मीद है
    • उससे पहले breaking changes हो सकते हैं
    • self-hosting उपयोगकर्ताओं को नए version आने पर update के लिए तैयार रहना होगा
  • release updates या Chatto Cloud beta शुरू होने की सूचना Chatto announcements newsletter से मिल सकती है, जिसकी frequency लगभग महीने में 1 बार है

2 टिप्पणियां

 
click 28 분 전

मैं mattermost इस्तेमाल कर रहा हूँ, लेकिन यह बार-बार enterprise तरफ ले जाने की कोशिश करता है और OSS version की features को कमतर करता जा रहा है.
जब यह काफ़ी mature हो जाए, तो मैं mattermost से migrate करने के लिए एक tool लिखकर देखना चाहूँगा.

 
GN⁺ 4 시간 전
Hacker News की राय
  • मुझे यह बात पसंद आई कि इसे अपने infrastructure पर self-host करना बहुत आसान बनाने के लिए design किया गया है। docs(https://docs.chatto.run/) देखने पर पता चलता है कि Chatto एक छोटे, standalone binary के रूप में deploy होता है, built-in stream persistence engine वाले lightweight message broker NATS का इस्तेमाल करता है, और बाहरी S3-compatible object storage भी configure किया जा सकता है
    असली calls LiveKit(Apache-2.0) से powered हैं और उन्हें Chatto के साथ deploy करना पड़ता है, और यह भी अच्छा है कि NATS की तरह deployment examples जरूरी connection configuration दिखाते हैं। सिर्फ बातें नहीं, बल्कि असल guides वाला बढ़िया project है

    • वाकई शानदार। ज्यादा choices होना हमेशा अच्छा है। हालांकि docs देखकर यह थोड़ा unclear है कि कोई desktop application है या नहीं
      screenshots से तो लगता है कि है, लेकिन उसे download करने की documentation नहीं मिली
    • जानना चाहूंगा कि क्या इसे Cloudflare या Vercel जैसी आसान और सस्ती या लगभग free जगहों पर भी install किया जा सकता है
  • मैं Hendrik को कई सालों से जानता हूं, और वह अब तक मिले developers में सबसे talented लोगों में से एक है। मुझे पूरा भरोसा है कि यह project भी बहुत तेजी से सफल होगा
    project अपने-आप में दिलचस्प है, लेकिन यह बात खास तौर पर impressive है कि उन्होंने agentic coding का इस्तेमाल करके इसे अकेले develop किया

    • मैं उन्हें लगभग 30 साल से personally जानता हूं, और वे अब भी उन सबसे smart, experienced और curious developers में से एक हैं जिनसे मैं कभी मिला हूं
      कुल मिलाकर अच्छे इंसान हैं, और मैं कभी भी उनके साथ फिर से काम करना चाहूंगा
    • जानना चाहूंगा कि उन्होंने और कौन-सी interesting चीजें बनाई हैं
    • थोड़ी देर के लिए interest था, लेकिन इस बात ने उल्टा मुझे इससे दूर रहने के लिए convince कर दिया
  • अगर इसे कंपनियों को बेचने का विचार है, तो “जब user अपना account delete करता है तो user-specific keys destroy कर दी जाती हैं” वाले हिस्से पर सोचना चाहिए। work messages user के नहीं, employer के होते हैं, इसलिए soft delete की जरूरत होगी

    • ऐसे मामलों में शायद user को अपना account खुद delete करने से रोक देना चाहिए। फिर भी ज्यादातर Chatto users और providers के लिए अपने-आप right to deletion comply करने वाला तरीका बेहतर लगता है
    • हो सकता है employers target customers ही न हों
  • Portuguese में “chato” का मतलब “boring” होता है, यह देखकर हंसी आई। लेकिन यह setup और use करने में बहुत आसान लगता है
    और ज्यादा boring software का स्वागत है

    • इसका मतलब “annoying” भी हो सकता है। किसी project या company का नाम तय करने से पहले कम-से-कम top 10 languages by number of users में यह देख लेना हमेशा अच्छा होता है कि कहीं उसका कोई खराब अर्थ तो नहीं है
      Portuguese/Spanish में NSFW slang होने की संभावना काफी बार होती है
  • शानदार। लेकिन website पर कहीं भी यह पता नहीं चलता कि mobile support है या नहीं
    कंपनी या दोस्तों को shift कराना है तो mobile support जरूरी है

    • लगता है plans में है
      https://github.com/orgs/chattocorp/projects/1?pane=issue&ite...
    • ध्यान देना होगा कि iOS app पर notifications भेजने के लिए app publisher को ही notifications भेजनी पड़ती हैं। यानी event delivery proxy service चलानी पड़ेगी
      Mattermost, Element/Matrix, और शायद कुछ या सभी ActivityPub clients इसी तरह करते लगते हैं। नहीं तो server self-host करने का मतलब यह होगा कि client app को भी App Store और Apple Developer Program की fees के जरिए खुद distribute करना पड़ेगा
  • इसे देखते रहने का इरादा है। अभी Mattermost इस्तेमाल कर रहा हूं, लेकिन उसकी pricing काफी inconsistent है और enterprise को target करती है, इसलिए फिलहाल feature-limited open source version ही इस्तेमाल कर रहा हूं
    ऊपर से video calling कमजोर लगी थी, और अच्छा है कि Chatto में वह feature है

  • dual licensing रखने की वजह जानना चाहूंगा। Go backend AGPL है, लेकिन TypeScript frontend Apache 2.0 लगता है
    जानना चाहता हूं कि सब कुछ AGPL क्यों नहीं रखा गया

    • backend को AGPL रखने से किसी को उसे service के रूप में host करने से रोका जा सकता है। AGPL hosting को भी distribution मानता है, इसलिए जो भी host करेगा उसे code खोलना पड़ेगा
      इसलिए अपनी Cloud चलाने में एक soft तरह की exclusivity मिलती है। दूसरी तरफ frontend के लिए customization, white-labeling आदि allow करने हैं तो ज्यादा permissive license ज्यादा logical है
      Grafana इसका अच्छा example है। 2021 में Apache से AGPLv3 पर जाने की वजह यह थी कि cloud providers modified versions को बिना contribution के host न कर सकें, और plugins Apache license पर ही रखे गए
    • AGPL दूसरी तरफ को Go backend इस्तेमाल करके competing cloud service चलाने से रोकता है। frontend पर इसका खास असर नहीं होता, और यह सिर्फ enterprise users को डराता है
  • self-hosting के बाद ऐसा package या link generate कर पाना बहुत अच्छा होगा जो download, install और login pre-configuration तक कर दे। जैसे किसी खास व्यक्ति से जुड़ा custom installer या setup script
    लक्ष्य onboarding friction को जितना हो सके कम करना है। link गलती से share हो जाने जैसे security implications हो सकते हैं, लेकिन छोटे self-hosted instance के लिए इसे अपेक्षाकृत आसानी से mitigate किया जा सकता है। इसे local account पर ही काम करने तक सीमित भी किया जा सकता है
    इससे दोस्त को “यहां मेरे साथ chat करो” वाला link भेजना आसान हो जाएगा, और “मैं पहले से Discord इस्तेमाल करता हूं, यह सब set up नहीं करना चाहता” जैसी प्रतिक्रिया की चिंता नहीं करनी पड़ेगी

    • “instance link दूंगा, वहां sign up कर लो” से ज्यादा आप क्या उम्मीद कर रहे हैं, यह जानना चाहूंगा। Discord-style roles के साथ जोड़कर channel visibility और permissions को roles से limit किया जा सकता है
      भले ही कोई और sign up कर ले, उदाहरण के लिए उसे “internal group” role न दें। क्या आप one-time token वाले invite link जैसी चीज सोच रहे हैं?
  • बहुत अच्छा। पहले मेरे मन में भी ऐसा ही विचार आया था: कई कंपनियां notifications इकट्ठा करने और simple bot actions perform करने के लिए कुछ चाहती हैं, लेकिन वे जरूरी नहीं कि किसी खास chat provider से बंधना चाहें
    अगर यह कई integrations के frontend के रूप में, या सिर्फ internal chat के लिए भी इस्तेमाल हो सके, तो यह सच में interesting होगा

  • Mattermost की तुलना में Chatto के pros और cons क्या हैं, यह जानना चाहूंगा
    साथ ही, यह देखकर बहुत खुशी हुई कि Chatto backend Go में implemented है। Go इस तरह के use case के लिए बहुत well-suited है