−25%

på Windows ved årlig betaling, til 31/10. Se pakkerne

EQVPS

VPS til Mastodon: din egen lille instans

Host en lille Mastodon-instans på en VPS: ærlig vurdering af RAM og disk, installation med Docker, mail via et SMTP-relæ og oprydning i medier, så disken ikke bliver fuld.

At eje sin sociale konto lyder godt, lige indtil du indser, at kontoen bor på en andens server, under deres regler og oppetid. En egen Mastodon-instans løser det: dit brugernavn er @you@your-domain, og ingen andre end dig kan lukke det ned. Hagen er, at Mastodon ikke er en lille app. Det er godt at vide, hvad du går ind til.

Hvem det er til

Til noget større driver du en tjeneste med modereringsopgaver, misbrugsanmeldelser og rigtig infrastruktur. Det er en anden snak.

Hvad den reelt kræver

Mastodon kører flere processer på én gang: Rails-webappen, Sidekiq-baggrundsworkers, en streamingserver, PostgreSQL og Redis. Føderationen betyder, at din server bliver ved med at hente opslag og medier fra andre servere, også mens du sover.

InstansPlan
Én bruger, få fulgte kontiSmall-IP — 2 vCPU, 4 GB, $16/md.
Lille fællesskab, aktiv føderationMedium-IP — 4 vCPU, 6 GB, $20/md.

4 GB virker, men det er stramt; Sidekiq-køerne hober sig op, når et populært opslag, du følger, får tusindvis af svar. 6 GB giver luft. Den anden begrænsning er disken — se afsnittet om medier nedenfor.

Du skal også bruge et domæne og en dedikeret IP: andre servere leverer til din på port 443.

Installation med Docker

Det officielle repository har en docker-compose.yml med. På en frisk Ubuntu 24.04-server med Docker installeret:

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

Opsætningsopgaven spørger efter dit domæne, indstillinger for database og Redis (standardværdierne passer til compose-filen), mailindstillinger og den første administratorkonto. Alt skrives til .env.production. Læs udgivelsesnoterne for det tag, du har tjekket ud — trinnene ændrer sig indimellem mellem hovedversioner.

Mastodon har en nginx-skabelon i dist/nginx.conf. Kopiér den til /etc/nginx/sites-available/, erstat domænet, og hent et certifikat med certbot. Vores guides til reverse proxy og domæner dækker begge dele.

Mail: brug et relæ

Mastodon sender bekræftelses- og nulstillingsmails. Portene 25 og 465 er lukket på vores servere, så peg Mastodon mod en ekstern udbyder af transaktionsmails via 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

Helt ærligt ville du have et relæ alligevel. Mail fra en splinterny server-IP ender ofte i spam; et relæ har det omdømme, du ikke har endnu.

Medier: disksluger nummer ét

Hvert billede og hver video fra konti, din server ser, bliver cachet lokalt. På en travl instans er det gigabytes om ugen. Ryd op i gamle fjernmedier efter en tidsplan:

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

Læg dem i et dagligt cronjob. Vokser din instans, så flyt medierne til S3-kompatibel objektlagring med S3_*-indstillingerne i .env.production — så rummer VPS-disken kun databasen.

Vedligeholdelse

Vil du hellere have noget lettere til en teamchat? En Matrix-server passer måske bedre.

Klar til at deploye? Betal med krypto, ingen KYC — live på cirka et minut.

Deploy nu →

FAQ

Hvor meget RAM kræver en Mastodon-instans?

Til en instans for én person eller en lille gruppe er 4 GB det realistiske minimum og 6 GB behageligt. Mastodon kører en webproces, Sidekiq-workers, PostgreSQL og Redis på samme tid, og føderationen holder Sidekiq travlt, selv når ingen poster noget.

Hvorfor har Mastodon brug for en dedikeret IP?

Andre servere leverer opslag til din over HTTPS på port 443, og folk åbner din instans i en browser. Det kræver indgående trafik på 443 til din egen IP, og det har NAT-planer ikke.

Hvordan sender jeg mail fra Mastodon?

Brug en ekstern udbyder af transaktionsmails via SMTP på port 587. Portene 25 og 465 er lukket på vores servere, og et relæ giver desuden langt bedre leveringsevne, end en helt ny IP ville.

Hvorfor bliver min disk så hurtigt fyldt?

Din server cacher medier fra alle konti, den ser. Kør 'tootctl media remove --days 7' efter en tidsplan, eller flyt medierne til S3-kompatibel objektlagring.

Kan jeg skifte domæne senere?

Nej. Dit domæne er en del af hver kontos identitet i hele fediverset. Vælg det omhyggeligt, før den første konto oprettes.

Kommentarer

Ingen kommentarer endnu. Vær den første.

Skriv en kommentar

Kommentarer modereres, før de vises.