An Ansible playbook to install Mastodon
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


An Ansible playbook to install Mastodon


  • Latest stable version of Ansible (this was tested with Ansible 2.4)
  • Server(s) running Ubuntu 16.04/18.04 LTS for hosting Mastodon

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)