Mattermost
Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti
Sissejuhatus
Mattermost on populaarne ja aus veebipõhiselt st brauseriga kasutatav suhtlusplatvorm, natuke msn-icq-skype-jne sarnane.
Tööpõhimõte
Tarkvara jagatakse mitmete erinevate tõmmiste, litsentside, subscriptionite viisil. Ausad nö tasuta variandid paistavad olevat 2026 aastal
- kasutada enterprise tõmmist, kuid ilma litsentsi sisestamata
- kasutada teams tõmmist
Mattermost on arendatud muu hulgas Go platvormil.
Paigaldamine
Käesolev tekst keskendub docker põhisele lahendusele.
Väited
- juhend - https://docs.mattermost.com/deployment-guide/server/deploy-containers.html#
- tõmmised kopeeritakse tavalisest https://hub.docker.com/ osakonnast
- paigaldamine algab git repo kopeerimisega, ilma versiooni-tagi-vms esitamata
- git repo kopeerimise tulemusena on muu hulgas failisüsteemis kasutada mitmeid näidis faile (.env, docker-compose.yml jne)
- natuke ebatavaline on docker compose käsundamine kahe -f argumendiga
Tarkvara kopeerimine
$ git clone https://github.com/mattermost/docker
Tulemusena tekib failisüsteemi
duser@dh-mm:~/20250428/tmp$ ls -ld docker/* drwxrwxr-x 3 duser duser 4096 Jun 13 20:27 docker/contrib -rw-rw-r-- 1 duser duser 1005 Jun 13 20:27 docker/docker-compose.nginx.yml -rw-rw-r-- 1 duser duser 140 Jun 13 20:27 docker/docker-compose.without-nginx.yml -rw-rw-r-- 1 duser duser 2662 Jun 13 20:27 docker/docker-compose.yml drwxrwxr-x 2 duser duser 4096 Jun 13 20:27 docker/docs -rw-rw-r-- 1 duser duser 4393 Jun 13 20:27 docker/env.example -rw-rw-r-- 1 duser duser 11357 Jun 13 20:27 docker/LICENSE drwxrwxr-x 3 duser duser 4096 Jun 13 20:27 docker/nginx -rw-rw-r-- 1 duser duser 1107 Jun 13 20:27 docker/README.md drwxrwxr-x 2 duser duser 4096 Jun 13 20:27 docker/scripts
kus
- env.example alusel tuleb moodustada .env mida docker automaatselt kasutab
- docker-compose.yml - põhiline compose
- docker-compose.nginx.yml - nginx juhtumiks
- docker/docker-compose.without-nginx.yml - nginx vabaks juhtumiks, huvitaval kombel seal täpsustatakse põhifailis kirjeldatud 'service -> mattermost' omadusi
- nginx kataloog - seda kasutatakse nginx konteinerist
- scripts kataloog - seal asuvad nt lets encrypt serdi kopeerimise jms vahendid
Tundub, et tarkvara uuendamisel võiks uuendada
- git
- tõmmised-konteinerid
LE sertifikaadi tekitamine
duser@dh-mm:~/20250428/docker$ bash scripts/issue-certificate.sh -d mm.xxx.ee -o ${PWD}/certs
Volume'ite jaoks kataloogide tekitamine
mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}
sudo chown -R 2000:2000 ./volumes/app/mattermost
Seadistamine
Keskkonnamuutujate abil docker konteinerite seadistamine
duser@dh-mm:~/20250428/docker$ diff env.example .env
2c2
< DOMAIN=mm.example.com
---
> DOMAIN=mm.xxx.ee
8c8
< TZ=UTC
---
> TZ=Europe/Tallinn
17c17
< POSTGRES_IMAGE_TAG=13-alpine
---
> POSTGRES_IMAGE_TAG=17-alpine
42,43c42,43
< #CERT_PATH=./certs/etc/letsencrypt/live/${DOMAIN}/fullchain.pem
< #KEY_PATH=./certs/etc/letsencrypt/live/${DOMAIN}/privkey.pem
---
> CERT_PATH=./certs/etc/letsencrypt/live/${DOMAIN}/fullchain.pem
> KEY_PATH=./certs/etc/letsencrypt/live/${DOMAIN}/privkey.pem
66c66
< MATTERMOST_IMAGE_TAG=10.5.2
---
> MATTERMOST_IMAGE_TAG=10.5.4
Käivitamine
Konteinerite käivitamine
duser@dh-mm:~/20250428/docker$ docker compose -f docker-compose.yml -f docker-compose.nginx.yml up -d [+] Running 5/5 ✔ Network mattermost Created 0.0s ✔ Volume "shared-webroot" Created 0.0s ✔ Container docker-postgres-1 Started 0.2s ✔ Container docker-mattermost-1 Started 0.3s ✔ Container nginx_mattermost Started
Töötav dockerhost paistab
root@dh-mm:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4ada4e5913fa nginx:alpine "/docker-entrypoint.…" 3 days ago Up 3 days 0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp nginx_mattermost 73ed44a355c0 mattermost/mattermost-enterprise-edition:10.5.2 "/entrypoint.sh matt…" 3 days ago Up 3 days (healthy) 8065/tcp, 8067/tcp, 8074-8075/tcp, 0.0.0.0:8443->8443/tcp, 0.0.0.0:8443->8443/udp, [::]:8443->8443/tcp, [::]:8443->8443/udp docker-mattermost-1 cdc59c251ab7 postgres:13-alpine "docker-entrypoint.s…" 3 days ago Up 3 days 5432/tcp docker-postgres-1
kus
- TODO
Sertifikaadi uuedamine
TODO
Uuendamine
Uuendatavad on kaks asja
- git repo
- mattermost tõmmis
Git
duser@dh-mm:~/20250428/docker$ git fetch origin
remote: Enumerating objects: 16, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 16 (delta 6), reused 3 (delta 3), pack-reused 6 (from 1)
Unpacking objects: 100% (16/16), 4.70 KiB | 2.35 MiB/s, done.
From https://github.com/mattermost/docker
2308dca..c098c46 main -> origin/main
7e0cc85..157e8f0 add-docker-test-action -> origin/add-docker-test-action
* [new branch] install-link -> origin/install-link
duser@dh-mm:~/20250428/docker$ git log HEAD..origin/main
commit c098c460aa0a5193b5e57df8ace8acd0e22249cf (origin/main, origin/HEAD)
Merge: f628f57 3ccff7a
Author: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com>
Date: Wed Aug 27 14:09:26 2025 -0400
Merge pull request #173 from mattermost/install-link
Update Docker install link
commit 3ccff7aacc23866c97a8cbb31bce54d2007a0624 (origin/install-link)
Author: Lorenzo Gallegos <1328683+enzowritescode@users.noreply.github.com>
Date: Wed Aug 27 11:26:02 2025 -0600
Update Docker install link
commit f628f57db2040da796f7de47867d4361c365042d
Author: Ben Schumacher <ben.schumacher@mattermost.com>
Date: Tue Jul 22 11:54:20 2025 +0200
Add Docker deployment test workflow (#169)
Co-authored-by: Claude <noreply@anthropic.com>
commit 7d9d7bff8531029802884a1d1e211246ec8d2c08
Author: Ben Schumacher <ben.schumacher@mattermost.com>
Date: Fri May 16 13:17:46 2025 +0200
Migrate from CircleCI to GitHub Actions (#167)
* Migrate from CircleCI to GitHub Actions
- Remove CircleCI configuration
- Add GitHub Actions workflow for shellcheck
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Fix ShellCheck issues in upgrade-postgres.sh
- Fix variable quoting issues to prevent globbing and word splitting
- Fix variable reference typo (POSTGRES_POSTGRES_NEW_VERSION → POSTGRES_NEW_VERSION)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
duser@dh-mm:~/20250428/docker$ git diff HEAD..origin/main --stat
.circleci/config.yml | 8 --------
.github/workflows/docker-test.yml | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.github/workflows/shellcheck.yml | 18 ++++++++++++++++++
README.md | 5 ++++-
scripts/upgrade-postgres.sh | 6 +++---
5 files changed, 99 insertions(+), 12 deletions(-)
duser@dh-mm:~/20250428/docker$ git pull origin main
From https://github.com/mattermost/docker
* branch main -> FETCH_HEAD
Updating 2308dca..c098c46
Fast-forward
.circleci/config.yml | 8 --------
.github/workflows/docker-test.yml | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.github/workflows/shellcheck.yml | 18 ++++++++++++++++++
README.md | 5 ++++-
scripts/upgrade-postgres.sh | 6 +++---
5 files changed, 99 insertions(+), 12 deletions(-)
delete mode 100644 .circleci/config.yml
create mode 100644 .github/workflows/docker-test.yml
create mode 100644 .github/workflows/shellcheck.yml
Tõmmis
duser@dh-mm:~/20250428/docker$ diff ../../20250428-20251009-tootanud-enne-uuendust/docker/.env .env 66c66,67 < MATTERMOST_IMAGE_TAG=10.5.4 --- > # MATTERMOST_IMAGE_TAG=10.5.4 > MATTERMOST_IMAGE_TAG=10.11.3 duser@dh-mm:~/20250428/docker$ docker compose -f docker-compose.yml -f docker-compose.nginx.yml up -d
Tõmmis - 20260613
Enne
duser@dh-mm:~/20250428/docker$ docker images IMAGE ID DISK USAGE CONTENT SIZE EXTRA certbot/certbot:latest f0cfa0056d76 192MB 0B hello-world:latest 74cc54e27dc4 10.1kB 0B U mattermost/mattermost-enterprise-edition:10.11.13 7713ecd8222b 896MB 0B U mattermost/mattermost-enterprise-edition:10.11.3 dc90402a8a95 967MB 0B mattermost/mattermost-enterprise-edition:10.5.2 02410c82f7ff 1.12GB 0B mattermost/mattermost-enterprise-edition:10.5.4 ae75e004fadd 1.12GB 0B nginx:alpine 6769dc3a703c 48.2MB 0B U postgres:13-alpine 5de4caba4b9e 268MB 0B postgres:17-alpine 0150e3200277 278MB 0B U
https:// sertifikaadi uuendamine
duser@dh-mm:~/20250428/docker$ cat update-certificate-moraal.sh
docker compose -f docker-compose.yml -f docker-compose.nginx.yml stop
bash scripts/issue-certificate.sh -d mm.moraal.ee -o ${PWD}/certs
docker compose -f docker-compose.yml -f docker-compose.nginx.yml start
Kasutamine
TODO