README

Mattermost is an open core, self-hosted collaboration platform that offers chat, workflow automation, voice calling, screen sharing, and AI integration. This repo is the primary source for core development on the Mattermost platform; it's written in Go and React, runs as a single Linux binary, and relies on PostgreSQL. A new compiled version is released under an MIT license every month on the 16th.
Deploy Mattermost on-premises, or try it for free in the cloud.

Learn more about the following use cases with Mattermost:
Other useful resources:
Table of contents
Install Mattermost
Other install guides:
Native mobile and desktop apps
In addition to the web interface, you can also download Mattermost clients for Android, iOS, Windows PC, macOS, and Linux.

Get security bulletins
Receive notifications of critical security updates. The sophistication of online attackers is perpetually increasing. If you're deploying Mattermost it's highly recommended you subscribe to the Mattermost Security Bulletin mailing list for updates on critical security releases.
Subscribe here
Get involved
Learn more
License
See the LICENSE file for license rights and limitations.
Get the latest news
Contributing

Please see CONTRIBUTING.md.
Join the Mattermost Contributors server to join community discussions about contributions, development, and more.
Extension points exported contracts — how you extend this code
Reader (Interface)
want "using 'interface\\{\\}', please replace it with 'any'." "using 'interface\\{\\}', please replace it with 'any'." V [13 …
tools/mattermost-govet/emptyInterface/testdata/src/a/a.go
Auditable (Interface)
Auditable for sensitive object classes, consider implementing Auditable and include whatever the AuditableObject returns [65 …
server/public/model/audit_record.go
Users (Interface)
Users is a subset of UserService interface [11 implementers]
server/channels/app/teams/service.go
Extractor (Interface)
Extractors define the interface needed to extract file content [11 implementers]
server/platform/services/docextractor/interface.go
LogWriter (Interface)
(no doc) [16 implementers]
server/cmd/mmctl/printer/human/process.go
ElasticsearchIndexerInterface (Interface)
(no doc) [15 implementers]
server/einterfaces/jobs/elasticsearch.go
MEFileInfoStore (Interface)
(no doc) [22 implementers]
server/enterprise/message_export/shared/store.go
BackingStore (Interface)
BackingStore defines the behaviour exposed by the underlying store implementation (e.g. file, database). [4 implementers]
server/config/store.go
Core symbols most depended-on inside this repo
NoError
called by 18399
tools/mattermost-govet/tFatal/testdata/src/a/a.go
Equal
called by 13236
tools/mattermost-govet/tFatal/testdata/src/a/a.go
Run
called by 11421
server/public/model/job.go
get
called by 8576
webapp/channels/src/utils/emoji_map.ts
Error
called by 6380
server/public/shared/mlog/mlog.go
click
called by 5415
e2e-tests/playwright/lib/src/ui/components/system_console/sidebar.ts
renderWithContext
called by 4454
webapp/channels/src/tests/react_testing_utils.tsx
Wrap
called by 4240
server/channels/store/errors.go
Shape
Method
18,957
Function
16,731
Struct
2,406
Class
982
Interface
713
TypeAlias
141
Enum
90
FuncType
49
Languages
Go69%
TypeScript31%
Modules by API surface
server/public/plugin/client_rpc_generated.go1,144 symbols
server/channels/store/store.go1,034 symbols
server/channels/store/retrylayer/retrylayer.go1,017 symbols
server/channels/store/timerlayer/timerlayer.go1,016 symbols
server/public/model/client4.go782 symbols
server/cmd/mmctl/mocks/client_mock.go332 symbols
server/channels/app/plugin_api.go247 symbols
server/public/plugin/plugintest/api.go243 symbols
server/public/plugin/api_timer_layer_generated.go243 symbols
server/public/plugin/api.go242 symbols
server/cmd/mmctl/client/client.go165 symbols
server/public/model/config.go155 symbols
Used by 1 indexed graphs manifest dependencies, hub-wide
Dependencies from manifests, versioned
code.sajari.com/docconv/v2v2.0.0-pre.4 · 1×
filippo.io/edwards25519v1.2.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/azcorev1.21.1 · 1×
github.com/Azure/azure-sdk-for-go/sdk/internalv1.12.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/storage/azblobv1.6.4 · 1×
github.com/JalfResi/justextv0.0.0-2022110620083 · 1×
github.com/Masterminds/semver/v3v3.5.0 · 1×
github.com/STARRY-S/zipv0.2.3 · 1×
github.com/advancedlogic/GoOsev0.0.0-2023120303384 · 1×
github.com/andybalholm/brotliv1.2.1 · 1×
github.com/andybalholm/cascadiav1.3.3 · 1×
Datastores touched
mattermost_testDatabase · 1 repos
mattermostDatabase · 1 repos
mattermost_node_testDatabase · 1 repos
cloudDatabase · 1 repos
dbDatabase · 1 repos
dummyDatabase · 1 repos
latestDatabase · 1 repos
loadtestDatabase · 1 repos