pieterlexis.mattermost
Mattermost
This is a role that sets up and configures Mattermost.
The role ensures a secure installation of Mattermost by placing it in /opt/mattermost and restricting the mattermost user from editing files in that folder. Uploaded files are stored in /srv/mattermost, and the configuration file is not writable by default.
Requirements
You need Ansible version 2.0 or higher and the pieterlexis.json_file module.
Role Variables
Here are the available options and their default values (check defaults/main.yml):
- mattermost_version: 4.3.1
 This is the version of Mattermost to install. The checksum for the tarball is pulled from the- _mattermost_versionsvariable but can be changed using- mattermost_tar_checksum.
This role installs Mattermost to /opt/mattermost/{{ mattermost_version }} and creates a symlink named /opt/mattermost/current to this directory, making upgrades and downgrades easier.
- mattermost_listen_address: '127.0.0.1:8065'
 This is the address and port where Mattermost will listen for connections.
- Database-related settings: - mattermost_database_driver: postgres
- mattermost_database_host: localhost
- mattermost_database_name: mattermost
- mattermost_database_user: mattermost
- mattermost_database_password: (leave empty for now)
 Only the "postgresql" driver is supported currently.
 
- mattermost_database_create: true
 This option creates the database and user, but only if the database is on localhost.
- User and group settings for Mattermost: - mattermost_user_create: true
- mattermost_user: mattermost
- mattermost_group_create: true
- mattermost_group: mattermost
 These options determine whether to create the user and group for running Mattermost.
 
- mattermost_config_writable: false
 This controls whether the mattermost configuration file can be modified by the- mattermost_user. Setting it to- trueallows system admins to change settings, while the default setting restricts changes to those running Ansible.
- mattermost_config: []
 This is a list of configuration settings and their values. For more details, refer to the- json_filedocumentation and the example playbook below.
Dependencies
Example Playbook
- hosts: servers
  roles:
     - { role: pieterlexis.mattermost,
         mattermost_config: [
          { key: 'EmailSettings.FeedbackEmail', value: '[email protected]' },
          { key: 'EmailSettings.FeedbackName', value: 'Example.com Inc. Mattermost' },
          { key: 'EmailSettings.RequireEmailVerification', value: true },
          { key: 'EmailSettings.SMTPPort', value: "25", as_string: yes },
          { key: 'EmailSettings.SMTPServer', value: 'localhost' },
          { key: 'EmailSettings.SendEmailNotifications', value: true }],
         mattermost_database_host: 'db1.example.com',
         mattermost_database_password: 'Ex4mpl3' }
License
MIT
Author Information
- Pieter Lexis
ansible-galaxy install pieterlexis.mattermost