---
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-how-to-run-on-lxd
---

# 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/)

# How to run on LXD cloud

This machine charm needs to run on virtual machines with nested virtualization enabled.

By default, Juju machines on LXD are containers.

To run this charm on LXD, add `virt-type=virtual-machine` to the constraints during deployment:

```
juju deploy github-runner --channel=local-lxd/stable --constraints="cores=2 mem=16G virt-type=virtual-machine" \
--config token=<TOKEN> --config path=<OWNER/REPO>
```

This constraint ensures the Juju machine hosting the charm is a LXD virtual machine. See
[Managing resource usage](https://charmhub.io/github-runner/docs/local-lxd-tutorial-managing-resource-usage) for
recommendation on `cores` and `mem` constraint.

> NOTE: The name of the application must not be longer than 29 characters. This is due to the nature of LXD
> pathing that must not exceed 108 bytes. 79 characters are reserved for path naming convention.

---
