Derek Coleman & Associates Inc logoDerek Coleman & Associates Inc

Home / Support / GitHub Actions Self-Hosted Runner on Ubuntu 24.04 LTS

GitHub Actions Self-Hosted Runner on Ubuntu 24.04 LTS — Support & Quick Start

GitHub Actions Self-Hosted Runner on Ubuntu 24.04 LTS — A pre-configured GitHub Actions self-hosted runner: register it with your repository or organization and jobs start flowing immediately. Published by Derek Coleman & Associates Inc on the Azure Marketplace, deployed in your own Azure subscription.

At a glance

Application portsnone inbound (runner connects outbound)
Service(s)actions.runner.* (installed by `svc.sh install`, run as root, after registration)
Configuration/home/ghrunner/actions-runner/ (config.sh; svc.sh appears after registration; runs as the `ghrunner` user, which has no sudo)
Logs/home/ghrunner/actions-runner/_diag/; journalctl -u 'actions.runner.*'
VersionGitHub Actions runner 2.334.0 (image 2026.928.1930); 2.337.0 from image 2026.1004.2208
PlatformMicrosoft Azure

Quick start

  1. Deploy from the Azure Marketplace (Get It Now → Create), choosing your SSH key at the Administration step.
  2. Allow inbound SSH (22) for yourself only — the runner itself needs no inbound ports.
  3. Register the runner with GitHub as the ghrunner user (see First login below): ./config.sh with your repo/org URL and a registration token, then `exit` and run svc.sh install + start as root from your admin account.
  4. Watch your first job land: the runner appears under Settings → Actions → Runners within a minute of registration.

First login

  1. No web login exists. Register the runner as the ghrunner user: `sudo su - ghrunner`, `cd ~/actions-runner`, `./config.sh --url <repo-or-org-url> --token <registration-token>` (token from Settings → Actions → Runners → New self-hosted runner).
  2. ⚠ That registration token expires after one hour. If registration fails, generate a fresh one and run `./config.sh` again — the runner application itself is already extracted and its dependencies installed, so nothing else needs re-doing.
  3. Leave the ghrunner shell with `exit`, then install and start the service from YOUR admin account: `sudo sh -c 'cd /home/ghrunner/actions-runner && ./svc.sh install ghrunner && ./svc.sh start'`. svc.sh must run as root from the runner directory, and ghrunner has no sudo — so `sudo ./svc.sh …` typed inside the ghrunner shell (what the login message said on images before 2026.1004.2208) fails. The service itself still runs as ghrunner.
  4. Zero-touch alternative: deploy the VM with the tags `GithubUrl` and `GithubToken` and first boot runs `./config.sh --unattended … --labels azure,ubuntu-24.04 --replace` followed by `svc.sh install`/`start`. Because the token expires after an hour, a stale one leaves the VM UNregistered without an error on screen — check with `sudo systemctl list-units 'actions.runner.*'`.

Still stuck?

Email support@dcassociatesgroup.com (response within 1 business day) or send a message via the contact form. Include the offer name, VM size, region, and any log output — sudo journalctl -u <service> -n 100 usually tells the story.