Mastodon est un serveur de réseau social gratuit et open source basé sur ActivityPub où les utilisateurs peuvent suivre leurs amis et en découvrir de nouveaux. Sur Mastodon, les utilisateurs peuvent publier tout ce qu'ils veulent : liens, images, texte et vidéo. Tous les serveurs Mastodon sont interopérables en tant que réseau fédéré (les utilisateurs d'un serveur peuvent communiquer de manière transparente avec les utilisateurs d'un autre, y compris les logiciels non Mastodon qui implémentent ActivityPub !)
Cliquez ci-dessous pour en savoir plus dans une vidéo :
Page d'accueil du projet ?
Soutenir le développement via Patreon
Voir les sponsors
Blogue
Documentation
Feuille de route
Image Docker officielle
Parcourir les serveurs Mastodon
Parcourir les applications Mastodon
Il n'est pas nécessaire que ce soit Mastodon ; tout ce qui implémente ActivityPub fait partie du réseau social ! Apprendre encore plus
Les mises à jour des personnes que vous suivez apparaissent en temps réel dans l'interface utilisateur via WebSockets. Il y a aussi une vue sur la lance à incendie !
Téléchargez et affichez des images et des vidéos WebM/MP4 jointes aux mises à jour. Les vidéos sans piste audio sont traitées comme des GIF ; les vidéos normales tournent en continu !
Mastodon comprend des publications privées, des comptes verrouillés, un filtrage de phrases, une mise en sourdine, un blocage et toutes sortes d'autres fonctionnalités, ainsi qu'un système de reporting et de modération. Apprendre encore plus
Mastodon agit en tant que fournisseur OAuth2, afin que les applications tierces puissent utiliser les API REST et Streaming. Cela se traduit par un écosystème d’applications riche avec beaucoup de choix !
Ruby on Rails alimente l'API REST et d'autres pages Web
React.js et Redux sont utilisés pour les parties dynamiques de l'interface
Node.js alimente l'API de streaming
PostgreSQL 12+
Redis 4+
Rubis 3.2+
Node.js 18+
Le référentiel comprend des configurations de déploiement pour Docker et docker-compose ainsi que des plates-formes spécifiques comme Heroku et Scalingo . Pour les charts Helm, référencez le référentiel mastodon/chart. Le guide d'installation autonome est disponible dans la documentation.
Une configuration Vagrant est incluse à des fins de développement. Pour l'utiliser, procédez comme suit :
Installer Vagrant et Virtualbox
Installez le plugin vagrant-hostsupdater
: vagrant plugin install vagrant-hostsupdater
Courez vagrant up
Exécutez vagrant ssh -c "cd /vagrant && bin/dev"
Ouvrez http://mastodon.local
dans votre navigateur
Pour configurer macOS pour le développement natif, procédez comme suit :
Installez Homebrew et exécutez brew install postgresql@14 redis imagemagick libidn nvm
pour installer les dépendances de projet requises
Utilisez un gestionnaire de versions Ruby pour activer le ruby dans .ruby-version
et exécutez nvm use
pour activer la version du nœud à partir de .nvmrc
Exécutez le script bin/setup
, qui installera les gemmes Ruby et les packages de nœuds requis et préparera la base de données pour le développement local
Enfin, exécutez le script bin/dev
qui lancera les services via overmind
(si installé) ou foreman
Pour l'hébergement en production et le déploiement avec Docker , utilisez le Dockerfile
et docker-compose.yml
dans le répertoire racine du projet.
Pour le développement local, installez et lancez Docker, puis exécutez :
docker compose -f .devcontainer/compose.yaml up -d docker compose -f .devcontainer/compose.yaml exec app bin/setup docker compose -f .devcontainer/compose.yaml exec app bin/dev
Dans les IDE prenant en charge la spécification Development Containers, démarrez le conteneur "Mastodon on local machine" depuis l'éditeur. Les commandes docker compose
nécessaires pour créer et configurer le conteneur doivent s'exécuter automatiquement. Pour Visual Studio Code, cela nécessite l’installation de l’extension Dev Container.
GitHub Codespaces fournit une version Web de VS Code et un environnement de développement hébergé dans le cloud configuré avec le logiciel nécessaire à ce projet.
Cliquez sur le bouton pour créer un nouvel espace de code et confirmez les options
Attendez que l'environnement se construise (cela prend quelques minutes)
Lorsque l'éditeur est prêt, exécutez bin/dev
dans le terminal
Attendez une invite Ouvrir dans le navigateur . Cela ouvrira Mastodon
Dans l'onglet Ports , le paramètre "flux" modifie la visibilité du port → Public
Mastodon est un logiciel gratuit et open source sous licence AGPLv3 .
Vous pouvez ouvrir des problèmes pour les bogues que vous avez trouvés ou les fonctionnalités qui, selon vous, manquent. Vous pouvez également soumettre des demandes d'extraction à ce référentiel ou soumettre des traductions à l'aide de Crowdin. Pour commencer, jetez un œil à CONTRIBUTING.md. Si vos contributions sont acceptées dans Mastodon, vous pouvez demander à être payé via notre OpenCollective.
Canal IRC : #mastodon sur irc.libera.chat
Copyright (C) 2016-2024 Eugen Rochko et autres contributeurs de Mastodon (voir AUTHORS.md)
Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la licence publique générale GNU Affero telle que publiée par la Free Software Foundation, soit la version 3 de la licence, soit (à votre choix) toute version ultérieure.
Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de QUALITÉ MARCHANDE ou d’ADAPTATION À UN USAGE PARTICULIER. Voir la licence publique générale GNU Affero pour plus de détails.
Vous devriez avoir reçu une copie de la licence publique générale GNU Affero avec ce programme. Sinon, consultez https://www.gnu.org/licenses/.