Article version: Enterprise Server 2.20
System overview for GitHub Insights
GitHub Insights is a standalone application, hosted on two or more machines, which interfaces with GitHub Enterprise.
GitHub Insights is available with GitHub One. For more information, see "GitHub's products."
GitHub Insights requires a supported version of GitHub Enterprise Server.
GitHub Insights requires a minimum of two machines hosted either in the cloud or locally. Standard type machines with a base OS of Ubuntu or Debian are supported. Each machine should meet the following minimum specifications.
|Application server||Import server(s)|
The disk size specification for the application server is a recommendation. The actual size requirement depends on your data.
To provision GitHub Insights, the application and import servers must be able to run Docker. The installation script will install Docker if able. If the script is not able to install Docker, the script will attempt to use an existing installation of Docker. If there is no existing installation of Docker on the host machines, the installation will fail.
The machine may require the Docker daemon to be run as sudo. Kubernetes is not currently supported.
If you'll use GitHub Insights to import large amounts of data, we recommend greater minimum specifications. For more information, "Managing repositories."
GitHub Insights runs on your infrastructure and is governed by your existing information security controls. GitHub Insights uses existing user accounts in GitHub Enterprise for authentication and access permissions.
GitHub Insights's internal firewall restricts network access to the machines' services. Only services necessary for the machines to function are available over the network.
GitHub Insights requires the following ports to be open for inbound and outbound traffic.
|22||SSH USER||Application, import||TCP|
|443||HTTPS USER||Application, import||TCP|
Authentication for GitHub Insights is handled through GitHub Enterprise. During installation, you will create a GitHub App, which allows GitHub Insights to authorize users. The GitHub App is also used to interact with GitHub Enterprise within the scope of the user and app’s permissions.
GitHub Insights has two permission levels.
Admin permissions correspond to the role of site administrator on GitHub Enterprise. People with admin permissions have access to all settings for GitHub Insights.
All other users in GitHub Enterprise have user accounts in GitHub Insights. Users can view all metrics but have limited access to settings.
Data access in GitHub Insights is restricted according to each user's data access in GitHub Enterprise. A user will never see data in GitHub Insights for repositories the user does not have access to in GitHub Enterprise.
GitHub Insights consists of one application server and one or more import servers. The application server hosts the core services, such as the database and client. The import server processes imports and can be scaled according to load.