captainVersion: 4
services:
    $$cap_appname:
        image: gitlab/gitlab-runner:$$cap_gitlab-runner_version
        volumes:
            - $$cap_appname-data:/etc/gitlab-runner
            - /var/run/docker.sock:/var/run/docker.sock
        restart: always
        caproverExtra:
            notExposeAsWebApp: 'true'
caproverOneClickApp:
    variables:
        - id: $$cap_gitlab-runner_version
          label: GitLab-Runner Version
          defaultValue: v11.11.0
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/gitlab/gitlab-runner/tags
          validRegex: /^([^\s^\/])+$/
    instructions:
        start: GitLab CI/CD is the CI/CD solution integrated into GitLab. With this one-click-app, you receive a self-hosted runner for your pipelines. To enable you to build Docker Images in your pipelines, we mount /var/run/docker.sock into the container of the runner (see https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#use-docker-socket-binding for more info). As a consequence, this container will have full access to all your other containers. If you don't need this functionality, feel free to manually remove the mounted Docker socket from the volumes.
        end: Head over to https://docs.gitlab.com/runner/register/ to register your newly installed runner. You can run 'docker exec -ti <runner-image-name> /bin/sh' to connect to the newly created container and follow the tutorial.
    displayName: Gitlab (runner)
    isOfficial: true
    description: Runner version of GitLab for CI/CD pipeline
    documentation: Taken from https://docs.gitlab.com/runner/install/docker.html and https://docs.gitlab.com/runner/register/
