Your self-hosted, globally interconnected microblogging community https://joinmastodon.org
Go to file
Ammar Hussein a919e1553b
Some checks failed
continuous-integration/drone/push Build is failing
replace ACTIVE_RECORD_ENCRYPTION with ARE to shorten secret name
2024-11-22 18:39:44 -08:00
release replace ACTIVE_RECORD_ENCRYPTION with ARE to shorten secret name 2024-11-22 18:39:44 -08:00
.drone.yml Switch to self-hosted stack-ssh-deploy image [mass update] 2023-01-21 11:49:56 -08:00
.env.sample replace ACTIVE_RECORD_ENCRYPTION with ARE to shorten secret name 2024-11-22 18:39:44 -08:00
.gitignore Initial commit 2021-05-07 13:34:21 +02:00
abra.sh replace ACTIVE_RECORD_ENCRYPTION with ARE to shorten secret name 2024-11-22 18:39:44 -08:00
compose.oidc.yml OIDC secret storage, separate streaming entrypoint 2024-11-21 22:44:45 -05:00
compose.yml replace ACTIVE_RECORD_ENCRYPTION with ARE to shorten secret name 2024-11-22 18:39:44 -08:00
entrypoint-streaming.sh.tmpl OIDC secret storage, separate streaming entrypoint 2024-11-21 22:44:45 -05:00
entrypoint.sh.tmpl OIDC secret storage, separate streaming entrypoint 2024-11-21 22:44:45 -05:00
README.md fix argument option position 2024-11-15 12:36:19 -08:00

Mastodon

Your self-hosted, globally interconnected microblogging community

  • Category: Apps
  • Status: 1
  • Image: tootsuite/mastodon
  • Healthcheck: No
  • Backups: No
  • Email: Yes
  • Tests: No
  • SSO: Yes

Quick start

Mastodon expects secrets to be formatted in a very specific way, so please choose "No" when prompted to generate secrets for abra app new mastodon. The secrets must be generated outside of abra and that is achieved in step 2. See the abra.sh for more.

  1. abra app new mastodon
  2. abra app cmd --local <domain> secrets
  3. abra app secret insert <domain> smtp_password v1 <password>
  4. abra app config <domain> (uncomment SMTP details)
  5. abra app deploy <domain>
  6. abra app cmd <domain> streaming setup

Then, on your host (outside of the containers), you'll need to fix permissions for the volume (see #10):

chown -R 991:991 /var/lib/docker/volumes/<domain>_app/_data

And finally, within the app container, create an admin account:

abra app cmd <domain> admin -- <username> <email>

Tips & tricks

Auto-complete is not working?

Check the sidekiq logs (/sidekiq/retries), is a bunch of stuff failing? What is the error?

If it looks anything like blocked by: [FORBIDDEN/12/index read-only / allow delete (api)]; then it might mean that your elastic search service has put itself into "read-only" state. This could be due to running close to no free disk space one time. ES doesn't undo this state, even when you have more free disk space once more, so you need to handle this manually:

abra app run <domain> es bash
curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'

Then head back to the sidekiq retries panel and retry one job. You should see the ticket of retries go down by one if if passed. Then you can "retry all" and they should get scheduled & run.