Kumiliki akaunti yako ya kijamii ni wazo zuri, hadi unapotambua kwamba akaunti hiyo inaishi kwenye seva ya mtu mwingine, chini ya sheria zake na muda wake wa kufanya kazi. Instance yako mwenyewe ya Mastodon inatatua hilo: handle yako ni @you@your-domain, na hakuna anayeweza kuizima isipokuwa wewe. Changamoto ni kwamba Mastodon si programu ndogo. Ni vizuri kujua unachojiingiza.
Ni kwa ajili ya nani
- Instance ya mtumiaji mmoja kwa ajili yako au akaunti rasmi ya kampuni yako.
- Jumuiya ndogo ya marafiki au timu ya mradi — makumi ya watu, si maelfu.
Kwa chochote kikubwa zaidi, unaendesha huduma yenye majukumu ya kusimamia maudhui, ripoti za matumizi mabaya na miundombinu halisi. Hayo ni mazungumzo mengine.
Inachohitaji kweli
Mastodon huendesha process kadhaa kwa wakati mmoja: programu ya wavuti ya Rails, workers za Sidekiq za nyuma, seva ya streaming, PostgreSQL na Redis. Kwa sababu ya federation, seva yako huendelea kuchukua post na media kutoka seva nyingine hata ukiwa umelala.
| Instance | Mpango |
|---|---|
| Mtumiaji mmoja, anafuata wachache | Small-IP — 2 vCPU, 4 GB, $16/mwezi |
| Jumuiya ndogo, federation hai | Medium-IP — 4 vCPU, 6 GB, $20/mwezi |
4 GB zinafanya kazi lakini kwa kubana; foleni za Sidekiq hujaa pale post maarufu unayoifuata inapopata maelfu ya majibu. 6 GB zinakupa nafasi ya kupumua. Kikwazo kingine ni diski — tazama sehemu ya media hapa chini.
Unahitaji pia domain na IP maalum: seva nyingine huwasilisha kwenye seva yako kupitia port 443.
Kusakinisha kwa Docker
Repository rasmi ina docker-compose.yml. Kwenye seva mpya ya Ubuntu 24.04 yenye Docker iliyosakinishwa:
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
Kazi ya kuandaa inauliza domain yako, mipangilio ya database na Redis (chaguo-msingi zinalingana na faili la compose), mipangilio ya barua pepe na akaunti ya kwanza ya msimamizi. Inaandika kila kitu kwenye .env.production. Soma maelezo ya toleo la tag uliyochagua — hatua hubadilika mara kwa mara kati ya matoleo makuu.
Mastodon inakuja na kiolezo cha nginx kwenye dist/nginx.conf. Kinakili kwenye /etc/nginx/sites-available/, badilisha domain na upate cheti kwa certbot. Miongozo yetu ya reverse proxy na domain inashughulikia yote mawili.
Barua pepe: tumia relay
Mastodon hutuma barua pepe za uthibitisho na za kubadilisha nenosiri. Port 25 na 465 zimefungwa kwenye seva zetu, kwa hiyo elekeza Mastodon kwa mtoa huduma wa nje wa barua pepe za miamala kupitia 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
Kusema kweli, ungetaka relay vyovyote vile. Barua kutoka IP mpya kabisa ya seva mara nyingi huishia kwenye spam; relay ina sifa ambayo wewe bado huna.
Media: mlaji wa diski
Kila picha na video kutoka akaunti ambazo seva yako inaziona huhifadhiwa kwenye cache ndani ya seva. Kwenye instance yenye shughuli nyingi, hizo ni gigabytes kila wiki. Safisha media za zamani za mbali kwa ratiba:
docker compose exec web tootctl media remove --days 7
docker compose exec web tootctl preview_cards remove --days 30
Ziweke kwenye kazi ya cron ya kila siku. Instance yako ikikua, hamisha media kwenye hifadhi ya object inayoendana na S3 kwa kutumia mipangilio ya S3_* ndani ya .env.production — hapo diski ya VPS itabeba database pekee.
Matunzo
- Masasisho: leta tag mpya,
docker compose pull, endesha migrations kama maelezo ya toleo yanavyosema, anzisha upya. Usiruke matoleo makuu. - Backup: tengeneza dump ya PostgreSQL na hifadhi
.env.productionsalama — bila siri zake, urejeshaji hautafanya kazi. Mwongozo wetu wa restic unashughulikia nakala nje ya seva, na Managed Backups huongeza vituo vya kila siku vya kurejesha seva nzima. - Domain ni ya kudumu. Imeandikwa ndani ya anwani ya kila akaunti kote kwenye fediverse. Ichague kabla ya kuunda akaunti ya kwanza.
Unataka kitu chepesi zaidi kwa gumzo la timu? Seva ya Matrix inaweza kufaa zaidi.
Maoni
Bado hakuna maoni. Kuwa wa kwanza.