About GitHub Enterprise Server
GitHub Enterprise Server is a self-hosted platform for software development within your enterprise. Your team can use GitHub Enterprise Server to build and ship software using Git version control, powerful APIs, productivity and collaboration tools, and integrations. Developers familiar with GitHub.com can onboard and contribute seamlessly using familiar features and workflows. For more information about how businesses can use GitHub's products to support their software development lifecycle, see "About GitHub for enterprises."
GitHub Enterprise Server runs on your infrastructure and is governed by access and security controls that you define, such as firewalls, network policies, IAM, monitoring, and VPNs. GitHub Enterprise Server is suitable for use by enterprises that are subject to regulatory compliance, which helps to avoid issues that arise from software development platforms in the public cloud.
GitHub distributes GitHub Enterprise Server as a self-contained virtual appliance. After you provision a virtual machine and install the appliance, the instance runs a Linux operating system with a custom application stack. For more information, see "System overview."
Note: Installing third-party software or making changes to the underlying operating system is not supported for GitHub Enterprise Server.
You can choose to deploy GitHub Enterprise Server on premises, or to a supported cloud environment.
Supported environments for deployment
You can deploy GitHub Enterprise Server to a virtualization hypervisor within your on-premises datacenter, or to a public cloud service.
GitHub supports the following virtualization hypervisors for on-premises deployment.
- Microsoft Hyper-V
- OpenStack KVM
- VMware ESXi
GitHub supports the following services for cloud deployment.
- Amazon Web Services (AWS)
- Google Cloud Platform (GCP)
- Microsoft Azure
For more information, see "Setting up a GitHub Enterprise Server instance."
About releases and upgrades
GitHub Enterprise Server is constantly improving, with new functionality and bug fixes introduced through feature and patch releases. You are responsible for upgrades to your instance. For more information, see "GitHub Enterprise Server releases."
You can configure and monitor GitHub Enterprise Server via browser, administrative SSH access, and REST or GraphQL APIs. GitHub has found that people with Linux administration experience are more successful with the deployment and maintainance of GitHub Enterprise Server.
You can give certain employees administrative access to GitHub Enterprise Server, so they can set up external authentication, configure the instance to meet developer needs, and monitor the instance's activity and performance. To ensure compliance with business rules or regulatory restrictions, administrators can configure policies that control how people use your GitHub Enterprise Server instance. For more information, see the following articles.
- "About authentication for your enterprise"
- "Configuring your enterprise"
- "About the GitHub Enterprise API"
- "Monitoring your appliance"
- "Monitoring activity in your enterprise"
- "About enterprise policies"
About optional features
You can configure optional features for GitHub Enterprise Server that improve the software development lifecycle for your enterprise.
|GitHub Actions||Automate CI/CD and development workflows||"About GitHub Actions for enterprises"|
|GitHub Connect||Benefit from the power of GitHub.com in limited ways||"About GitHub Connect"|
|GitHub Advanced Security||Improve code security and quality||"About GitHub Advanced Security"|
|GitHub Packages||Host software packages for your enterprise||"Introduction to GitHub Packages"|
About deployment topologies
By default, GitHub Enterprise Server runs as a standalone instance. You can increase the reliability and performance of GitHub Enterprise Server by using a different topology for your deployment.
- To mitigate the impact of system or network failures, you can deploy a passive replica instance. During an outage that affects your primary instance, you can manually fail over to the replica instance. For more information, see "About high availability configuration."
- You can configure multiple active replicas to improve performance for developers who are geographically distant from your primary instance. For more information, see "About geo-replication."
- Some enterprises with tens of thousands of developers may benefit from a cluster configuration that scales horizontally instead of vertically. For more information, see "About clustering."
About backups and disaster recovery
To safeguard against data loss or service disruptions for your developers, GitHub strongly recommends that you establish a plan for disaster recovery. You can back up your instance's configuration and user data by deploying and configuring a Linux or Unix host system with GitHub Enterprise Server Backup Utilities. For more information, see "Configuring backups on your appliance."
Additionally, you can configure a passive replica instance to fail over to in the event of a system or network failure. For more information, see "About deployment topologies."
Documentation for both administrators and users of GitHub Enterprise Server is available on this site, GitHub Docs.
Different versions of GitHub Enterprise Server are reflected separately in the documentation on GitHub Docs. For more information, see "About versions of GitHub Docs."
Trying GitHub Enterprise Server
You can sign up for a free, 45-day trial of GitHub Enterprise Server. For more information, see "Setting up a trial of GitHub Enterprise Server."
- "Getting started with GitHub Enterprise Server"
- "About GitHub Support"
- GitHub public roadmap in the