{"id":16540564,"url":"https://github.com/sameersbn/docker-gitlab-ci-multi-runner","last_synced_at":"2025-03-16T19:32:03.449Z","repository":{"id":31911384,"uuid":"35480540","full_name":"sameersbn/docker-gitlab-ci-multi-runner","owner":"sameersbn","description":null,"archived":false,"fork":false,"pushed_at":"2018-10-21T06:36:36.000Z","size":70,"stargazers_count":145,"open_issues_count":20,"forks_count":85,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-15T21:47:44.718Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"scumsec/Recon-ng-modules","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sameersbn.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-12T10:00:07.000Z","updated_at":"2024-10-12T10:06:50.000Z","dependencies_parsed_at":"2022-08-03T15:18:25.646Z","dependency_job_id":null,"html_url":"https://github.com/sameersbn/docker-gitlab-ci-multi-runner","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameersbn%2Fdocker-gitlab-ci-multi-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameersbn%2Fdocker-gitlab-ci-multi-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameersbn%2Fdocker-gitlab-ci-multi-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameersbn%2Fdocker-gitlab-ci-multi-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sameersbn","download_url":"https://codeload.github.com/sameersbn/docker-gitlab-ci-multi-runner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243826791,"owners_count":20354220,"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":[],"created_at":"2024-10-11T18:52:47.356Z","updated_at":"2025-03-16T19:32:03.134Z","avatar_url":"https://github.com/sameersbn.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Docker Repository on Quay.io](https://quay.io/repository/sameersbn/gitlab-ci-multi-runner/status \"Docker Repository on Quay.io\")](https://quay.io/repository/sameersbn/gitlab-ci-multi-runner)\n\n# sameersbn/gitlab-ci-multi-runner:1.1.4-7\n\n- [Introduction](#introduction)\n  - [Contributing](#contributing)\n  - [Issues](#issues)\n  - [Changelog](Changelog.md)\n- [Getting started](#getting-started)\n  - [Installation](#installation)\n  - [Quickstart](#quickstart)\n  - [Command-line arguments](#command-line-arguments)\n  - [Persistence](#persistence)\n  - [Deploy Keys](#deploy-keys)\n  - [Trusting SSL Server Certificates](#trusting-ssl-server-certificates)\n- [Maintenance](#maintenance)\n  - [Upgrading](#upgrading)\n  - [Shell Access](#shell-access)\n- [List of runners using this image](#list-of-runners-using-this-image)\n\n# Introduction\n\n`Dockerfile` to create a [Docker](https://www.docker.com/) container base image for [gitlab-ci-multi-runner](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner). Use this image to build your CI runner images.\n\n## Contributing\n\nIf you find this image useful here's how you can help:\n\n- Send a pull request with your awesome features and bug fixes\n- Help users resolve their [issues](../../issues?q=is%3Aopen+is%3Aissue).\n- Support the development of this image with a [donation](http://www.damagehead.com/donate/)\n\n## Issues\n\nBefore reporting your issue please try updating Docker to the latest version and check if it resolves the issue. Refer to the Docker [installation guide](https://docs.docker.com/installation) for instructions.\n\nSELinux users should try disabling SELinux using the command `setenforce 0` to see if it resolves the issue.\n\nIf the above recommendations do not help then [report your issue](../../issues/new) along with the following information:\n\n- Output of the `docker version` and `docker info` commands\n- The `docker run` command or `docker-compose.yml` used to start the image. Mask out the sensitive bits.\n- Please state if you are using [Boot2Docker](http://www.boot2docker.io), [VirtualBox](https://www.virtualbox.org), etc.\n\n# Getting started\n\n## Installation\n\nAutomated builds of the image are available on [Dockerhub](https://hub.docker.com/r/sameersbn/gitlab-ci-multi-runner) and is the recommended method of installation.\n\n\u003e **Note**: Builds are also available on [Quay.io](https://quay.io/repository/sameersbn/gitlab-ci-multi-runner)\n\n```bash\ndocker pull sameersbn/gitlab-ci-multi-runner:1.1.4-7\n```\n\nAlternatively you can build the image yourself.\n\n```bash\ndocker build -t sameersbn/gitlab-ci-multi-runner github.com/sameersbn/docker-gitlab-ci-multi-runner\n```\n\n## Quickstart\n\nBefore a runner can process your CI jobs, it needs to be authorized to access the the GitLab CI server. The `CI_SERVER_URL`, `RUNNER_TOKEN`, `RUNNER_DESCRIPTION` and `RUNNER_EXECUTOR` environment variables are used to register the runner on GitLab CI.\n\n```bash\ndocker run --name gitlab-ci-multi-runner -d --restart=always \\\n  --volume /srv/docker/gitlab-runner:/home/gitlab_ci_multi_runner/data \\\n  --env='CI_SERVER_URL=http://git.example.com/ci' --env='RUNNER_TOKEN=xxxxxxxxx' \\\n  --env='RUNNER_DESCRIPTION=myrunner' --env='RUNNER_EXECUTOR=shell' \\\n  sameersbn/gitlab-ci-multi-runner:1.1.4-7\n```\n\n*Alternatively, you can use the sample [docker-compose.yml](docker-compose.yml) file to start the container using [Docker Compose](https://docs.docker.com/compose/)*\n\nUpdate the values of `CI_SERVER_URL`, `RUNNER_TOKEN` and `RUNNER_DESCRIPTION` in the above command. If these enviroment variables are not specified, you will be prompted to enter these details interactively on first run.\n\n## Command-line arguments\n\nYou can customize the launch command by specifying arguments to `gitlab-ci-multi-runner` on the `docker run` command. For example the following command prints the help menu of `gitlab-ci-multi-runner` command:\n\n```bash\ndocker run --name gitlab-ci-multi-runner -it --rm \\\n  --volume /srv/docker/gitlab-runner:/home/gitlab_ci_multi_runner/data \\\n  sameersbn/gitlab-ci-multi-runner:1.1.4-7 --help\n```\n\n## Persistence\n\nFor the image to preserve its state across container shutdown and startup you should mount a volume at `/home/gitlab_ci_multi_runner/data`.\n\n\u003e *The [Quickstart](#quickstart) command already mounts a volume for persistence.*\n\nSELinux users should update the security context of the host mountpoint so that it plays nicely with Docker:\n\n```bash\nmkdir -p /srv/docker/gitlab-runner\nchcon -Rt svirt_sandbox_file_t /srv/docker/gitlab-runner\n```\n\n## Deploy Keys\n\nAt first run the image automatically generates SSH deploy keys which are installed at `/home/gitlab_ci_multi_runner/data/.ssh` of the persistent data store. You can replace these keys with your own if you wish to do so.\n\nYou can use these keys to allow the runner to gain access to your private git repositories over the SSH protocol.\n\n\u003e **NOTE**\n\u003e\n\u003e - The deploy keys are generated without a passphrase.\n\u003e - If your CI jobs clone repositories over SSH, you will need to build the ssh known hosts file which can be done in the build steps using, for example, `ssh-keyscan github.com | sort -u - ~/.ssh/known_hosts -o ~/.ssh/known_hosts`.\n\n## Trusting SSL Server Certificates\n\nIf your GitLab server is using self-signed SSL certificates then you should make sure the GitLab server's SSL certificate is trusted on the runner for the git clone operations to work.\n\nThe runner is configured to look for trusted SSL certificates at `/home/gitlab_ci_multi_runner/data/certs/ca.crt`. This path can be changed using the `CA_CERTIFICATES_PATH` enviroment variable.\n\nCreate a file named `ca.crt` in a `certs` folder at the root of your persistent data volume. The `ca.crt` file should contain the root certificates of all the servers you want to trust.\n\nWith respect to GitLab, append the contents of the `gitlab.crt` file to `ca.crt`. For more information on the `gitlab.crt` file please refer the [README](https://github.com/sameersbn/docker-gitlab/blob/master/README.md#ssl) of the [docker-gitlab](https://github.com/sameersbn/docker-gitlab) container.\n\nSimilarly you should also trust the SSL certificate of the GitLab CI server by appending the contents of the `gitlab-ci.crt` file to `ca.crt`.\n\n# Maintenance\n\n## Upgrading\n\nTo upgrade to newer releases:\n\n  1. Download the updated Docker image:\n\n  ```bash\n  docker pull sameersbn/gitlab-ci-multi-runner:1.1.4-7\n  ```\n\n  2. Stop the currently running image:\n\n  ```bash\n  docker stop gitlab-ci-multi-runner\n  ```\n\n  3. Remove the stopped container\n\n  ```bash\n  docker rm -v gitlab-ci-multi-runner\n  ```\n\n  4. Start the updated image\n\n  ```bash\n  docker run -name gitlab-ci-multi-runner -d \\\n    [OPTIONS] \\\n    sameersbn/gitlab-ci-multi-runner:1.1.4-7\n  ```\n\n## Shell Access\n\nFor debugging and maintenance purposes you may want access the containers shell. If you are using Docker version `1.3.0` or higher you can access a running containers shell by starting `bash` using `docker exec`:\n\n```bash\ndocker exec -it gitlab-ci-multi-runner bash\n```\n\n# List of runners using this image\n\n* [docker-gitlab-ci-multi-runner-ruby](https://github.com/outcoldman/docker-gitlab-ci-multi-runner-ruby) to run ruby builds\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsameersbn%2Fdocker-gitlab-ci-multi-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsameersbn%2Fdocker-gitlab-ci-multi-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsameersbn%2Fdocker-gitlab-ci-multi-runner/lists"}