Mastodon — это бесплатный сервер социальной сети с открытым исходным кодом, основанный на ActivityPub, где пользователи могут подписываться на друзей и находить новых. На Mastodon пользователи могут публиковать все, что хотят: ссылки, изображения, текст и видео. Все серверы Mastodon совместимы как федеративная сеть (пользователи одного сервера могут беспрепятственно общаться с пользователями другого, включая программное обеспечение сторонних производителей, реализующее ActivityPub!)
Нажмите ниже, чтобы узнать больше в видео:
Домашняя страница проекта?
Поддержите разработку через Patreon
Посмотреть спонсоров
Блог
Документация
Дорожная карта
Официальный образ Docker
Просмотр серверов Мастодонта
Просмотрите приложения Mastodon
Это не обязательно должен быть Мастодонт; все, что реализует ActivityPub, является частью социальной сети! Узнать больше
Обновления людей, на которых вы подписаны, отображаются в пользовательском интерфейсе в режиме реального времени через WebSockets. Еще есть вид на пожарный шланг!
Загружайте и просматривайте изображения и видеоролики WebM/MP4, прикрепленные к обновлениям. Видео без звуковой дорожки обрабатываются как GIF-файлы; обычные видео зацикливаются непрерывно!
Mastodon включает в себя частные сообщения, заблокированные учетные записи, фильтрацию фраз, отключение звука, блокировку и множество других функций, а также систему отчетности и модерации. Узнать больше
Mastodon выступает в качестве поставщика OAuth2, поэтому сторонние приложения могут использовать API-интерфейсы REST и потоковой передачи. В результате получается богатая экосистема приложений с большим выбором!
Ruby on Rails поддерживает REST API и другие веб-страницы.
React.js и Redux используются для динамических частей интерфейса.
Node.js поддерживает API потоковой передачи
PostgreSQL 12+
Редис 4+
Рубин 3.2+
Node.js 18+
Репозиторий включает конфигурации развертывания для Docker и docker-compose, а также для конкретных платформ, таких как Heroku и Scalingo . Для диаграмм Хелма обратитесь к репозиторию 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 в .ruby-version
, и запустите nvm use
, чтобы активировать версию узла из .nvmrc
Запустите сценарий bin/setup
, который установит необходимые Ruby-гемы и пакеты узлов и подготовит базу данных для локальной разработки.
Наконец, запустите скрипт bin/dev
, который запустит службы через overmind
(если он установлен) или foreman
Для производственного хостинга и развертывания с помощью Docker используйте Dockerfile
и docker-compose.yml
в корневом каталоге проекта.
Для локальной разработки установите и запустите Docker и запустите:
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
В средах IDE, поддерживающих спецификацию контейнеров разработки, запустите контейнер «Мастодонт на локальном компьютере» из редактора. Необходимые команды docker compose
для сборки и настройки контейнера должны запускаться автоматически. Для кода Visual Studio для этого требуется установка расширения Dev Container.
GitHub Codespaces предоставляет веб-версию VS Code и облачную среду разработки, настроенную с помощью программного обеспечения, необходимого для этого проекта.
Нажмите кнопку, чтобы создать новое кодовое пространство, и подтвердите параметры.
Подождите, пока среда создастся (займет несколько минут).
Когда редактор будет готов, запустите bin/dev
в терминале.
Подождите, пока появится приглашение « Открыть в браузере» . Это откроет Мастодонта
На вкладке « Порты » в настройке «Поток» измените видимость порта → Публичный.
Mastodon — бесплатное программное обеспечение с открытым исходным кодом, действующее под лицензией AGPLv3 .
Вы можете открывать проблемы, связанные с обнаруженными вами ошибками или функциями, которые, по вашему мнению, отсутствуют. Вы также можете отправлять запросы на включение в этот репозиторий или отправлять переводы с помощью Crowdin. Для начала загляните на CONTRIBUTING.md. Если ваши взносы приняты в Mastodon, вы можете запросить оплату через наш OpenCollective.
IRC-канал : #mastodon на irc.libera.chat
Copyright (C) 2016-2024 Евгений Рочко и другие участники Mastodon (см. AUTHORS.md)
Эта программа является свободным программным обеспечением: вы можете распространять ее и/или изменять в соответствии с условиями Стандартной общественной лицензии GNU Affero, опубликованной Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.
Данная программа распространяется в надежде, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Дополнительную информацию см. в Стандартной общественной лицензии GNU Affero.
Вместе с этой программой вы должны были получить копию Стандартной общественной лицензии GNU Affero. Если нет, см. https://www.gnu.org/licenses/.