Docker Setup



The following instructions use Docker to install Mattermost in Preview Mode for exploring product functionality on a single machine.

The Best Docker Setup. TL; DR: An eponymous user per daemon and a shared group with a umask of 002. Consistent path definitions between all containers that maintains the folder structure. Using one volume for Sonarr, Radarr and Lidarr so the download folder and library folder are on the same file system which makes hard links and instant moves. Try in Play With Docker. Wait for 5 minutes for ERPNext site to be created or check site-creator container logs before opening browser on port 80. Setting up Pre-requisites. This repository requires Docker, docker-compose and Git to be setup on the instance to be used. For Docker basics and best practices. Refer Docker documentation. It can be used with the Docker Engine 1.8+ on Linux or on Docker for Mac/Windows. This quickstart specifically focuses on using the SQL Server on Linux image. The Windows image is not covered, but you can learn more about it on the mssql-server-windows-developer Docker Hub page. This Traefik 2 Docker Home Server stack is a key component of my smart home setup as well as this website, which runs on WordPress on Docker. So without further delay, let's get going with the Traefik 2 Docker Home server guide.

Docker Setup

Note: This configuration should not be used in production, as it uses a known password string, contains other non-production configuration settings, and does not support upgrade.

If you’re looking for a production installation with Docker, please see the Mattermost Production Docker Deployment Guide.

Note

If you have any problems installing Mattermost, seethe troubleshooting guide. For help with inviting users to your system, see inviting team members and other getting started information. To submit an improvement or correction, click Edit at the top of this page.

One-line Docker Install¶

If you have Docker set up, Mattermost installs in one-line:

When Docker is done fetching the image, open http://localhost:8065/ in your browser.

Otherwise, follow the step-by-step instructions:

macOS¶

  1. Install Docker for Mac

  2. Run:dockerrun--namemattermost-preview-d--publish8065:8065--add-hostdockerhost:127.0.0.1mattermost/mattermost-preview

  3. When Docker is done fetching the image, open http://localhost:8065/in your browser.

Windows 10¶

  1. Install Docker for Windows

  2. Run:dockerrun--namemattermost-preview-d--publish8065:8065--add-hostdockerhost:127.0.0.1mattermost/mattermost-preview

  3. When Docker is done fetching the image, open http://localhost:8065/in your browser.

Ubuntu¶

  1. Follow the instructions athttps://docs.docker.com/installation/ubuntulinux/ or use the summarybelow:

  2. Start Docker container:

  3. When Docker is done fetching the image, open http://localhost:8065/in your browser.

Fedora¶

  1. Follow the instructions at https://docs.docker.com/engine/installation/linux/fedora/ or use the summary below:

  2. Start Docker container:

  3. When Docker is done fetching the image, open http://localhost:8065/ in your browser.

Arch Linux¶

To install the preview on Arch Linux, see the installation guide on the Arch Linux wiki.

Setting up SMTP Email (Recommended)¶

The default single-container Docker instance for Mattermost is designedfor product evaluation, and sets SendEmailNotifications=false so theproduct can function without enabling email. To see the product’s fullfunctionality, enabling SMTP email is recommended.

To enable email, configure an SMTP email service as follows:

  1. Set up an SMTP email sending service (if you don’t yet have anSMTP service with credentials)

    • Any SMTP email service can be used, you just need the following

      information: ServerName, Port, SMTPUsername, andSMTPPassword.

      • If you don’t have an SMTP service, here are simple instructions

        to set one up with Amazon Simple Email Service(SES):

        1. Go to Amazon SESconsole thenSMTPSettings>CreateMySMTPCredentials

        2. Copy the ServerName, Port, SMTPUsername, andSMTPPassword for Step 2 below.

        3. From the Domains menu set up and verify a new domain,then enable GenerateDKIMSettings for the domain.

          1. We recommend you set up Sender PolicyFramework(SPF) and/or Domain Keys IdentifiedMail(DKIM) for your email domain.

        4. Choose a sender address like mattermost@example.com andclick SendaTestEmail to verify setup is workingcorrectly.

  2. Configure SMTP settings

    1. Open the System Console by logging into an existing team andaccessing “System Console” from the main menu.

      • Alternatively, if a team doesn’t yet exist, go to

        http://dockerhost:8065/ in your browser, create a team,then from the main menu click System Console

    2. Go to the Authentication > Email tab and configure the following:

      1. Allow Sign Up With Email:true

    3. Go to the Notifications > Email tab and configure the following:

      1. Send Email Notifications:true

      2. Notification Display Name: Display name on email accountsending notifications

      3. Notification Email Address: Email address displayed onemail account used to send notifications

      4. SMTP Username: SMTPUsername from Step 1

      5. SMTP Password: SMTPPassword from Step 1

      6. SMTP Server: SMTPServer from Step 1

      7. SMTP Port: SMTPPort from Step 1

      8. Connection Security: TLS(Recommended)

      9. Then click Save

      10. Then click Test Connection

      11. If the test failed please look in OTHER > Logs for anyerrors that look like [EROR]/api/v4/email/test...

    4. (Optional) Go to the Security > Sign Up tab and configure the following:

      1. Enable Email Invitations:true

