Revert from Enterprise Edition to Community Edition
You can revert your Enterprise Edition (EE) instance back to Community Edition (CE), but must first:
- Disable EE-only authentication mechanisms.
- Remove EE-only integrations from the database.
- Adjust configuration that uses environment scopes.
Turn off EE-only authentication mechanisms
Kerberos is only available on EE instances. You must:
- Turn off these mechanisms before reverting.
- Provide a different authentication method to your users.
Remove EE-only integrations from the database
These integrations are only available in the EE codebase:
If you downgrade to CE, you might get something like the following error:
Completed 500 Internal Server Error in 497ms (ActiveRecord: 32.2ms)
ActionView::Template::Error (The single-table inheritance mechanism failed to locate the subclass: 'Integrations::Github'. This
error is raised because the column 'type_new' is reserved for storing the class in case of inheritance. Please rename this
column if you didn't intend it to be used for storing the inheritance class or overwrite Integration.inheritance_column to
use another column for that information.)
The subclass
in the error message can be any of the following:
Integrations::Github
Integrations::GitGuardian
Integrations::GoogleCloudPlatform::ArtifactRegistry
Integrations::GoogleCloudPlatform::WorkloadIdentityFederation
All integrations are created automatically for every project you have. To avoid getting this error, you must remove all EE-only integration records from your database.
sudo gitlab-rails runner "Integration.where(type_new: ['Integrations::Github']).delete_all"
sudo gitlab-rails runner "Integration.where(type_new: ['Integrations::GitGuardian']).delete_all"
sudo gitlab-rails runner "Integration.where(type_new: ['Integrations::GoogleCloudPlatform::ArtifactRegistry']).delete_all"
sudo gitlab-rails runner "Integration.where(type_new: ['Integrations::GoogleCloudPlatform::WorkloadIdentityFederation']).delete_all"
Adjust configuration that uses environment scopes
If you use environment scopes, you might need to adjust your configuration, especially if configuration variables share the same key, but have different scopes. Environment scopes are completely ignored in CE.
With configuration variables that share a key but different scopes, you could accidentally get a variable that you’re not expecting for a particular environment. Make sure that you have the right variables in this case.
Your data is completely preserved in the transition, so you can change back to EE and restore the behavior.
Revert to CE
After performing the necessary steps, you can revert your GitLab instance to CE.
Follow the correct update guides to make sure all dependencies are up to date.
Install the CE package on top of EE by either:
- Directly downloading the package.
- Adding the CE package repository and following the CE installation instructions.
Docs
Edit this page to fix an error or add an improvement in a merge request.
Create an issue to suggest an improvement to this page.
Product
Create an issue if there's something you don't like about this feature.
Propose functionality by submitting a feature request.
Feature availability and product trials
View pricing to see all GitLab tiers and features, or to upgrade.
Try GitLab for free with access to all features for 30 days.
Get help
If you didn't find what you were looking for, search the docs.
If you want help with something specific and could use community support, post on the GitLab forum.
For problems setting up or using this feature (depending on your GitLab subscription).
Request support