−25%

Windows के सालाना भुगतान पर, 31 अक्टूबर तक। प्लान देखें

EQVPS

Mastodon के लिए VPS: अपना छोटा सर्वर

VPS पर छोटा Mastodon सर्वर होस्ट करें: RAM और डिस्क का ईमानदार अंदाज़ा, Docker से इंस्टॉल, SMTP रिले से ईमेल और मीडिया की सफ़ाई ताकि डिस्क न भरे।

अपने सोशल अकाउंट का मालिक होना अच्छा विचार लगता है, जब तक आपको यह एहसास न हो कि वह अकाउंट किसी और के सर्वर पर, उसके नियमों और अपटाइम के तहत रहता है। अपना Mastodon सर्वर यह समस्या हल करता है: आपका हैंडल @you@your-domain है और आपके सिवा कोई उसे बंद नहीं कर सकता। पेच यह है कि Mastodon छोटा ऐप नहीं है। बेहतर है पता हो कि आप किस चीज़ में हाथ डाल रहे हैं।

यह किसके लिए है

इससे बड़ी किसी चीज़ के लिए आप ऐसी सर्विस चला रहे हैं जिसमें मॉडरेशन की ज़िम्मेदारियाँ, दुरुपयोग की रिपोर्ट और असली इंफ़्रास्ट्रक्चर शामिल है। वह अलग बात है।

इसे सच में क्या चाहिए

Mastodon एक साथ कई प्रोसेस चलाता है: Rails वेब ऐप, बैकग्राउंड में Sidekiq वर्कर, एक स्ट्रीमिंग सर्वर, PostgreSQL और Redis। फ़ेडरेशन की वजह से आपका सर्वर आपके सोते समय भी दूसरे सर्वरों से पोस्ट और मीडिया लाता रहता है।

सर्वरप्लान
एक यूज़र, कम फ़ॉलोSmall-IP — 2 vCPU, 4 GB, $16 प्रति माह
छोटा समुदाय, सक्रिय फ़ेडरेशनMedium-IP — 4 vCPU, 6 GB, $20 प्रति माह

4 GB चलता है पर तंग है; जब आपकी फ़ॉलो की हुई कोई लोकप्रिय पोस्ट हज़ारों जवाब पाती है तो Sidekiq की कतारें भर जाती हैं। 6 GB साँस लेने की जगह देता है। दूसरी सीमा डिस्क है — नीचे मीडिया वाला हिस्सा देखें।

आपको एक डोमेन और डेडिकेटेड IP भी चाहिए: दूसरे सर्वर पोर्ट 443 पर आपके सर्वर को डिलीवर करते हैं।

Docker से इंस्टॉल

आधिकारिक रिपॉज़िटरी में docker-compose.yml है। Docker इंस्टॉल किए नए Ubuntu 24.04 सर्वर पर:

git clone https://github.com/mastodon/mastodon.git
cd mastodon
git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)
touch .env.production
docker compose run --rm -v $(pwd)/.env.production:/opt/mastodon/.env.production \
  web bundle exec rake mastodon:setup
docker compose up -d

सेटअप टास्क आपका डोमेन, डेटाबेस और Redis की सेटिंग्स (डिफ़ॉल्ट compose फ़ाइल से मेल खाते हैं), ईमेल सेटिंग्स और पहला एडमिन अकाउंट पूछता है। यह सब कुछ .env.production में लिख देता है। जो टैग आपने लिया है उसके रिलीज़ नोट्स पढ़ें — बड़े वर्शन के बीच चरण कभी-कभी बदल जाते हैं।

Mastodon में dist/nginx.conf पर nginx टेम्पलेट शामिल है। इसे /etc/nginx/sites-available/ में कॉपी करें, डोमेन बदलें और certbot से सर्टिफ़िकेट लें। हमारी reverse proxy और डोमेन गाइड दोनों बताती हैं।

ईमेल: रिले इस्तेमाल करें

