Mattermost: Difference between revisions
imported from old wiki |
m [Category:Web Applications]] Tags: Mobile edit Mobile web edit |
||
Line 74: | Line 74: | ||
[[Category:Applications]] | [[Category:Applications]] | ||
[[Category:Server]] | [[Category:Server]] | ||
[[Category: | [[Category:Web Applications]] |
Latest revision as of 17:46, 5 June 2024
Mattermost is an open source, self-hosted Slack-alternative. As an alternative to proprietary SaaS messaging, Mattermost brings all your team communication into one place, making it searchable and accessible anywhere.[1]
Installation
Add mattermost
to your environment.systemPackages
.
environment.systemPackages = with pkgs; [
mattermost
];
Setup
Mattermost
To setup Mattermost, you need to enable its service, and provide it with a site url.
services.mattermost = {
enable = true;
siteUrl = "https://mattermost.example.com"; # Set this to the URL you will be hosting the site on.
};
After a rebuild, Mattermost will now be accessible at http://127.0.0.1:8065
. To set it up to match your siteUrl
, follow the Nginx config below.
Nginx
While optional, if you are hosting Mattermost alongside other web services, or need SSL (https), you will likely want to set up a web server like Nginx.
Installation
Add nginx
to your environment.systemPackages
.
environment.systemPackages = with pkgs; [
mattermost
nginx
];
Setup
The following is an example Nginx setup that enables SSL, and configures mattermost.example.com
to route to Mattermost.
# Allow ports 80 and 443 for Nginx
networking.firewall.allowedTCPPorts = [ 80 443 ];
# Set up for SSL certification
security.acme = {
acceptTerms = true;
defaults.email = "webmaster@example.com"; # Replace with your preferred email address.
};
# Configure Nginx
services.nginx = {
enable = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
virtualHosts = {
# Replace with the domain from your siteUrl
"mattermost.example.com" = {
forceSSL = true; # Enforce SSL for the site
enableACME = true; # Enable SSL for the site
locations."/" = {
proxyPass = "http://127.0.0.1:8065"; # Route to Mattermost
proxyWebsockets = true;
};
};
};
};
After a rebuild, Mattermost will now be accessible at siteUrl
(assuming you have configured your DNS).