Mattermost air-gapped deployment

A Mattermost deployment on a network with no internet access needs an offline install path, a planned way to move every upgrade into the enclave, and a plan tier that includes air-gapped deployment. This page covers the decisions, build sequence, effort drivers and handover for that work.

On this page

What an air-gapped Mattermost deployment involves

An air-gapped Mattermost deployment is needed when the server must run in an enclave with no outbound internet access, such as classified, regulated or segmented networks. Before planning, confirm the edition: Mattermost's pricing page places air-gapped deployment in the Enterprise Advanced plan, so the subscription decision comes before the architecture work. Confirm the current plan terms directly with Mattermost sales, since the pricing page lists no public prices.

The core system is a single Linux binary backed by PostgreSQL, which keeps the component list short. The harder part is that everything around the binary must come from inside the enclave. There are no public package repositories, no plugin marketplace reachable from the server, and no direct license or update checks. Every operating system package, database component, plugin, container image if used, and each server upgrade has to be obtained outside, verified, and moved in through your own transfer process.

Plan the transfer pipeline as a controlled process, not an occasional copy. Decide who downloads artifacts, how checksums are verified, where the approved copies are stored inside the enclave, and how changes are logged. Upgrades add a second dependency: you must confirm that the target server release, the database version and each installed plugin work together before the package crosses the boundary. Mattermost publishes server releases on a monthly cadence, so the upgrade calendar must account for transfer and testing time.

This section covers only the offline path. General installation, SSO, high availability and Kubernetes each have their own pages, and the decisions there still apply inside the enclave. Ask Mattermost and your security team to confirm which steps, dependencies and license behaviors apply to your exact edition and network design before you commit to a scope.

Components and settings in an enclave

The air-gapped starting point is documented in the server deployment planning guide. Use these cards to build your internal dependency list, then confirm each item against the documentation for your chosen Mattermost version.

Server binary and plugins

A connected install normally pulls the server binary and plugin bundles from vendor channels. In an enclave, your team must stage the Linux binary, the plugin packages and their checksums in an internal repository before installation. Choose your release track first, since monthly releases ship on the 16th and Extended Support Release v11.7 is supported until 2027-05-15. Confirm each plugin's compatibility with that server version.

PostgreSQL database

Mattermost runs on PostgreSQL, and the database holds the messages, channels and user records your team relies on. Inside the enclave, you provide the PostgreSQL service, its operating system packages and its patch cycle, because no vendor-hosted database is assumed. Confirm the supported PostgreSQL major versions for your release, stage matching packages offline, and test restore procedures inside the network.

Reverse proxy and TLS certificates

Users reach Mattermost through a reverse proxy that your team operates inside the enclave. Certificates must come from an internal certificate authority, so clients need to trust that authority and public validation methods will not be available. Stage proxy packages, certificate chains and renewal tooling offline, and confirm the proxy and WebSocket settings in the documentation for your version.

File storage backend

Uploaded files are stored outside the database, so you must decide where they live before installation. A high availability cluster needs shared storage on Amazon S3, an S3-compatible service or a NAS mounted on every node, because local file system storage will not work correctly and risks corrupting files. Confirm which storage service your enclave provides and whether your topology supports it.

License and plan entitlement

Mattermost's pricing page lists air-gapped deployment under the Enterprise Advanced plan, so confirm your entitlement before the design is fixed. Subscriptions are prepaid annual plans based on seat licenses. Ask the vendor how license files are issued, renewed and applied when the server cannot reach the internet, and how seat counts are reported from inside the enclave.

Mail relay for notifications

Notification emails leave the Mattermost server through an SMTP relay. Connected installs often rely on an external provider, so the enclave needs an internal relay that accepts mail from the Mattermost host and delivers it to recipients on the internal network. Confirm the SMTP settings and any notification or push service dependency in the current documentation, then test delivery with a sample user before go-live.

Key decisions and trade-offs

This table compares the main Mattermost air-gapped choices by when each option fits and what it asks of operations and re-testing.

