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_versions variable 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 true allows 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_file documentation 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
Informazioni sul progetto

Ansible role for Mattermost

Installa
ansible-galaxy install pieterlexis.mattermost
Licenza
Unknown
Download
93
Proprietario