Deploy Mattermost
Team chat on your own instance
Channels, threads, files, and ChatOps in one workspace — on your instance. You pay for compute, not per seat.

What you get with Mattermost
- Channels and DMsPublic channels, private channels, and direct messages so the team has one place to talk.
- Threads and historyKeep replies in threads. Search the history instead of losing context in a scrollback.
- Files and ChatOpsShare files in-channel. Incoming webhooks and slash commands hook deploys and alerts into the same room.
- HTTPS web accessOpen Mattermost on a public HTTPS hostname. Attach your own domain when you want a branded URL.
- Your own instanceMessages and files stay on this instance — not in a shared vendor-managed account.
- Team EditionThis template ships the MIT Team Edition. First visitor creates the admin and the first team.
After you deploy Mattermost
- 1Open the public URLThe hostname is on the app page after deploy. First load is account creation — not a login form.
- 2Create the adminEmail, username, and password at /signup_user_complete. That account owns the instance until you invite others.
- 3Create a teamName the team, then add channels. Invite people from the sidebar when you are ready.
How Mattermost is wired
Mattermost and Postgres ship together. The public hostname is the app. Uploads live on a volume.
- Postgres holds the workspace
- Users, teams, channels, and messages live in the attached database. Restart the app and the workspace is still there.
- Files sit on a volume
- Uploads mount at /mattermost/data. Media survives a restart.
- Site URL is already set
- MM_SERVICESETTINGS_SITEURL is your public HTTPS hostname so links and invites point here. Attach a custom domain from the dashboard when you want a branded URL.
- Add CPU when the room is busy
- Raise RAM and CPU on the web app from the dashboard. Postgres scales on its own.
Why run Mattermost on StackBlaze
- Scale your appChange CPU, RAM, and replicas without a rebuild, or let autoscaling add replicas when CPU climbs.
- Git-based CI/CDPush to GitHub and it builds and ships. Pull requests get their own preview URL on Pro and Business.
- One-click rollbackA deploy went wrong? Go back to any previous successful deploy.
- Environments built inProduction, staging, and dev as separate environments in one project, each with its own URL.
- Built-in observabilityCPU, memory, and response time per app, live logs with search, and alerts to Slack, Discord, or a webhook.
- Developer-first toolsA CLI and Stack MCP: deploy, read logs, and wire services from your terminal or your AI assistant.
- Built for teamsInvite teammates with roles. An audit log records who changed what.
- Managed Postgres with HAPostgres is run for you. Turn on high availability for a three-node cluster when the app needs it.
Common questions about Mattermost
How do I sign in after deploy?
Open the public URL. The first visitor creates the admin at /signup_user_complete, then creates a team. After that, sign in with that username.
Where are messages and files stored?
Messages, users, and teams are in the attached Postgres. Uploads live on the data volume. Back up the database if the workspace matters.
Can I use my own domain?
Yes. Attach a custom domain from the dashboard. SITEURL follows the public hostname so invites and permalinks stay correct. Custom domains
Why does the top bar say email is not configured?
Team Edition starts without SMTP. Invites and password resets need outbound mail. Add SMTP settings in System Console when you want those emails.
Is this Team Edition or Enterprise?
Team Edition (MIT). Advanced compliance and AD/LDAP features are not in this image.
What does it cost?
You pay for Mattermost and Postgres — compute, storage, and bandwidth — not per seat. Developer is $10/mo with $10 of included usage; a small instance usually stays in that range. Pricing
Can I hook deploys and alerts into a channel?
Yes. Incoming webhooks and slash commands are in Integrations. Point the other system at this instance’s public URL.