DecisionWhen the option fitsOperational effort and re-testing
Release trackMonthly releases, published on the 16th, fit teams that can re-test every month. ESR v11.7 fits teams wanting fewer upgrades; support ends 2027-05-15.Monthly releases mean frequent offline transfers and plugin re-testing. An ESR means fewer cycles but a fixed end-of-support date to plan around.
Single node or clusterA single node fits a smaller user base with a recovery window the team accepts. Clustering fits strict uptime needs and requires the Enterprise or Enterprise Advanced plan.A single node has fewer moving parts. A cluster adds load balancers, replicas and failover testing, so confirm licensing before the design is final.
File store locationLocal storage fits only a single node. A cluster needs S3, an S3-compatible service or NAS mounted on every node, because local storage risks file corruption.Storage inside the enclave adds capacity, backup and access policy work. Confirm the chosen service and mount model with Mattermost before building.
Plugin sourcing and approvalA small, stable plugin set fits a lightweight approval step. A larger catalog needs a formal intake, security review and an approved-version list.Each approved plugin is re-tested on every server upgrade. Plugins built internally must be packaged and transferred like any other artifact.
Patch transfer methodRemovable media fits small, infrequent updates. Cross-domain transfer fits accredited channels. An internal mirror fits frequent updates across several systems.Media needs logging and malware scanning at each transfer. A mirror needs sync jobs, integrity checks and an approval step. Confirm what your domain permits.
Internal package and container registryA registry fits teams that deploy repeatedly or from several build hosts. Direct artifact transfer fits one-time installs with a single operator.A registry adds hosting, access control, vulnerability scanning and sync duties. Without one, each upgrade needs a newly verified artifact set.

Build sequence for an offline deployment

This sequence takes an enclave from contract confirmation to a verified, offline Mattermost server with every artifact traced in the change log.

  1. Confirm plan tier and license entitlement

    Your account lead confirms in writing that the subscription includes air-gapped deployment, which Mattermost lists under Enterprise Advanced on its pricing page. Ask how the license file is issued and renewed without internet access, and whether updates are delivered as offline packages. The step is done when the entitlement and delivery method are on file with the change record.

  2. Freeze the target version and support window

    Choose either a monthly server release, which Mattermost publishes in binary form on the 16th of each month, or an Extended Support Release. For the ESR track, v11.7 is supported until 2027-05-15. Record the version number, its end-of-support date and the planned next upgrade window. The step is complete when the pinned version appears in the change request.

  3. Build the internal artifact repository

    Mirror the server binary, PostgreSQL packages, operating system packages and any approved plugins into an internal repository on the enclave side. Staging is done on a connected host and transferred through your approved media process. Confirm the check passes by installing from the repository on a test host with outbound internet access blocked.

  4. Record artifact checksums and versions

    Calculate a checksum for every file in the repository and record it with its version, source, download date and the staging operator. Store the list in the change log and attach it to the release ticket. The step is verified when a second engineer recomputes the checksums inside the enclave and the values match the log exactly.

  5. Install PostgreSQL and the server from staged artifacts

    Install PostgreSQL first, then the Mattermost server, using only packages from the internal repository. Create the database and service account, then start the service. The step is confirmed when the service runs under its service manager, the server health check reports healthy, and the database accepts connections from the application host only.

  6. Configure reverse proxy, TLS and email delivery

    Place a reverse proxy in front of the server and issue its certificate from your internal certificate authority, with that authority's root installed on client devices. Point outbound email at an internal relay that the enclave can reach. The step is verified when a browser on an internal client loads the site over HTTPS without warnings and the relay accepts a test submission.

  7. Load the license and run end-to-end checks

    Upload the license file through the System Console and confirm the edition and seat count display correctly. Sign in from an internal client with a test account, then send a message and a file attachment between two test users. Confirm a test notification email arrives. The step closes when all checks pass and the results are added to the change log.

Effort and cost drivers

This table shows each driver that moves effort or cost in an air-gapped Mattermost rollout, who pays for it, why it matters, and how to keep it manageable, with the written scope setting the final effort.

DriverWho paysWhy it moves effortHow to keep it down
Enclaves and environmentsInternal team and infrastructure owner, plus partner time for each environmentEach enclave needs its own install, configuration, offline update cycle and evidence set. Production, staging and test multiply the work.Promote the same verified artifacts through each environment and rebuild none. Keep non-production enclaves small.
Users and concurrent loadPlan subscription for seats, and infrastructure for nodes, database replicas and file storageSeat count sets the license tier. Peak concurrency sets node count, read replicas and shared file storage sizing.Size from measured peak concurrency in a test enclave. Confirm with Mattermost which plan includes HA and air-gapped deployment before sizing.
Plugins and custom integrationsInternal team for vetting, partner for custom build and test workEach plugin must be obtained, scanned, tested and carried through every release offline. Integrations are not transferred by migration tools.Limit the plugin list, favor plugins you can build from source, and vet each version once per upgrade cycle.
Artifact set and transferInternal team and the transfer approvers, plus infrastructure for media handlingServer binaries, plugins, OS packages and dependencies cross the boundary each release. Server releases ship in binary form on a monthly cadence.Bundle one release manifest with checksums, use one approved transfer path, and schedule transfers on a fixed cadence.
Accreditation and assessment evidenceInternal compliance team, partner for control and evidence preparation, and third-party assessorsAssessors expect configuration baselines, access records, patch logs and transfer records. Missing evidence repeats work.Agree the evidence list before the build starts. DeployOpen prepares evidence but does not issue audit reports or certifications.
Linux, PostgreSQL and certificate skillsInternal staff, or partner time where in-house skills are missingOffline hosts need manual OS patching, PostgreSQL backup and restore, and internal CA certificate handling without vendor help.Confirm skill coverage early. Cross-train at least two people per skill and document the offline runbook.

