Mattermost is an open-source collaboration server that includes team chat, project boards, and a wide variety of other collaboration tools available via an in-app marketplace:
Add your domain if you've not done so already.
Create a new mailbox and email address for outgoing mail from the app (for password resets, user invites, notifications, etc)
Create a new shell user.
Create a new "Nginx Proxy Port" app assigned to the new shell user. Make a note of the app's port assignment
Create a new site using your domain and the new app with Let's Encrypt SSL enabled.
Create a new PostgreSQL database user.
Create a new PostgreSQL database assigned to the new database user.
Go to https://my.opalstack.com/logs/ and make a note of your new database password.
Log into a SSH session as your new shell user.
Run the following commands to install the app, replacing "name_of_user" and "name_of_app" with your own:
cd ~/apps/name_of_app
wget https://releases.mattermost.com/7.8.1/mattermost-7.8.1-linux-amd64.tar.gz
tar zxf mattermost-7.8.1-linux-amd64.tar.gz
Edit ~/apps/name_of_app/mattermost/config/config.json
to set the following values:
SiteUrl
: set to your site URL from step 4, eg if your site domain is "yourdomain.com": "SiteURL": "https://yourdomain.com",
ListenAddress
: set to your app's assigned from step 3, eg if your port was 55555: "ListenAddress": ":55555",
EnableUserCreation
: set to true
, eg "EnableUserCreation": true,
DataSource
: set to use your PostgreSQL credentials, eg replace "your_db_user", "your_db_name", and "your_db_password" in the following:
"DataSource": "postgres://your_db_user:your_db_password@localhost/your_db_name?sslmode=disable\u0026connect_timeout=10\u0026binary_parameters=yes",
Configure the email settings as follows (use smtp.de.opalstack.com
if you are on the German mail server):
"FeedbackName": "Your Site Name",
"FeedbackEmail": "whatever@yourdomain.com",
"ReplyToAddress": "",
"FeedbackOrganization": "",
"EnableSMTPAuth": true,
"SMTPUsername": "your_mailbox_name",
"SMTPPassword": "your_mailbox_password",
"SMTPServer": "smtp.us.opalstack.com",
"SMTPPort": "465",
"SMTPServerTimeout": 10,
"ConnectionSecurity": "TLS",
Start the app with the following command, replacing "name_of_app" with your app name from step 3:
daemonize -a -c ~/apps/name_of_app/mattermost -e ~/logs/apps/name_of_app/mattermost.log -o ~/logs/apps/name_of_app/mattermost.log ~/apps/name_of_app/mattermost/bin/mattermost
Visit the site you set up in step 4 or enter the site URL as the server URL in your Mattermost desktop/mobile client.
Create your initial Mattermost user and log in. Note that the initial account will be an admin account.
Create your first team.
Click the menu button above the team name,then select "System Console".
Optional: Scroll down to "Notifications", set "Enable Email Notifications" to true then set your notification preferences. If you don't want email notifications then you can instead set "Enable Preview Mode Banner" to false.
Review the other available settings to ensure that they are set as you need them. Please consult the Mattermost documentation for more info about the available settings.
Invite your other users.
At this point you should have a working Mattermost instance!