System overview for GitHub Insights

GitHub Insights is a standalone application, hosted on two or more appliances, which interfaces with GitHub Enterprise.

GitHub Insights is available with GitHub One. For more information, see "GitHub's products."

In this article

Requirements for running GitHub Insights

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)
vCPUs 16 8
RAM 64GB 30GB

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.

Security and authentication for GitHub Insights

GitHub Insights is a virtual appliance that 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.

Network Security

GitHub Insights's internal firewall restricts network access to the appliance's services. Only services necessary for the appliance to function are available over the network.

GitHub Insights requires the following ports to be open for inbound and outbound traffic.

Port Service Server
22 SSH USER Application, import
80 HTTP USER Application
443 HTTPS USER Application, import
5672 Rabbit Admin Application
7070 Analyzer Application
7071 Vixen Application
8080 Arango Application, import
8529 Arango Application
15672 Rabbit Application

Authentication and access permissions

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.

Architecture of GitHub Insights

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.

System architecture

Ask a human

Can't find what you're looking for?

Contact us