Differences by deployment model

A single-node install runs the Mattermost server on one Linux host with PostgreSQL, which makes it the simplest model to move into an enclave. Every component is transferred as a set of files, so the offline work centers on inventory, checksums and a repeatable transfer process.

  • Extra artifacts: the server package, PostgreSQL and reverse proxy packages, operating system dependencies and any plugin bundles, each mirrored and verified before transfer.
  • Upgrade effect: the single host is updated in one maintenance window, so the service is unavailable while the binary is replaced and database migrations run.
  • Testing burden: a staging copy inside the enclave is still needed to rehearse each upgrade, but only one configuration has to be validated.
  • Limit to plan for: there is no redundancy, so a host or storage failure stops messaging until the system is restored from backup.

Verifying the enclave install and upgrade path

Verification for an air-gapped Mattermost install has one goal: show that the server runs from staged artifacts, reaches only internal services, and can be restored and upgraded without any internet access. Start with the egress test. Run the server with outbound traffic blocked at the firewall and DNS sinkholed, then exercise startup, login and a sample of features. Capture logs and firewall counters as evidence. Any attempted connection to an external host is a finding, and it should be traced to a plugin, a telemetry setting or a build-time dependency before the install is accepted.

Next, confirm licensing and plan features match the written scope. Check that the uploaded license shows the expected edition and seat count in the System Console, and that features the enclave depends on, such as air-gapped deployment support and any SSO or cluster features you purchased, report as enabled. Confirm the license expiry date and who owns renewal. Then run functional checks that a user would notice: sign in through the chosen identity path, create a public and a private channel, upload files of the sizes your policy allows, and search for content inside those files. Record which test accounts and data sets you used so the checks can be repeated after each change.

Notifications need their own test. Send email notifications through the internal mail relay to mailboxes you control and confirm delivery, headers and the sender address your relay expects. For mobile push, do not assume delivery. Confirm with the vendor and your own environment exactly how push notifications behave when the enclave cannot reach the external push service, and record the limits in your runbook so users know what to expect. Treat any gap as a documented risk with an owner, not as a passed test.

The upgrade and recovery rehearsals decide whether the enclave is supportable. Stage the next version's server binary and any plugin packages, then upgrade a copy of the environment using only those transferred artifacts and the existing PostgreSQL and file storage backups. Run the same functional checks before and after. Then test a rollback to the previous binary, and a full restore from PostgreSQL and file storage backups into a clean host. Time each step, record which artifacts were missing, and confirm the restored data matches the pre-test baseline before you sign off.

Operating the enclave after go-live

This table lists each recurring task for the air-gapped Mattermost enclave with its owner, cadence and the evidence to keep for assessors.

TaskOwnerCadenceEvidence to keep
Release review against support datesPlatform engineering leadMonthly, after each 16th release, and against ESR datesDated review record showing the running version and its support end date, such as v11.11 ending 2026-12-15
Artifact transfer and verificationPlatform team with the security authorityEach release, before any install or upgradeTransfer log, checksum or signature check results and the approved path. Confirm this process with your security authority first
Plugin re-approvalPlugin owner with a security reviewerAfter each server upgrade, before plugins are re-enabledTest results against the new server build, approval record and the plugin version in use
License and plan renewal trackingProcurement with the IT service ownerTracked continuously, reviewed before each renewal dateCurrent plan, seat count and renewal date. Air-gapped deployment is listed on the Enterprise Advanced plan
PostgreSQL and file store backups with tested restoresDatabase administrator and storage administratorBackups on the schedule in the runbook, restore tests at an interval set by your recovery targetsBackup job logs, restore test reports and time to recover from each test
Service health and disk monitoringOperations on-call teamContinuous alerting, with a daily review of trendsAlert history, capacity trend reports and records of disk and database connection thresholds
Certificate renewal with internal CAsPKI team with the platform engineerScheduled ahead of each certificate expiry dateCertificate inventory with expiry dates, renewal tickets and client trust chain tests after each change
Build, artifact inventory and change historyPlatform engineering with the compliance leadEvery release and every configuration or plugin changeBuild record, artifact hash inventory and a change log that assessors can trace back to each release

