Mattermost: erinevus redaktsioonide vahel
Resümee puudub |
|||
| (ei näidata sama kasutaja 27 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> |
||
| + | |||
| + | 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 |
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} |
mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes} |
||
sudo chown -R 2000:2000 ./volumes/app/mattermost |
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 |
duser@dh-mm:~/20250428/docker$ diff env.example .env |
||
2c2 |
2c2 |
||
| 39. rida: | 179. rida: | ||
--- |
--- |
||
> MATTERMOST_IMAGE_TAG=10.5.4 |
> 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 |
duser@dh-mm:~/20250428/docker$ docker compose -f docker-compose.yml -f docker-compose.nginx.yml up -d |
||
[+] Running 5/5 |
[+] Running 5/5 |
||
| − | ✔ Network mattermost Created |
+ | ✔ Network mattermost Created 0.0s |
| − | ✔ Volume "shared-webroot" Created |
+ | ✔ Volume "shared-webroot" Created 0.0s |
| − | ✔ Container docker-postgres-1 Started |
+ | ✔ Container docker-postgres-1 Started 0.2s |
| − | ✔ Container docker-mattermost-1 Started |
+ | ✔ Container docker-mattermost-1 Started 0.3s |
| − | ✔ Container nginx_mattermost Started |
+ | ✔ Container nginx_mattermost Started 0.5s |
</pre> |
</pre> |
||
| 63. rida: | 209. rida: | ||
* TODO |
* 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
- 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 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