Passer au contenu principal

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

  1. Serveur avec Docker et Docker Compose installés :

  2. Nom de domaine : Vous avez besoin d’un domaine configuré pour pointer vers l’adresse IP de votre serveur.

  3. Certificat SSL : Utilisez Let's Encrypt pour obtenir un certificat SSL (géré automatiquement si vous configurez un proxy inverse comme Caddy ou Traefik).


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

Configurer les fichiers

  1. Copier les fichiers d'exemple :

    cp .env.production.sample .env.production
    
  2. 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).

Construire et lancer les conteneurs Docker

  1. 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)
  2. Construire les conteneurs :

    docker-compose build
    
  3. Initialiser la base de données :

    docker-compose run --rm web rails db:setup
    
  4. Lancer les conteneurs :

    docker-compose up -d
    

Configurer le proxy inverse (HTTPS)

Vous pouvez utiliser Nginx, Traefik ou Caddy pour gérer les connexions HTTPS. Voici un exemple pour Nginx :

  1. 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;
        }
    }
    
  2. Redémarrez Nginx et installez un certificat SSL (Let's Encrypt ou autre).


Tester et accéder à Mastodon

  1. Accédez à https://example.com.
  2. Créez un compte administrateur :
    docker-compose run --rm web rails mastodon:make_admin USERNAME=your_admin_username
    
  3. Configurez les paramètres via l'interface web ou la CLI.

Maintenance et mises à jour

  1. Pour mettre à jour Mastodon :
    git pull
    docker-compose build
    docker-compose up -d
    
  2. Sauvegardes :
    • Sauvegardez régulièrement les bases de données PostgreSQL et Redis.