Composizione: la mascotte orso polare di NordBastion in armatura tattica nordica accanto a un piedistallo luminoso di piazza cittadina, un grappolo di piccole istanze-lanterna illuminate orbita attorno come una costellazione fediversa, fili di federazione magenta-aurora le collegano attraverso un fiordo notturno, la silhouette del mammut-mastodonte riposa serena accanto alla mascotte
Caso d'uso · Istanza Mastodon · Aggiornato 2026

La sua comunità.
Sulla sua giurisdizione. Federata per default.

Un'istanza Mastodon è una piccola piazza cittadina che mantiene lei. Un Ravelin a $23,90/mese fa girare lo stack Docker Compose — Mastodon 4.x + Postgres + Redis + Sidekiq — per ~100 utenti attivi, federata al fediverso più ampio, decisioni di defederazione solo sue.

In sintesi
  • 01

    Ravelin a $23,90/mese fa girare Mastodon 4.x + Postgres + Redis + Sidekiq comodamente per ~100 utenti attivi; Bulwark per oltre 1000. Garrison adatto a una configurazione di istanza personale.

  • 02

    Il signup senza KYC tiene la sua identità di admin fuori dal threat model. Fatturazione cripto, nessuna carta registrata che colleghi l'istanza a un nome legale.

  • 03

    Giurisdizione nordica (nessun auto-takedown in stile DMCA), uplink non misurato che assorbe i 100-300 GB/giorno che un'istanza federata sana spinge in uscita.

Perché vale la pena

Perché auto-ospitare l'istanza in primo luogo.

Unirsi a un'istanza Mastodon esistente è la scelta giusta per il 95% degli utenti — ne scelga una ben gestita, posti, segua, fatto. Gestire la propria istanza è una proposta diversa: diventa l'admin di una piccola piazza cittadina, e le persone che si iscrivono firmano per le sue scelte di moderazione e il suo uptime. Il punto è la sovranità, non la scala.

L'auto-hosting è anche l'unico modo per essere certi che l'istanza sopravviva all'operatore. Le istanze public-good costruite da volontari hanno un'emivita — burnout, gap di finanziamenti, un singolo admin che cambia — e gli account utenti si spostano con il dominio dell'istanza. Gestire la propria significa che il suo handle, i suoi follower e il suo archivio sono ancorati a un dominio e a un database che lei controlla.

Il deployment Docker Compose rende gestibile la storia operativa: Mastodon include un template compose ufficiale, Postgres e Redis sono commodity, Sidekiq è una coda che si legge con una dashboard. Le parti difficili che restano sono la deliverability del mail-relay e la moderazione — entrambe le nomineremo esplicitamente qui sotto anziché liquidarle.

La domanda giusta non è «iscriversi o auto-ospitare» in astratto — è «voglio avere voce in una piazza cittadina che possiedo, o affittare una scrivania in una che possiede qualcun altro». Se la risposta è la prima, il resto di questa pagina è la ricetta.

Dimensionamento

La fascia NordBastion giusta per il compito.

Per un'istanza di comunità fino a ~100 utenti giornalieri che postano attivamente con una sana federazione in uscita, il punto ottimale è il Ravelin ($23,90/mese, 8 vCPU, 16 GB, 480 GB NVMe). Otto core coprono comodamente il pool di worker Sidekiq sotto raffiche di federazione; 16 GB di RAM contengono i buffer Postgres, Redis, il livello web e un paio di code Sidekiq senza mai toccare lo swap.

Oltre ~300 utenti attivi, o quando i Sidekiq processed-jobs/sec si attestano a nord di 100 sostenuti, la fascia Bulwark guadagna il suo posto — più core per il parallelismo Sidekiq, più RAM per gli shared buffer di Postgres e la libertà di dedicare un paio di core a Elasticsearch se la sua comunità vuole la ricerca full-text sulla timeline federata.

Per un'istanza personale a singolo utente o per soli amici stretti (sotto ~10 account attivi, federazione mantenuta ristretta), un Garrison ($11,90/mese, 4 vCPU, 8 GB, 240 GB NVMe) è perfettamente fattibile — in particolare per Pleroma/Akkoma o Sharkey, che sono più leggeri di Mastodon. Il vincolo è la crescita dello storage media piuttosto che la CPU; metta a budget lo scarico dei media su storage a oggetti esterno dal primo giorno.

Ciò che nessuna di queste è: un'istanza in scala Instagram con CDN fotografica di prima parte. Mastodon non è progettato per quel carico di lavoro; il protocollo brilla per le comunità federate piccole e medie, e la nostra guida sulle fasce riflette quella forma reale.

Configurazione

Dal VPS nuovo al primo post federato. Sei passi, circa novanta minuti.

