Heads up! On October 1, we introduced Gitpod Flex. You can swap between documentation by using the switcher in the left navigation bar.

Self-host your own runner

The following is for getting started with self-hosted runners on AWS. To run environments on Gitpod Desktop see this guide.

Runners orchestrate your self-hosted development environments.

They run in your infrastructure to ensure that all your sensitive source code and data stay within your network. Runners are designed to be shared with other members within an organization. Important points:

  • Runners take only 3 minutes to install.
  • They do not require AWS expertise.
  • Cloud costs of the runner are virtually zero.

Steps

Create a runner configuration

To create a runner you must be have the role admin in the organization.

To create a runner visit app.gitpod.io and open your organization settings and click runners in the navigation followed by setup an AWS runner.

  • A runner is associated with an organization
  • An organization can have any number of runners
  • Runners are restricted to a deployed to a single AWS region

Connect the runner

To connect the runner you must run the CloudFormation template. Ensure you are logged into the correct AWS account and click continue on aws.

If you do not have direct AWS access you can copy the runner details from the configuration page and share with your account admin.

Complete the CloudFormation form. The only required properties are:

  1. VPC
  2. Availability zone
  3. Subnet

If you are unsure, select the default networking options. These should be auto-populated in the form fields. When complete click create stack.

The CloudFormation stack will take around 3 minutes to create.

Configure your runner

When complete return to the runner configurations page and the runner should now be showing as online. You can configure repository access on your runner. Choose your provider such as GitHub and enable either OAuth or PAT token access.

You can also (optionally) configure settings on your runer such as the available environment classes. An environment class the development environment performance profile (such as CPU and memory) you are allowing to be started on the runner.

Create your environment

You can create your first environment by clicking create an environment in the navigation bar. Paste a public or private repository URL and click create environment. Select an environment class from the runner you deployed.

See AWS Runner for more information.

Was this helpful?