−25%

Windows-ის წლიურ გადახდაზე, 31 ოქტომბრამდე. ტარიფებზე

EQVPS

VPS Mastodon-ისთვის: თქვენი საკუთარი პატარა ინსტანსი

განათავსეთ პატარა Mastodon-ინსტანსი VPS-ზე: 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 შედის. ახალ Ubuntu 24.04 სერვერზე დაინსტალირებული Docker-ით:

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-ის გარეშე — ჩართული დაახლოებით წუთში.

განათავსეთ ახლა →

ხდკ

რამდენი RAM სჭირდება Mastodon-ის ინსტანსს?

ერთი მომხმარებლის ან პატარა ინსტანსისთვის 4 GB რეალისტური მინიმუმია, 6 GB კი კომფორტული. Mastodon ერთდროულად უშვებს ვებ-პროცესს, Sidekiq-ის ვორკერებს, PostgreSQL-სა და Redis-ს, ფედერაცია კი Sidekiq-ს მაშინაც ტვირთავს, როცა არავინ წერს.

რატომ სჭირდება Mastodon-ს გამოყოფილი IP?

სხვა სერვერები თქვენს სერვერს პოსტებს HTTPS-ით 443-ე პორტზე აწვდიან, ადამიანები კი თქვენს ინსტანსს ბრაუზერში ხსნიან. ამისთვის საჭიროა 443-ე პორტზე შემომავალი ტრაფიკი თქვენს საკუთარ IP-ზე, რაც NAT-გეგმებს არ აქვთ.

როგორ გავაგზავნო ელფოსტა Mastodon-იდან?

გამოიყენეთ გარე ტრანზაქციული ელფოსტის პროვაიდერი SMTP-ით 587-ე პორტზე. ჩვენს სერვერებზე 25-ე და 465-ე პორტები დახურულია, რელე კი ისედაც გაცილებით უკეთ აწვდის წერილებს, ვიდრე ახალი IP.

რატომ ივსება ჩემი დისკი ასე სწრაფად?

თქვენი სერვერი ქეშავს ყველა იმ ანგარიშის მედიას, რომელსაც ხედავს. რეგულარულად გაუშვით 'tootctl media remove --days 7', ან მედია S3-თავსებად ობიექტურ საცავში გადაიტანეთ.

შემიძლია მოგვიანებით დომენის შეცვლა?

არა. დომენი ყოველი ანგარიშის იდენტობის ნაწილია მთელ ფედივერსში. პირველი ანგარიშის შექმნამდე ფრთხილად აირჩიეთ.

კომენტარები

ჯერ არ არის კომენტარები. იყავით პირველი.

დატოვეთ კომენტარი

კომენტარები მოდერირდება გამოჩენამდე.