Manage Learning Lab on GitHub Enterprise

Learning Lab is available for:

Learning Lab on GitHub Enterprise Cloud

GitHub manages all the hardware and installations for you. You'll just let us know the organization(s) that will use Learning Lab, and we'll take care of the rest. See Manage an organization for more information.

Learning Lab on GitHub Enterprise Server

On GitHub Enterprise Server, you'll have to install Learning Lab on your own infrastructure. An overview of the architecture of Learning Lab on GitHub Enterprise Server is below.


There are three main parts of the Learning Lab application:

  • A PostgreSQL database
  • A Redis server
  • The core Node.js application

The core Node.js application is where the magic happens. Learning Lab is a Node.js app, and for Enterprise we provide a packaged Docker image.

The GitHub App

Learning Lab is a GitHub App, a specialized type of GitHub integration. The credentials for the GitHub App will be shared with Learning Lab via environment variables, which will allow it to interact with the GitHub API.


Learning Lab runs on port 3000 by default; if necessary, this can be overwritten by the PORT environment variable. It will also need access to the PostgreSQL server (default port is 5432) and Redis (default port is 6379). See Docker's docs on networking for more information.