GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - mastodon/mastodon: Your self-hosted, globally interconnected microblogging community

BranchesTags
Open more actions menu

Latest commit

 

History

23,046 Commits
23,046 Commits

Folders and files

NameName
Last commit message
Last commit date
.devcontainer
.devcontainer
 
 
.github
.github
 
 
.husky
.husky
 
 
.rubocop
.rubocop
 
 
.storybook
.storybook
 
 
.yarn
.yarn
 
 
app
app
 
 
bin
bin
 
 
chart
chart
 
 
config
config
 
 
db
db
 
 
dist
dist
 
 
docs
docs
 
 
lib
lib
 
 
log
log
 
 
public
public
 
 
spec
spec
 
 
streaming
streaming
 
 
vendor
vendor
 
 
.annotaterb.yml
.annotaterb.yml
 
 
.browserslistrc
.browserslistrc
 
 
.buildpacks
.buildpacks
 
 
.dockerignore
.dockerignore
 
 
.editorconfig
.editorconfig
 
 
.env.development
.env.development
 
 
.env.production.sample
.env.production.sample
 
 
.env.test
.env.test
 
 
.foreman
.foreman
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.haml-lint.yml
.haml-lint.yml
 
 
.nvmrc
.nvmrc
 
 
.oxfmtrc.json
.oxfmtrc.json
 
 
.rspec
.rspec
 
 
.rubocop.yml
.rubocop.yml
 
 
.ruby-gemset
.ruby-gemset
 
 
.ruby-version
.ruby-version
 
 
.simplecov
.simplecov
 
 
.slugignore
.slugignore
 
 
.yarnrc.yml
.yarnrc.yml
 
 
AUTHORS.md
AUTHORS.md
 
 
Aptfile
Aptfile
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Dockerfile
Dockerfile
 
 
FEDERATION.md
FEDERATION.md
 
 
Gemfile
Gemfile
 
 
Gemfile.lock
Gemfile.lock
 
 
LICENSE
LICENSE
 
 
Procfile
Procfile
 
 
Procfile.dev
Procfile.dev
 
 
README.md
README.md
 
 
Rakefile
Rakefile
 
 
SECURITY.md
SECURITY.md
 
 
app.json
app.json
 
 
config.ru
config.ru
 
 
crowdin.yml
crowdin.yml
 
 
docker-compose.yml
docker-compose.yml
 
 
eslint.config.mjs
eslint.config.mjs
 
 
lint-staged.config.js
lint-staged.config.js
 
 
package.json
package.json
 
 
publiccode.yml
publiccode.yml
 
 
scalingo.json
scalingo.json
 
 
stylelint.config.js
stylelint.config.js
 
 
tsconfig.json
tsconfig.json
 
 
vite.config.mts
vite.config.mts
 
 
vitest.config.mts
vitest.config.mts
 
 
yarn.lock
yarn.lock
 
 

Repository files navigation

Note

Want to learn more about Mastodon? Click below to find out more in a video.

Mastodon hero image

Release Ruby Testing Crowdin DPG Badge

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, and 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!)

Navigation

  • Project homepage 🐘
  • Donate to support development 🎁
    • View sponsors
  • Blog 📰
  • Documentation 📚
  • Official container image 🚢

Features

Part of the Fediverse. Based on open standards, with no vendor lock-in. - the network goes beyond just Mastodon; anything that implements ActivityPub is part of a broader social network known as the Fediverse. You can follow and interact with users on other servers (including those running different software), and they can follow you back.

Real-time, chronological timeline updates - updates of people you're following appear in real-time in the UI.

Media attachments - upload and view images and videos attached to the updates. Videos with no audio track are treated like animated GIFs; normal videos loop continuously.

Safety and moderation tools - Mastodon includes private posts, locked accounts, phrase filtering, muting, blocking, and many other features, along with a reporting and moderation system.

OAuth2 and a straightforward REST API - Mastodon acts as an OAuth2 provider, and third party apps can use the REST and Streaming APIs. This results in a rich app ecosystem with a variety of choices!

Deployment

Tech stack

  • Ruby on Rails powers the REST API and other web pages.
  • PostgreSQL is the main database.
  • Redis and Sidekiq are used for caching and queueing.
  • Node.js powers the streaming API.
  • React.js and Redux are used for the dynamic parts of the interface.
  • BrowserStack supports testing on real devices and browsers. (This project is tested with BrowserStack)
  • Chromatic provides visual regression testing. (This project is tested with Chromatic)

Requirements

  • Ruby 4.0
  • PostgreSQL 14+
  • Redis 7.2+
  • Node.js 24+
  • FFmpeg 5.1+

This repository includes deployment configurations for Docker and docker-compose, as well as for other environments like Heroku and Scalingo. For Helm charts, reference the mastodon/chart repository. A standalone installation guide is available in the main documentation.

Contributing

Mastodon is free, open-source software licensed under AGPLv3. We welcome contributions and help from anyone who wants to improve the project.

You should read the overall CONTRIBUTING guide, which covers our development processes.

You should also read and understand the CODE OF CONDUCT that enables us to maintain a welcoming and inclusive community. Collaboration begins with mutual respect and understanding.

You can learn about setting up a development environment in the DEVELOPMENT documentation.

If you would like to help with translations 🌐 you can do so on Crowdin.

LICENSE

Copyright (c) 2016-2026 Eugen Rochko (+ mastodon authors)

Licensed under GNU Affero General Public License as stated in the LICENSE:

Copyright (c) 2016-2026 Eugen Rochko & other Mastodon contributors

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/

About

Your self-hosted, globally interconnected microblogging community

joinmastodon.org

Topics

activity-streamactivitypubdockerfediversemastodonmicroblogsocial-networksocial-webwebfinger

Resources

Readme
AGPL-3.0 license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

50.6k stars

Watchers

765 watching

Forks

7.6k forks
Report repository

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.