Unlock Enterprise Features

12/22/20253 min read8 viewsBy Justq
Share:
Unlock Enterprise Features

---

name: Unlock Enterprise Features

overview: Implement multiple methods to unlock Enterprise Edition features including development mode, environment variable license, license file support, and Mattermost Entry feature flag. This will provide flexibility for both development and production environments.

todos:

  - id: update-env-example

    content: Add Enterprise-related environment variables to env.example with detailed comments explaining each option

    status: completed

  - id: update-docker-compose

    content: Add Enterprise environment variables to docker-compose.custom.yml Mattermost service environment section

    status: completed

    dependencies:

      - update-env-example

  - id: create-dev-mode-script

    content: Create enable-enterprise-dev.sh script to enable development mode (EnableDeveloper + EnableTesting)

    status: completed

  - id: create-license-env-script

    content: Create set-license-env.sh helper script to set MM_LICENSE in .env file securely

    status: completed

  - id: create-status-check-script

    content: Create check-enterprise-status.sh script to check current Enterprise features unlock status

    status: completed

  - id: create-enterprise-guide

    content: Create ENTERPRISE_FEATURES_GUIDE.md documentation in Vietnamese with all unlock methods, examples, and troubleshooting

    status: completed

  - id: update-readme

    content: Update README_CUSTOM_SETUP.md to reference the new Enterprise features guide

    status: completed

    dependencies:

      - create-enterprise-guide

---


# Plan: Unlock Enterprise Edition Features


## Overview


Implement multiple methods to unlock Enterprise Edition features in Mattermost, providing flexibility for both development and production environments. The implementation will support:


1. Development Mode - Enable via EnableDeveloper + EnableTesting config settings

2. Environment Variable License - Set license via MM_LICENSE environment variable

3. License File Support - Load license from disk via MM_SERVICESETTINGS_LICENSEFILELOCATION

4. Mattermost Entry Feature Flag - Enable via MM_FEATUREFLAGS_ENABLEMATTERMOSTENTRY

5. Documentation - Comprehensive guide in Vietnamese


## Architecture


The license loading follows this priority order (as implemented in server/channels/app/platform/license.go):


1. Environment variable MM_LICENSE (highest priority)

2. License file from disk MM_SERVICESETTINGS_LICENSEFILELOCATION)

3. License from database

4. Mattermost Entry license (if feature flag enabled)

5. Development mode (if EnableDeveloper + EnableTesting both true)


## Implementation Details


### 1. Environment Variables Configuration


Files to modify:


- env.example - Add Enterprise-related environment variables

- docker-compose.custom.yml - Add environment variables to Mattermost service


Variables to add:


- MM_LICENSE - Full license string (for production)

- MM_SERVICESETTINGS_LICENSEFILELOCATION - Path to license file

- MM_SERVICESETTINGS_ENABLEDEVELOPER - Enable developer mode

- MM_SERVICESETTINGS_ENABLETESTING - Enable testing mode

- MM_FEATUREFLAGS_ENABLEMATTERMOSTENTRY - Enable Mattermost Entry license


### 2. Helper Scripts


Scripts to create:


- enable-enterprise-dev.sh - Enable development mode (sets both EnableDeveloper and EnableTesting)

- set-license-env.sh - Helper to set MM_LICENSE in .env file

- check-enterprise-status.sh - Check current Enterprise features status


### 3. Documentation


File to create:


- ENTERPRISE_FEATURES_GUIDE.md - Comprehensive guide in Vietnamese explaining:

- What Enterprise features are

- All available methods to unlock

- Step-by-step instructions for each method

- Troubleshooting common issues

- Security considerations


### 4. Code References


Key files that handle license checking:


- server/channels/app/platform/license.go - License loading logic

- server/public/pluginapi/license.go - License checking functions

- server/public/model/license.go - License model and validation

- server/channels/app/platform/service.go - BuildEnterpriseReady check


## Implementation Steps


1. Update Environment Configuration


- Add Enterprise variables to env.example with comments

- Update docker-compose.custom.yml to pass variables to container


2. Create Helper Scripts


- Development mode enable script

- License environment variable helper

- Status checking script


3. Create Documentation


- Write comprehensive guide in Vietnamese

- Include examples and troubleshooting


4. Update Existing Documentation


- Add reference to Enterprise guide in README_CUSTOM_SETUP.md


## Security Considerations


- Development mode should only be used in non-production environments

- License strings in environment variables should be kept secure

- Never commit actual license keys to git

- Use proper file permissions for license files (chmod 600)


## Testing

After implementation, verify:


1. Development mode unlocks Enterprise features

2. Environment variable license works correctly

Comments

0 characters

No comments yet. Be the first to comment!

Related Posts

Cloud Load Balancer Cheat Sheet

Cloud Load Balancer Cheat Sheet

Efficient load balancing is vital for optimizing the performance and availability of your applications in the cloud.

Jan 11, 2026
RenderCV

RenderCV

https://github.com/rendercv/rendercv

Dec 23, 2025