Skip to content
This repository has been archived by the owner on May 20, 2022. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mattermost/mattermost-docker
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: ubc/mattermost-docker
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Can’t automatically merge. Don’t worry, you can still create the pull request.
  • 18 commits
  • 5 files changed
  • 1 contributor

Commits on Sep 29, 2021

  1. Unverified

    This user has not yet uploaded their public signing key.
    Copy the full SHA
    a3c36fe View commit details
  2. Update README.md

    xcompass committed Sep 29, 2021

    Unverified

    This user has not yet uploaded their public signing key.
    Copy the full SHA
    dd38614 View commit details
  3. Verified

    This commit was signed with the committer’s verified signature.
    grahamplata Graham Plata
    Copy the full SHA
    36e3467 View commit details

Commits on Jan 13, 2022

  1. Update to 5.37.6

    xcompass committed Jan 13, 2022

    Verified

    This commit was signed with the committer’s verified signature.
    grahamplata Graham Plata
    Copy the full SHA
    29c9154 View commit details

Commits on Feb 16, 2022

  1. Update to MM 6.3.3

    xcompass committed Feb 16, 2022

    Verified

    This commit was signed with the committer’s verified signature.
    grahamplata Graham Plata
    Copy the full SHA
    c75f714 View commit details

Commits on Sep 1, 2022

  1. Update to 7.1.3

    xcompass committed Sep 1, 2022

    Verified

    This commit was signed with the committer’s verified signature.
    grahamplata Graham Plata
    Copy the full SHA
    17dd8b4 View commit details

Commits on Apr 27, 2023

  1. Update to 7.1.9

    xcompass committed Apr 27, 2023

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    0bf4161 View commit details

Commits on May 10, 2023

  1. Update MM to 7.8.4

    xcompass committed May 10, 2023

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    e2a89cc View commit details

Commits on Jul 20, 2023

  1. Update to 7.8.8

    xcompass committed Jul 20, 2023

    Verified

    This commit was signed with the committer’s verified signature.
    grahamplata Graham Plata
    Copy the full SHA
    ec554d0 View commit details

Commits on Sep 14, 2023

  1. Update to 7.8.11

    xcompass committed Sep 14, 2023
    Copy the full SHA
    5c9684a View commit details

Commits on Oct 10, 2023

  1. Update to 7.8.12

    xcompass committed Oct 10, 2023
    Copy the full SHA
    2282e8f View commit details
  2. Update to 8.1.3

    xcompass committed Oct 10, 2023
    Copy the full SHA
    881d3ef View commit details

Commits on Nov 14, 2023

  1. Update to 8.1.5

    xcompass committed Nov 14, 2023
    Copy the full SHA
    f5d4554 View commit details

Commits on Nov 21, 2023

  1. Update to 8.1.6

    xcompass committed Nov 21, 2023
    Copy the full SHA
    256429e View commit details

Commits on Dec 15, 2023

  1. Update to 8.1.7

    xcompass committed Dec 15, 2023
    Copy the full SHA
    21b7ea7 View commit details

Commits on Jan 11, 2024

  1. Update MM to 8.1.8

    xcompass committed Jan 11, 2024
    Copy the full SHA
    b6f84ce View commit details

Commits on Jan 8, 2025

  1. Update mm to 9.11.6

    xcompass committed Jan 8, 2025
    Copy the full SHA
    b62acb4 View commit details

Commits on Jan 9, 2025

  1. Copy the full SHA
    c01551d View commit details
Showing with 81 additions and 13 deletions.
  1. +64 −0 .github/workflows/main.yml
  2. +6 −6 README.md
  3. +9 −5 app/Dockerfile
  4. +1 −1 app/entrypoint.sh
  5. +1 −1 web/entrypoint.sh
64 changes: 64 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: CI to Docker Hub

# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ "*" ]
tags: [ "*" ]
pull_request:
branches: [ master ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2

- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}

- name: Docker meta
id: meta
uses: docker/metadata-action@v3
with:
images: lthub/mattermost
# generate Docker tags based on the following events/attributes
tags: |
type=schedule
type=ref,event=branch
type=ref,event=pr
type=ref,event=tag
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=sha
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1

- name: Build and push
id: docker_build
uses: docker/build-push-action@v2
with:
context: ./app
file: ./app/Dockerfile
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# Production Docker deployment for Mattermost

