Aller au contenu

Mastodon

Dans cet article

Information

Mastodon - la plateforme sociale décentralisée, gratuite et open source. Contrairement aux plateformes commerciales centralisées, Mastodon n'est contrôlé par aucune organisation unique.

Mastodon. Fonctionnalités clés

  • Mastodon permet aux utilisateurs de s'abonner et de communiquer avec d'autres utilisateurs provenant de n'importe quel serveur connecté ;
  • La plateforme propose des flux de publications publiques pour aider les utilisateurs à découvrir du contenu intéressant. Le flux local affiche les publications de votre serveur, tandis que le flux fédéré affiche toutes les publications publiques des utilisateurs abonnés à votre serveur qui sont connues de votre serveur ;
  • Les utilisateurs peuvent interagir avec les publications directement dans le flux ou dans la vue avancée de la publication en répondant, partageant, ajoutant aux favoris, mettant en signet ou en utilisant un menu supplémentaire ;
  • Mastodon envoie des notifications pour divers événements d'interaction liés à votre profil et à vos publications. Ces notifications peuvent être filtrées par type ;
  • Pour s'abonner à un utilisateur, il suffit de cliquer sur le bouton Follow de son profil. Vous pouvez également activer les notifications pour les nouvelles publications de vos abonnements ;
  • La fonction de recherche dans Mastodon vous permet de trouver des utilisateurs, des hashtags et des publications via un lien. Avec la recherche en texte intégral installée, vous pouvez rechercher vos propres publications et favoris ;
  • Les publications privées dans Mastodon ne sont visibles que par les abonnés. Elles sont affichées dans une colonne de dialogue séparée ;
  • Les listes d'abonnement peuvent être utilisées pour afficher exclusivement le flux de publications.

Fonctionnalités de déploiement

ID Nom du logiciel Système d'exploitation compatible VM BM VGPU GPU Min CPU (Cœurs) Min RAM (GB) Min HDD/SSD (GB) Domaine personnalisé Actif
59 Mastodon Ubuntu 22.04 + + + + 2 2 - Non COMMANDER

Pour des informations sur les fonctionnalités de déploiement de ce logiciel, voir ce lien

Remarque

Sauf indication contraire, nous installons par défaut la dernière version de sortie du logiciel depuis le site web du développeur ou les dépôts du système d'exploitation.

Premiers pas après le déploiement de Mastodon

Une notification sera envoyée à l'e-mail spécifié lors de l'inscription indiquant que le serveur est prêt pour le travail après le paiement de la commande. Elle contiendra l'adresse IP du VPS, ainsi que le nom d'utilisateur et le mot de passe pour la connexion. Les clients de notre entreprise gèrent le matériel dans le serveur et le panneau de contrôle API — Invapi.

Vous pouvez trouver les données d'autorisation soit dans l'onglet Configuration >> Tags du panneau de contrôle du serveur, soit dans l'e-mail qui a été envoyé.

  • Lien d'accès au tableau de bord Mastodon avec une interface web : dans la balise webpanel ;
  • Nom d'utilisateur et Mot de passe pour se connecter au serveur : envoyés par e-mail à votre adresse une fois le serveur prêt après le déploiement du logiciel ;
  • Nom d'utilisateur et Mot de passe pour s'authentifier dans l'interface web de Mastodon sont définis manuellement lors de la création du compte via la console de l'administrateur.

Le lien d'accès à l'interface web sera : https://mastodon{Server_ID_from_Invapi}.hostkey.in

Modifier la configuration

Pour modifier la configuration de Mastodon depuis la ligne de commande, utilisez les utilitaires tootctl et rails :

  • Paramètres de compte, création, modification, attribution de permissions, etc. ;
  • Paramètres du serveur SMTP ;
  • Paramètres d'inscription des utilisateurs.

Information

Consultez la documentation du développeur pour plus d'informations sur l'utilisation des utilitaires.

Exemple d'utilisation

  1. Connectez-vous au serveur via SSH :
    ssh root@<server_ip>
    
  2. Connectez-vous au conteneur de l'application web Mastodon. Trouvez et connectez-vous au conteneur mastodon_web_1 :

    docker exec -it mastodon_web_1 bash
    

  3. Pour créer un nouvel utilisateur, utilisez la commande tootctl accounts create. Spécifiez le nom d'utilisateur, l'e-mail et l'indicateur --confirmed pour la confirmation du compte.

    RAILS_ENV=production bin/tootctl accounts create new_username --email [email protected] --confirmed
    
    Remplacez new_username par le nom d'utilisateur souhaité et [email protected] par l'e-mail réel de l'utilisateur. Après l'exécution de cette commande, l'utilisateur sera créé. Assurez-vous de sauvegarder le mot de passe affiché à l'écran :

Attribution des privilèges d'administrateur et approbation de l'utilisateur

