selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
myshoes logo

Self-host myshoes

v1.20.3

Auto-scaling GitHub Actions runner manager

ReleaseOpen SourceMIT
Updated10 hours ago
LanguageGo
Setup difficultyAdvanced
Stars
168
Port
8080 (HTTP API and webhook endpoint)
Requires
MySQL, Shoes-provider plugin
Install with Linux
myshoes screenshot 1myshoes screenshot 2

What is myshoes?

myshoes is a self-hosted control plane for GitHub Actions runners that automatically provisions and scales virtual machines across your infrastructure. You run the myshoes daemon on your own server, configure it with a GitHub App, and connect it to cloud providers via plugins (shoes-providers) for LXD, OpenStack, AWS EC2 Spot, and more. It manages runner lifecycle via webhooks, supports per-repository or per-organization runner sizing (nano through 4xlarge), and requires a MySQL database. The project is written in Go and distributed as a single binary.

Should you self-host myshoes?

myshoes scores 45/100 on selfhost.directory (how scoring works) and ranks #26 of 28 in CI/CD. It has 168 GitHub stars.

It shipped 5 stable releases in the past year. The latest, v1.20.3, came out on 25 October 2026. New versions land roughly every 2 months.

Setup is advanced: plan for several services and some ongoing maintenance. It is MIT-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is jenkins (82/100, 26 704 stars). It scores higher overall, so compare the two before you pick. See myshoes vs jenkins side by side.

Features

  • Auto-scaling GitHub Actions runners
  • GitHub App Authentication
  • GitHub Enterprise Server support
  • Multi-cloud provider support
  • Per-repository runner sizing
  • Plugin architecture for providers
  • Webhook-based job queueing

myshoes README

How to install myshoes

Install myshoes with Linux

Environment variables
PORT, GITHUB_APP_ID, GITHUB_APP_SECRET, GITHUB_PRIVATE_KEY_BASE64, MYSQL_URL, PLUGIN, etc.
$ make build
$ ./myshoes

Build from source using Go toolchain

How to configure myshoes

  • DEBUGfalseShow debugging log

    Show debugging log

  • DOCKER_HUB_PASSWORDDocker Hub password for pulling Docker image

    Docker Hub password for pulling Docker image

  • DOCKER_HUB_USERNAMEDocker Hub username for pulling Docker image

    Docker Hub username for pulling Docker image

  • GITHUB_APP_IDGitHub App ID

    GitHub App ID

  • GITHUB_APP_SECRETGitHub App secret (webhook secret)

    GitHub App secret (webhook secret)

  • GITHUB_PRIVATE_KEY_BASE64Base64 encoded private key from GitHub Apps

    Base64 encoded private key from GitHub Apps

  • GITHUB_URLhttps://github.comGitHub Enterprise Server URL

    GitHub Enterprise Server URL

  • MAX_CONCURRENCY_DELETING1Max concurrency of deleting

    Max concurrency of deleting

  • MAX_CONNECTIONS_TO_BACKEND50Max connections to shoes-provider

    Max connections to shoes-provider

  • MODE_WEBHOOK_TYPEworkflow_jobType of webhook from GitHub

    Type of webhook from GitHub

    values: workflow_job, check_run

  • MYSQL_DATABASEMySQL database name

    MySQL database name

  • MYSQL_HOSTMySQL host

    MySQL host

  • MYSQL_PASSWORDMySQL password

    MySQL password

  • MYSQL_PORTMySQL port

    MySQL port

  • MYSQL_URLMySQL DataSource Name

    MySQL DataSource Name

  • MYSQL_USERMySQL username

    MySQL username

  • PLUGINPath to myshoes-provider binary

    Path to myshoes-provider binary

  • PLUGIN_OUTPUT.Directory containing myshoes-provider binary

    Directory containing myshoes-provider binary

  • PORT8080Listen port for myshoes

    Listen port for myshoes

  • PROVIDE_DOCKER_HUB_METRICSfalseProvide rate-limit metrics for Docker Hub

    Provide rate-limit metrics for Docker Hub

  • RUNNER_USERrunnerLinux username that executes runner

    Linux username that executes runner

  • RUNNER_VERSIONlatestVersion of actions/runner

    Version of actions/runner

  • STRICTtrueSet strict mode

    Set strict mode

myshoes releases & version history

More in CI/CD

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…