Quick-wiki: Mastodon
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
Updates
-
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
Accounts
- 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
/admin/invites
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.
Database backup
docker exec mastodon-db-1 pg_dump -Fc -U postgres postgres > db.dump
Regain storage
- Steps to delete media older than seven days:
docker exec -it mastodon-web-1 sh
tootctl media remove
tootctl media remove-orphans
Glossary
- 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.
TODO
- 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.