{"id":13550396,"url":"https://github.com/mawalu/hetzner-gitlab-runner","last_synced_at":"2026-03-11T15:13:20.845Z","repository":{"id":48119904,"uuid":"166566443","full_name":"mawalu/hetzner-gitlab-runner","owner":"mawalu","description":"Autoscale gitlab ci runners on hetzner cloud","archived":false,"fork":false,"pushed_at":"2023-10-19T08:47:27.000Z","size":10,"stargazers_count":64,"open_issues_count":3,"forks_count":23,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-03T00:33:51.546Z","etag":null,"topics":["auto-scale","ci-jobs","docker","docker-image","docker-machine","gitlab-ci","gitlab-runner","hetzner","hetzner-cloud"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mawalu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-19T16:15:00.000Z","updated_at":"2024-10-18T14:16:25.000Z","dependencies_parsed_at":"2024-08-01T12:28:09.870Z","dependency_job_id":null,"html_url":"https://github.com/mawalu/hetzner-gitlab-runner","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawalu%2Fhetzner-gitlab-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawalu%2Fhetzner-gitlab-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawalu%2Fhetzner-gitlab-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawalu%2Fhetzner-gitlab-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mawalu","download_url":"https://codeload.github.com/mawalu/hetzner-gitlab-runner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248328323,"owners_count":21085297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auto-scale","ci-jobs","docker","docker-image","docker-machine","gitlab-ci","gitlab-runner","hetzner","hetzner-cloud"],"created_at":"2024-08-01T12:01:32.551Z","updated_at":"2026-03-11T15:13:15.824Z","avatar_url":"https://github.com/mawalu.png","language":"Dockerfile","funding_links":[],"categories":["Dockerfile","docker"],"sub_categories":[],"readme":"# Auto-scale CI jobs with Gitlab Runner and the Hetzner Docker Machine driver\n\nWith this patched GitLab Runner image, you can auto-scale your CI jobs on Hetzner Cloud. The patch installs the [Hetzner Docker Machine driver](https://github.com/JonasProgrammer/docker-machine-driver-hetzner) and is available on [Docker Hub](https://hub.docker.com/r/mawalu/hetzner-gitlab-runner).\n\nYou can follow the official [GitLab docs](https://docs.gitlab.com/runner/executors/docker_machine.html) for configuring the GitLab Runner with docker machine, just use this image as a drop in replacement for `gitlab/gitlab-runner`.\n\nSee the example `config.toml` and `docker-compose.yaml` below for the hetzner specific docker machine options.\n\n## Usage\n\nUse [this image](https://hub.docker.com/r/mawalu/hetzner-gitlab-runner) instead of the `gitlab/gitlab-runner` image and set `MachineDriver` to `hetzner` in your runner configuration.\n\nExample `config.toml`:\n\n```toml\nconcurrent = 1\ncheck_interval = 0\n\n[session_server]\n  session_timeout = 1800\n\n[[runners]]\n  name = \"docker-machine\"\n  url = \"https://gitlab.com\"\n  token = \"your-token\"\n  executor = \"docker+machine\"\n  [runners.docker]\n    tls_verify = false\n    image = \"docker:latest\"\n    privileged = true\n    disable_cache = false\n    volumes = [\"/cache\"]\n    shm_size = 536870912\n  [runners.cache]\n  [runners.machine]\n    IdleCount = 0\n    IdleTime = 1800\n    MaxBuilds = 10\n    MachineDriver = \"hetzner\"\n    MachineName = \"runner-%s\"\n    MachineOptions = [\n      \"hetzner-api-token=hetzner-api-token\",\n      \"hetzner-image=ubuntu-18.04\",\n      \"hetzner-server-type=cx31\",\n    ]\n```\n\nExample `docker-compose.yaml`:\n\n```yaml\nversion: \"3.8\"\n\nservices:\n  hetzner-runner:\n    image: mawalu/hetzner-gitlab-runner:latest\n    volumes:\n      - \"./hetzner_config:/etc/gitlab-runner\"\n```\n\n### Docker Errors\n\nIf you face docker problems at runtime (such as the one below), you can specify a Docker version in the `MachineOptions`.\n\n```toml\n MachineOptions = [\n      \"engine-install-url=https://releases.rancher.com/install-docker/19.03.9.sh\",\n    ]\n```\n\nPossible error that is caused by Docker:\n\n```bash\nERROR: Error creating machine: Error running provisioning: Unable to verify the Docker daemon is listening: Maximum number of retries (10) exceeded  driver=hetzner name=runner-xxx-xxx operation=create\n```\n\nSee [this issue](https://github.com/docker/machine/issues/4858) for more information.\n\n## Versions\n\nCurrently this image is build using the `gitlab/gitlab-runner:latest` image and the latest docker-machine hetzner plugin. If you need builds for another version feel free to open an PR.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmawalu%2Fhetzner-gitlab-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmawalu%2Fhetzner-gitlab-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmawalu%2Fhetzner-gitlab-runner/lists"}