All Projects → tjtoml → Mattermost Ansible

tjtoml / Mattermost Ansible

Licence: mit
Ansible playbook to provide a turnkey solution for the Team Edition of Mattermost

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Mattermost Ansible

Ansible Mariadb Galera Cluster
Stars: ✭ 49 (-61.11%)
Mutual labels:  redhat, ansible, ubuntu, debian, centos
Rocket.chat.ansible
Deploy Rocket.Chat with Ansible!
Stars: ✭ 80 (-36.51%)
Mutual labels:  ansible, playbook, ubuntu, debian, centos
Terrible
An Ansible playbook that apply the principle of the Infrastructure as Code on a QEMU/KVM environment.
Stars: ✭ 161 (+27.78%)
Mutual labels:  redhat, ansible, playbook, ubuntu, debian
Oracle Java
Ansible role to install Oracle Java 8/11 on Debian and RedHat based distributions.
Stars: ✭ 144 (+14.29%)
Mutual labels:  redhat, ansible, ubuntu, debian, centos
Ansible Role Apache
Ansible Role - Apache 2.x.
Stars: ✭ 341 (+170.63%)
Mutual labels:  redhat, ansible, ubuntu, debian, centos
Ansible Role Security
Ansible Role - Security
Stars: ✭ 398 (+215.87%)
Mutual labels:  redhat, ansible, ubuntu, debian, centos
Serverfarmer
Manage multiple servers with different operating systems, configurations, requirements etc. for many separate customers in an outsourcing model.
Stars: ✭ 122 (-3.17%)
Mutual labels:  redhat, ansible, ubuntu, debian, centos
Ansible Role Docker
Ansible Role - Docker
Stars: ✭ 845 (+570.63%)
Mutual labels:  redhat, ansible, ubuntu, debian, centos
Postinstall
💻 Bash Script to automate post-installation steps
Stars: ✭ 104 (-17.46%)
Mutual labels:  redhat, ubuntu, debian, centos
Ansible Role Hardening
Ansible role to apply a security baseline. Systemd edition.
Stars: ✭ 188 (+49.21%)
Mutual labels:  ansible, ubuntu, debian, centos
ansible-role-daemonize
Ansible Role - Daemonize.
Stars: ✭ 14 (-88.89%)
Mutual labels:  debian, ubuntu, centos, redhat
Ansible Role Firewall
Ansible Role - iptables Firewall configuration.
Stars: ✭ 343 (+172.22%)
Mutual labels:  ansible, ubuntu, debian, centos
Wg Install
Wireguard road warrior installer for Ubuntu, Debian, CentOS and Fedora
Stars: ✭ 99 (-21.43%)
Mutual labels:  redhat, ubuntu, debian, centos
Packer Boxes
Jeff Geerling's Packer build configurations for Vagrant boxes.
Stars: ✭ 495 (+292.86%)
Mutual labels:  ansible, ubuntu, debian, centos
Debops
DebOps - Your Debian-based data center in a box
Stars: ✭ 734 (+482.54%)
Mutual labels:  ansible, playbook, ubuntu, debian
Vagrant Box Templates
Stars: ✭ 100 (-20.63%)
Mutual labels:  ansible, ubuntu, debian, centos
Ansible Role Packer rhel
Ansible Role - Packer RHEL/CentOS Configuration for Vagrant VirtualBox
Stars: ✭ 45 (-64.29%)
Mutual labels:  redhat, ansible, centos
Ansible Postfix
Ansible role to set up postfix in Debian-like systems
Stars: ✭ 102 (-19.05%)
Mutual labels:  ansible, ubuntu, debian
Ansible Supervisor
Ansible role to set up (the latest or a specific version of) supervisor in Debian-like systems
Stars: ✭ 32 (-74.6%)
Mutual labels:  ansible, ubuntu, debian
Ansible Wordpress
Ansible role to set up (multiple) wordpress installations in Debian-like systems (using wp-cli)
Stars: ✭ 58 (-53.97%)
Mutual labels:  ansible, ubuntu, debian

Maintainer Wanted

If someone would like to take over the maintenance of this repo, please submit an issue or PR. I originally wrote this as a way to learn ansible when I was in college, and no longer have the time/inclination to maintain it now that I have a real job - mostly working with ansible.

mattermost-ansible

This is an Ansible Playbook 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 playbook installs

  • postgresql - Database Server
  • nginx - Web Server (acts as a reverse proxy)
  • SSL certificates are automatically generated from the letsencrypt project. A cron job is created that automatically renews the SSL certificates once a month.

This playbook currently works with

  • [x] Ubuntu 14.04.5 LTS, Trusty Tahr (DigitalOcean)
  • [x] Ubuntu 16.04.2 LTS, Xenial Xerus (DigitalOcean)
  • [x] CentOS 6.9 (DigitalOcean)
  • [x] CentOS 7.3 (DigitalOcean)
  • [x] Red Hat Enterprise Linux 6.9 (Santiago) (Installed from RedHat DVD on a Vultr VPS)
  • [x] Red Hat Enterprise Linux 7.3 (Maipo) (Installed from RedHat DVD on a Vultr VPS)
  • [ ] Debian 7.11 Wheezy
  • [x] Debian 8.8 Jessie (thanks fgbreel!)

I have no reason to think that versions of these operating systems installed locally or by other providers will not work, but I have not tested them. If you are going to run into an issue, it will probably be with the firewall, as DigitalOcean has very permissive firewall rules by default. If you are having an issue, try opening port 80 and 443.

Distro Specific Instructions/Info

RHEL 6.8

The playbook completely disables the iptables firewall. This is not strictly necessary, but I hate iptables with my whole body and I was tired of fighting with it. If you want or need it, you should re-enable it, but none of the required ports will be open. Even better, submit a PR that fixes this issue (so I don't have to do it).


Usage

  • Install ansible with your package manager of choice. Ansible can also be installed via pip. This playbook was tested with Ansible 2.3.1 If you can, I would recommend running the most recent version of ansible.

  • Clone this repository.

  • Make sure that the server you are installing Mattermost is properly configured with a FQDN. You should also have root access via ssh. Reverse DNS should also be properly configured for letsencrypt to work. If you are using a cloud hosting provider, this should be trivial.

  • Edit play.yml and change the vars to reflect any changes you may want to make for your system. This playbook does not do a complete installation with full configuration of all of the Mattermost options, but rather installs it to the point where you can edit the relevant settings from within the web browser.

  • You should always edit the email address and db_password fields.

  • Create a hosts file in the project directory. It only needs to contain one line, which is the IP address of the server you wish to install Mattermost on.

  • Run ansible-playbook play.yml -i hosts from the top of level of the project directory.

  • Navigate to the FQDN of your server in a web browser. Consult the Mattermost documentation for further configuration options.


Post-Install

If you are planning to use MatterMost for any length of time, you should probably change the location of the data directory. A large volume of attached block storage would not be a bad idea. A working email server should also be configured for email notifications and invites. You can do most of this from within the browser without manually editing configuration files.


Contributing

Please submit pull requests! They make my day.

Moving Forward

I am currently working on porting this standalone playbook into a more defined Ansible role with a complete implementation of all the options in the Mattermost config file. You can check on the status of this project here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].