diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 9f1ab7baf144858c03103531c66575de0f26d13e..097bbd3a829c4fbb7188e702ac12a6023b82b127 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -5,6 +5,29 @@ email, or any other method with the owners of this repository before making a ch
 
 Please note we have a code of conduct, please follow it in all your interactions with the project.
 
+## Creating a new runner
+
+To create a new runner you must create a folder named after it that contains a `Dockerfile` and a `docker_init.sh` file. You can use the `r_dev` folder as an example.
+
+Once your container, with all the necessary tools, is built with the `docker_init.sh` script`s (with executable rights). You need to register an account on the [Docker store](https://store.docker.com).
+
+You can now execute the following command to upload your image to the [Docker store](https://store.docker.com). Where `<image_name>` is the name of the image you just built from your `Dockerfile` and `<docker_login>` is the login of your account on the [Docker store](https://store.docker.com).
+
+```sh
+docker login
+docker tag <image_name> <docker_login>/<image_name>
+docker push <docker_login>/<image_name>
+```
+
+You then need to create a `\*_runner_register.sh` script similar to the `r_dev_runner_register.sh` script with executable rights. You will need to edit the following arguments:
+
+- `--docker-image <docker_login>/<image_name>`
+- `--description "docker runner for <image_name>"`
+- `--tag-list "docker, <some other tag identifying your runner>"`
+
+You can now register your runner and test it.
+
+
 ## Pull Request Process
 
 1. Ensure any install or build dependencies are removed before the end of the layer when doing a