Sample SMTP Settings¶

Amazon SES¶

  • Set SMTP Username to [YOUR_SMTP_USERNAME]

  • Set SMTP Password to [YOUR_SMTP_PASSWORD]

  • Set SMTP Server to email-smtp.us-east-1.amazonaws.com

  • Set SMTP Port to 465

  • Set Connection Security to TLS

Postfix¶

  • Make sure Postfix is installed on the machine where Mattermost isinstalled

  • Set SMTP Username to (empty)

  • Set SMTP Password to (empty)

  • Set SMTP Server to localhost

  • Set SMTP Port to 25

  • Set Connection Security to (empty)

Gmail¶

  • Set SMTP Username to your_email@gmail.com

  • Set SMTP Password to your_password

  • Set SMTP Server to smtp.gmail.com

  • Set SMTP Port to 587

  • Set Connection Security to STARTTLS

Warning

Additional configuration is required in Google to allow SMTP email to relay through their servers.See SMTP relay: Route outgoing non-Gmail messages through Google for the required steps.

Hotmail¶

  • Set SMTP Username to your_email@hotmail.com

  • Set SMTP Password to your_password

  • Set SMTP Server to smtp-mail.outlook.com

  • Set SMTP Port to 587

  • Set Connection Security to STARTTLS

DockerSetupDocker setup guide

Office365 / Outlook¶

  • Set SMTP Username to your_email@hotmail.com

  • Set SMTP Password to your_password

  • Set SMTP Server Name to smtp.office365.com

  • Set SMTP Port to 587

  • Set Connection Security to STARTTLS

Troubleshooting SMTP¶

TLS/STARTTLS Requirements¶

If you fill in SMTP Username and SMTP Password then you must setConnection Security to TLS or to STARTTLS

Troubleshooting using Logs¶

If you have issues with your SMTP install, from your Mattermost teamsite go to the main menu and open System Console -> Logs to look forerror messages related to your setup. You can do a search for the errorcode to narrow down the issue. Sometimes ISPs require nuanced setups forSMTP and error codes can hint at how to make the proper adjustments.

For example, if System Console -> Logs has an error code reading:

Docker

Search for 5545.7.1error andClienthostrejected:Accessdenied.

Checking your SMTP server is reachable¶

  • Attempt to telnet to the email service to make sure the server isreachable.

  • You must run the following commands from the same machine or virtualinstance where mattermost/bin/mattermost is located.

  • Telnet to the email server with telnetmail.example.com25. Ifthe command works you should see something like

  • Then type something like HELO<yourmailserverdomain>. If thecommand works you should see something like

Note

As we’re not installing telnet by default on the official docker images you either need to use ping on those or install telnet yourself either directly or by modifying the Dockerfile.

Note

For further assistance, review the Troubleshooting forum for previously reported errors, or join the Mattermost user community for troubleshooting help. To submit an improvement or correction to this page, click Edit in the top-right corner of the page.

Configuration Settings¶

Docker Setup

See Configuration Settingsdocumentation to customize your deployment.

Updating Docker Preview¶

To delete your existing Docker preview and run a new version use:

Accessing Your Container¶

Docker Setup.py

  • If you wish to gain access to a shell on the container use: