A Ansible playbook for installing Mastodon
Go to file
staticsafe 7d9b2fe5a4 fix some wording in README.md 2020-08-22 20:52:53 -04:00
group_vars Add LOCAL_DOMAIN variable. 2018-08-23 21:05:22 +01:00
roles make sure nginx is restarted at end of mastodon-config/tasks/main.yml 2020-08-22 20:35:35 -04:00
LICENSE Initial commit 2017-11-24 11:52:16 -05:00
README.md fix some wording in README.md 2020-08-22 20:52:53 -04:00
site.yml Remove mention of 16.04 2018-05-28 12:37:46 -04:00



An Ansible playbook to install Mastodon


  • Latest stable version of Ansible
  • Server(s) running Ubuntu 16.04/18.04/20.04 LTS for hosting Mastodon

Testing status

Mastible was tested on 20/08/2020 with Ansible 2.9.12 running against a Ubuntu 20.04 server.

Instructions for running this playbook (first time install)

  • Copy group_vars/all.sample to group_vars/all and edit it to specify the database name you wish to use with Mastodon. LOCAL_DOMAIN value is mandatory, it is your instance domain/sub-domain. The PostgreSQL database role will drop this database in preparation for Mastodon's database setup so make sure this is not a database you are currently using
  • Copy roles/mastodon-config/templates/.env.production.sample to roles/mastodon-config/templates/.env.production, edit with all relevant details.
  • Make a hosts file that looks like this:
  • Run the playbook with ansible-playbook -i hosts --extra-vars='install=true' site.yml

Instructions for using this playbook to update an existing instance

  • Update version number in roles/mastodon-app/tasks/main.yml
  • Run the playbook with ansible-playbook -i hosts site.yml (Note the lack of the install variable which is needed for installation related tasks)