What is GitHub Enterprise?

GitHub Enterprise is the on-premises version of GitHub.com. It makes collaborative coding possible and enjoyable for large-scale enterprise software development teams. A full list of specs and features are detailed on our data sheet.

How is GitHub Enterprise different from GitHub.com?

GitHub Enterprise includes the same great set of features as GitHub.com but packaged for running on your organization's local network. All repository data is stored on machines that you control, and access is integrated with your organization's authentication system (LDAP, SAML, or CAS).

GitHub Enterprise also includes support for pre-receive hooks, a powerful tool that can help you enforce critical business rules, meet compliance requirements and help prevent other undesired changes from ever being made.

Use GitHub Enterprise when you need complete control over repository and project information.

Can I evaluate GitHub Enterprise within my organization before purchasing?

Yes. 45-day evaluation licenses are available and may be upgraded to full licenses at any time during the trial period. To get started, try GitHub for free. We'll contact you shortly after with information on downloading the software and installing trial license keys.

What hardware and software are required?

GitHub Enterprise is delivered as a virtual appliance that includes all software required to get up and running. The only additional software required is a compatible virtual machine environment.

The following minimal hardware requirements are suggested for production deployments:

  • Processor: Four 3.0 GHz CPU cores (or virtual equivalent)
  • Memory: 32 GB (minimum dependent on selected platform)
  • Disk:
    • 200 GB VM root partition
    • 250 GB data partition (our recommendation, actual size depends on your data)
  • Storage: High-performance SAN or locally attached storage
What is a Virtual Appliance?

You can think of a virtual appliance as the equivalent of a network appliance that you might buy, mount in a rack, and plug into your network. The only difference is that it runs as a virtual machine inside of VMware or some other virtualization platform rather than as a physical device you mount in a rack.

This saves time (you can download the appliance and all updates immediately) and space (you just add it to your existing virtualization infrastructure). It also makes managing, backing up, and restoring the appliance easy because you can use your virtualization platform's built-in snapshotting capabilities.

You can learn more about virtual appliances here.

Which Virtual Machine environments are supported?

We currently support the following environments.

Platform Image Format
VMware OVF
OpenStack KVM QCOW2
XenServer VHD
Hyper-V VHD
Microsoft Azure VHD
Amazon Web Services (AWS) AMI
Google Cloud Platform (GCP) Google Compute Engine (GCE) image

Please contact us if we don't support your environment.

Does GitHub Enterprise support clustering?

Yes, as of GitHub Enterprise 2.5. However, clustering is designed for specific scaling situations and is not intended for every organization.

Please refer to the Clustering Guide to learn more about clustering.

Is clustering right for my organization?

Clustering provides better scalability by distributing load across multiple nodes. This horizontal scaling may be preferable for some organizations with tens of thousands of developers. However, setting up a redundant and scalable cluster can be complex and requires careful planning. This additional complexity will need to be planned for during installation, disaster recovery scenarios, and upgrades.

GitHub Enterprise requires low latency between nodes and is not intended for redundancy across geographic locations.

Clustering provides redundancy, but it is not intended to replace the High Availability Configuration. A primary/secondary failover configuration is far simpler than clustering and will serve the needs of many organizations.

How do I get access to clustering?

Clustering is designed for specific scaling situations and is not intended for every organization. If clustering is something you'd like to consider, please contact your dedicated representative or our account management team.

Can we authenticate users with our LDAP directory or identity access management system?

Yes. GitHub Enterprise supports external user authentication via LDAP, CAS, or SAML. The setup process includes a step for configuring your organization's identity management information.

By default, GitHub Enterprise runs in a self-contained authentication mode with user information stored in the GitHub Enterprise database. LDAP, SAML, or CAS is not required.

Which LDAP providers are supported?

GitHub Enterprise supports any provider that follows the LDAP specification. See this article for a full list of supported providers.

Which SAML providers are supported?

GitHub Enterprise supports any provider that follows the SAML 2.0 standard. See this article for a full list of supported providers.

How do I control access to Git repositories?

The product includes a number of features that provide granular control over repository access. Each repository may specify the following general access rights for each team or collaborator:

  • Admin: Full access to the repository, including the ability to control access for other users.
  • Read + Write: Users may push changes into the repository and pull changes from the repository.
  • Read-only: Users may browse the repository via the web interface and use Git to fetch changes but may not push into the repository.

In addition to these access levels, you can use protected branches inside a repository to prevent force pushes to specific branches. You can also define individuals or teams who are allowed to push to a branch, preventing others from making changes.

Required statuses offer more control over changes made in protected branches. Using required statuses, you can disable the ability to merge changes into protected branches until certain CI checks pass.

GitHub Enterprise ships with the same collaboration features for Organizations found on GitHub.com. These simplify the process of managing access for teams of users that you define.

Can I use GitHub Enterprise to host projects on the public internet?

No. GitHub Enterprise is designed for collaboration within an organization only. Externally accessible installations must have the Private Mode option enabled. Note that GitHub.com offers free hosting of unlimited public repositories.

Do you offer training?

Yes. We offer web-based training, in-person training and provide a myriad of free, high-quality educational materials. Please contact the GitHub Training Team for more information.

How many seats do I need and who needs seats?
Seats must be purchased for each individual in your organization that will have a GitHub Enterprise user account. This includes developers, project managers, designers, and other collaborators.
Which payment methods are accepted?
Invoices may be paid online by credit card, or arranged by bank wire transfer, ACH, or check.
How is GitHub Enterprise licensed?
GitHub Enterprise is licensed under a subscription model. Seats are purchased for a one-year period which includes full support and access to all updates and upgrades.
How are upgrade orders processed?
All upgrade orders you place are prorated to co-terminate with your original license.
How do I add more seats to my current license?
All upgrades are handled in your favor. We charge only for the difference in price between the number of seats you currently have and the number of seats you want total. The cost of the new seats is prorated for time remaining in your current license period, so your renewal dates for new seats will always coincide with your existing seats. You can initiate an upgrade order by clicking on the Buy More Seats button on the dashboard, or just contact us for assistance.
Are licenses available for less than 10 seats?
No. Licenses must be purchased in 10 seat packs. We recommend GitHub.com for smaller groups to start. Contact us to speak to a sales representative if you have a unique situation we should chat about.
We are a large company (1,000+ users). Do you have licensing options for us?
Yes. Contact us to speak to a sales representative about large installations.
Do you offer discounts?
Yes. We offer volume, academic, and non-profit discounts. Contact our Sales Team for more information.
Do you offer special licenses for Universities?
Yes. We offer an unlimited campus-wide student license that would cover students, faculty, and anyone working directly with students in an educational capacity.
Does the license include access to the source code?
No. Licenses cover the use of the software only. Modification and redistribution are not permitted.
Do you have an End User License Agreement that I can review prior to making a purchase?
Yes. The purchase and use of GitHub Enterprise is governed by the GitHub Enterprise License and Support Agreement. If you have any questions concerning this agreement, please contact us.