Mattermost: erinevus redaktsioonide vahel

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti
Resümee puudub
 
(ei näidata sama kasutaja 32 vahepealset redaktsiooni)
1. rida: 1. rida:
 
===Sissejuhatus===
 
===Sissejuhatus===
   
  +
Mattermost on populaarne ja aus veebipõhiselt st brauseriga kasutatav suhtlusplatvorm, natuke msn-icq-skype-jne sarnane.
TODO
 
   
 
===Tööpõhimõte===
 
===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
  +
  +
Versioonid
  +
  +
* feature release - lühikese support ajaga (kolm kuud)
  +
* extended support release (ESR) - pikema support ajaga, 2026 keskel on nt v. 10.11.x sellise telje reliisid;
  +
  +
x.y.z
  +
  +
* nt 10.5.x ja 10.11.x on esr reliisid
  +
* nt 11.7.x on esr reliis
  +
* nt 10.6.x, 10.7.x, 10.8.x on feature reliisid
  +
  +
Mattermost on arendatud muu hulgas Go platvormil.
  +
  +
Mattermost lahendus koosneb kolmest komponendist
  +
  +
* nginx frontend
  +
* postgresql andmebaas
  +
* mattermost rakendusserver
  +
  +
====postgresql andmebaas====
  +
  +
Kasutatakse Alpine tõmmise põhist postgresql andmebaasi, küllap mm arendajad-pakendajad teavad, aga alpine puhul on collate-locale-jms oluliselt erinev nö tavalisest ubuntu juhtumist
  +
  +
* alpine kasutab libc asemel musl teeki
  +
* alpine puhul toimub nö libc moodi locale kasutamine omajagu erinevalt
  +
* lisaks on üldiselt postgresql võimeline kasutame libc ja icu põhist locale't
  +
  +
<pre>
  +
duser@dh-mm:~/20250428/docker$ docker exec -ti 78 ps auxf
  +
PID USER TIME COMMAND
  +
1 postgres 0:00 postgres
  +
28 postgres 0:00 postgres: checkpointer
  +
29 postgres 0:00 postgres: background writer
  +
31 postgres 0:00 postgres: walwriter
  +
32 postgres 0:00 postgres: autovacuum launcher
  +
33 postgres 0:00 postgres: logical replication launcher
  +
39 postgres 0:00 postgres: mmuser mattermost 10.167.0.3(48660) idle
  +
191 postgres 0:00 postgres: mmuser mattermost 10.167.0.3(47972) idle
  +
214 postgres 0:00 postgres: mmuser mattermost 10.167.0.3(42712) idle
  +
244 postgres 0:00 postgres: mmuser mattermost 10.167.0.3(34998) idle
  +
245 postgres 0:00 postgres: mmuser mattermost 10.167.0.3(35012) idle
  +
265 postgres 0:00 postgres: mmuser mattermost 10.167.0.3(36674) idle
  +
266 postgres 0:00 postgres: mmuser mattermost 10.167.0.3(36680) idle
  +
366 root 0:00 ps auxf
  +
  +
duser@dh-mm:~/20250428/docker$ docker exec -ti 78 psql -U mmuser postgres
  +
psql (17.10)
  +
Type "help" for help.
  +
  +
postgres=# \l+
  +
List of databases
  +
Name | Owner | Encoding | Locale Provider | Collate | Ctype | Locale | ICU Rules | Access privileges | Size | Tablespace | Description
  +
------------+--------+----------+-----------------+------------+------------+--------+-----------+-------------------+---------+------------+--------------------------------------------
  +
mattermost | mmuser | UTF8 | libc | en_US.utf8 | en_US.utf8 | | | | 45 MB | pg_default |
  +
postgres | mmuser | UTF8 | libc | en_US.utf8 | en_US.utf8 | | | | 7502 kB | pg_default | default administrative connection database
  +
