gitlab.com/jfprevost/gitlab-runner-notlscheck@v11.11.4+incompatible/docs/install/registry_and_cache_servers.md (about)

     1  # Install your own container registry and cache server
     2  
     3  When using the Runner in [autoscale mode](../configuration/autoscale.md), it
     4  is advised to set up a personal container registry and a cache server.
     5  
     6  ## Install a proxy container registry
     7  
     8  1. Login to a dedicated machine where the container registry proxy will be running
     9  1. Make sure that [Docker Engine](https://docs.docker.com/install/) is installed
    10     on that machine
    11  1. Create a new container registry:
    12  
    13      ```bash
    14      docker run -d -p 6000:5000 \
    15          -e REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io \
    16          --restart always \
    17          --name registry registry:2
    18      ```
    19  
    20      You can modify the port number (`6000`) to expose the registry on a
    21      different port
    22  
    23  1. Check the IP address of the server:
    24  
    25      ```bash
    26      hostname --ip-address
    27      ```
    28  
    29      You should preferably choose the private networking IP address. The private
    30      networking is usually the fastest solution for internal communication
    31      between machines of a single provider (DigitalOcean, AWS, Azure, etc,)
    32      Usually the private networking is also not accounted to your monthly
    33      bandwidth limit.
    34  
    35  5. Docker registry will be accessible under `MY_REGISTRY_IP:6000`
    36  
    37  You can now proceed and
    38  [configure `config.toml`](../configuration/autoscale.md#distributed-container-registry-mirroring)
    39  to use the new registry server.
    40  
    41  ## Install your own cache server
    42  
    43  If you don't want to use a SaaS S3 server, you can install your own
    44  S3-compatible caching server:
    45  
    46  1. Login to a dedicated machine where the cache server will be running
    47  1. Make sure that [Docker Engine](https://docs.docker.com/install/) is installed
    48     on that machine
    49  1. Start [minio](https://minio.io/), a simple S3-compatible server written in Go:
    50  
    51      ```bash
    52      docker run -it --restart always -p 9005:9000 \
    53              -v /.minio:/root/.minio -v /export:/export \
    54              --name minio \
    55              minio/minio:latest server /export
    56      ```
    57  
    58      You can modify the port `9005` to expose the cache server on different port
    59  
    60  1. Check the IP address of the server:
    61  
    62      ```bash
    63      hostname --ip-address
    64      ```
    65  
    66  1. Your cache server will be available at `MY_CACHE_IP:9005`
    67  1. Create a bucket that will be used by the Runner:
    68  
    69      ```
    70      sudo mkdir /export/runner
    71      ```
    72  
    73      `runner` is the name of the bucket in that case. If you choose a different
    74      bucket, then it will be different. All caches will be stored in the
    75      `/export` directory.
    76  1. Read the Access and Secret Key of minio and use it to configure the Runner:
    77  
    78      ```
    79      sudo cat /export/.minio.sys/config/config.json | grep Key
    80      ```
    81  
    82  You can now proceed and
    83  [configure `config.toml`](../configuration/autoscale.md#distributed-runners-caching)
    84  to use the new cache server.