GitKraken Desktop Documentation

Install GitKraken Self-Hosted Server with Docker

Last updated: March 2026

Use this page to install GitKraken Self-Hosted Server on a Linux host with Docker and Docker Compose. It covers the initial server setup flow, offline installation notes, and platform-specific Docker installation steps for CentOS, Ubuntu, and RHEL7 before you bring the GitKraken services online.

Requirements and limits

  • Product scope: GitKraken Self-Hosted Server installation on Linux
  • Host requirement: Linux machine with Docker CE and Docker Compose
  • Supported platforms on this page: CentOS, Ubuntu, and RHEL7
  • Installation inputs: GitKrakenEnterpriseServer.zip, release.zip, and Docker images must be present before startup
  • Offline installation note: Docker CE and Docker Compose can be downloaded on another machine and transferred manually
  • Default service port: 3000 unless changed in docker-compose.yml
  • Commercial note: Self-Hosted is sold separately from standard subscriptions and separately from Serverless

GitKraken Desktop Self-Hosted and On-Premise Serverless versions are sold separately from standard subscriptions. To purchase, visit our On-Premise Pricing page.


Quick Start

  1. Install Docker CE and Docker Compose on your Linux host (CentOS, Ubuntu, or RHEL7). Follow the platform-specific steps in the sections below, or refer to the official Docker documentation.
  2. Start Docker: sudo systemctl start docker.
  3. Extract GitKrakenEnterpriseServer.zip into a directory on your host machine.
  4. Load the Docker images: sudo sh loadImages.sh.
  5. (Optional) Edit docker-compose.yml to change the port (default: 3000) and set the GITKRAKEN_ENTERPRISE_URL to your server’s address.
  6. Create the directory for GitKraken Desktop releases and extract release.zip into it (default path: ./gk-data/release).
  7. From the directory containing docker-compose.yml, start the server: sudo docker-compose up.
  8. Open http://localhost:3000 (or your configured URL) in a browser to complete the setup.

For offline installations, download Docker CE and Docker Compose on a machine with internet access, transfer the packages to your server, and install them manually before proceeding.


How to install Docker CE on CentOS

These instructions are based on the official Docker documentation.

How to install on CentOS with internet access

  1. Install required packages:

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  2. Set up the stable repository:

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. Update the yum package index:

    sudo yum makecache fast
  4. Install Docker:

    sudo yum install docker-ce
  5. Configure the Docker daemon:

    {
    "storage-driver": "devicemapper"
    }

    Edit or create the /etc/docker/daemon.json file with the above content.

  6. Start Docker:

    sudo systemctl start docker
  7. Switch to root user:

    sudo su
  8. Download Docker Compose:

    curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  9. Apply executable permissions:

    sudo chmod +x /usr/local/bin/docker-compose
  10. Proceed to the installation section.

How to install on CentOS without internet access

  1. Download Docker CE and Docker Compose on a different machine.

  2. Transfer the packages to the target server.

  3. Install the packages:

    sudo yum install /path/to/docker-ce-selinux-package.rpm
    sudo yum install /path/to/docker-ce-package.rpm
  4. Move and rename Docker Compose:

    sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
  5. Change permissions:

    chmod +x /usr/local/bin/docker-compose
  6. Configure the Docker daemon as previously described.

  7. Start Docker:

    sudo systemctl start docker
  8. Continue to the installation section.

How to install Docker CE on Ubuntu

Refer to the official Docker documentation.

How to install on Ubuntu with internet access

  1. Install required packages:

    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  2. Add Docker’s GPG key:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  3. Verify the key:

    sudo apt-key fingerprint 0EBFCD88
  4. Set up the stable repository:

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  5. Update the apt package index:

    sudo apt-get update
  6. Install Docker:

    sudo apt-get install docker-ce
  7. Switch to root user:

    sudo su
  8. Download Docker Compose:

    curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  9. Apply executable permissions:

    sudo chmod +x /usr/local/bin/docker-compose
  10. Proceed to the installation section.