template0 | mmuser | UTF8 | libc | en_US.utf8 | en_US.utf8 | | | =c/mmuser +| 7345 kB | pg_default | unmodifiable empty database
  +
| | | | | | | | mmuser=CTc/mmuser | | |
  +
template1 | mmuser | UTF8 | libc | en_US.utf8 | en_US.utf8 | | | =c/mmuser +| 7574 kB | pg_default | default template for new databases
  +
| | | | | | | | mmuser=CTc/mmuser | | |
  +
(4 rows)
  +
</pre>
  +
  +
Kuna tegu on Alpine linux põhise konteineriga, siis ei ole sarnaseid libc6 nähtusi seoses reindexdb jms teemadel
  +
  +
<pre>
  +
postgres=# SELECT
  +
postgres-# collname AS collation_name,
  +
postgres-# collversion AS recorded_version,
  +
postgres-# pg_collation_actual_version(oid) AS actual_runtime_version
  +
postgres-# FROM pg_collation
  +
postgres-# WHERE collname = 'en_US.UTF-8';
  +
collation_name | recorded_version | actual_runtime_version
  +
----------------+------------------+------------------------
  +
(0 rows)
  +
</pre>
  +
  +
====nginx veebiserver====
   
 
TODO
 
TODO
   
 
===Paigaldamine===
 
===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
   
 
<pre>
 
<pre>
 
$ git clone https://github.com/mattermost/docker
 
$ git clone https://github.com/mattermost/docker
 
</pre>
 
</pre>
  +
  +
Tulemusena tekib failisüsteemi
  +
  +
<pre>
  +
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
  +
</pre>
  +
  +
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===
  +
  +
<pre>
  +
duser@dh-mm:~/20250428/docker$ bash scripts/issue-certificate.sh -d mm.xxx.ee -o ${PWD}/certs
  +
</pre>
  +
  +
Volume'ite jaoks kataloogide tekitamine
  +
  +
<pre>
  +
mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}
  +
sudo chown -R 2000:2000 ./volumes/app/mattermost
  +
</pre>
  +
  +
===Seadistamine===
  +
  +
Keskkonnamuutujate abil docker konteinerite seadistamine
  +
  +
<pre>
  +
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
  +
</pre>
  +
  +
===Käivitamine===
  +
  +
Konteinerite käivitamine
  +
  +
<pre>
  +
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 0.5s
  +
</pre>
  +
  +
Töötav dockerhost paistab
  +
  +
<pre>
  +
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
  +
  +
</pre>
  +
  +
kus
  +
  +
* TODO
  +
  +
Sertifikaadi uuedamine
  +
  +
<pre>
  +
TODO
  +
</pre>
  +
  +
===Uuendamine===
  +
  +
Uuendatavad on kaks asja
  +
  +
* git repo
  +
* mattermost tõmmis
  +
  +
====Git====
  +
  +
<pre>
  +
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
  +
</pre>
  +
  +
====Tõmmis - 20250428====
  +
  +
<pre>
  +
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
  +
</pre>
  +
  +
====Tõmmis - 20260613====
  +
  +
Enne
  +
  +
<pre>
  +
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
  +
</pre>
  +
  +
===https:// sertifikaadi uuendamine===
  +
  +
<pre>
  +
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
  +
</pre>
  +
  +
===Kasutamine===
  +
  +
TODO
   
 
===Kasulikud lisamaterjalid===
 
===Kasulikud lisamaterjalid===

Viimane redaktsioon: 14. juuni 2026, kell 00:19

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

Versioonid

  • feature release - lühikese support ajaga (kolm kuud)
  • extended support release (ESR) - pikema support ajaga, 2026 keskel on nt v. 10.11.x sellise telje reliisid;

x.y.z

  • nt 10.5.x ja 10.11.x on esr reliisid
  • nt 11.7.x on esr reliis
  • nt 10.6.x, 10.7.x, 10.8.x on feature reliisid

Mattermost on arendatud muu hulgas Go platvormil.

