Convert Community Edition to Enterprise Edition

Tier: Free, Premium, Ultimate Offering: Self-managed

To convert an existing GitLab Community Edition (CE) server installed using the Omnibus GitLab packages to GitLab Enterprise Edition (EE), you install the EE package on top of CE.

Converting from the same version of CE to EE is not explicitly necessary, and any standard upgrade (for example, CE 12.0 to EE 12.1) should work. However, in the following steps we assume that you are upgrading the same version (for example, CE 12.1 to EE 12.1), which is recommended.

caution
When updating to EE from CE, avoid reverting back to CE if you plan to go to EE again in the future. Reverting back to CE can cause database issues that may require Support intervention.

The steps can be summed up to:

  1. Make a GitLab backup.

  2. Find the currently installed GitLab version:

    For Debian/Ubuntu

    sudo apt-cache policy gitlab-ce | grep Installed
    

    The output should be similar to: Installed: 13.0.4-ce.0. In that case, the equivalent Enterprise Edition version is: 13.0.4-ee.0. Write this value down.

    For CentOS/RHEL

    sudo rpm -q gitlab-ce
    

    The output should be similar to: gitlab-ce-13.0.4-ce.0.el8.x86_64. In that case, the equivalent Enterprise Edition version is: gitlab-ee-13.0.4-ee.0.el8.x86_64. Write this value down.

  3. Add the gitlab-ee Apt or Yum repository:

    For Debian/Ubuntu

    curl --silent "https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh" | sudo bash
    

    For CentOS/RHEL

    curl --silent "https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh" | sudo bash
    

    The above command finds your OS version and automatically set up the repository. If you are not comfortable installing the repository through a piped script, you can first check its contents.

    note
    If you want to use dpkg/rpm instead of apt-get/yum, go through the first step to find the current GitLab version, then follow Upgrade using a manually downloaded package, and then add your license.
  4. Install the gitlab-ee package. The install automatically uninstalls the gitlab-ce package on your GitLab server. reconfigure Omnibus right after the gitlab-ee package is installed. Make sure that you install the exact same GitLab version:

    For Debian/Ubuntu

    ## Make sure the repositories are up-to-date
    sudo apt-get update
    
    ## Install the package using the version you wrote down from step 1
    sudo apt-get install gitlab-ee=13.0.4-ee.0
    
    ## Reconfigure GitLab
    sudo gitlab-ctl reconfigure
    

    For CentOS/RHEL

    ## Install the package using the version you wrote down from step 1
    sudo yum install gitlab-ee-13.0.4-ee.0.el8.x86_64
    
    ## Reconfigure GitLab
    sudo gitlab-ctl reconfigure
    
  5. Now activate GitLab Enterprise Edition by adding your license.

  6. After you confirm that GitLab is working as expected, you may remove the old Community Edition repository:

    For Debian/Ubuntu

    sudo rm /etc/apt/sources.list.d/gitlab_gitlab-ce.list
    

    For CentOS/RHEL

    sudo rm /etc/yum.repos.d/gitlab_gitlab-ce.repo
    
  7. Optional. Set up the Elasticsearch integration to enable advanced search.

That’s it! You can now use GitLab Enterprise Edition! To upgrade to a newer version, follow Upgrade using the official repositories.