How to install on Ubuntu without internet access

  1. Download Docker CE package from a machine with internet access.

    Check your version:

    lsb_release -a
  2. Download Docker Compose:

  3. Transfer both files to the host server.

  4. Install Docker:

    sudo dpkg -i /path/to/package.deb
    # Example:
    sudo dpkg -i docker-ce_17.06.0-ce-0-ubuntu_amd64.deb
  5. Move and rename Docker Compose:

    sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
  6. Apply executable permissions:

    
    sudo chmod +x /usr/local/bin/docker-compose

How to install Docker CE on RHEL7

How to install on RHEL7 with internet access

  1. Install required packages:

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  2. Set up the Docker repository:

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. Update the yum package index:

    sudo yum makecache fast
  4. Install Docker:

    sudo yum install --setopt=obsoletes=0 docker-ce-17.03.2.ce-1.el7.centos.x86_64 docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch
  5. (Optional) To view available Docker versions:

    yum list docker-ce --showduplicates | sort -r
  6. Configure the Docker daemon:

    {
    "storage-driver": "devicemapper"
    }

    Edit or create the /etc/docker/daemon.json file with the above content.

  7. Start Docker:

    sudo systemctl start docker
  8. Switch to root user:

    sudo su
  9. Download Docker Compose:

    curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  10. Apply executable permissions:

    sudo chmod +x /usr/local/bin/docker-compose
  11. Proceed to the installation section.

How to install on RHEL7 without internet access

  1. Download Docker CE and Docker Compose packages from a machine with internet access.

  2. Transfer the files to the host server.

  3. Install Docker:

    sudo yum install /path/to/docker-ce-selinux-package.rpm
    sudo yum install /path/to/docker-ce-package.rpm
  4. Move Docker Compose to the appropriate directory:

    sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
  5. Apply executable permissions:

    sudo chmod +x /usr/local/bin/docker-compose
  6. Configure the Docker daemon:

Edit or create the /etc/docker/daemon.json file:

{
  "storage-driver": "devicemapper"
}
  1. Start Docker:

    sudo systemctl start docker
  2. Proceed to the installation section.

Install GitKraken Self-Hosted Server

  1. Extract the GitKrakenEnterpriseServer.zip file into a directory of your choice. All subsequent commands assume you are operating within this directory.

  2. Load the Docker images:

    sudo sh loadImages.sh
  3. Configure the port on which GitKraken Self-Hosted should run. By default, it runs on port 3000. To change it, edit the docker-compose.yml file:

Find the ports section under gk-enterprise-controller:

ports:
  - "3000:3000"

Change the first value to your desired port. For example, to use port 80:

ports:
  - "80:3000"

Update the GITKRAKEN_ENTERPRISE_URL in both the gk-enterprise-controller and gk-services sections:

environment:
  GITKRAKEN_ENTERPRISE_URL: http://localhost:80
  1. (Optional) To access GitKraken Self-Hosted from outside the server, update GITKRAKEN_ENTERPRISE_URL with your domain:

    environment:
    GITKRAKEN_ENTERPRISE_URL: http://gitkraken.example.com:80
  2. Configure the folder where GitKraken Desktop releases will be stored. The default path is ./gk-data/release. To change this, update the volume under gk-enterprise-controller:

    volumes:
    - /your/custom/path:/controller/release
  3. Create the directory you specified for storing releases on the host machine.

  4. Extract release.zip into the directory you created in step 6.

  5. In the directory containing docker-compose.yml, start the application:

    sudo docker-compose up
    • To run in detached mode:
      sudo docker-compose up -d
  • For CentOS or RHEL7, you may need to use the full path:
    sudo systemctl start docker.service
    sudo /usr/local/bin/docker-compose up
  1. Visit http://localhost:3000 (or the configured URL/port) in your browser to complete the setup.

Have feedback about this article? Did we miss something? Let us know!
On this page