Mattermost lahendus koosneb kolmest komponendist

  • nginx frontend
  • postgresql andmebaas
  • mattermost rakendusserver

postgresql andmebaas

Kasutatakse Alpine tõmmise põhist postgresql andmebaasi, küllap mm arendajad-pakendajad teavad, aga alpine puhul on collate-locale-jms oluliselt erinev nö tavalisest ubuntu juhtumist

  • alpine kasutab libc asemel musl teeki
  • alpine puhul toimub nö libc moodi locale kasutamine omajagu erinevalt
  • lisaks on üldiselt postgresql võimeline kasutame libc ja icu põhist locale't
duser@dh-mm:~/20250428/docker$ docker exec -ti 78 ps auxf
PID   USER     TIME  COMMAND
    1 postgres  0:00 postgres
   28 postgres  0:00 postgres: checkpointer
   29 postgres  0:00 postgres: background writer
   31 postgres  0:00 postgres: walwriter
   32 postgres  0:00 postgres: autovacuum launcher
   33 postgres  0:00 postgres: logical replication launcher
   39 postgres  0:00 postgres: mmuser mattermost 10.167.0.3(48660) idle
  191 postgres  0:00 postgres: mmuser mattermost 10.167.0.3(47972) idle
  214 postgres  0:00 postgres: mmuser mattermost 10.167.0.3(42712) idle
  244 postgres  0:00 postgres: mmuser mattermost 10.167.0.3(34998) idle
  245 postgres  0:00 postgres: mmuser mattermost 10.167.0.3(35012) idle
  265 postgres  0:00 postgres: mmuser mattermost 10.167.0.3(36674) idle
  266 postgres  0:00 postgres: mmuser mattermost 10.167.0.3(36680) idle
  366 root      0:00 ps auxf

duser@dh-mm:~/20250428/docker$ docker exec -ti 78 psql -U mmuser postgres
psql (17.10)
Type "help" for help.

postgres=# \l+
                                                                                    List of databases
    Name    | Owner  | Encoding | Locale Provider |  Collate   |   Ctype    | Locale | ICU Rules | Access privileges |  Size   | Tablespace |                Description
------------+--------+----------+-----------------+------------+------------+--------+-----------+-------------------+---------+------------+--------------------------------------------
 mattermost | mmuser | UTF8     | libc            | en_US.utf8 | en_US.utf8 |        |           |                   | 45 MB   | pg_default |
 postgres   | mmuser | UTF8     | libc            | en_US.utf8 | en_US.utf8 |        |           |                   | 7502 kB | pg_default | default administrative connection database
 template0  | mmuser | UTF8     | libc            | en_US.utf8 | en_US.utf8 |        |           | =c/mmuser        +| 7345 kB | pg_default | unmodifiable empty database
            |        |          |                 |            |            |        |           | mmuser=CTc/mmuser |         |            |
 template1  | mmuser | UTF8     | libc            | en_US.utf8 | en_US.utf8 |        |           | =c/mmuser        +| 7574 kB | pg_default | default template for new databases
            |        |          |                 |            |            |        |           | mmuser=CTc/mmuser |         |            |
(4 rows)

Kuna tegu on Alpine linux põhise konteineriga, siis ei ole sarnaseid libc6 nähtusi seoses reindexdb jms teemadel

postgres=# SELECT
postgres-#     collname AS collation_name,
postgres-#     collversion AS recorded_version,
postgres-#     pg_collation_actual_version(oid) AS actual_runtime_version
postgres-# FROM pg_collation
postgres-# WHERE collname = 'en_US.UTF-8';
 collation_name | recorded_version | actual_runtime_version
----------------+------------------+------------------------
(0 rows)

nginx veebiserver

TODO

Paigaldamine

Käesolev tekst keskendub docker põhisele lahendusele.

Väited

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    0.5s 

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 - 20250428

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

Kasulikud lisamaterjalid