−25%

за Windows при годишно плащане, до 31.10. Към плановете

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 дават въздух. Другото ограничение е дискът — вижте частта за медията по-долу.

Трябват ви и домейн, и dedicated 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 включва шаблон за nginx в dist/nginx.conf. Копирайте го в /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 задача. Ако сървърът порасне, преместете медията в S3-съвместимо обектно хранилище чрез настройките S3_* в .env.production — тогава дискът на VPS държи само базата.

Поддръжка

Търсите нещо по-леко за чат на екип? Matrix сървър може да пасне по-добре.

Готов за deploy? Плати в crypto, без KYC — онлайн за около минута.

Deploy-ни сега →

Въпроси

Колко RAM му трябва на Mastodon сървър?

За сървър за един човек или малка група 4 GB са реалистичният минимум, а 6 GB са удобни. Mastodon пуска едновременно уеб процес, Sidekiq работници, PostgreSQL и Redis, а федерацията държи Sidekiq зает дори когато никой не публикува.

Защо Mastodon има нужда от dedicated IP?

Другите сървъри доставят публикации до вашия по HTTPS на порт 443, а хората отварят сървъра ви в браузър. Това изисква входящ трафик на 443 към собствения ви IP, а NAT плановете нямат такъв.

Как да изпращам поща от Mastodon?

Чрез външен доставчик на транзакционна поща по SMTP на порт 587. Портове 25 и 465 са затворени на нашите сървъри, а релеят така или иначе доставя много по-добре, отколкото съвсем нов IP.

Защо дискът ми се пълни толкова бързо?

Сървърът ви кешира медията на всеки акаунт, който вижда. Пускайте 'tootctl media remove --days 7' по график или преместете медията в S3-съвместимо обектно хранилище.

Мога ли да сменя домейна по-късно?

Не. Домейнът е част от идентичността на всеки акаунт в целия fediverse. Изберете го внимателно, преди да създадете първия акаунт.

Коментари

Още няма коментари. Бъди първият.

Остави коментар

Коментарите се модерират преди да се появят.