Après avoir créé un utilisateur, vous devez le trouver dans la base de données pour modifier ses permissions et son statut.

  1. Démarrez la console Rails :
    RAILS_ENV=production bin/rails console
    
  2. Trouvez l'utilisateur par e-mail ou par nom d'utilisateur :
    user = User.find_by(email: '[email protected]')  # ou : User.find_by(username: 'new_username')
    
  3. Mettez à jour son statut :

    user.update(approved: true)
    
    Cette action supprimera la notification Your application is pending review by our staff... du panneau d'administration.

  4. Attribuez-lui un rôle d'administrateur :

    user.update(role: UserRole.find_by(name: 'Admin'))
    

  5. Vérifiez :
    user.reload
    
    user.role           # => "Admin"
    
    user.approved       # => true
    
  6. Quittez la console :
    exit
    

Configuration du serveur de messagerie

Si vous devez configurer ou modifier le serveur de messagerie, exécutez :

  1. Ouvrez le fichier de configuration :

    nano /opt/mastodon/.env.production
    
    2. Configurez les paramètres SMTP (par exemple, pour MailHog) :

    # Envoi de courrier
    # ------------
    SMTP_SERVER=mailhog
    SMTP_PORT=1025
    SMTP_LOGIN=
    SMTP_PASSWORD=
    SMTP_FROM_ADDRESS=notifications@your_domain
    SMTP_AUTH_METHOD=none
    SMTP_OPENSSL_VERIFY_MODE=none
    SMTP_ENABLE_STARTTLS=false
    
    3. Redémarrez les conteneurs Mastodon Pour appliquer les nouveaux paramètres, redémarrez les conteneurs Mastodon :

    cd /opt/mastodon
    
    docker-compose restart
    
    4. Vérifiez le fonctionnement de l'e-mail - Pour MailHog : ouvrez l'interface web http://your_server:8025 - Vérifiez les journaux :
    docker-compose -f /opt/mastodon/docker-compose.yml logs sidekiq | grep -i mail
    
    - Testez-le : inscrivez un nouvel utilisateur et vérifiez la réception de l'e-mail

Remarques

Vérification des conteneurs Docker : Si vous n'êtes pas sûr des conteneurs en cours d'exécution, exécutez :

 docker ps
Assurez-vous que les conteneurs Mastodon (mastodon_web_1, mastodon_db_1, etc.) sont en cours d'exécution.

Information

En savoir plus sur les paramètres de configuration dans la Documentation du développeur.

Information

En savoir plus sur l'utilisation de setup.sh dans la Documentation du développeur.

Changer le nom de domaine du serveur Mastodon

Information

Ce guide utilise skaz.online comme exemple de domaine. Initialement, Mastodon est configuré avec un domaine comme mastodon<server_ID>.hostkey.in. Remplacez skaz.online par votre domaine réel dans tous les exemples de configuration.

Fichiers et répertoires clés

