Installation Sous Docker
Pour installer Mastodon sous Docker, vous pouvez suivre ces étapes. Mastodon est une plateforme de réseau social décentralisé, et l'utilisation de Docker simplifie son déploiement en isolant ses services dans des conteneurs.
Prérequis
-
Serveur avec Docker et Docker Compose installés :
- Installez Docker : Guide officiel.
- Installez Docker Compose : Guide officiel.
-
Nom de domaine : Vous avez besoin d’un domaine configuré pour pointer vers l’adresse IP de votre serveur.
-
Certificat SSL : Utilisez Let's Encrypt pour obtenir un certificat SSL (géré automatiquement si vous configurez un proxy inverse comme Caddy ou Traefik).
Étape 1 : Télécharger le dépôt de Mastodon
Clonez le dépôt officiel de Mastodon :
git clone https://github.com/mastodon/mastodon.git
cd mastodon
Étape 2 : Configurer les fichiers
-
Copier les fichiers d'exemple :
cp .env.production.sample .env.production
-
Modifier le fichier
.env.production
:- Configurez les variables suivantes :
LOCAL_DOMAIN
: votre domaine (ex.example.com
).SMTP_SERVER
,SMTP_PORT
,SMTP_LOGIN
, etc. : paramètres SMTP pour l’envoi des emails.DB_HOST
,REDIS_HOST
: restent à leur valeur par défaut (db
,redis
).
- Configurez les variables suivantes :
-
Ajouter les variables de chiffrement : Les nouvelles versions de Mastodon nécessitent la configuration des variables suivantes :
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY
Générer les clés :
Exécutez cette commande trois fois pour obtenir les clés requises :
docker-compose run --rm web bin/rails secret
Ajouter les clés dans
.env.production
:ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=cle_generee_1 ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=cle_generee_2 ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=cle_generee_3
Étape 3 : Construire et lancer les conteneurs Docker
-
Configurer Docker Compose : Vérifiez ou modifiez
docker-compose.yml
pour inclure les services nécessaires :- Base de données (PostgreSQL)
- Redis
- Mastodon Web, Streaming, et Sidekiq (gestionnaire de jobs)
-
Construire les conteneurs :
docker-compose build
-
Initialiser la base de données :
docker-compose run --rm web rails db:setup
-
Lancer les conteneurs :
docker-compose up -d
Étape 4 : Configurer le proxy inverse (HTTPS)
Vous pouvez utiliser Nginx, Traefik ou Caddy pour gérer les connexions HTTPS. Voici un exemple pour Nginx :
-
Exemple de configuration Nginx :
server { listen 80; server_name example.com; location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
-
Redémarrez Nginx et installez un certificat SSL (Let's Encrypt ou autre).
Étape 5 : Tester et accéder à Mastodon
- Accédez à
https://example.com
. - Créez un compte administrateur :
docker-compose run --rm web rails mastodon:make_admin USERNAME=your_admin_username
- Configurez les paramètres via l'interface web ou la CLI.
Étape 6 : Maintenance et mises à jour
- Pour mettre à jour Mastodon :
git pull docker-compose build docker-compose up -d
- Sauvegardes :
- Sauvegardez régulièrement les bases de données PostgreSQL et Redis.
En cas de problème ou de doute, consultez les journaux des conteneurs avec :
docker-compose logs -f