−25%

na Windows przy płatności rocznej, do 31.10. Do planów

EQVPS

VPS dla Mastodona: własna mała instancja

Postaw małą instancję Mastodona na VPS: uczciwie o RAM i dysku, instalacja w Dockerze, poczta przez przekaźnik SMTP i czyszczenie mediów, żeby dysk się nie zapchał.

Posiadanie własnego konta społecznościowego brzmi świetnie, dopóki nie zdasz sobie sprawy, że konto żyje na cudzym serwerze, według cudzych zasad i cudzej dostępności. Własna instancja Mastodona to naprawia: twój identyfikator to @you@your-domain i nikt poza tobą nie może go wyłączyć. Haczyk polega na tym, że Mastodon nie jest małą aplikacją. Warto wiedzieć, na co się piszesz.

Dla kogo to jest

Przy czymś większym prowadzisz już usługę z obowiązkami moderacji, zgłoszeniami nadużyć i prawdziwą infrastrukturą. To zupełnie inna rozmowa.

Czego naprawdę potrzebuje

Mastodon uruchamia kilka procesów naraz: aplikację webową w Rails, workery Sidekiq w tle, serwer streamingu, PostgreSQL i Redis. Przez federację twój serwer pobiera posty i media z innych serwerów nawet wtedy, gdy śpisz.

InstancjaPlan
Jedna osoba, mało obserwowanychSmall-IP — 2 vCPU, 4 GB, $16/mies.
Mała społeczność, aktywna federacjaMedium-IP — 4 vCPU, 6 GB, $20/mies.

4 GB działają, ale na styk; kolejki Sidekiq się zapychają, gdy popularny post, który obserwujesz, dostaje tysiące odpowiedzi. 6 GB daje oddech. Drugim ograniczeniem jest dysk — patrz sekcja o mediach niżej.

Potrzebujesz też domeny i dedykowanego IP: inne serwery dostarczają do twojego na porcie 443.

Instalacja w Dockerze

Oficjalne repozytorium zawiera docker-compose.yml. Na świeżym serwerze z Ubuntu 24.04 i zainstalowanym Dockerem:

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

Zadanie konfiguracyjne pyta o domenę, ustawienia bazy danych i Redisa (domyślne wartości pasują do pliku compose), ustawienia poczty i pierwsze konto administratora. Wszystko zapisuje w .env.production. Przeczytaj informacje o wydaniu dla wybranego tagu — kroki czasem zmieniają się między głównymi wersjami.

Mastodon zawiera szablon nginx w dist/nginx.conf. Skopiuj go do /etc/nginx/sites-available/, podmień domenę i zdobądź certyfikat przez certbota. Nasze poradniki o reverse proxy i o domenie opisują oba kroki.

Poczta: użyj przekaźnika

Mastodon wysyła maile z potwierdzeniem i resetem hasła. Porty 25 i 465 są na naszych serwerach zamknięte, więc skieruj Mastodona do zewnętrznego dostawcy poczty transakcyjnej przez port 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

Szczerze mówiąc, przekaźnika i tak byś chciał. Poczta z zupełnie nowego adresu IP serwera często ląduje w spamie; przekaźnik ma reputację, której ty jeszcze nie masz.

Media: pożeracz dysku

Każdy obraz i film z kont, które widzi twój serwer, trafia do lokalnego cache. Na aktywnej instancji to gigabajty tygodniowo. Regularnie czyść stare zdalne media:

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

Wrzuć to do codziennego crona. Jeśli instancja urośnie, przenieś media do storage obiektowego zgodnego z S3 za pomocą ustawień S3_* w .env.production — wtedy dysk VPS trzyma tylko bazę danych.

Utrzymanie

Szukasz czegoś lżejszego na czat zespołu? Serwer Matrix może pasować lepiej.

Gotowy na wdrożenie? Płać kryptowalutą, bez KYC — online w około minutę.

Wdróż teraz →

FAQ

Ile RAM potrzebuje instancja Mastodona?

Dla instancji jednoosobowej lub małej 4 GB to realne minimum, a 6 GB to komfort. Mastodon uruchamia jednocześnie proces webowy, workery Sidekiq, PostgreSQL i Redis, a federacja zajmuje Sidekiq nawet wtedy, gdy nikt nic nie publikuje.

Dlaczego Mastodon potrzebuje dedykowanego IP?

Inne serwery dostarczają posty do twojego przez HTTPS na porcie 443, a ludzie otwierają twoją instancję w przeglądarce. To wymaga ruchu przychodzącego na 443 na twoim własnym IP, a plany NAT tego nie mają.

Jak wysyłać maile z Mastodona?

Przez zewnętrznego dostawcę poczty transakcyjnej, po SMTP na porcie 587. Porty 25 i 465 są na naszych serwerach zamknięte, a przekaźnik i tak zapewnia dużo lepszą dostarczalność niż świeży adres IP.

Dlaczego dysk zapełnia się tak szybko?

Twój serwer zapisuje w cache media ze wszystkich kont, które widzi. Uruchamiaj regularnie 'tootctl media remove --days 7' albo przenieś media do storage obiektowego zgodnego z S3.

Czy mogę później zmienić domenę?

Nie. Domena jest częścią tożsamości każdego konta w całym fediwersum. Wybierz ją starannie przed utworzeniem pierwszego konta.

Komentarze

Brak komentarzy. Bądź pierwszy.

Zostaw komentarz

Komentarze są moderowane przed pojawieniem się.