−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 — تقریباً ایک منٹ میں لائیو۔

ابھی ڈیپلائے کریں →

عمومی سوالات

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 سے مطابقت رکھنے والی آبجیکٹ اسٹوریج میں منتقل کریں۔

کیا میں بعد میں ڈومین بدل سکتا ہوں؟

نہیں۔ ڈومین پورے فیڈیورس میں ہر اکاؤنٹ کی شناخت کا حصہ ہے۔ پہلا اکاؤنٹ بنانے سے پہلے اسے احتیاط سے چنیں۔

تبصرے

ابھی کوئی تبصرہ نہیں۔ پہلے بنیں۔

ایک تبصرہ چھوڑیں

تبصرے ظاہر ہونے سے پہلے moderate کیے جاتے ہیں۔