Questions buyers and engineers ask

Does an air-gapped Mattermost deployment require the Enterprise Advanced plan?

Mattermost's pricing page lists air-gapped deployment under Enterprise Advanced, so plan your quote against that plan. Mattermost sells Professional, Enterprise and Enterprise Advanced as prepaid annual subscriptions priced by seat licenses, and the pricing page lists no public prices, so buyers contact sales for figures. Confirm in writing which plan covers your deployment model, support terms and seat count before you finalize scope. DeployOpen implements the deployment inside your enclave, but licensing terms come from Mattermost.

What does an air-gapped Mattermost deployment cost and what drives it?

DeployOpen does not publish prices, and a quote follows from a written, fixed scope. Cost has two sources: the Mattermost subscription, which recurs annually by seat, and the implementation work, which is largely one-time. The main scope drivers are the number of environments (for example production, staging and a test enclave), how many artifacts must cross the boundary for each release, the number of plugins and whether each one must be reviewed and transferred, and how much evidence your assessors expect. Ask for a quote that separates one-time work from recurring support.

How long does an air-gapped Mattermost deployment take?

The duration is set by the written scope, not by a standard figure. Timing depends on how many environments are built, whether the enclave's operating system, PostgreSQL, certificates and mail relay are ready when work starts, how long your transfer approval process takes, and how many plugins need offline review. Mattermost releases server versions in binary form on the 16th of each month, so a slow transfer process can leave you behind the current release. Ask for milestones tied to each dependency you control.

What skills and resources must our internal team supply?

Your team supplies the platform the server runs on and the approvals that let software enter the enclave. Mattermost runs as a single Linux binary with PostgreSQL as its database, so you need Linux administration and PostgreSQL administration skills. You also need storage for files and backups, TLS certificates from your internal certificate authority, an internal mail relay for notifications, and a documented transfer process approved by security. Confirm a named owner for each item before the scope is signed.

Can a capable internal team deploy Mattermost air-gapped without a partner?

Yes, a capable internal team can do it alone if a runbook and an approved transfer process exist. Mattermost's single binary, PostgreSQL dependency and published deployment planning give experienced Linux and database engineers a clear starting point. The harder parts are repeatable: building an offline artifact bundle, verifying it, and moving each monthly release or Extended Support Release update through approval. A partner can write the runbook, implement the first deployment and hand over the transfer process if your team prefers that route.

What should we confirm about push notifications and plugin sources before committing?

Confirm with Mattermost how mobile push notifications reach devices when the server has no internet access, and whether any relay service must be reachable from the enclave. Also confirm where each plugin's code comes from, whether it can be downloaded, verified and transferred offline, and whether it is supported on your server version. Get these answers in writing before the scope is signed, because they can change the architecture and the approvals you need. Both can be tested during the pilot if they are included in the scope.

How DeployOpen scopes, builds and hands over this work

DeployOpen plans, implements, hardens, documents and supports self-hosted open-source platforms inside the client's own infrastructure, including air-gapped networks. For Mattermost, that means a written scope that covers offline installation, the offline update path into the enclave, and the licensing and plan requirements that apply to an air-gapped environment.

How we scope

  • Confirm the air-gapped boundary, the enclave hosts and the approved path for moving files in and out.
  • Confirm which Mattermost plan and license terms apply, since air-gapped deployment is listed under Enterprise Advanced.
  • Agree the release channel, monthly or Extended Support Release, and how each upgrade will be staged and approved.
  • Record which plugins, identity providers and integrations are in scope and which are excluded from the offline build.

How we build

  • Prepare an offline artifact set for the server binary, PostgreSQL, file storage and any approved plugins.
  • Build and test the installation in a staging enclave that mirrors network restrictions and push notification limits.
  • Document the update transfer procedure, including checksums, review steps and rollback points for each release.
  • Test the high availability design, if in scope, including shared file storage and database failover in the enclave.

How we hand over

  • Deliver runbooks for installation, upgrades, backups, restores and plugin changes, written for your operations team.
  • Walk your administrators through the offline update procedure and run a supervised upgrade rehearsal with them.
  • Provide configuration records, access lists and a list of open items agreed in the written scope.
  • Confirm the handover acceptance criteria in writing before the engagement closes.

How we support

  • Ongoing support, upgrades and testing are available as a retainer, scoped to your release channel and enclave.
  • Support can cover monitoring of the offline update queue and review of each Mattermost release notes before it is staged.
  • Confirm with your team which support hours, response terms and escalation paths apply, as these are set in the retainer.
  • Agree how plugin and integration testing will be repeated before each upgrade in the enclave.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.