---
title: Charmhub | Deploy GitHub runner using Charmhub - The Open Operator Collection
description: Deploy the latest version of GitHub runner on any cloud.
url: https://charmhub.io/github-runner/docs/local-lxd-tutorial-managing-resource-usage
---

# GitHub runner

[Canonical IS DevOps](https://charmhub.io/publisher/canonical-is-devops "View all packages from Canonical IS DevOps")

* [Canonical IS DevOps](https://charmhub.io/publisher/canonical-is-devops "View all packages from Canonical IS DevOps")

Platform:

24.04

22.04

20.04

stable 24801f1f

```
juju deploy github-runner
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

---

#### Contacts

##### Maintainers

+ [Launchpad Team](https://launchpad.net/~canonical-is-devops)

* [Submit a bug](https://github.com/canonical/github-runner-operator/issues)

---

Share your thoughts on this charm with the community on discourse.

[Join the discussion](https://discourse.charmhub.io/)

# Managing resource usage

The charm can be hardware intensive, as each instance of self-hosted runner application is hosted in a virtual machine.

## [Virtual machine resource usage](https://charmhub.io/github-runner/docs/local-lxd-tutorial-managing-resource-usage#p-36736-virtual-machine-resource-usage)

The minimum requirements for a single virtual machine are:

* 1 [virtual machine vCPU](https://charmhub.io/github-runner/configure#vm-cpu)
* 2GiB of [virtual machine memory](https://charmhub.io/github-runner/configure#vm-memory)
* 10GiB of [virtual machine disk](https://charmhub.io/github-runner/configure#vm-disk)

## [Juju machine resource usage](https://charmhub.io/github-runner/docs/local-lxd-tutorial-managing-resource-usage#p-36736-juju-machine-resource-usage)

It is recommended the Juju machine has a minimum of 4GiB of memory dedicated to itself. Generally, 20GiB of disk is provisioned for the Juju machine for the Juju logs.

The Juju machine will also need the enough resources to host the virtual machines.

The recommended combined resource usage is:

* vCPU: Depends on the workload
* memory: number of virtual machines \* (memory per virtual machine + disk per virtual machine) + 4GiB
* disk: 20GiB

If memory is used as [runner storage](https://charmhub.io/github-runner/docs/local-lxd-how-to-configure-runner-storage):

* memory: number of virtual machines \* (memory per virtual machine + disk per virtual machine) + 4GiB

## [Juju machine constraints](https://charmhub.io/github-runner/docs/local-lxd-tutorial-managing-resource-usage#p-36736-juju-machine-constraints)

During [deployment of the charm](https://juju.is/docs/juju/juju-deploy), constraints can be used to specify the Juju machine resource requirements. For example, `juju deploy github-runner --channel=local-lxd/stable --constraints="cores=4 mem=16G disk=20G"`.

---
