A copy of Truth Social for tracking changes and public examination
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Josias d58e3a6c4f Add Truth Social code 2021-11-24 2 weeks ago
.circleci Add Truth Social code 2021-11-24 2 weeks ago
.github Add Truth Social code 2021-11-24 2 weeks ago
app Add Truth Social code 2021-11-24 2 weeks ago
bin Add Truth Social code 2021-11-24 2 weeks ago
chart Add Truth Social code 2021-11-24 2 weeks ago
config Add Truth Social code 2021-11-24 2 weeks ago
db Add Truth Social code 2021-11-24 2 weeks ago
dist Add Truth Social code 2021-11-24 2 weeks ago
lib Add Truth Social code 2021-11-24 2 weeks ago
log Add Truth Social code 2021-11-24 2 weeks ago
nanobox Add Truth Social code 2021-11-24 2 weeks ago
public Add Truth Social code 2021-11-24 2 weeks ago
spec Add Truth Social code 2021-11-24 2 weeks ago
streaming Add Truth Social code 2021-11-24 2 weeks ago
vendor Add Truth Social code 2021-11-24 2 weeks ago
.buildpacks Add Truth Social code 2021-11-24 2 weeks ago
.byebug_history Add Truth Social code 2021-11-24 2 weeks ago
.codeclimate.yml Add Truth Social code 2021-11-24 2 weeks ago
.deepsource.toml Add Truth Social code 2021-11-24 2 weeks ago
.dockerignore Add Truth Social code 2021-11-24 2 weeks ago
.editorconfig Add Truth Social code 2021-11-24 2 weeks ago
.env.nanobox Add Truth Social code 2021-11-24 2 weeks ago
.env.production.sample Add Truth Social code 2021-11-24 2 weeks ago
.env.vagrant Add Truth Social code 2021-11-24 2 weeks ago
.envrc.example Add Truth Social code 2021-11-24 2 weeks ago
.eslintignore Add Truth Social code 2021-11-24 2 weeks ago
.eslintrc.js Add Truth Social code 2021-11-24 2 weeks ago
.foreman Add Truth Social code 2021-11-24 2 weeks ago
.gitattributes Add Truth Social code 2021-11-24 2 weeks ago
.gitignore Add Truth Social code 2021-11-24 2 weeks ago
.haml-lint.yml Add Truth Social code 2021-11-24 2 weeks ago
.nanoignore Add Truth Social code 2021-11-24 2 weeks ago
.nvmrc Add Truth Social code 2021-11-24 2 weeks ago
.profile Add Truth Social code 2021-11-24 2 weeks ago
.rspec Add Truth Social code 2021-11-24 2 weeks ago
.rubocop.yml Add Truth Social code 2021-11-24 2 weeks ago
.ruby-version Add Truth Social code 2021-11-24 2 weeks ago
.sass-lint.yml Add Truth Social code 2021-11-24 2 weeks ago
.slugignore Add Truth Social code 2021-11-24 2 weeks ago
.tool-versions Add Truth Social code 2021-11-24 2 weeks ago
.yarnclean Add Truth Social code 2021-11-24 2 weeks ago
AUTHORS.md Add Truth Social code 2021-11-24 2 weeks ago
Aptfile Add Truth Social code 2021-11-24 2 weeks ago
CHANGELOG.md Add Truth Social code 2021-11-24 2 weeks ago
CODE_OF_CONDUCT.md Add Truth Social code 2021-11-24 2 weeks ago
CONTRIBUTING.md Add Truth Social code 2021-11-24 2 weeks ago
Capfile Add Truth Social code 2021-11-24 2 weeks ago
Dockerfile Add Truth Social code 2021-11-24 2 weeks ago
Gemfile Add Truth Social code 2021-11-24 2 weeks ago
Gemfile.lock Add Truth Social code 2021-11-24 2 weeks ago
LICENSE Add Truth Social code 2021-11-24 2 weeks ago
Procfile Add Truth Social code 2021-11-24 2 weeks ago
Procfile.dev Add Truth Social code 2021-11-24 2 weeks ago
README.md Add Truth Social code 2021-11-24 2 weeks ago
Rakefile Add Truth Social code 2021-11-24 2 weeks ago
SECURITY.md Add Truth Social code 2021-11-24 2 weeks ago
Vagrantfile Add Truth Social code 2021-11-24 2 weeks ago
app.json Add Truth Social code 2021-11-24 2 weeks ago
babel.config.js Add Truth Social code 2021-11-24 2 weeks ago
boxfile.yml Add Truth Social code 2021-11-24 2 weeks ago
config.ru Add Truth Social code 2021-11-24 2 weeks ago
crowdin.yml Add Truth Social code 2021-11-24 2 weeks ago
docker-compose.yml Add Truth Social code 2021-11-24 2 weeks ago
ide-helper.js Add Truth Social code 2021-11-24 2 weeks ago
package.json Add Truth Social code 2021-11-24 2 weeks ago
postcss.config.js Add Truth Social code 2021-11-24 2 weeks ago
priv-config Add Truth Social code 2021-11-24 2 weeks ago
scalingo.json Add Truth Social code 2021-11-24 2 weeks ago
yarn.lock Add Truth Social code 2021-11-24 2 weeks ago

