Mattermost Beta1 Production Install

While a number of organizations, supported directly by the Mattermost team, run Beta1 in production, production deployment is not recommended until Beta2, scheduled for release October 2, 2015, which includes new administration, upgrade and migration tools.

That said, the Mattermost team has documented Beta1 configuration settings, noting some anticipated changes for Beta2, for users who wish to run in production.

If you’re going to install in production, propose trying:

  1. Download compiled version of Mattermost 0.7.0 Beta1
  2. Setup machine with Ubunto 14.04 with 2GB of RAM or similar
  3. Install and configure Ngnix as a proxy to Mattermost (copy gitlab ngix config file or something similar)
    install SSL cert
    Configure proxy pass thru
  4. Potentially on a separate box install Postgres 9.3+ or MySQL 5.6+
  5. Create a database using following SQL commands:
CREATE DATABASE mattermost;
CREATE USER mmuser WITH PASSWORD 'mostest';
GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
  1. Replace and configure SQL settings section of config.json file with:
"DriverName": "mysql",
"DataSource": "mmuser:mostest@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8",
"DataSourceReplicas": ["mmuser:mostest@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8"],

or

"DriverName": "postgres",
"DataSource": "postgres://mmuser:password@localhost:5432/mattermost?sslmode=disable&connect_timeout=10",
"DataSourceReplicas": ["postgres://mmuser:password@localhost:5432/mattermost?sslmode=disable&connect_timeout=10"],
  1. Set up email notifications
  2. On Ubuntu configure upstart to manage the mattermost process. (or something similar using systemd) copy following lines to /etc/init/mattermost.conf
start on runlevel [2345]
stop on runlevel [016]
respawn
chdir /home/ubuntu/mattermost
setuid ubuntu
exec bin/platform
  1. sudo start mattermost
    9.curl localhost:8065
    No guarantees on being able to migrate your Beta1 archives to Beta2, since all the new export and migration tools are for Beta2 and up.

Any issues with these instructions, please post so we can improve our docs for Beta2.

Is there a reason that the docker container is not recommended for production installs? We’re moving in the direction of deploying all software as containers, so that is the path of least resistance for us.

With Beta2, if I configure the docker with an external PostgreSQL server then will I have the chance to, once reconfigured, update the docker container and keep all the history/team settings/?

Hi @cpitman, we’re starting Beta1 with just one set of install instructions, and other guides would be added later. Nothing against Docker, it’s just we have a lot of requests for direct installs and want to have a range of options.

hi @cifvts, yes, for Beta2 the history and team settings could be stored in an external PostgreSQL database. If you want to keep your config settings you’ll want to back-up your config file before you wipe the container and upgrade.