Mastodon 是一个基于 ActivityPub 的免费开源社交网络服务器,用户可以在其中关注朋友并发现新朋友。在 Mastodon 上,用户可以发布任何他们想要的内容:链接、图片、文本和视频。所有 Mastodon 服务器都可以作为联合网络进行互操作(一台服务器上的用户可以与另一台服务器上的用户无缝通信,包括实现 ActivityPub 的非 Mastodon 软件!)
点击下面的视频了解更多信息:
项目主页 ?
通过 Patreon 支持开发
查看赞助商
博客
文档
路线图
官方 Docker 镜像
浏览 Mastodon 服务器
浏览乳齿象应用
它不一定是乳齿象;它也可以是乳齿象。任何实现 ActivityPub 的东西都是社交网络的一部分!了解更多
您所关注的人员的更新会通过 WebSocket 实时显示在 UI 中。还有消防水管景观!
上传并查看更新附加的图像和 WebM/MP4 视频。没有音轨的视频将被视为 GIF;正常视频会不断循环!
Mastodon 包括私人帖子、锁定帐户、短语过滤、静音、阻止和各种其他功能,以及报告和审核系统。了解更多
Mastodon 充当 OAuth2 提供商,因此第 3 方应用程序可以使用 REST 和 Streaming API。这形成了一个丰富的应用程序生态系统,有很多选择!
Ruby on Rails为 REST API 和其他网页提供支持
React.js和Redux用于界面的动态部分
Node.js为流 API 提供支持
PostgreSQL 12+
雷迪斯4+
红宝石3.2+
Node.js 18+
该存储库包括Docker 和 docker-compose以及Heroku和Scalingo等特定平台的部署配置。对于 Helm 图表,请参考 mastodon/chart 存储库。文档中提供了独立安装指南。
包含Vagrant配置用于开发目的。要使用它,请完成以下步骤:
安装 Vagrant 和 Virtualbox
安装vagrant-hostsupdater
插件: vagrant plugin install vagrant-hostsupdater
运行vagrant up
运行vagrant ssh -c "cd /vagrant && bin/dev"
在浏览器中打开http://mastodon.local
要设置macOS进行本机开发,请完成以下步骤:
安装Homebrew并运行brew install postgresql@14 redis imagemagick libidn nvm
以安装所需的项目依赖项
使用 Ruby 版本管理器激活.ruby-version
中的 ruby 并运行nvm use
从.nvmrc
激活节点版本
运行bin/setup
脚本,该脚本将安装所需的 ruby gems 和节点包,并为本地开发准备数据库
最后,运行bin/dev
脚本,该脚本将通过overmind
(如果已安装)或foreman
启动服务
对于使用Docker进行生产托管和部署,请使用项目根目录中的Dockerfile
和docker-compose.yml
。
对于本地开发,安装并启动 Docker,然后运行:
docker compose -f .devcontainer/compose.yaml up -d docker compose -f .devcontainer/compose.yaml 执行应用程序 bin/setup docker compose -f .devcontainer/compose.yaml exec app bin/dev
在支持开发容器规范的 IDE 中,从编辑器启动“本地计算机上的 Mastodon”容器。构建和设置容器所需的docker compose
命令应该自动运行。对于Visual Studio Code,这需要安装 Dev Container 扩展。
GitHub Codespaces 提供了基于 Web 的 VS Code 版本以及配置了该项目所需软件的云托管开发环境。
单击按钮创建新的代码空间,并确认选项
等待环境搭建(需要几分钟)
编辑器准备就绪后,在终端中运行bin/dev
等待“在浏览器中打开”提示。这将打开乳齿象
在“端口”选项卡上的“流”设置更改端口可见性→公共
Mastodon 是根据AGPLv3授权的免费开源软件。
您可以针对您发现的错误或您认为缺少的功能提出问题。您还可以向此存储库提交拉取请求或使用 Crowdin 提交翻译。首先,请查看 CONTRIBUTING.md。如果您的贡献被 Mastodon 接受,您可以通过我们的 OpenCollective 请求付款。
IRC 频道:irc.libera.chat 上的#mastodon
版权所有 (C) 2016-2024 Eugen Rochko 和其他 Mastodon 贡献者(请参阅 AUTHORS.md)
该程序是免费软件:您可以根据自由软件基金会发布的 GNU Affero 通用公共许可证(许可证的第 3 版)或(由您选择)任何更高版本的条款重新分发和/或修改它。
分发此程序的目的是希望它有用,但不提供任何保证;甚至没有适销性或特定用途适用性的默示保证。有关更多详细信息,请参阅 GNU Affero 通用公共许可证。
您应该随该程序一起收到 GNU Affero 通用公共许可证的副本。如果没有,请参阅 https://www.gnu.org/licenses/。