NavigationContentFooter
Jump toSuggest an edit
Was this page helpful?

Hosting your own runner on an Instance

Reviewed on 08 April 2025 • Published on 06 April 2018
  • -runner

Actions stands as a versatile tool, simplifying the automation of all your software workflows. This integrated CI/CD solution handles an extensive array of tasks tied to your repository.

offers a limited range of complementary resources for constructing applications through Actions; however, proficient developers can swiftly encounter these constraints. Teams engaged in professional-grade projects might also want full authority over their build environment. extends the option to use runners on self-managed instances. A runner function is an application executing tasks from a Actions workflow.

In this guide, you will learn how to configure a Actions runner on a Scaleway Instance, effectively streamlining your project workflows. For typical workloads, opting for a

Cost-Optimized Instance is recommended. For resource-intensive workloads, the use of Production-Optimized Instances provides dedicated resources for enhanced performance.

Tip

We recommend you follow this tutorial using a

Cost-Optimized Instance.

Before you startLink to this anchor

To complete the actions presented below, you must have:

  • A Scaleway account logged into theconsole
  • Owner status orIAM permissions allowing you to perform actions in the intended Organization
  • AnSSH key
  • AnInstance running on Ubuntu 20.04
  • Aaccount
  • sudo privileges or access to the root user

Adding a workflow to your repositoryLink to this anchor

  1. Log into youraccount and select the repository in which you want to add Actions.
  2. Click the Actions tab in your repository. A list of available workflows for your project displays.
  3. Select the workflow that corresponds to your project and click Set up this workflow. You can either create a workflow from scratch or use one of the templates suggested.
  4. Edit the workflow according to your requirements. For more information about Actions, refer to theproduct documentation. Once configured, save the workflow.

Installing a runnerLink to this anchor

  1. Connect to your Instance via SSH.
  2. Create a user for the runner.
    adduser ghrunner
  3. Add the user to the superuser file:
    adduser ghrunner sudo
  4. Switch into the ghrunner user account:
    su ghrunner
  5. Download and unpack the runner using the following commands:
    # Create a folder
    mkdir actions-runner && cd actions-runner
    # Download the latest runner package
    curl -O -L https://.com/actions/runner/releases/download/v2.315.0/actions-runner-linux-x64-2.323.0.tar.gz
    # Extract the installer
    tar xzf ./actions-runner-linux-x64-2.323.0.tar.gz
    Tip

    You may check the runner repository for the

    latest release of the runner.

Adding the runner to your repositoryLink to this anchor

  1. Go back to your repository and click the Settings tab. Then click Actions in the side menu.

  2. Click Runners in the Actions section of the side menu. The external runners’ overview page displays.

  3. Click Add runner.

  4. The runners’ configuration instruction displays. Select the OS type of your OS (Linux, X64) and scroll down to the Configure section of the page.

  5. Copy the configuration information displayed and execute the config.sh on your Instance:

    ./config.sh --url https://.com/scaleway-community/my-project --token AC6XRSJUUEWXLYJ7SQ6WMVLASKYWZ
    Note

    If you run the config.sh script without flags, you must provide the repository URL and token during the configuration.

    The configuration tool connects to using the given token.

  6. Enter the name of the runner during the runner configuration. Several tags are automatically attached to it. Optionally, you can enter custom tags. When prompted, enter the work directory of the runner. You can confirm the default values by pressing enter. Otherwise, enter your customized values before pressing enter.

  7. The runner is configured. Once everything is ready, the following message displays:

    √ Runner successfully added
    √ Runner connection is good
    [...]
    √ Settings Saved.
  8. Launch the runner using the following command:

    ./run.sh

Your self-hosted runner is now ready and you can check its status from the Runners section of your repository:

To run your CI/CD tasks on your self-hosted runner, add this YAML in your workflow file for each job:

runs-on: self-hosted

For more information about runners, refer to the

official documentation.

Was this page helpful?
API DocsScaleway consoleDedibox consoleScaleway LearningScaleway.comPricingBlogCareers
© 2023-2025 – Scaleway