Mastodon

Social networking platform

★ 47.3k  Docker Compose Social network

An open alternative to Twitter

Homepage · Source code

Author: Mastodon gGmbH · License: AGPL-3.0

Version: 4.3.2 · Updated

About

Your self-hosted, globally interconnected microblogging community.

Screenshot


Click below to learn more in a video:

▶ Video

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

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 loop continuously!

Safety and moderation tools

Mastodon includes 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. This results in a rich app ecosystem with a lot of choices!


Environment variables

View environment variables
PROJECT
  mastodon
DOMAIN
  localhost
LOCAL_DOMAIN
  $PROJECT.$DOMAIN
REDIS_HOST
  mastodon-redis
REDIS_PORT
  6379
DB_HOST
  mastodon-db
DB_USER
  mastodon
DB_NAME
  mastodon_production
DB_PASS
 
DB_PORT
  5432
ES_ENABLED
  true
ES_HOST
  es
ES_PORT
  9200
ES_USER
  elastic
ES_PASS
  password
SECRET_KEY_BASE
  SUPER_SECRET_CHANGE_ME
OTP_SECRET
  SUPER_SECRET_CHANGE_ME
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY
  SUPER_SECRET_CHANGE_ME
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT
  SUPER_SECRET_CHANGE_ME
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY
  SUPER_SECRET_CHANGE_ME
VAPID_PRIVATE_KEY
 
VAPID_PUBLIC_KEY
 
SMTP_SERVER
 
SMTP_PORT
  587
SMTP_LOGIN
 
SMTP_PASSWORD
 
SMTP_FROM_ADDRESS
  notifications@example.com
S3_ENABLED
  true
S3_BUCKET
  files.example.com
AWS_ACCESS_KEY_ID
 
AWS_SECRET_ACCESS_KEY
 
S3_ALIAS_HOST
  files.example.com
IP_RETENTION_PERIOD
  31556952
SESSION_RETENTION_PERIOD
  31556952