NordBastion polar-bear mascot एक federation graph conduct कर रहा है glowing lines से connected cyan node-globes का जिसमें end-to-end encrypted messages को दर्शाते floating speech-bubble icons हैं, Nordic observatory windows से aurora borealis
How-to · 2 घंटे hands-on·2026 में अपडेट

VPS पर Matrix self-host करें।
Synapse + Element। Federated। End-to-end encrypted।

Matrix वैसा दिखता जैसा email होता यदि इसे open-protocol era में chat के लिए design किया गया होता। Synapse homeserver के रूप में, Element client के रूप में, PostgreSQL store के रूप में, Caddy front door के रूप में — और एक federated room graph जिसका कोई विशेष मालिक नहीं है।

संक्षेप में
  • 01

    2026 में Synapse सही default homeserver है — production-proven, fully-featured reference implementation। Conduit और Dendrite narrower use-cases के लिए valid हैं।

  • 02

    पहले दिन PostgreSQL पर switch करें; default SQLite केवल testing के लिए है और कुछ से अधिक users पर fail हो जाता है। media uploads के लिए disk plan करें — federated rooms उन्हें जल्दी accumulate करते हैं।

  • 03

    Closed registration सुरक्षित default है। Public registration वास्तविक moderation कार्य है; इसे तभी enable करें जब आप इसे संभालने का इरादा रखते हों।

अध्याय 1

पाँच वाक्यों में Matrix। आप वास्तव में क्या deploy कर रहे हैं।

Matrix real-time communication के लिए एक open protocol है। homeserver एक ऐसा server है जो protocol चलाता है; users प्रत्येक एक homeserver से संबंधित हैं, @alice:example.com के रूप में पहचाने जाते हैं — email जैसा ही pattern। Rooms conversation की units हैं; एक single room में कई अलग-अलग homeservers के सदस्य हो सकते हैं, और room state सभी participating homeservers में replicated होती है। Private rooms प्रत्येक message को per-device keys (Olm/Megolm) से encrypt करते हैं ताकि server केवल ciphertext देखे। पूरा network एक-दूसरे को room state federate करने वाले homeservers का graph है।

interesting properties: कोई central authority Matrix को बंद नहीं कर सकती (protocol open है और हर जगह चलता है), अलग-अलग servers के users transparently बात करते हैं (federation), private rooms में proper end-to-end encryption है (advertising-style encryption-in-transit नहीं), और एक user homeservers switch कर सकता है और अपना खुद चलाकर अपनी identity रख सकता है। trade-off operational complexity है — homeserver चलाना Discord में login करने से अधिक काम है — और proprietary platforms से छोटा polished-client ecosystem।

इस guide में आप क्या deploy करते हैं: Synapse (homeserver), PostgreSQL (इसका database), Element Web (browser client, आपके अपने domain से hosted), और Caddy (reverse proxy + automatic TLS)। वैकल्पिक रूप से एक media-storage backend और federation discovery के लिए well-known endpoints। पूरा stack दो Docker Compose files और एक Caddy config है।

अध्याय 2

Sizing। Synapse memory-shaped है।