Fichier/Répertoire Ce qui change
/opt/mastodon/.env.production Variables d'environnement, domaines
/data/nginx/user_conf.d/*.conf Configuration Nginx pour le nouveau domaine
/etc/letsencrypt/live/ Certificats SSL (si utilisation de certbot)
Fichiers Docker Compose Domaine dans docker-compose.yml ou variables
Configuration SMTP Mise à jour des adresses liées au domaine

Pour changer le nom de domaine, suivez ces étapes :

  1. Enregistrez votre propre domaine, par exemple mastodon.mydomain.com.

  2. Configurez les enregistrements DNS pour ce domaine :

    • Définissez un enregistrement A pointant vers l'adresse IP du serveur Mastodon ;
    • Configurez l'enregistrement MX pointant vers le serveur de messagerie.

    Information

    Gestion DNS

  3. Ajoutez un enregistrement PTR dans les paramètres d'adresse IP sur Invapi ; !!! info "Information" En savoir plus sur la configuration des enregistrements PTR dans Invapi ici.

  4. Mettez à jour les variables d'environnement de Mastodon Modifiez le fichier /opt/mastodon/.env.production, en remplaçant la valeur actuelle (par exemple, mastodon<server_ID>.hostkey.in) par votre nouveau domaine :

    # Précédent :
    # LOCAL_DOMAIN=mastodon<server_ID>.hostkey.in
    
    
    # Mis à jour :
    LOCAL_DOMAIN=skaz.online
    WEB_DOMAIN=skaz.online
    
    5. Configurez Nginx avec prise en charge HTTPS

    5.1 Créer la configuration Nginx Important : Créez un nouveau fichier de configuration, remplaçant l'ancien. Les anciennes configurations peuvent contenir des directives proxy_pass différentes, entraînant un dysfonctionnement. Créez un fichier de configuration Nginx /data/nginx/user_conf.d/skaz.online.conf avec le contenu suivant :

    server {
        listen 80;
        server_name skaz.online;
        return 301 https://$host$request_uri;
    }
    server {
        listen 443 ssl;
        listen [::]:443 ssl;
        server_name skaz.online;
    
    
        # Certificats SSL
        ssl_certificate         /etc/letsencrypt/live/skaz.online/fullchain.pem;
        ssl_certificate_key     /etc/letsencrypt/live/skaz.online/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/skaz.online/chain.pem;
        ssl_dhparam /etc/letsencrypt/dhparams/dhparam.pem;
    
    
        # Application principale Mastodon (port 3000)
        location / {
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-Ssl on;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:3000;
            real_ip_header X-Forwarded-For;
            # Prise en charge WebSocket
            proxy_http_version 1.1;
            proxy_set_header X-Scheme $scheme;
            proxy_buffering off;
        }
    
    
        # API de streaming Mastodon (port 4000)
        location ^~ /api/v1/streaming {
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-Ssl on;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:4000;
            real_ip_header X-Forwarded-For;
            # Prise en charge WebSocket
            proxy_http_version 1.1;
            proxy_set_header X-Scheme $scheme;
            proxy_buffering off;
        }
    }
    
    5.2 Obtenir un certificat SSL Vérifiez la présence du certificat :
    docker exec -it mastodon-nginx-1 ls /etc/letsencrypt/live/
    
    Si le certificat est manquant, obtenez-le :
    docker compose stop nginx
    
    docker compose run --rm nginx certbot certonly --standalone -d skaz.online
    
    docker compose start nginx
    

  5. Nettoyer les configurations conflictuelles

Important ! Supprimez les anciennes configurations Nginx car plusieurs fichiers .conf peuvent causer des conflits : Supprimez l'ancienne configuration (par exemple, pour mastodon<server_ID>.hostkey.in)

rm /data/nginx/user_conf.d/mastodon<server_ID>*.conf
Ou renommez pour conserver une sauvegarde

mv /data/nginx/user_conf.d/mastodon<server_ID>.hostkey.in.conf /data/nginx/user_conf.d/mastodon<server_ID>.hostkey.in.conf.backup

Raisons des conflits :

  • Les directives listen 443 ssl en double provoquent une erreur duplicate listen options
  • Les anciennes configurations peuvent avoir des adresses ou ports proxy_pass différents
  • Nginx peut mal interpréter les requêtes avec plusieurs blocs serveur

  • Redémarrer les services Dans le répertoire contenant docker-compose.yml, exécutez :

    docker compose down
    
    docker compose up -d
    

  • Vérifier le fonctionnement Test depuis la ligne de commande

    curl -Ik https://skaz.online
    
    Réponse attendue : HTTP/1.1 200 OK Vérifier dans un navigateur Ouvrez le domaine dans un navigateur — la page d'accueil de Mastodon devrait se charger.

Paramètres initiaux du panneau d'administration

Pour accéder au panneau d'administration, suivez le lien de la balise webpanel, cliquez sur le bouton Log In et entrez les identifiants définis précédemment.

Gestion des règles du serveur

Les administrateurs et modérateurs de chaque serveur individuel dans ce réseau social décentralisé définissent les règles pour Mastodon. Pour gérer les règles, allez dans Administration >> Server Rules.

Principes de base pour la définition des règles :

  • Assurez-vous que les règles sont raisonnables et suivent les normes généralement acceptées de décence pour ne pas décourager les utilisateurs ;
  • Énoncez clairement les types de contenu interdits, tels que la cruauté, la violence et les activités illégales, et clarifiez les niveaux acceptables de contenu NSFW ;
  • Spécifiez les procédures pour avertir, bloquer ou restreindre les contrevenants aux règles, ainsi que les mesures disciplinaires et les limites de temps ;
  • Les règles du serveur doivent être facilement accessibles à tous les utilisateurs et affichées publiquement lors de l'inscription ;
  • Il est important de revoir et de mettre à jour périodiquement les règles à mesure que le serveur grandit, et d'impliquer la communauté dans le processus de modération et d'amélioration.

Inviter des utilisateurs

Mastodon a plusieurs onglets dans le flux pour gérer les abonnements et inviter de nouveaux utilisateurs :

  • Follows and Followers - cet onglet affiche les comptes auxquels l'utilisateur actuel est abonné, et le flux affichera les entrées de ces utilisateurs. De plus, cet onglet liste ceux qui sont abonnés à ce compte, ce qui constitue l'audience dans Mastodon.
  • Invite people - cette fonction permet aux utilisateurs d'inviter des amis et connaissances à leur réseau social. Ce texte décrit la création d'un lien unique qui peut être partagé pour permettre à d'autres utilisateurs de rejoindre le serveur Mastodon.

.

Remarque

Pour des informations détaillées sur les paramètres de base de Mastodon, consultez la documentation des développeurs.

Commander un serveur avec Mastodon via l'API