---
title: "Mattermost: Docker Compose i hosting jednym kliknięciem"
description: "Mattermost to czat zespołowy open source z kanałami, wątkami i integracjami. Hostuj Mattermost Team Edition, alternatywę dla Slacka, u siebie w jeden klik."
---

[← Wszystkie szablony](https://pethost.dev/pl/templates/) · [Sieci i społeczność](https://pethost.dev/pl/templates/community/)

# Wdróż Mattermost jednym kliknięciem

Czat zespołowy open source z kanałami, wątkami, udostępnianiem plików i integracjami

Alternatywa dla Slack i Microsoft Teams, hostowana u siebie.

[Wdróż na Pethost](https://console.pethost.dev/?template=mattermost)

## Czym jest Mattermost?

Mattermost to platforma open source do współpracy na czacie zespołowym: kanały publiczne i prywatne, wiadomości bezpośrednie i grupowe, wątki, udostępnianie plików, wyszukiwanie, Markdown i niestandardowe emoji, w ponad 20 językach. Webhooki, polecenia po ukośniku, boty, wtyczki i API łączą go z innymi narzędziami, z integracjami dla Jiry, GitHuba i GitLaba. Aplikacje na Windows, macOS, Linuksa, iOS i Androida łączą się z jego adresem.

Ten szablon uruchamia Mattermost Team Edition, darmowe wydanie na licencji MIT, z PostgreSQL i tworzy Administratora Systemu z pól formularza, zanim strona komukolwiek odpowie. Team Edition to wydanie dla małych zespołów: obsługuje do 250 aktywnych użytkowników i nie ma logowania jednokrotnego, kont gości ani połączeń grupowych, które są w płatnych planach. Haczyk: powiadomienia push do aplikacji mobilnych idą przez darmową usługę Test Push Notification Service od Mattermosta, której sam Mattermost nie zaleca do produkcji.

## Hosting Mattermost na Pethost

1. Logujesz się do Pethost kluczem dostępu, przez GitHub albo Google. Nie masz jeszcze maszyny? Wybierasz plan, a link czeka, aż będzie gotowa.
2. Okno „Nowy projekt” otwiera się na aplikacji Mattermost. Wypełniasz to, o co prosi, i klikasz „Utwórz projekt”: **E-mail**, **Nazwa użytkownika**, **Hasło administratora**.
3. Za minutę czy dwie aplikacja Mattermost działa pod własnym adresem z HTTPS. Jej sekrety są tworzone losowo, a dane trafiają do nocnego backupu.
4. To projekt jak każdy inny: ty albo twój agent możecie go zmienić, cofnąć do wcześniejszej wersji albo przywrócić.

## Pytania o Mattermost

**Czy Mattermost jest darmowy?**

Tak. Mattermost Team Edition to darmowe wydanie skompilowane na licencji MIT z otwartego kodu źródłowego, które zachowuje całą historię wiadomości. Jest przeznaczone dla zespołów poniżej 250 aktywnych użytkowników; płatne plany dodają SSO, konta gości, połączenia grupowe i funkcje compliance.

**Mattermost czy Slack?**

Oba mają kanały, wątki, wiadomości bezpośrednie i integracje. Slack działa tylko na serwerach Slacka, a Mattermost tam, gdzie go wdrożysz. Jego przychodzące webhooki przyjmują format Slacka, więc wiele integracji ze Slackiem działa bez zmian.

**Czy mogę przenieść się ze Slacka do Mattermosta?**

Tak. Narzędzia migracji Mattermosta, mmetl i mmctl import, przenoszą z eksportu Slacka użytkowników, kanały, historię wiadomości, wiadomości bezpośrednie, wątki i pliki. Polecenia po ukośniku nie przechodzą.

**Czy Mattermost ma aplikacje mobilne?**

Tak, na iOS i Androida, a do tego aplikacje desktopowe na Windows, macOS i Linuksa. W Team Edition powiadomienia push idą przez usługę Test Push Notification Service od Mattermosta, która jest darmowa, ale nie daje żadnych gwarancji.

**Ilu użytkowników może mieć Mattermost Team Edition?**

Do 250 aktywnych użytkowników: przy 200 ostrzega, a przy 250 odmawia tworzenia i aktywowania kolejnych kont. Zespół, który przerośnie ten limit, przechodzi na płatny plan.

**Czy połączenia Mattermosta działają z tym szablonem?**

Nie w tej postaci. Połączenia przesyłają dźwięk i obraz przez port 8443, którego ten szablon nie publikuje; czat tekstowy, pliki i integracje działają w pełni.

**Ile pamięci i miejsca na dysku potrzebuje Mattermost?**

Mattermost zajmuje około 300 MB pamięci razem z Postgresem przy małym zespole, a jego baza danych i pliki rosną z każdą wiadomością i każdym wgranym załącznikiem. Na Pethost wystarczy mu plan Starter, z miejscem na inne aplikacje obok.

## Mattermost: plik Docker Compose

Szablon to ten compose.yaml i zmienne zapisywane do .env projektu przy jego tworzeniu. Pethost uruchamia plik dokładnie tak, jak jest napisany.

**Kontenery:** proxy (caddy:2.11-alpine), mattermost (mattermost/mattermost-team-edition:12.0), postgres (postgres:17-alpine).

**Wolumeny, w nocnym backupie:** config, data, logs, plugins, client-plugins, db.

```
services:
  # A new Mattermost makes whoever signs up first its System Admin. So the page is served through
  # this small Caddy, which answers only once the administrator exists: at its start it waits for
  # Mattermost, and while Mattermost says it has no accounts, it signs the administrator up with
  # the email, username and password given, as that first account. A refusal stops it, says so in
  # its log, and is tried again at its next start.
  proxy:
    image: caddy:2.11-alpine
    restart: unless-stopped
    environment:
      ADMIN_EMAIL: ${ADMIN_EMAIL}
      ADMIN_USERNAME: ${ADMIN_USERNAME}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
    command:
      - sh
      - -c
      - |
        set -e
        mattermost=http://mattermost:8065
        echo "waiting for Mattermost"
        until client=$$(wget -qO- "$$mattermost/api/v4/config/client?format=old" 2>/dev/null); do sleep 2; done
        case "$$client" in
          *'"NoAccounts":"true"'*)
            json() { printf '%s' "$$1" | sed 's/\\/\\\\/g; s/"/\\"/g'; }
            body=$$(printf '{"email":"%s","username":"%s","password":"%s"}' \
              "$$(json "$$ADMIN_EMAIL")" "$$(json "$$ADMIN_USERNAME")" "$$(json "$$ADMIN_PASSWORD")")
            if ! wget -qO /dev/null --header 'Content-Type: application/json' --post-data "$$body" "$$mattermost/api/v4/users"; then
              echo "Mattermost refused the administrator: an email address, a username of letters, digits, dots, dashes and underscores, and a password of 8 characters at least are what it takes" >&2
              exit 1
            fi
            echo "the administrator $$ADMIN_USERNAME is made"
            ;;
        esac
        exec caddy run --config /etc/caddy/Caddyfile --adapter caddyfile
    configs:
      - source: caddy
        target: /etc/caddy/Caddyfile
    # The image's own directories, which a proxy without certificates does not use.
    tmpfs:
      - /config
      - /data
    depends_on:
      - mattermost

  mattermost:
    image: mattermost/mattermost-team-edition:12.0
    restart: unless-stopped
    environment:
      MM_SQLSETTINGS_DRIVERNAME: postgres
      MM_SQLSETTINGS_DATASOURCE: postgres://mattermost:${POSTGRES_PASSWORD}@postgres:5432/mattermost?sslmode=disable&connect_timeout=10
      MM_SERVICESETTINGS_SITEURL: ${URL}
      # Only the proxy reaches Mattermost, and it says who the client is.
      MM_SERVICESETTINGS_TRUSTEDPROXYIPHEADER: X-Forwarded-For
    volumes:
      - config:/mattermost/config
      - data:/mattermost/data
      - logs:/mattermost/logs
      - plugins:/mattermost/plugins
      - client-plugins:/mattermost/client/plugins
    depends_on:
      postgres:
        condition: service_healthy

  postgres:
    image: postgres:17-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: mattermost
      POSTGRES_USER: mattermost
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
    volumes:
      - db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -U mattermost -d mattermost"]
      interval: 5s
      timeout: 5s
      retries: 10
      start_period: 30s

configs:
  caddy:
    content: |
      {
        admin off
        auto_https off
      }

      :8065 {
        reverse_proxy mattermost:8065
      }

volumes:
  config:
  data:
  logs:
  plugins:
  client-plugins:
  db:
```

[compose.yaml](https://pethost.dev/templates/mattermost/compose.yaml)[Zobacz na GitHubie](https://github.com/pethost-dev/templates/tree/main/mattermost)

## [Więcej w kategorii Sieci i społeczność](https://pethost.dev/pl/templates/community/)

- [**listmonk**Menedżer newsletterów i list mailingowych](https://pethost.dev/pl/templates/listmonk/)
- [**Lemmy**Agregator linków i forum dla fediwersum](https://pethost.dev/pl/templates/lemmy/)
- [**NodeBB**Forum dla twojej społeczności](https://pethost.dev/pl/templates/nodebb/)
- [**Apache Answer**Pytania i odpowiedzi dla społeczności, centrum pomocy albo zespołu, własny Stack Overflow](https://pethost.dev/pl/templates/apache-answer/)
- [**Mastodon**Twój własny serwer w fediwersum: wpisy, obserwowanie i odpowiedzi poza samym Mastodonem](https://pethost.dev/pl/templates/mastodon/)
- [**Pixelfed**Udostępnianie zdjęć bez reklam i algorytmów, alternatywa dla Instagrama federująca się z Mastodonem](https://pethost.dev/pl/templates/pixelfed/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Szablony](https://pethost.dev/pl/templates/)
- [O nas](https://pethost.dev/about/)
- [Dokumentacja](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/pl/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [Regulamin](https://pethost.dev/terms/)
- [Prywatność](https://pethost.dev/privacy/)
- [Zwroty](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Bazy danych

- [Postgres](https://pethost.dev/pl/postgres/)

Porównania

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/pl/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/pl/blog/coolify-cloud-vs-dokploy-cloud/)
- [Cennik Railway vs Render vs Fly.io](https://pethost.dev/pl/blog/railway-vs-render-vs-fly-io-pricing/)
- [Zarządzany hosting Docker Compose](https://pethost.dev/pl/blog/managed-docker-compose-hosting/)

Alternatywy

- [Alternatywy dla Railway](https://pethost.dev/pl/blog/railway-alternatives/)
- [Alternatywy dla Heroku](https://pethost.dev/pl/blog/heroku-alternatives/)
- [Alternatywy dla Dokploy](https://pethost.dev/pl/blog/dokploy-alternatives/)
- [Alternatywy dla Coolify](https://pethost.dev/pl/blog/coolify-alternatives/)
- [Alternatywy dla Render](https://pethost.dev/pl/blog/render-alternatives/)
- [Alternatywy dla Sliplane](https://pethost.dev/pl/blog/sliplane-alternatives/)