Uno schema scheletro — la guida amministrativa upstream di joinmastodon.org resta il riferimento canonico per variabili d'ambiente e parametri di tuning.

  1. 01

    Docker + Compose

    Il Docker engine ufficiale + il plugin Compose v2. Salti il pacchetto di distribuzione legacy; il repo upstream è più vicino al corrente.

    curl -fsSL get.docker.com \
      | sh
    apt install \
      docker-compose-plugin
  2. 02

    Cloni Mastodon

    Il repo include il docker-compose.yml canonico. Si ancori al tag stabile v4.x più recente anziché seguire main.

    git clone \
      https://github.com/mastodon/mastodon
    cd mastodon
    git checkout v4.3.0
  3. 03

    Generi .env.production

    Il setup wizard scrive in modo interattivo i secret, le credenziali DB e il blocco SMTP. Scelga qui il suo provider di mail transazionale — non lo lasci per dopo.

    docker compose run --rm \
      web bin/setup
    # scrive .env.production
  4. 04

    TLS via Caddy o nginx

    Caddy è l'opzione a minor attrito — una riga in Caddyfile, Let's Encrypt automatico. nginx + certbot resta il percorso classico se preferisce.

    # Caddyfile
    social.example.org {
      reverse_proxy localhost:3000
    }
  5. 05

    Avvii lo stack

    Livello web, Sidekiq, Streaming, Postgres e Redis salgono insieme. Faccia il tail dei log e guardi il traffico di federazione iniziare entro secondi dal primo follow.

    docker compose up -d
    docker compose logs -f web sidekiq
  6. 06

    Crei l'admin

    Promuova il primo utente ad admin tramite la CLI tootctl. L'UI admin espone poi la modalità di registrazione (aperta/approvazione-richiesta/su invito) — scelga approvazione-richiesta come default sicuro.

    docker compose exec web \
      bin/tootctl accounts modify \
      <username> --role Owner
Perché questo host per questo compito

Perché NordBastion specificamente per un'istanza Mastodon.

Senza KYC

Il suo nome di admin non fa parte dell'istanza.

Un admin Mastodon riceve segnalazioni di moderazione, richieste di rimozione e l'occasionale richiesta GDPR del soggetto dei dati. La maggior parte è routine; alcune no, e il threat model conta. Iscriversi con email + cripto anziché con carta di credito significa che non c'è traccia documentale dell'emittente della carta da «l'admin di social.example.org» a un nome legale. L'istanza è un servizio ospitato pagato da un saldo prepagato — quella è l'unica relazione che esiste.

Giurisdizione nordica

Il dramma della defederazione resta una sua decisione.

Non esiste in Svezia, Finlandia, Norvegia o Islanda un meccanismo notice-and-staydown in stile DMCA che permetta a un'accusa esterna di forzare la rimozione preventiva di contenuto dalla sua istanza. La risposta dell'hoster a «li faccia rimuovere» è «risponda al procedimento legale nella sua giurisdizione»; la risposta a «non ci piace quell'altra istanza con cui federano» è «è una decisione dell'admin». La sua politica di moderazione è la politica di moderazione.

1 Gbps non misurato

Le chiacchiere di federazione non fatturano extra.

Un'istanza da 100 utenti federata verso il fediverso più ampio spinge 100-300 GB al giorno di consegne ActivityPub — ogni post locale diramato verso l'istanza domestica di ogni follower remoto. La maggior parte delle bollette hyperscaler trattano tutto questo come egress fatturabile; noi lo trattiamo come il costo di stare su internet. Nessun cap di trasferimento su nessuna fascia, nessuna riga di eccedenza in fattura.

Verdetto

Lo faccia girare su un Ravelin. Paghi in cripto. Scelga il suo provider di mail transazionale al primo giorno.

Auto-ospitare un'istanza Mastodon è la cosa a più alta leva che una piccola comunità possa fare per la propria continuità. Al prezzo di un singolo seat SaaS di strumento social ottiene una piazza cittadina federata i cui handle sopravvivono a qualsiasi singola piattaforma, le cui scelte di moderazione appartengono a lei e i cui dati vivono in una giurisdizione senza auto-takedown in stile DMCA.

NordBastion ha opinioni sulle parti che contano per questo compito specifico — signup admin senza KYC, giurisdizione nordica, uplink non misurato, porta 25 aperta se sceglie di auto-ospitare la mail in uscita — ed è deliberatamente ordinario sul resto. Il VPS è un VPS. Docker è Docker. Mastodon include un template compose ufficiale; noi forniamo la macchina e ci facciamo da parte.

La questione del mail-relay è quella da sistemare per prima. Scelga un provider transazionale esterno, lo configuri in .env.production al momento del setup, e la singola maggiore fonte di dolore operativo è eliminata prima di iniziare.

FAQ · Mastodon su un VPS

Le domande che emergono per prime.

Le otto domande che gli admin Mastodon reali pongono prima di `docker compose up`. Il mail relay è la prima domanda per una ragione.

Qual è davvero la parte più difficile di gestire un'istanza Mastodon?

