Last update: 02/2022, Mastodon v3.4.6 from Docker Hub.
This is a quick-wiki for Mastodon, a federated, self-hostable social media software. As the installation was done via docker-compose, it’s more oriented towards it and may see fewer customizations.
Table of Content
Read changelog and instructions from GitHub release page.
Now pull down the containers and update version numbers in docker-compose file:
## backup db docker exec mastodon-db-1 pg_dump -Fc -U postgres postgres > name_of_the_backup.dump cd mastodon sed -i 's/v3.4.5/v3.4.6/g' docker-compose.yml docker-compose pull docker-compose up -d
- Create new account via admin CLI:
docker exec -it mastodon-web-1 sh tootctl accounts create <USERNAME> --email=<EMAIL> # a password would be generated for login
- Create new account via web UI by visiting
Note: Accounts need manual approval (confirm CTA) via <MASTODON_URL>/admin/accounts as email setup isn’t present.
- Delete an account via admin CLI:
docker exec -it mastodon-web-1 sh tootctl accounts delete <USERNAME>
- Direct account deletion isn’t possible via web UI. The account is first suspended and then data is deleted.
docker exec mastodon-db-1 pg_dump -Fc -U postgres postgres > db.dump
- Steps to delete media older than seven days:
docker exec -it mastodon-web-1 sh tootctl media remove tootctl media remove-orphans
- Web (through Puma) - Short lived HTTP requests.
- Streaming API - Streaming API handles long-lived HTTP and WebSockets connections for real time updates.
- Background processing (through Sidekiq) - Many tasks are delegated to background processes for quick HTTP requests. Sidekiq handles these. Sidekiq has the following queues - default (local users tasks), push (push content to remote servers), mailers, pull (fetching content from remote servers) and scheduler (cron jobs like log cleanups and refreshing trending hashtags) - in decreasing order of preference.
- Instance emoji’s for tusky client.
- Secure mode.
- Federation with hidden services.
- Full text search.
- Video playback in tusky. Latency would be the culprit here.