Mastodon पुष्टि और पासवर्ड रीसेट ईमेल भेजता है। हमारे सर्वर पर पोर्ट 25 और 465 बंद हैं, इसलिए Mastodon को पोर्ट 587 के ज़रिए किसी बाहरी ट्रांज़ैक्शनल ईमेल प्रदाता की ओर मोड़ें:

SMTP_SERVER=smtp.your-provider.example
SMTP_PORT=587
SMTP_LOGIN=apikey
SMTP_PASSWORD=your-smtp-password
SMTP_FROM_ADDRESS=notifications@your-domain.example

सच कहें तो आपको रिले वैसे भी चाहिए होता। बिल्कुल नए सर्वर IP से भेजी ईमेल अक्सर स्पैम में जाती है; रिले के पास वह साख है जो अभी आपके पास नहीं है।

मीडिया: डिस्क खाने वाला

आपके सर्वर को दिखने वाले अकाउंट की हर तस्वीर और वीडियो लोकल रूप से कैश होता है। व्यस्त सर्वर पर यह हर हफ़्ते गीगाबाइट होता है। पुराना रिमोट मीडिया नियमित रूप से साफ़ करें:

docker compose exec web tootctl media remove --days 7
docker compose exec web tootctl preview_cards remove --days 30

इन्हें रोज़ाना के cron जॉब में डालें। अगर आपका सर्वर बढ़े, तो .env.production की S3_* सेटिंग्स से मीडिया को S3-संगत ऑब्जेक्ट स्टोरेज में ले जाएँ — फिर VPS डिस्क पर सिर्फ़ डेटाबेस रहता है।

रखरखाव

टीम चैट के लिए कुछ हल्का चाहिए? शायद Matrix सर्वर बेहतर बैठे।

तैनात करने के लिए तैयार? क्रिप्टो से भुगतान करें, बिना KYC — लगभग एक मिनट में ऑनलाइन।

अभी तैनात करें →

FAQ

Mastodon सर्वर को कितनी RAM चाहिए?

एक यूज़र या छोटे सर्वर के लिए 4 GB व्यावहारिक न्यूनतम है और 6 GB आरामदेह। Mastodon एक साथ वेब प्रोसेस, Sidekiq वर्कर, PostgreSQL और Redis चलाता है, और फ़ेडरेशन Sidekiq को तब भी व्यस्त रखता है जब कोई पोस्ट नहीं कर रहा।

Mastodon को डेडिकेटेड IP क्यों चाहिए?

दूसरे सर्वर पोर्ट 443 पर HTTPS के ज़रिए आपके सर्वर तक पोस्ट पहुँचाते हैं, और लोग आपका सर्वर ब्राउज़र में खोलते हैं। इसके लिए आपके अपने IP पर 443 का आने वाला ट्रैफ़िक चाहिए, जो NAT प्लान में नहीं होता।

Mastodon से ईमेल कैसे भेजूँ?

पोर्ट 587 पर SMTP के ज़रिए किसी बाहरी ट्रांज़ैक्शनल ईमेल प्रदाता से। हमारे सर्वर पर पोर्ट 25 और 465 बंद हैं, और रिले वैसे भी किसी नए IP की तुलना में कहीं बेहतर डिलीवरी देता है।

मेरी डिस्क इतनी तेज़ी से क्यों भर रही है?

आपका सर्वर हर उस अकाउंट का मीडिया कैश करता है जो उसे दिखता है। 'tootctl media remove --days 7' नियमित रूप से चलाएँ, या मीडिया को S3-संगत ऑब्जेक्ट स्टोरेज में ले जाएँ।

क्या मैं बाद में डोमेन बदल सकता हूँ?

नहीं। डोमेन पूरे फ़ेडिवर्स में हर अकाउंट की पहचान का हिस्सा है। पहला अकाउंट बनाने से पहले इसे सोच-समझकर चुनें।

टिप्पणियाँ

अभी तक कोई टिप्पणी नहीं। पहले बनें।

एक टिप्पणी छोड़ें

टिप्पणियाँ दिखने से पहले मॉडरेट की जाती हैं।