|![](https://upload.wikimedia.org/wikipedia/commons/thumb/1/17/Warning.svg/156px-Warning.svg.png) | This project is no longer supported.
|---|---|

## NOTE:
This repo is forked and updated because upstream repo is not being maintained anymore and Mattermost official repo and matching Helm charts are still under development and [not up to speed yet](https://github.com/mattermost/mattermost-helm/issues/253). We will continue maintain this repo until the official repo catches up.

Please note that our effort will only focus on the app image as it is the only component we are using in our K8S setup. The matching Helm chart can be found [here](https://github.com/ubc/charts/tree/master/mattermost).

This repository has been a community-driven effort created when running Docker containers was just getting popular. This repository produced three images: one for Mattermost itself, another for Database, and for the Web Proxy.

We will no longer support those three images. If you have a Mattermost server running with the image mattermost/mattermost-prod-app, we recommend migrating either to mattermost/mattermost-enterprise-edition or mattermost/mattermost-team-edition images, which are the official ones and supported by Mattermost. These images support Postgres 10+ database, which we know has been a long-running challenge for the community, and you will not lose any features or functionality by moving to these new images.
@@ -22,8 +24,6 @@ We're actively working on a fix to this repository. Until then, please refer to

This project enables a deployment of a Mattermost server in a multi-node production configuration using Docker.

[![Build Status](https://travis-ci.org/mattermost/mattermost-docker.svg?branch=master)](https://travis-ci.org/mattermost/mattermost-docker)

Notes:
- The default Mattermost edition for this repo has changed from Team Edition to Enterprise Edition. Please see [Choose Edition](#choose-edition-to-install) section.
- To install this Docker project on AWS Elastic Beanstalk please see [AWS Elastic Beanstalk Guide](contrib/aws/README.md).
@@ -202,8 +202,8 @@ mkdir -p ./volumes/app/mattermost/{data,logs,config,plugins}
chown -R 2000:2000 ./volumes/app/mattermost/
```
The second important change is the port used by Mattermost application container. The default port is now `8000`, and existing installations that use port `80` will not work without a little configuration change. You have to open your Mattermost configuration file (`./volumes/app/mattermost/config/config.json` by default) and change the key `ServiceSettings.ListenAddress` to `:8000`.
Also if you use your own web-server/reverse-proxy you need to change its configuration to reach port `8000` of the Mattermost container.
The second important change is the port used by Mattermost application container. The default port is now `8065`, and existing installations that use port `80` will not work without a little configuration change. You have to open your Mattermost configuration file (`./volumes/app/mattermost/config/config.json` by default) and change the key `ServiceSettings.ListenAddress` to `:8000`.
Also if you use your own web-server/reverse-proxy you need to change its configuration to reach port `8065` of the Mattermost container.
## Upgrading to Team Edition 3.0.x from 2.x
14 changes: 9 additions & 5 deletions app/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM alpine:3.10
FROM alpine:3.20

# Some ENV variables
ENV PATH="/mattermost/bin:${PATH}"
@@ -9,7 +9,7 @@ ARG edition=enterprise
ARG PUID=2000
ARG PGID=2000
ARG MM_BINARY=
ARG MM_VERSION=5.36.0
ARG MM_VERSION=9.11.6


# Install some needed packages
@@ -25,6 +25,10 @@ RUN apk add --no-cache \
netcat-openbsd \
xmlsec-dev \
tzdata \
wv \
poppler-utils \
tidyhtml \
gcompat \
&& rm -rf /tmp/*

# Get Mattermost
@@ -42,16 +46,16 @@ RUN mkdir -p /mattermost/data /mattermost/plugins /mattermost/client/plugins \
USER mattermost

#Healthcheck to make sure container is ready
HEALTHCHECK CMD curl --fail http://localhost:8000 || exit 1
HEALTHCHECK --interval=30s --timeout=10s \
CMD curl -f http://localhost:8065/api/v4/system/ping || exit 1

# Configure entrypoint and command
COPY entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]
WORKDIR /mattermost
CMD ["mattermost"]

# Expose port 8000 of the container
EXPOSE 8000
EXPOSE 8065 8067 8074 8075

# Declare volumes for mount point directories
VOLUME ["/mattermost/data", "/mattermost/logs", "/mattermost/config", "/mattermost/plugins", "/mattermost/client/plugins"]
2 changes: 1 addition & 1 deletion app/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -41,7 +41,7 @@ if [ "$1" = 'mattermost' ]; then
# Copy default configuration file
cp /config.json.save "$MM_CONFIG"
# Substitute some parameters with jq
jq '.ServiceSettings.ListenAddress = ":8000"' "$MM_CONFIG" >"$MM_CONFIG.tmp" && mv "$MM_CONFIG.tmp" "$MM_CONFIG"
jq '.ServiceSettings.ListenAddress = ":8065"' "$MM_CONFIG" >"$MM_CONFIG.tmp" && mv "$MM_CONFIG.tmp" "$MM_CONFIG"
jq '.LogSettings.EnableConsole = true' "$MM_CONFIG" >"$MM_CONFIG.tmp" && mv "$MM_CONFIG.tmp" "$MM_CONFIG"
jq '.LogSettings.ConsoleLevel = "ERROR"' "$MM_CONFIG" >"$MM_CONFIG.tmp" && mv "$MM_CONFIG.tmp" "$MM_CONFIG"
jq '.FileSettings.Directory = "/mattermost/data/"' "$MM_CONFIG" >"$MM_CONFIG.tmp" && mv "$MM_CONFIG.tmp" "$MM_CONFIG"
2 changes: 1 addition & 1 deletion web/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@

# Define default value for app container hostname and port
APP_HOST=${APP_HOST:-app}
APP_PORT_NUMBER=${APP_PORT_NUMBER:-8000}
APP_PORT_NUMBER=${APP_PORT_NUMBER:-8065}

# Check if SSL should be enabled (if certificates exists)
if [ -f "/cert/cert.pem" -a -f "/cert/key-no-password.pem" ]; then