Skip to content

corbolais/ansible-role-mattermost

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status role

tjtoml.mattermost

This is an ansible role that installs a standalone version of Mattermost, which is an open-source Slack alternative. This playbook installs Mattermost version 4.3.2 (Team Edition) by default.

It downloads the binary from mattermost.org. If you need to install the Enterprise edition, consult the Mattermost documentation.

This role is compatible with:

  • Ubuntu 14.04.5 LTS, Trusty Tahr (DigitalOcean)
  • Ubuntu 16.04.3 LTS, Xenial Xerus (DigitalOcean)
  • CentOS 6.9 (DigitalOcean)
  • CentOS 7.4 (DigitalOcean)
  • Red Hat Enterprise Linux 6.9 (Santiago) (Installed from RedHat DVD on a Vultr VPS)
  • Red Hat Enterprise Linux 7.4 (Maipo) (Installed from RedHat DVD on a Vultr VPS)
  • Debian 7.11 Wheezy (DigitalOcean)
  • Debian 8.9 Jessie (DigitalOcean)
  • Debian 9.2 Stretch (DigitalOcean)

I have no reason to believe that installs at other cloud hosting providers will not work. I use DigitalOcean as a test platform.

Requirements

  • FQDN configured: mattermost.example.com, www.example.com, etc.
  • If you want to use letsencrypt, you will need reverse DNS configured. Check it for your server here.
  • Internet Access

Role Variables

You can define any of the variables listed in mattermost's config.json file. There also several "high level" variables that you will probably want to set:

mattermost_version: 4.3.2
db_user: mmost
db_name: mattermost
db_password: notReallyASecurePassword
cert_email_address: abc@123.com
mattermost_user: mattermost
SSL_type: letsencrypt #letsencrypt, snakeoil, nossl

For a full list of available variables and their defaults, see defaults/main.yml.

Dependencies

tjtoml.nginx
tjtoml.postgresql
tjtoml.letsencrypt

Run ansible-galaxy install -r requirements.yml from the project directory to install all dependencies.

Example Playbook

---
- hosts: all
  remote_user: root
  gather_facts: no
  pre_tasks:
    - name: Install python (Only needed for Ubuntu 16 and up, but it doesn't hurt other distros)
      raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)
      changed_when: false
    - name: Gather Facts
      setup:
  roles:
    - { role: tjtoml.mattermost }
  vars:
    mattermost_version: 4.3.2
    db_user: mmost
    db_name: mattermost
    db_password: notReallyASecurePassword
    cert_email_address: abc@123.com
    mattermost_user: mattermost
    SSL_type: nossl

License

BSD, MIT

Author Information

Written by tjtoml

Contributing

Please submit pull requests! They make my day.

About

ansible role to install the team edition of mattermost.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 53.7%
  • HTML 46.3%