Aller au contenu

Mastodon

Dans cet article

Information

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

Mastodon. Principales fonctionnalités

  • Mastodon permet aux utilisateurs de s'abonner et de communiquer avec d'autres utilisateurs sur tout 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 abonnés de votre serveur connues par votre serveur ;
  • Les utilisateurs peuvent interagir directement dans le flux ou dans la vue avancée d'une publication en répondant, partageant, ajoutant aux favoris, marquant comme lu, ou à l'aide du 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 sur leur profil. Vous pouvez également activer les notifications pour les nouvelles publications provenant de vos abonnements ;
  • La fonction de recherche dans Mastodon vous permet de trouver des utilisateurs, hashtags et 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 sur Mastodon ne sont visibles que par les abonnés. Elles s'affichent dans une colonne de dialogue séparée ;
  • Les listes d'abonnement peuvent être utilisées pour afficher le flux exclusivement.

Caractéristiques de la compilation

ID Système d'exploitation compatible VM BM VGPU GPU Min CPU (Cœurs) Min RAM (Go) Min HDD/SSD (Go) Actif
59 Ubuntu 22.04 + + + + 2 2 - Oui
  • Logiciels installés

    Software License
    Mastodon AGPLv3
    Nginx Custom
    Postgres Postgres SQL
    Certbot Apache 2
    Redis BSD-3-Clause
  • Exigences système recommandées :

    • Processeur 64 bits avec 4 cœurs ;
    • 8 Go de RAM ;
    • 80 Go d'espace de stockage sur SSD.

Le lien pour accéder à l'interface web sera : https://mastodon{Server_ID_from_Invapi}.hostkey.in

Note

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

Premiers pas après le déploiement de Mastodon

Après paiement de la commande, une notification de préparation du serveur sera envoyée à l'adresse e-mail indiquée lors de l'inscription. Elle contiendra l'adresse IP du VPS ainsi que les identifiants de connexion. Les clients de notre entreprise gèrent leur équipement dans le panneau de gestion des serveurs et APIInvapi.

Les données d'autorisation peuvent être trouvées soit dans l'onglet Info >> Tags du panneau de gestion du serveur, soit dans l'e-mail envoyé :

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

Configurer les modifications

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

  • Paramètres du compte, créer, modifier, attribuer des permissions, etc ;
  • Configuration du serveur SMTP ;
  • Réglages d'enregistrement des utilisateurs.

Information

Consultez la documentation pour développeurs 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 à la conteneur de l'application web Mastodon. Trouvez et connectez-vous à la 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'email et le drapeau --confirmed pour confirmer le compte.

    RAILS_ENV=production bin/tootctl accounts create new_username --email [email protected] --confirmed
    
    Remplacez new_username par votre désiré nom d'utilisateur et [email protected] par l'email réel de l'utilisateur. Après avoir exécuté 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 changer ses permissions et statut.

  1. Démarrez la console Rails :
    RAILS_ENV=production bin/rails console
    
  2. Trouvez l'utilisateur par email ou nom d'utilisateur:
    user = User.find_by(email: '[email protected]')  # or: 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 administrateur.

  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'email
    # -------------
    SMTP_SERVER=mailhog
    SMTP_PORT=1025
    SMTP_LOGIN=
    SMTP_PASSWORD=
    SMTP_FROM_ADDRESS=notifications@votre_domaine
    SMTP_AUTH_METHOD=none
    SMTP_OPENSSL_VERIFY_MODE=none
    SMTP_ENABLE_STARTTLS=false
    
    3. Redémarrez les conteneurs Mastodon Pour appliquer les nouveaux réglages, redémarrez les conteneurs Mastodon :

    cd /opt/mastodon
    
    docker-compose restart
    
    4. Vérifiez la fonctionnalité de l'email - Pour MailHog: ouvrez l'interface web http://votre_serveur: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'email

    Notes

    Vérification des conteneurs Docker : Si vous n'êtes pas sûr quels conteneurs tournent, 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 pour développeurs.

    Information

    Découvrez comment travailler avec setup.sh dans la Documentation pour développeurs.

Modification du 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 Quoi changer
/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 vous utilisez certbot)
Fichiers docker-compose Domaine dans docker-compose.yml ou variables
Configuration SMTP Mettez à jour les adresses liées au domaine

Pour changer le nom de domaine, suivez ces étapes : 1. Enregistrez votre propre domaine, par exemple mastodon.mondomaine.com. 2. Configurez les enregistrements DNS pour ce domaine: - Définissez un enregistrement A pointant vers l'adresse IP du serveur Mastodon ; - Configurez un enregistrement MX pointant vers le serveur de messagerie.

!!! info "Information"
    [Gestion des DNS](../../account/dns_management.md)
  1. Ajoutez un enregistrement PTR dans les paramètres d'adresse IP sur Invapi;

    Information

    En savoir plus sur la configuration des enregistrements PTR sur Invapi ici.

  2. Mettez à jour les variables d'environnement de Mastodon

    Modifiez le fichier /opt/mastodon/.env.production, remplacez 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éez la configuration Nginx Important : Créez un nouveau fichier de configuration, remplacez l'ancien. Les anciennes configurations peuvent contenir différentes directives proxy_pass qui entraîneront des dysfonctionnements. Créez le 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;
            # 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 Obtenez le 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
    
    6. Nettoyez 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 garder 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 dupliquées provoquent une erreur duplicate listen options
  • Les anciennes configurations peuvent avoir différentes adresses ou ports proxy_pass
  • Nginx peut mal interpréter les requêtes avec plusieurs blocs serveur

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

    docker compose down
    
    docker compose up -d
    

  • Vérifiez la fonctionnalité Test depuis la 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 Mastodon devrait charger.

Paramètres initiaux du panneau d'administration

Pour accéder au panneau d'administration, suivez le lien depuis le webpanel tag, cliquez sur le Log In bouton, 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é établissent les règles pour Mastodon. Pour gérer les règles, allez à 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 éviter de décourager les utilisateurs ;
  • Spécifiez clairement les types de contenu interdits, tels que cruauté, violence et activités illégales, et clarifiez le niveau acceptable de contenu NSFW ;
  • Indiquez les procédures pour avertir, bloquer ou restreindre les contrevenants aux règles, ainsi que les actions disciplinaires et leurs délais ;
  • Les règles du serveur doivent être facilement accessibles à tous les utilisateurs et affichées publiquement lors de l'enregistrement ;
  • Il est important de revoir et mettre à jour régulièrement les règles à mesure que le serveur se développe, 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 montrera des entrées de ces utilisateurs. De plus, cet onglet liste ceux qui sont abonnés à ce compte, qui constitue l'audience sur Mastodon.
  • Invite people - fonction permettant aux utilisateurs d'inviter des amis et connaissances à leur réseau social. Ce texte décrit la création d'un lien unique que vous pouvez partager pour permettre à d'autres utilisateurs de rejoindre le serveur Mastodon.

Note

Pour plus d'informations détaillées sur les paramètres basiques de Mastodon, reportez-vous à la documentation développeur.

Commande d'un serveur avec Mastodon via l'API

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


Une partie du contenu de cette page a été créée ou traduite par IA.