Skip to content

Commit b6d8845

Browse files
authored
docs: readme.md
1 parent b733e75 commit b6d8845

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

README.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
1-
# Windows Github Custom Runner
2-
A implementation of windows github custom runner (x64) based on vagrant VM, libvirt and docker compose. The VM is created inside a container using vagrant and libvirt. This strategy makes the deployment of windows action runners trivial and plug and play.
1+
# 🏃 Windows Github Custom Runner
32

4-
# Prerequisites
3+
Explore an innovative, efficient, and cost-effective approach to deploying a custom GitHub Runner that runs in a containerized Windows OS (x64) environment on a Linux system. This project leverages the robust capabilities of Vagrant VM, libvirt, and docker-compose which allows for seamless management of a Windows instance just like any Docker container. The added value here lies in the creation of a plug-and-play solution, significantly enhancing convenience, optimizing resource allocation, and integrating flawlessly with existing workflows. This strategy enriches CI/CD pipeline experiences in various dev-ops environments, providing a smooth and comprehensive approach that does not require prior knowledge of VM creation.
54

6-
- [docker](https://www.docker.com/) >= 24
7-
- [docker-compose](https://www.docker.com/) >= 1.18
5+
# 📋 Prerequisites
86

9-
# Deployment Guide
7+
- [docker](https://www.docker.com/) version 24 or higher.
8+
- [docker-compose](https://www.docker.com/) version 1.18 or higher.
9+
10+
# 🚀 Deployment Guide
1011

1112
1. Create/Update the environmental file `.env`
12-
- Runner URL
13-
- PAT: Personal access token
14-
```
13+
- `PAT`: Personal access token from GitHub
14+
- `RUNNER_URL`: The URL of the GitHub that the runner connects to
15+
- `RUNNERS`: Number of runners
16+
- `MEMORY`: Amount of memory for the Vagrant image (in MB)
17+
- `CPU`: Number of CPUs for the Vagrant image
18+
- `DISK_SIZE`: Disk size for the Vagrant image (in GB)
19+
```env
20+
# Runner settings
1521
PAT=<Replace with your personal access token>
1622
RUNNER_URL=<runner url>
1723
RUNNERS=1
@@ -31,31 +37,25 @@ services:
3137
stdin_open: true
3238
tty: true
3339
privileged: true
34-
cap_add:
35-
- NET_ADMIN
36-
- SYS_ADMIN
3740
volumes:
3841
- /sys/fs/cgroup:/sys/fs/cgroup
39-
devices:
40-
- /dev/kvm
41-
- /dev/net/tun
4242
ports:
4343
- 3389:3389
4444
```
4545
3. Run: `docker-compose up -d`
4646

47-
> The PAT token needs Read and Write access to organization self hosted runners
47+
> The PAT token needs Read and Write access to organization self-hosted runners
4848

4949

50-
# Remote Desktop
50+
# 🌐 Access via Remote Desktop
5151
For debugging purposes or testing you can always connect to the VM with remote desktop softwares.
5252

5353
Some software that used when developed was
5454
1. Linux: rdesktop `rdesktop <ip>:3389` or [remina](https://remmina.org/)
5555
2. MacOS: [Windows remote desktop](https://apps.apple.com/us/app/microsoft-remote-desktop/id1295203466?mt=12)
5656
3. Windows: buildin `Remote Windows Connection`
5757

58-
## User login
58+
# 🔑 User Login
5959
The default users based on vagrant image are
6060

6161
1. Administrator
@@ -67,7 +67,7 @@ The default users based on vagrant image are
6767

6868

6969

70-
# References
70+
# 📚 Further Reading and Resources
7171

7272
- [Windows in docker container](https://github.com/vaggeliskls/windows-in-docker-container)
7373
- [Windows Vagrant Tutorial](https://github.com/SecurityWeekly/vulhub-lab)

0 commit comments

Comments
 (0)