Setting up GitLab Runners with Docker on Windows for DTaaS
This guide sets up and configures GitLab runners with Docker on Windows for the DTaaS platform. The diagram shows the intended installation.

A path such as /user1 is the URL route of that service, for example
https://intocps.org/user1.
The thick arrow is the forward-auth check: Traefik asks
traefik-forward-auth to authorise each request before it routes it.
Step-by-Step Setup Process
1. Install GitLab Runner
Download and install GitLab Runner for Windows from GitLab's official download page.
2. Getting a token
To obtain the GitLab token, open the project page (e.g. https://dtaas-digitaltwin.com/gitlab/dtaas/USERNAME) and:
- Go to Settings > CI/CD > Runners.
- Press New Project Runner.
- Add the tag
linux. - Leave the other settings unchanged and press Create Runner.
- GitLab displays the token. Save it.
3. Register the Runner for DTaaS
Register the runner with the URL of the GitLab instance and the token:
DTaaS digital twins need a Linux environment: their pipelines run shell
scripts with commands such as chmod +x.
4. Configure the config.toml
Most of the setup happens in the config.toml file. It is usually at
C:\Users\YourUsername\.gitlab-runner\config.toml, or in the directory
where the gitlab-runner executable was installed and run.
DTaaS Configuration for Windows Hosts
The recommended configuration for running DTaaS digital twins on Windows is:
5. Restart the Runner
Restart the runner to apply the configuration:
Verifying the Setup
Check that the runner is configured correctly:
A successful check prints something like:
Understanding the DTaaS Project Setup
DTaaS runs digital twins as follows:
- Digital twins live in the
digital_twinsdirectory. - Each digital twin has lifecycle scripts (create, execute, terminate, clean).
- The GitLab CI/CD pipeline triggers these scripts based on user actions.
- The scripts need a Linux environment.
Common Errors
GitLab CI/CD pipelines on Windows with Docker can fail with these errors:
The usual causes are:
- An incorrect Docker executor configuration
- Windows-style paths, which Docker does not accept
- A mismatch between the runner's executor type and the pipeline requirements
Use the Docker (Linux) executor even on a Windows host, because the
digital twin scripts are written for Linux, and write volume paths in
Linux form (/cache).