Synapse प्रत्येक-room state को memory में रखता है, और एक बड़े federated room में join करना (जैसे 60,000 members वाला #matrix:matrix.org) उस state का बहुत सा हिस्सा आपके homeserver में खींचता है। परिणाम यह है कि एक single-user Synapse भी 2–3 GB RAM steadily उपयोग कर सकता है यदि user व्यस्त federated rooms में है। तदनुसार plan करें।

Single user, सामान्य federation। 2 vCPU, 4 GB RAM, 40 GB SSD। NordBastion का <a href="/hi/vps/" class="text-nord-cyan border-b border-nord-cyan/40 hover:border-nord-cyan transition">Ravelin स्तर ($5.90/माह)</a> सही आकार का है। एक सक्रिय एकल उपयोगकर्ता के लिए डिस्क प्रति वर्ष लगभग 10 GB बढ़ती है; उसके लिए पर्याप्त स्थान अवश्य रखें।

Small team, 5–20 users। 4 vCPU, 8 GB RAM, 100 GB SSD। Iron tier ($24.90/माह) इसे आराम से संभालता है। PostgreSQL को उसी VPS पर चलाएँ; database अतिरिक्त RAM और disk में समा जाता है।

Public homeserver, 100+ users। 100 active users से अधिक होने पर, Synapse worker processes (separate federation sender, federation reader, client reader workers) और tuned PostgreSQL से लाभ उठाता है। Iron या Granite tiers इसे handle करते हैं, लेकिन operational complexity non-linearly बढ़ती है — उस scale पर आप software user के अलावा Matrix admin भी हैं।

Disk वास्तविकता। Federated rooms से media uploads (images, videos, files) आपके homeserver पर accumulate होते हैं क्योंकि Matrix federation serving के लिए media को local पर pull करता है। एक व्यस्त public homeserver प्रति सप्ताह 1 GB media जोड़ सकता है। Synapse media_retention configuration आपको पुराने content को prune करने देता है; तिमाही में एक बार समीक्षा करें।

अध्याय 3

Docker Compose install। Synapse, PostgreSQL, Element।

एक fresh Debian 12 VPS spin up करें, उस पर तीन DNS records point करें: matrix.example.com (homeserver hostname), element.example.com (web client), और example.com यदि आप @alice:example.com identifier short-form चाहते हैं। sudo user के रूप में SSH करें।

1. Docker और Compose इंस्टॉल करें। curl -fsSL https://get.docker.com | sh — Docker Engine उसी package में Compose v2 लाता है।

2. Synapse config generate करें। mkdir -p ~/synapse/data && docker run -it --rm -v ~/synapse/data:/data -e SYNAPSE_SERVER_NAME=example.com -e SYNAPSE_REPORT_STATS=no matrixdotorg/synapse:latest generate — यह homeserver.yaml लिखता है। इसे edit करें: database को SQLite से PostgreSQL में बदलें, media URL सेट करें, शुरू करने के लिए enable_registration: false सेट करें (अभी के लिए आप admin CLI के माध्यम से users बनाते हैं)।

3. docker-compose.yml लिखें। तीन services: postgres (postgres:16, persistent volume, locale C), synapse (matrixdotorg/synapse:latest, ~/synapse/data mount करता है, postgres पर depends), element (vectorim/element-web:latest, https://matrix.example.com की ओर pointing एक small config.json mount करता है)। केवल synapse:8008 और element:80 को localhost पर map करें; [redacted-ip] bind न करें।

4. Caddy से front करें। दो Caddyfile sites: matrix.example.com ports 443 और 8448 (federation port) दोनों पर [redacted-ip] (Synapse) को proxy करता है; element.example.com [redacted-ip] (Element Web) को proxy करता है। Caddy automatically Let's Encrypt certificates fetch करता है।

5. Federation discovery (.well-known)। example.com पर ही दो static JSON files जोड़ें: /.well-known/matrix/server जो {"m.server": "matrix.example.com:443"} लौटाए और /.well-known/matrix/client जो {"m.homeserver": {"base_url": "https://matrix.example.com"}} लौटाए। यह short-form identifiers @alice:example.com को सही ढंग से resolve करने देता है। federationtester.matrix.org पर Federation Tester से सत्यापित करें।

6. अपना पहला user बनाएँ। docker exec -it synapse register_new_matrix_user -u alice -p <password> -a -c /data/homeserver.yaml http://localhost:8008 — यह एक admin account बनाता है। https://element.example.com के माध्यम से log in करें।

अध्याय 4

Element, branding, registration policy। वे निर्णय जो टिकते हैं।

Element configuration। Element Web एक config.json पढ़ता है जो आपके homeserver को point करता है, default theme, branding, और नए accounts के लिए "suggested rooms" की list सेट करता है। default_server_config.m.homeserver.base_url को https://matrix.example.com पर सेट करें, brand को अपने project के नाम पर, और matrix.org-suggesting brand_url field को disable करें। नए users Element Web पर किसी और के server पर नहीं बल्कि आपके server पर land करते हैं।

Registration policy। तीन modes: closed (केवल admin CLI के माध्यम से users register कर सकता है; सबसे clean moderation posture), token-based (आप admin API के माध्यम से registration tokens generate करते हैं और share करते हैं; small group के लिए बेहतर), open (कोई भी register कर सकता है; केवल तभी enable करें जब आप moderation tooling के साथ public homeserver operate करने का इरादा रखते हों)। closed से शुरू करें और केवल तभी relax करें जब कोई कारण हो।

Federation block-list। Synapse federation_domain_whitelist (केवल allow-list) और admin API के माध्यम से per-server blocks का समर्थन करता है। अधिकांश public homeservers के लिए, default "हर चीज के साथ federate करें" है, जरूरत पड़ने पर abusive servers के reactive blocks के साथ। Mjolnir bot इसे automate करता है यदि आप target बन जाते हैं।

Backups। PostgreSQL nightly dump + ~/synapse/data tarball, rclone के माध्यम से off-server एक second VPS या B2 bucket पर भेजा गया। दोनों आवश्यक हैं; database room state और accounts है, data directory signing keys और media रखती है। हर quarter restore tests, किसी भी backup की तरह।

अध्याय 5

Moderation वास्तविकता। Self-hosting का वास्तव में क्या अर्थ है।

Matrix homeserver चलाने का अर्थ है यह स्वीकार करना कि host server जो करता है उसके लिए जिम्मेदार है। एक private invite-only homeserver पर, वह जिम्मेदारी छोटी है — आप हर user को जानते हैं। एक public homeserver पर, जिम्मेदारी user base के साथ बढ़ती है।

Inbound abuse। एक federated public room को abuse coordination, image dumps, या उत्पीड़न में खींचा जा सकता है। Synapse admin API endpoints expose करता है किसी user को ban करने (सभी rooms में), homeserver को block करने (आगे कोई federation नहीं), और server को किसी room से बाहर जाने के लिए बाध्य करने के लिए। Mjolnir bot इन्हें एक moderation room workflow में लपेटता है; Draupnir fork इसकी सक्रिय रूप से maintained continuation है।

Outbound abuse। एक compromised user account federated rooms में अपमानजनक सामग्री post कर सकता है, जो network के बाकी हिस्सों के साथ आपके server की प्रतिष्ठा को नुकसान पहुँचाता है। दो mitigations: per-user rate-limit (Synapse default rate limits उचित हैं), और नए accounts के लिए email verification की आवश्यकता (automated registration की बाधा बढ़ाता है)।

Legal posture। EU में, infrastructure-provider की भूमिका मजबूत intermediary liability protections (e-Commerce Directive Article 14, DSA Article 6) देती है — जब तक आप notice और takedown पर respond करते हैं तब तक आप user content के लिए liable नहीं हैं। Nordic jurisdictions इसे explicit constitutional press-freedom protections के साथ extend करते हैं। intermediary protections के बिना jurisdiction में चलने वाला वही homeserver operationally अधिक जोखिम भरा है; host location तदनुसार चुनें।

सुरक्षित default। Invite-only registration, reactive blocks के साथ federation enabled, Mjolnir / Draupnir installed लेकिन जरूरत पड़ने तक unused, homeserver website पर terms of service published एक clear acceptable-use policy के साथ। वह posture बिना आगे के प्रयास के 95% operators को संभालता है।

अध्याय 6

Host क्यों मायने रखता है। Encryption content की रक्षा करता है, host metadata की रक्षा करता है।

Matrix E2EE message bodies की रक्षा करता है — server केवल private rooms के लिए ciphertext रखता है। जो यह protect नहीं करता वह है metadata: कौन से homeservers एक-दूसरे के साथ federate करते हैं, कौन से users किन rooms में हैं, वे कब online हैं, वे कितनी बार messages भेजते हैं, उनके devices क्या हैं। वह metadata graph homeserver पर और उन homeservers पर रहता है जिनके साथ यह federate करता है, और technically encryption layer की पहुँच से बाहर है।

KYC-linked VPS पर चलने वाला homeserver metadata graph को operator की कानूनी पहचान से जोड़ता है। host को subpoena न केवल encrypted database बल्कि @alice:example.com identifier से real-world नाम तक का link देता है। encryption अभी भी बरकरार है; metadata layer खुला है।

NordBastion का रुख इसके विपरीत है: <a href="/hi/doctrine/" class="text-nord-cyan border-b border-nord-cyan/40 hover:border-nord-cyan transition">बिना KYC के साइनअप</a>, क्रिप्टो भुगतान, नॉर्डिक संवैधानिक न्यायक्षेत्र। होमसर्वर आपका है; होमसर्वर से किसी नाम तक का लिंक अस्तित्व में नहीं है; डिस्क को प्रभावित करने वाली कानूनी व्यवस्था में स्पष्ट प्रेस-स्वतंत्रता सुरक्षाएँ हैं। यह संयोजन Matrix के सुरक्षा मॉडल से मेल खाता है — क्रिप्टोग्राफ़िक सामग्री परत और मेटाडेटा संचालन परत दोनों सुरक्षित हैं।

अक्सर पूछे जाने वाले प्रश्न · Matrix स्वयं-होस्ट करें

प्रश्न, उत्तरित।

आठ प्रश्न जो 2026 में Matrix homeserver चलाने पर उठते हैं।

Matrix क्या है और यह Discord या Slack से कैसे अलग है?

Matrix एक federated, open-standard real-time communication protocol है — chat के लिए SMTP सोचें। कोई भी homeserver (Synapse, Dendrite, Conduit) चलाता है, विभिन्न homeservers के users एक-दूसरे से transparently बात करते हैं, private room में हर message default रूप से end-to-end encrypted है, कोई central company network को नियंत्रित नहीं करती। Discord और Slack centralised, proprietary हैं, और company हर conversation host करती है। trade-off: Matrix में थोड़ी अधिक operational complexity और एक छोटा polished-client ecosystem है, लेकिन आप हर byte के मालिक हैं।

Synapse, Dendrite या Conduit — कौन सा homeserver?

Synapse reference है, Python में लिखा गया, सबसे अधिक feature-complete और production-proven choice। यह memory-heavy है। Dendrite newer Go rewrite है, बहुत lighter, कुछ advanced moderation features missing लेकिन तेजी से gap बंद कर रहा है। Conduit तीसरा option है, tiny resource footprint पर focused एक Rust homeserver, cheap VPS पर single-user homeserver के लिए अच्छा। विशिष्ट कारण के बिना Synapse default करें — documentation, moderation tooling और third-party bridges सभी Synapse मानते हैं।

Matrix homeserver के लिए मुझे कितना VPS चाहिए?

व्यापक Matrix network पर federating single user — 2 vCPU, 4 GB RAM, 40 GB SSD व्यावहारिक न्यूनतम है। Small team (5–20 users) — 4 vCPU, 8 GB RAM, 100 GB SSD। Ravelin या Iron tiers दोनों cases cover करते हैं। dominant resource RAM है (Synapse memory में बहुत अधिक room state रखता है) और disk (media uploads और federated room history लगातार बढ़ते हैं)।

क्या मुझे federation enable करनी चाहिए?

लगभग हमेशा हाँ — यही Matrix का पूरा उद्देश्य है। Federation आपके users को matrix.org, mozilla.org, kde.org और हजारों अन्य homeservers पर किसी से भी बात करने देता है। अपवाद: एक private internal-team server जहाँ आप नहीं चाहते कि कोई rooms खोजे; एक high-risk threat model जहाँ federation traffic patterns जानकारी leak करते हैं; एक server जो sensitive विषय host करता है जहाँ आप strict membership control चाहते हैं। बाद में federation को disable करना ठीक है; इसे फिर से enable करना आपको discoverable बनाता है।

क्या private rooms default रूप से end-to-end encrypted हैं?

हाँ — हर Element client नए direct messages और private rooms के लिए default रूप से E2EE enable करता है। encryption per-room Olm/Megolm है cross-signed device verification के साथ। server केवल message body के लिए ciphertext देखता है। Public rooms design द्वारा unencrypted हैं (चूँकि कोई भी join कर सकता है, encryption कुछ भी protect नहीं करती)। Federated public rooms किसी को भी दिखाई देते हैं — यही public room का उद्देश्य है।

Public homeserver चलाने की moderation वास्तविकता क्या है?

यह वास्तविक कार्य है। यदि आप public registration allow करते हैं, तो आपका homeserver spam-rooms में federate होगा, abuse coordination rooms में खिंच जाएगा, और कभी-कभी federated servers से आपत्तिजनक content सामने आएगी। एक public homeserver चलाने के लिए server-level bans लगाने, hostile servers को federate-block करने, और abuse reports पर respond करने की इच्छाशक्ति चाहिए। अधिकांश operators के लिए, सही posture closed registration (invite-only) है — हर user कोई ऐसा है जिसे आप जानते हैं, और abuse surface लगभग शून्य हो जाती है।

क्या मैं काम पर Slack / Discord replacement के रूप में अपना Matrix homeserver उपयोग कर सकता हूँ?

हाँ — Element Server Suite और underlying Synapse + Element Web combination "persistent rooms, threads, reactions, voice/video huddles के साथ team chat" feature set को cover करते हैं। Slack के relative मुख्य gap है third-party integrations (कम pre-built apps); Discord के relative मुख्य gap है polished voice channels। दोनों workable हैं लेकिन थोड़े operator effort की आवश्यकता है। एक small team के लिए जो polish के मुकाबले data sovereignty को महत्व देती है, trade clearly इसके लायक है।

जिस host से मैं VPS किराए पर लेता हूँ वह Matrix server के लिए क्यों मायने रखता है?

क्योंकि federated chat protocol homeserver पर who-talks-to-whom-when के बारे में persistent metadata बनाता है। वह metadata समृद्ध है (federated room graph, federation events, media uploads)। इसे KYC वाले host पर रखने से metadata आपकी identity से जुड़ती है; इसे एक hostile jurisdiction के host पर रखने का अर्थ है एक state actor इसे compel कर सकता है। एक no-KYC Nordic VPS host के metadata posture को protocol के cryptographic posture के साथ align करता है — privacy कहानी के दोनों हिस्से।

metal प्राप्त करें

आपके homeserver के लिए एक Nordic VPS। KYC-मुक्त, crypto-भुगतान।

Ravelin (2 vCPU, 4 GB, $5.90/माह) एक single-user federating Synapse को cover करता है। Iron (4 vCPU, 8 GB, $24.90/माह) small-team का उत्तर है।

अंतिम review · 2026-05-20 · स्रोत · Synapse के अपस्ट्रीम दस्तावेज़, Element कॉन्फ़िग संदर्भ, Matrix विनिर्देश, EU DSA अनुच्छेद 6 · आवृत्ति · वार्षिक