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
No comments yet. Be the first to comment!
Related Posts

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