Fatigué de Twitter ? Écoeuré par Facebook ? Les abus en ligne et le contenu NSFW vous rebutent ? Vous souhaitez échanger librement sur des sujets qui vous passionnent, à l'abri des trolls et des regards indiscrets ?
Mastodon est la réponse idéale. Open source et décentralisé, il vous permet de déployer votre propre instance pour des discussions sécurisées et confidentielles. Ce guide étape par étape, basé sur une expertise en administration serveur, vous accompagne pour une installation fiable sous Ubuntu Server (note : adapté d'Ubuntu 16.04 ; pour les versions récentes comme 22.04, consultez la documentation officielle).

Si Mastodon vous est inconnu : les "toots" équivalent aux tweets, mais avec 500 caractères max (contre 140 sur Twitter). Découvrez notre aperçu détaillé pour mieux comprendre.
Voici le matériel nécessaire :
Composants clés : Docker (virtualisation), Mastodon (réseau social), Nginx (proxy inverse pour la sécurité).
Accédez au serveur via SSH (terminal Linux/macOS ou PuTTY sous Windows).
Connectez-vous en root/admin, créez l'utilisateur mastodon :
adduser mastodon
usermod -aG sudo mastodon
su - mastodonMettez à jour les paquets :
sudo apt-get update
sudo apt-get install apt-transport-https software-properties-commonAjoutez la clé GPG Docker (note : méthode dépréciée ; préférez le script officiel pour les nouvelles installs) :
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609DAjoutez le dépôt et mettez à jour :
sudo add-apt-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'
sudo apt-get updateVérifiez le dépôt Docker :
sudo apt-cache policy docker-engineInstallez Docker :
sudo apt-get install -y docker-engineVérifiez le service :
sudo systemctl status dockerRecherchez "active (running)".
Ajoutez l'utilisateur au groupe docker :
sudo usermod -aG docker $(whoami)Déconnectez-vous (exit) et reconnectez-vous.

Téléchargez la dernière version depuis GitHub (remplacez x.x.x) :
sudo curl -L "https://github.com/docker/compose/releases/download/x.x.x/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose
docker-compose -vcd /home/mastodon
git clone https://github.com/mastodon/mastodon.git
cd mastodon
cp .env.production.sample .env.productionConstruisez l'image :
docker-compose buildGénérez 3 clés secrètes :
docker-compose run --rm web rake secret(Exécutez 3 fois, notez-les.) Éditez .env.production :
nano .env.productionAjoutez les clés à PAPERCLIP_SECRET, SECRET_KEY_BASE, OTP_SECRET.

Dans Mailgun, récupérez SMTP_LOGIN et SMTP_PASSWORD. Éditez .env.production :
SMTP_FROM_ADDRESS=notifications@votredomaine.com
LOCAL_DOMAIN=votredomaine.com
docker-compose build
docker-compose run --rm web rails db:migrate
docker-compose run --rm web rails assets:precompile
docker-compose up -d
sudo apt-get install nginx
sudo rm /etc/nginx/sites-available/default
sudo rm /etc/nginx/sites-enabled/default
sudo touch /etc/nginx/sites-available/mastodon
sudo ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon
sudo nano /etc/nginx/sites-available/mastodonCopiez la config Nginx depuis la doc Mastodon, remplacez example.com par votre domaine (sans www).

sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot
sudo systemctl stop nginx
sudo certbot certonly --standalone -d votredomaine.comcd /home/mastodon/mastodon
docker-compose down
docker-compose build
docker-compose run --rm web rails assets:precompile
docker-compose run --rm web rails db:migrate
docker-compose up -d
sudo systemctl restart nginx
Accédez à votre domaine. En cas d'erreur, vérifiez .env.production, DNS et Mailgun.
cd /home/mastodon
nano mastodon_cronAjoutez :
cd /home/mastodon/mastodon &&
docker-compose run --rm web rake mastodon:media:clear &&
docker-compose run --rm web rake mastodon:push:refresh &&
docker-compose run --rm web rake mastodon:push:clear &&
docker-compose run --rm web rake mastodon:feeds:clearchmod +x mastodon_cron
sudo crontab -eAjoutez : 0 0 * * * /home/mastodon/mastodon_cron > /home/mastodon/mastodon_log 2>&1
sudo crontab -eAjoutez :
0 1 * * 1 /usr/bin/certbot renew >> /home/mastodon/letsencrypt.log 2>&1
5 1 * * 1 systemctl reload nginxCréez un compte admin via l'interface, confirmez par email.
cd /home/mastodon/mastodon
docker-compose run --rm web rails "User.find_by(username: 'votreuser').update!(admin: true)"
Accédez aux Préférences > Administration pour gérer utilisateurs, site et paramètres.
Twitter peine contre la cyberintimidation, Facebook sacrifie la vie privée. Mastodon offre une alternative décentralisée. Testez-le, puis lancez le vôtre !
Avez-vous installé votre instance Mastodon ? Partagez votre expérience en commentaires.
[]