Introduction
Mastodon est une plateforme de microblogging open-source populaire qui permet aux utilisateurs de créer leurs propres réseaux sociaux. L’auto-hébergement de Mastodon vous donne un contrôle total sur vos données et la possibilité de personnaliser votre instance. Dans ce guide, nous vous guiderons à travers les étapes pour installer Mastodon sur un VPS, couvrant tout, de la sélection du serveur à la configuration.
Prérequis
Avant de commencer, assurez-vous d’avoir ce qui suit :
- Un VPS exécutant Ubuntu 20.04 ou version ultérieure (voir notre comparaison complète de VPS pour les options).
- Un nom de domaine pour votre instance Mastodon.
- Une compréhension de base des outils en ligne de commande.
Choisir un fournisseur de VPS
Lors de la sélection d’un fournisseur de VPS, tenez compte des éléments suivants :
| Fournisseur | Prix de départ | Spécifications |
|---|---|---|
| Contabo VPS | 5.99 EUR/mo | 4 vCPU, 8 Go de RAM, 300 Go SSD |
| Hetzner Cloud | 4.15 EUR/mo | 2 vCPU, 2 Go de RAM, 20 Go SSD |
| DigitalOcean | 6 USD/mo | 1 vCPU, 1 Go de RAM, 25 Go SSD |
| Vultr | 6 USD/mo | 1 vCPU, 1 Go de RAM, 25 Go SSD |
| Linode | 5 USD/mo | 1 vCPU, 1 Go de RAM, 25 Go SSD |
Pour ce guide, nous recommandons soit Contabo, soit Hetzner Cloud pour leur équilibre entre prix et performance.
Étape 1 : Configuration initiale
-
Créez une nouvelle instance VPS : Choisissez votre fournisseur souhaité et configurez une nouvelle instance avec une installation minimale d’Ubuntu.
-
Mettez à jour votre système : Connectez-vous à votre VPS en utilisant SSH et exécutez les commandes suivantes :
sudo apt update sudo apt upgrade -y -
Installez les packages requis :
sudo apt install -y git curl wget build-essential
Étape 2 : Installer Docker et Docker Compose
Mastodon fonctionne dans des conteneurs Docker, ce qui facilite l’installation et la gestion.
-
Installez Docker :
curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh -
Installez Docker Compose :
sudo apt install -y python3-pip sudo pip3 install docker-compose
Étape 3 : Cloner le dépôt Mastodon
Ensuite, clonez le dépôt Mastodon et naviguez à l’intérieur.
git clone https://github.com/mastodon/mastodon.git ~/.mastodon
cd ~/.mastodon
Étape 4 : Configurer les variables d’environnement
Créez un nouveau fichier de configuration et remplissez-le avec vos détails :
cp .env.production.sample .env.production
nano .env.production
Assurez-vous de définir votre domaine, votre e-mail et d’autres configurations pertinentes.
Étape 5 : Installer les dépendances
Pour construire l’application Mastodon, vous devez installer Node.js, Yarn et d’autres dépendances.
-
Installez Node.js :
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install -y nodejs -
Installez Yarn :
npm install --global yarn -
Installez les dépendances Ruby :
sudo apt install -y gcc libpq-dev libjpeg-dev libxml2-dev libxslt1-dev -
Installez Bundler :
sudo gem install bundler -
Installez les gems :
bundle install
Étape 6 : Configuration de la base de données
Mastodon utilise PostgreSQL. Créez une nouvelle base de données pour votre instance.
-
Installez PostgreSQL :
sudo apt install -y postgresql postgresql-contrib -
Créez un utilisateur et une base de données :
sudo -u postgres createuser mastodon
sudo -u postgres createdb mastodon_production --owner mastodon
-
Attribuez un mot de passe :
Ouvrez l’invite de commandes PostgreSQL :
sudo -u postgres psqlPuis exécutez les commandes suivantes, en substituant
<yourpassword>:ALTER USER mastodon PASSWORD '<yourpassword>';
Étape 7 : Démarrer Mastodon avec Docker
Vous pouvez maintenant démarrer l’application Mastodon en utilisant Docker Compose.
docker-compose build
docker-compose up -d
Étape 8 : Configurer Nginx
Nous allons configurer Nginx comme un proxy inverse pour rediriger les requêtes vers votre instance Mastodon.
-
Installez Nginx :
sudo apt install -y nginx -
Configurez Nginx : Créez un nouveau fichier de configuration pour votre instance Mastodon.
sudo nano /etc/nginx/sites-available/mastodonRemplissez-le avec ce qui suit :
server { listen 80; server_name yourdomain.com; location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } -
Activez la configuration :
sudo ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/ -
Redémarrez Nginx :
sudo systemctl restart nginx
Étape 9 : Compléter l’installation
Assurez-vous que tout fonctionne correctement :
docker-compose logs
Naviguez vers votre instance Mastodon dans un navigateur web pour compléter la configuration.
Questions Fréquemment Posées
1. Combien ça coûte d’auto-héberger Mastodon sur un VPS ?
Les coûts dépendent du fournisseur et du plan spécifique que vous choisissez. Par exemple, Contabo VPS commence à 5.99 EUR/mo, tandis que Hetzner Cloud commence à 4.15 EUR/mo. Choisissez un plan qui correspond à vos besoins en ressources, comme le CPU et la RAM, surtout si vous prévoyez une utilisation élevée.
2. Puis-je héberger plusieurs instances Mastodon sur un seul VPS ?
Oui, il est possible d’héberger plusieurs instances Mastodon sur un seul VPS, mais cela nécessite une gestion minutieuse des ressources. Chaque instance aura besoin de sa propre base de données et peut nécessiter des ressources importantes pour fonctionner efficacement. Assurez-vous que votre VPS dispose de suffisamment de puissance CPU et de RAM pour les supporter.
3. Puis-je personnaliser mon instance Mastodon après l’installation ?
Absolument ! Mastodon est hautement personnalisable. Vous pouvez changer de thèmes, ajouter de nouvelles fonctionnalités et gérer les comptes utilisateurs via le tableau de bord d’administration. De nombreux utilisateurs préfèrent ajuster leurs instances pour répondre à des besoins communautaires spécifiques, comme créer des outils sur mesure pour la modération de contenu ou installer des plugins supplémentaires.
En suivant ce guide, vous êtes maintenant équipé pour auto-héberger Mastodon sur votre VPS, permettant un contrôle et une personnalisation accrus de votre expérience de réseau social. --- END ---