README.md

Mastodon

GitHub release Build Status Code Climate Crowdin Docker Pulls

Mastodon is a free, open-source social network server based on ActivityPub where users can follow friends and discover new ones. On Mastodon, users can publish anything they want: links, pictures, text, video. All Mastodon servers are interoperable as a federated network (users on one server can seamlessly communicate with users from another one, including non-Mastodon software that implements ActivityPub)!

Click below to learn more in a video:

Screenshot

Navigation

Features

No vendor lock-in: Fully interoperable with any conforming platform

It doesn't have to be Mastodon, whatever implements ActivityPub is part of the social network! Learn more

Real-time, chronological timeline updates

See the updates of people you're following appear in real-time in the UI via WebSockets. There's a firehose view as well!

Media attachments like images and short videos

Upload and view images and WebM/MP4 videos attached to the updates. Videos with no audio track are treated like GIFs; normal videos are looped - like vines!

Safety and moderation tools

Private posts, locked accounts, phrase filtering, muting, blocking and all sorts of other features, along with a reporting and moderation system. Learn more

OAuth2 and a straightforward REST API

Mastodon acts as an OAuth2 provider so 3rd party apps can use the REST and Streaming APIs, resulting in a rich app ecosystem with a lot of choices!

Deployment

Tech stack:

  • Ruby on Rails powers the REST API and other web pages
  • React.js and Redux are used for the dynamic parts of the interface
  • Node.js powers the streaming API

Requirements:

  • PostgreSQL 9.5+
  • Redis 4+
  • Ruby 2.5+
  • Node.js 12+

The repository includes deployment configurations for Docker and docker-compose, but also a few specific platforms like Heroku, Scalingo, and Nanobox. The stand-alone installation guide is available in the documentation.

A Vagrant configuration is included for development purposes.

Development

Setting up a dev environment will vary based on your operating system. These set of instructions are assuming you are running on a Mac.

Clone the repo

git clone #{repo}

cd social-v1

The development has occured on the develop branch so check that one out.

git checkout develop

Install dependencies and setup DB

yarn install && bundle install

You will also need to install direnv for some config

brew install direnv

Setup your db

RAILS_ENV=development rails db:setup

To run all the processes needed for mastodon, you should install foreman

gem install foreman --no-document

We need to enable redis caching locally so the sessions can be written there

RAILS_ENV=development rails dev:cache

Running the server

foreman start

License

Copyright (C) 2016-2021 Eugen Rochko & other Mastodon contributors (see AUTHORS.md)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.