Multiple instances on one server

we need 3 independent instances running on one host.

i did some tests so far:

  • installing 3 instances on /opt/mm01 /opt/mm02 /opt/mm03 with different data folders
  • creating 3 different databases
  • using 3 different ports (8065, 8066,8067)
  • configuring 3 different domains in ngnix (chat.domain1, chat.domain2, chat.domain3)

Didnt test a lot until now, but everything seems to be running smooth.

Is this a supported setup, or will i run into problems?


Hello, @rickstinson

There is no clear definition of official support for running multiple Mattermost instances in a single server. As long as the data stores, database, network are configured differently from each other and you do not run into any issues, I believe that you are good to go.

Out of interest, is there any specific reason to this setup rather than having the instances separated on different servers?

we are a small hosting company in europe. We evaluating self-hosted chatsystems like mattermost for our customers.

for smaller mattermost enviroments, like <10 Users, it would be more valueable to serve mattermost shared on one host(like shared webhosting, hosted exchange, etc), instead of creating a vm per customer.

If you really want to go down this route you would not even need to install it three times. You can launch the same binary with different json files specified as the configuration.

I would also just use a different internal port and still expose Mattermost through different hostnames on 80/443 via a reverse proxy.

In practice I would use Docker to run these instances, though.


Hi rickstinson,
Can you provide some information or steps how did you install three instances on the same machine ?
I wanted to have three instances on my ubuntu machine.

Hello, everyone.

Additional insight on @rajkirpalsih installation architecture:

I deploy two mattermost-server on same ubuntu machine using the developer setup steps for Team Edition of mattermost.
I have created separate databases in the mysql docker image.
Also have separate port for the respective server.
Using the local file system for the storage in the ./data directory.