−25%

la planurile Windows anuale, până pe 31 oct. Vezi planurile

EQVPS
Începe

VPS pentru Mastodon: propria ta instanță mică

Găzduiește o instanță Mastodon mică pe un VPS: dimensionare cinstită pentru RAM și disc, configurare Docker, e-mail printr-un releu SMTP și curățarea fișierelor media, ca discul să nu se umple.

Să-ți deții contul social e o idee frumoasă până realizezi că acel cont trăiește pe serverul altcuiva, după regulile și uptime-ul lui. Propria instanță Mastodon rezolvă asta: identificatorul tău e @tu@domeniul-tău și nimeni nu-l poate închide în afară de tine. Problema e că Mastodon nu e o aplicație mică. Merită să știi la ce te înhami.

Pentru cine e

  • O instanță cu un singur utilizator, pentru tine sau pentru contul oficial al companiei.
  • O comunitate mică de prieteni sau o echipă de proiect — zeci de oameni, nu mii.

Pentru orice mai mare, rulezi un serviciu cu obligații de moderare, rapoarte de abuz și infrastructură reală. Asta e altă discuție.

De ce are nevoie de fapt

Mastodon rulează mai multe procese deodată: aplicația web Rails, workerii Sidekiq de fundal, un server de streaming, PostgreSQL și Redis. Federarea înseamnă că serverul tău preia continuu postări și fișiere media de la alte servere, chiar și când dormi.

InstanțăPlan
Un singur utilizator, puține conturi urmăriteSmall-IP — 4 vCPU, 4 GB, $16/lună
Comunitate mică, federare activăMedium-IP — 6 vCPU, 6 GB, $20/lună

4 GB merg, dar la limită; cozile Sidekiq se adună când o postare populară pe care o urmărești primește mii de răspunsuri. 6 GB îți dau loc să respiri. Discul e cealaltă constrângere — vezi secțiunea despre media de mai jos.

Ai nevoie și de un domeniu și de un IP dedicat: alte servere livrează către al tău pe portul 443.

Configurare cu Docker

Repository-ul oficial vine cu un docker-compose.yml. Pe un server Ubuntu 24.04 proaspăt, cu Docker instalat:

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

Sarcina de configurare cere domeniul, setările bazei de date și Redis (valorile implicite se potrivesc cu fișierul compose), setările de e-mail și primul cont de administrator. Scrie totul în .env.production. Citește notele de versiune ale tagului pe care l-ai ales — pașii se schimbă uneori între versiunile majore.

Mastodon include un șablon nginx în dist/nginx.conf. Copiază-l în /etc/nginx/sites-available/, înlocuiește domeniul și ia un certificat cu certbot. Ghidul nostru despre reverse proxy și ghidul despre domenii le acoperă pe amândouă.

E-mail: folosește un releu

Mastodon trimite e-mailuri de confirmare și de resetare a parolei. Porturile 25 și 465 sunt închise pe serverele noastre, așa că îndreaptă Mastodon spre un furnizor extern de e-mail tranzacțional, pe portul 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

Sincer, oricum ai vrea un releu. E-mailurile de pe IP-ul unui server nou-nouț tind să ajungă în spam; un releu are reputația pe care tu n-o ai încă.

Media: mâncătorul de disc

Fiecare imagine și fiecare video de la conturile pe care le vede serverul tău sunt ținute local în cache. Pe o instanță aglomerată înseamnă gigaocteți pe săptămână. Curăță periodic fișierele media vechi de la distanță:

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

Pune-le într-o sarcină cron zilnică. Dacă instanța crește, mută fișierele media într-o stocare de obiecte compatibilă S3, cu setările S3_* din .env.production — atunci discul VPS-ului ține doar baza de date.

Întreținere

  • Actualizări: iei noul tag, docker compose pull, rulezi migrările cum spun notele de versiune, repornești. Nu sări peste versiunile majore.
  • Backup-uri: fă un dump PostgreSQL și păstrează în siguranță .env.production — fără secretele lui, o restaurare nu va merge. Ghidul nostru despre restic acoperă copiile în afara serverului, iar backup-urile gestionate adaugă puncte zilnice de restaurare pentru tot serverul.
  • Domeniul e permanent. E încorporat în adresa fiecărui cont din fediverse. Alege-l înainte să creezi primul cont.

Vrei în schimb ceva mai ușor pentru chatul unei echipe? Un server Matrix s-ar putea potrivi mai bine.

Gata de deploy? Plătește cu cripto, fără KYC — online în aproximativ un minut.

Pornește acum →

Întrebări frecvente

De câtă RAM are nevoie o instanță Mastodon?

Pentru o instanță cu un singur utilizator sau una mică, 4 GB e minimul realist, iar 6 GB e comod. Mastodon rulează în același timp un proces web, workeri Sidekiq, PostgreSQL și Redis, iar federarea ține Sidekiq ocupat chiar și când nu postează nimeni.

De ce are nevoie Mastodon de IP dedicat?

Alte servere livrează postări către al tău prin HTTPS pe portul 443, iar oamenii îți deschid instanța în browser. Pentru asta îți trebuie 443 de intrare pe propriul IP, pe care planurile NAT nu-l au.

Cum trimit e-mail din Mastodon?

Folosește un furnizor extern de e-mail tranzacțional, prin trimitere SMTP pe portul 587. Porturile 25 și 465 sunt închise pe serverele noastre, iar un releu îți dă și o livrare mult mai bună decât ar avea un IP proaspăt.

De ce mi se umple discul atât de repede?

Serverul tău ține în cache fișierele media de la fiecare cont pe care îl vede. Rulează periodic 'tootctl media remove --days 7' sau mută fișierele media într-o stocare de obiecte compatibilă S3.

Pot schimba domeniul mai târziu?

Nu. Domeniul face parte din identitatea fiecărui cont din fediverse. Alege-l cu grijă înainte să creezi primul cont.

Comentarii

Încă nu există comentarii. Fii primul.

Lasă un comentariu

Comentariile sunt moderate înainte să apară.