La deliverability dell'email. L'applicazione Mastodon in sé è ben progettata, lo stack Docker Compose si assembla in un pomeriggio e la messa a punto di Postgres è scienza nota. La parte che rompe le istanze delle persone sono le conferme di signup, i reset password e le notifiche di moderazione di federazione che non riescono a raggiungere le inbox Gmail / Outlook365 perché il percorso SMTP da un IP VPS fresco è trattato come colpevole-fino-a-prova-contraria. Pianifichi un relay mail transazionale esterno (Mailgun, Postmark, Amazon SES) dal primo giorno — costa $10/mese e rimuove l'80% del dolore operativo.

Quanto grande diventa davvero il database?

Il database Postgres di Mastodon cresce grosso modo proporzionalmente all'unione di «ciò che pubblicano i suoi utenti locali» più «tutto da ogni account che chiunque qui abbia mai seguito su ogni altra istanza». Per un'istanza con 100 utenti attivi e una sana federazione in uscita, si aspetti 20-40 GB di database dopo il primo anno e 80-150 GB dopo tre anni. I media (immagini / video / boost caricati) vivono separatamente e sono il problema di storage più grande — veda la domanda successiva.

Posso scaricare i media su storage compatibile S3?

Sì, e dovrebbe. Mastodon supporta qualsiasi backend compatibile con l'API S3 via la env var S3_ENABLED. NordBastion attualmente non gestisce storage a oggetti di prima parte, quindi la scelta pragmatica è un provider esterno — Backblaze B2 è la raccomandazione standard per le istanze self-hosted (prezzi prevedibili, nessuna fee di egress quando abbinato a Cloudflare davanti). Con i media scaricati, i 480 GB NVMe di un Ravelin contengono Postgres e le code di job Sidekiq per anni; senza scarico, gli stessi 480 GB si riempiono in 12-18 mesi su un'istanza moderatamente attiva.

Ravelin o Bulwark — quando supero Ravelin?

Ravelin (8 vCPU, 16 GB, 480 GB) è comodo fino a ~100 utenti giornalieri che postano attivamente con una sana federazione in uscita. Il collo di bottiglia che si rompe per primo sono i worker Sidekiq sotto raffiche di federazione in entrata (un post virale boostato da un'istanza di 50k utenti produce un picco di coda transitorio che vuole più worker, che vuole più RAM). A ~300 utenti attivi o quando i Sidekiq processed-jobs/sec si attestano >100 sostenuti, la fascia Bulwark guadagna il suo posto — più core, più margine RAM e la libertà di dedicare un core a Elasticsearch se vuole la ricerca.

Cos'è la defederazione e come la gestisco?

La defederazione è quando la sua istanza (o un'altra istanza) smette di accettare messaggi da un peer — usata in pratica per bloccare istanze che ospitano contenuto in violazione dei suoi standard di comunità. L'UI amministrativa di Mastodon espone toggle per-istanza di suspend/silence/limit; il costo sociale è reale (i suoi utenti perdono i thread in cui erano con persone sull'istanza bloccata) e il costo di moderazione è reale (qualcuno deve prendere la decisione). Il senso di gestire la propria istanza è che questa è una decisione sua — basata sugli standard della sua comunità, non su una pipeline corporate trust-and-safety.

Qual è lo sforzo realistico di moderazione?

Per un'istanza sotto ~50 utenti con signup curati (su invito o approvati dall'admin), la moderazione richiede pochi minuti a settimana — chiudere segnalazioni di account spam, occasionalmente limitare un'istanza peer. Per le istanze a registrazione aperta lo sforzo scala in modo superlineare con il volume di signup perché l'economia delle spam-bot tratta ogni endpoint ActivityPub aperto come un bersaglio. La difesa standard sono registrazioni richiedenti approvazione + una chiara domanda di candidatura — riducono i signup automatici del 99% con un attrito trascurabile per umani reali.

La giurisdizione nordica conta davvero per un admin Mastodon?

Sì, per una ragione specifica e sottovalutata: come admin riceve segnalazioni di moderazione, richieste di rimozione e l'occasionale richiesta GDPR del soggetto dei dati. Svezia, Finlandia, Norvegia e Islanda hanno un framework giuridico ben definito su ciò che un hoster e un piccolo operatore di forum devono in risposta — e cosa cruciale, nessun equivalente del meccanismo notice-and-staydown del DMCA statunitense che permette a una singola accusa di forzare una rimozione preventiva. Modera comunque; semplicemente lo fa alle sue condizioni anziché sotto minaccia di un'azione automatica dell'hoster.

Mastodon vs Pleroma vs Akkoma vs Sharkey — conta per l'hosting?

Lato hosting: Mastodon è il più pesante (Ruby on Rails + Sidekiq + Postgres + Redis + Elasticsearch opzionale), Pleroma/Akkoma sono più leggeri (Elixir, singola release OTP), Sharkey/famiglia-Misskey girano su Node + Postgres. Un Ravelin gestisce comodamente uno qualsiasi di essi per ~100 utenti; un Sentinel può far girare Pleroma/Akkoma per uso a istanza personale dove la stessa fascia non basterebbe per Mastodon. Scelga in base alla compatibilità con la comunità (quali funzionalità contano, quale UI preferisce la sua gente), non in base alla curva di risorse — la differenza è piccola a questa scala.