Aller au contenu

Mastodon

Dans cet article

Information

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

Mastodon. Fonctionnalités clés

  • Mastodon permet aux utilisateurs de s'abonner et de communiquer avec d'autres utilisateurs depuis 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 provenant de votre serveur qui sont connues par 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, en partageant, en ajoutant aux favoris, en 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 vous abonner à un utilisateur, cliquez simplement sur le bouton Follow sur 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 vos favoris ;
  • Les publications privées dans Mastodon ne sont visibles que par les abonnés. Elles s'affichent dans une colonne de dialogue séparée ;
  • Les listes d'abonnements peuvent être utilisées pour consulter 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

Information

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

Remarque

Sauf indication contraire, nous installons par défaut la dernière version de la plateforme logicielle provenant du site web du développeur ou des dépôts du système d'exploitation.

Prise en main après le déploiement de Mastodon

Une notification sera envoyée à l'adresse e-mail spécifiée lors de l'inscription pour vous informer que le serveur est prêt à fonctionner après le paiement de la commande. Elle contiendra l'adresse IP du VPS, ainsi que l'identifiant et le mot de passe pour la connexion. Les clients de notre entreprise gèrent le matériel dans le panneau de contrôle du serveur et de l'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 pour accéder au tableau de bord Mastodon avec une interface web : dans le tag webpanel ;
  • Login et Password pour se connecter au serveur : envoyés par e-mail à votre adresse une fois que le serveur est prêt après le déploiement du logiciel ;
  • Le Login et le Password pour l'authentification 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 pour accéder à l'interface web sera : https://mastodon{Server_ID_from_Invapi}.hostkey.in

Configurer les changements

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

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

Information

Consultez la documentation du développeur pour plus d'informations sur l'utilisation de ces 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 le flag --confirmed pour la confirmation du compte.

    RAILS_ENV=production bin/tootctl accounts create new_username --email [email protected] --confirmed
    
    Remplacez new_username par votre 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 :

Accorder les privilèges d'administrateur et approuver un 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 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 administratif :

    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 d'e-mails
    # ------------
    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 la fonctionnalité de l'e-mail - Pour MailHog : ouvrez l'interface web http://your_server:8025 - Vérifiez les logs :
    docker-compose -f /opt/mastodon/docker-compose.yml logs sidekiq | grep -i mail
    
    - Testez-le : enregistrez un nouvel utilisateur et vérifiez la réception de l'e-mail

Remarque

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

Apprenez-en davantage sur les paramètres de configuration dans la Documentation du développeur.

Information

Découvrez comment travailler avec 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 tel que mastodon<server_ID>.hostkey.in. Remplacez skaz.online par votre véritable domaine 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 le support HTTPS

    5.1 Créer la configuration Nginx Important : Créez un nouveau fichier de configuration, en 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 Mastodon principale (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;
            # Support 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;
            # Support 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-la 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 :

  • Des directives listen 443 ssl en double provoquent l'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 server

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

    docker compose down
    
    docker compose up -d
    

  • Vérifier la fonctionnalité Test en ligne de commande

    curl -Ik https://skaz.online
    
    Réponse attendue : HTTP/1.1 200 OK Vérification 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 du tag webpanel, cliquez sur le bouton Log In et saisissez les identifiants configurés précédemment.

Gérer les règles du serveur

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

Principes de base pour fixer des règles :

  • Assurez-vous que les règles sont raisonnables et respectent les normes de décence généralement acceptées afin de ne pas décourager les utilisateurs ;
  • Énoncez clairement les types de contenus 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 d'avertissement, de blocage ou de restriction des 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 réviser 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 dispose de 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 publications de ces utilisateurs. De plus, cet onglet liste ceux qui sont abonnés à ce compte, ce qui constitue l'audience sur Mastodon.
  • Invite people - cette fonction permet aux utilisateurs d'inviter des amis et des connaissances sur 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

Pour installer ce logiciel via l'API, suivez ces instructions.