A supported fork of Mastodon that provides local posting and a wider range of content types.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
decentral1se ffe75dc32d
feat: add assets script function
3 weeks ago
.drone.yml Use new image namespace 11 months ago
.env.sample feat: allow to customise toot char limit 3 weeks ago
.gitignore Initial commit 1 year ago
README.md docs: use scripts interface 3 weeks ago
abra.sh feat: add assets script function 3 weeks ago
compose.oidc.yml chore: release new v3.4.6 3 months ago
compose.yml feat: allow to customise toot char limit 3 weeks ago
entrypoint.sh.tmpl Use the right value [ci skip] 11 months ago

README.md

Hometown

A supported fork of Mastodon that provides local posting and a wider range of content types.

This repository is a copy of coop-cloud/mastodon but with a fresh README and some Hometown specific configuration. It seems like a good idea to keep the deployment separate since the apps may diverge in their deployment or configuration instructions at some point despite best wishes to remain as mainline Mastodon as possible.

Basic usage

  1. Set up Docker Swarm and abra
  2. Deploy coop-cloud/traefik
  3. abra app new mastodon
  4. Follow the secrets setup docs
  5. abra app YOURAPPDOMAIN config - be sure to change DOMAIN to something that resolves to your Docker swarm box
  6. abra app YOURAPPDOMAIN deploy to deploy the app

You'll need to run a docker exec -it <streaming-service-id> /bin/bash and do the following:

export OTP_SECRET=$(cat /run/secrets/otp_secret)
export SECRET_KEY_BASE=$(cat /run/secrets/secret_key_base)
export DB_PASS=$(cat /run/secrets/db_password)
bundle exec rake db:setup

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

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

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

export OTP_SECRET=$(cat /run/secrets/otp_secret)
export SECRET_KEY_BASE=$(cat /run/secrets/secret_key_base)
export DB_PASS=$(cat /run/secrets/db_password)
tootctl accounts create <username> --email <email> --confirmed --role admin

Secrets setup

Mastodon expects secrets generated by specific tools. Uou can run these commands via the scripts interface with abra.

abra app cmd <domain> secrets --local