−25%

sur Windows en paiement annuel, jusqu'au 31/10. Voir les offres

EQVPS

VPS pour Mastodon : votre propre petite instance

Hébergez une petite instance Mastodon sur un VPS : RAM et disque sans langue de bois, installation Docker, e-mail via un relais SMTP et nettoyage des médias pour ne pas saturer le disque.

Posséder son compte social paraît séduisant jusqu'à ce qu'on réalise qu'il vit sur le serveur de quelqu'un d'autre, avec ses règles et sa disponibilité. Votre propre instance Mastodon règle ça : votre identifiant est @you@your-domain, et personne ne peut le fermer à part vous. Le hic, c'est que Mastodon n'est pas une petite application. Mieux vaut savoir dans quoi on s'engage.

Pour qui

Au-delà, vous gérez un service avec des obligations de modération, des signalements et une vraie infrastructure. C'est une autre conversation.

Ce qu'il faut vraiment

Mastodon fait tourner plusieurs processus à la fois : l'application web Rails, des workers Sidekiq en arrière-plan, un serveur de streaming, PostgreSQL et Redis. Avec la fédération, votre serveur continue de récupérer publications et médias d'autres serveurs même pendant que vous dormez.

InstanceOffre
Un utilisateur, peu d'abonnementsSmall-IP — 2 vCPU, 4 Go, $16/mois
Petite communauté, fédération activeMedium-IP — 4 vCPU, 6 Go, $20/mois

4 Go fonctionnent mais c'est serré ; les files Sidekiq s'engorgent quand une publication populaire que vous suivez reçoit des milliers de réponses. 6 Go laissent de la marge. L'autre contrainte est le disque — voir la partie médias.

Il vous faut aussi un domaine et une IP dédiée : les autres serveurs livrent au vôtre sur le port 443.

Installation avec Docker

Le dépôt officiel fournit un docker-compose.yml. Sur un serveur Ubuntu 24.04 neuf avec Docker installé :

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

La tâche d'installation demande votre domaine, les réglages de base de données et de Redis (les valeurs par défaut correspondent au fichier compose), les réglages e-mail et le premier compte administrateur. Tout est écrit dans .env.production. Lisez les notes de version du tag choisi — les étapes changent parfois entre versions majeures.

Mastodon fournit un modèle nginx dans dist/nginx.conf. Copiez-le dans /etc/nginx/sites-available/, remplacez le domaine et obtenez un certificat avec certbot. Nos guides du reverse proxy et du domaine couvrent les deux.

E-mail : passez par un relais

Mastodon envoie des e-mails de confirmation et de réinitialisation de mot de passe. Les ports 25 et 465 sont fermés sur nos serveurs, alors dirigez Mastodon vers un fournisseur externe d'e-mails transactionnels via le 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

Honnêtement, vous voudriez un relais de toute façon. Les e-mails d'une IP de serveur toute neuve finissent souvent en spam ; un relais a la réputation que vous n'avez pas encore.

Médias : le dévoreur de disque

Chaque image et chaque vidéo des comptes que voit votre serveur est mise en cache localement. Sur une instance active, ce sont des gigaoctets par semaine. Nettoyez régulièrement les anciens médias distants :

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

Mettez-le dans une tâche cron quotidienne. Si votre instance grandit, déplacez les médias vers un stockage objet compatible S3 avec les réglages S3_* de .env.production — le disque du VPS ne garde alors que la base de données.

Entretien

Vous cherchez plutôt quelque chose de plus léger pour la discussion d'une équipe ? Un serveur Matrix conviendra peut-être mieux.

Prêt à déployer ? Payez en crypto, sans KYC — en ligne en une minute environ.

Déployer →

FAQ

Combien de RAM faut-il pour une instance Mastodon ?

Pour une instance mono-utilisateur ou petite, 4 Go est le minimum réaliste et 6 Go le confort. Mastodon fait tourner en même temps un processus web, des workers Sidekiq, PostgreSQL et Redis, et la fédération occupe Sidekiq même quand personne ne publie.

Pourquoi Mastodon a-t-il besoin d'une IP dédiée ?

Les autres serveurs livrent les publications au vôtre en HTTPS sur le port 443, et les gens ouvrent votre instance dans le navigateur. Il faut donc du 443 entrant sur votre propre IP, ce que les offres NAT n'ont pas.

Comment envoyer des e-mails depuis Mastodon ?

Via un fournisseur externe d'e-mails transactionnels en SMTP sur le port 587. Les ports 25 et 465 sont fermés sur nos serveurs, et un relais offre de toute façon une bien meilleure délivrabilité qu'une IP toute neuve.

Pourquoi mon disque se remplit-il si vite ?

Votre serveur met en cache les médias de tous les comptes qu'il voit. Lancez 'tootctl media remove --days 7' à intervalle régulier, ou déplacez les médias vers un stockage objet compatible S3.

Puis-je changer de domaine plus tard ?

Non. Votre domaine fait partie de l'identité de chaque compte dans tout le fédivers. Choisissez-le soigneusement avant de créer le premier compte.

Commentaires

Pas encore de commentaires. Soyez le premier.

Laisser un commentaire

Les commentaires sont modérés avant leur publication.