upload current sources
Some checks failed
Test / test (push) Has been cancelled

This commit is contained in:
2025-12-15 02:17:59 +00:00
parent 78c874ef5b
commit ffbc3da3eb
7 changed files with 1609 additions and 0 deletions

69
apps/rego-tunnel/config.json Executable file
View File

@@ -0,0 +1,69 @@
{
"name": "Rego Tunnel",
"available": true,
"port": 8006,
"exposable": true,
"dynamic_config": true,
"id": "rego-tunnel",
"description": "VPN tunnel to access Rego environments securely.",
"tipi_version": 1,
"version": "latest",
"categories": ["utilities"],
"short_desc": "VPN tunnel to access Rego environments securely.",
"author": "dockurr",
"source": "https://github.com/dockur/windows/",
"form_fields": [
{
"type": "number",
"label": "RAM",
"hint": "RAM to asign to the VM (in gigabytes)",
"placeholder": "4",
"required": true,
"env_variable": "WINDOWS_RAM_GB"
},
{
"type": "number",
"label": "CPU Cores",
"hint": "CPU cores to asign to the VM",
"placeholder": "4",
"required": true,
"env_variable": "WINDOWS_CPU_CORES"
},
{
"type": "number",
"label": "Disk Size",
"hint": "Disk size for the VM, it will be used dynamically (in gigabytes)",
"placeholder": "16",
"required": true,
"env_variable": "WINDOWS_DISK_SIZE_GB"
},
{
"type": "text",
"label": "Windows Version",
"hint": "The windows version to use",
"required": true,
"options": [
{ "label": "Windows 10", "value": "win10" },
{ "label": "Windows 11", "value": "win11" },
{ "label": "Windows 10 LTSC", "value": "ltsc10" },
{ "label": "Windows 8.1", "value": "win81" },
{ "label": "Windows 7", "value": "win7" },
{ "label": "Windows Vista", "value": "vista" },
{ "label": "Windows XP", "value": "winxp" },
{ "label": "Windows Server 2022", "value": "2022" },
{ "label": "Windows Server 2019", "value": "2019" },
{ "label": "Windows Server 2016", "value": "2016" },
{ "label": "Windows Server 2012", "value": "2012" },
{ "label": "Windows Server 2008", "value": "2008" },
{ "label": "Windows Tiny 11 Core", "value": "core11" },
{ "label": "Windows Tiny 11", "value": "tiny11" },
{ "label": "Windows Tiny 10", "value": "tiny10" }
],
"env_variable": "WINDOWS_VERSION"
}
],
"supported_architectures": ["arm64", "amd64"],
"created_at": 1691943801422,
"updated_at": 1763873319189,
"force_pull": false
}

View File

@@ -0,0 +1,157 @@
{
"schemaVersion": 2,
"services": [
{
"name": "rego-tunnel",
"image": "dockurr/windows:5.14",
"environment": [
{
"key": "RAM_SIZE",
"value": "${WINDOWS_RAM_GB}G"
},
{
"key": "CPU_CORE",
"value": "${WINDOWS_CPU_CORES}"
},
{
"key": "DISK_SIZE",
"value": "${WINDOWS_DISK_SIZE_GB}G"
},
{
"key": "VERSION",
"value": "${WINDOWS_VERSION}"
}
],
"internalPort": 8006,
"addPorts": [
{
"containerPort": 3389,
"hostPort": 3389,
"tcp": true,
"udp": false,
"interface": "192.168.0.151"
},
{
"containerPort": 3389,
"hostPort": 3389,
"tcp": false,
"udp": true,
"interface": "192.168.0.151"
},
{
"containerPort": 21,
"hostPort": 21,
"tcp": true,
"udp": false,
"interface": "192.168.0.151"
},
{
"containerPort": 22,
"hostPort": 22,
"tcp": true,
"udp": false,
"interface": "192.168.0.151"
},
{
"containerPort": 23,
"hostPort": 23,
"tcp": true,
"udp": false,
"interface": "192.168.0.151"
},
{
"containerPort": 449,
"hostPort": 449,
"tcp": true,
"udp": false,
"interface": "192.168.0.151"
},
{
"containerPort": 446,
"hostPort": 446,
"tcp": true,
"udp": false,
"interface": "192.168.0.151"
},
{
"containerPort": 448,
"hostPort": 448,
"tcp": true,
"udp": false,
"interface": "192.168.0.151"
},
{
"containerPort": 8470,
"hostPort": 8470,
"tcp": true,
"udp": false,
"interface": "192.168.0.151"
},
{
"containerPort": 8471,
"hostPort": 8471,
"tcp": true,
"udp": false,
"interface": "192.168.0.151"
},
{
"containerPort": 8472,
"hostPort": 8472,
"tcp": true,
"udp": false,
"interface": "192.168.0.151"
},
{
"containerPort": 8473,
"hostPort": 8473,
"tcp": true,
"udp": false,
"interface": "192.168.0.151"
},
{
"containerPort": 8474,
"hostPort": 8474,
"tcp": true,
"udp": false,
"interface": "192.168.0.151"
},
{
"containerPort": 8475,
"hostPort": 8475,
"tcp": true,
"udp": false,
"interface": "192.168.0.151"
},
{
"containerPort": 8476,
"hostPort": 8476,
"tcp": true,
"udp": false,
"interface": "192.168.0.151"
}
],
"volumes": [
{
"hostPath": "${APP_DATA_DIR}/data/storage",
"containerPath": "/storage",
"readOnly": false,
"shared": false,
"private": false
}
],
"stopGracePeriod": "2m",
"sysctls": {},
"devices": [
"/dev/kvm",
"/dev/net/tun"
],
"capAdd": [
"NET_ADMIN"
],
"isMain": true,
"extraLabels": {
"runtipi.managed": true
}
}
]
}

View File

@@ -0,0 +1,84 @@
version: '3.9'
services:
rego-tunnel:
container_name: rego-tunnel
image: dockurr/windows:5.14
restart: unless-stopped
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
stop_grace_period: 2m
ports:
# Web console (Tipi APP_PORT -> 8006)
- "192.168.0.151:${APP_PORT}:8006/tcp"
# RDP
- "192.168.0.151:3389:3389/tcp"
- "192.168.0.151:3389:3389/udp"
# Optional admin
- "192.168.0.151:21:21/tcp"
- "192.168.0.151:22:22/tcp"
# IBM i common
- "192.168.0.151:23:23/tcp"
- "192.168.0.151:449:449/tcp"
- "192.168.0.151:446:446/tcp"
- "192.168.0.151:448:448/tcp"
- "192.168.0.151:8470:8470/tcp"
- "192.168.0.151:8471:8471/tcp"
- "192.168.0.151:8472:8472/tcp"
- "192.168.0.151:8473:8473/tcp"
- "192.168.0.151:8474:8474/tcp"
- "192.168.0.151:8475:8475/tcp"
- "192.168.0.151:8476:8476/tcp"
environment:
- RAM_SIZE=${WINDOWS_RAM_GB}G
- CPU_CORE=${WINDOWS_CPU_CORES}
- DISK_SIZE=${WINDOWS_DISK_SIZE_GB}G
- VERSION=${WINDOWS_VERSION}
volumes:
- ${APP_DATA_DIR}/data/storage:/storage
networks:
- tipi_main_network
sysctls:
- net.ipv4.ip_forward=1
labels:
traefik.enable: true
traefik.http.middlewares.rego-tunnel-web-redirect.redirectscheme.scheme: https
traefik.http.services.rego-tunnel.loadbalancer.server.port: 8006
traefik.http.routers.rego-tunnel-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.rego-tunnel-insecure.entrypoints: web
traefik.http.routers.rego-tunnel-insecure.service: rego-tunnel
traefik.http.routers.rego-tunnel-insecure.middlewares: rego-tunnel-web-redirect
traefik.http.routers.rego-tunnel.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.rego-tunnel.entrypoints: websecure
traefik.http.routers.rego-tunnel.service: rego-tunnel
traefik.http.routers.rego-tunnel.tls.certresolver: myresolver
traefik.http.routers.rego-tunnel-local-insecure.rule: Host(`rego-tunnel.${LOCAL_DOMAIN}`)
traefik.http.routers.rego-tunnel-local-insecure.entrypoints: web
traefik.http.routers.rego-tunnel-local-insecure.service: rego-tunnel
traefik.http.routers.rego-tunnel-local-insecure.middlewares: rego-tunnel-web-redirect
traefik.http.routers.rego-tunnel-local.rule: Host(`rego-tunnel.${LOCAL_DOMAIN}`)
traefik.http.routers.rego-tunnel-local.entrypoints: websecure
traefik.http.routers.rego-tunnel-local.service: rego-tunnel
traefik.http.routers.rego-tunnel-local.tls: true
runtipi.managed: true
networks:
tipi_main_network:
external: true

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,82 @@
<h1 align="center">Windows<br />
<div align="center">
<a href="https://github.com/dockur/windows"><img src="https://github.com/dockur/windows/raw/master/.github/logo.png" title="Logo" style="max-width:100%;" width="128" /></a>
</div>
<div align="center">
</div></h1>
Windows in a Docker container.
## Features
- ISO downloader
- KVM acceleration
- Web-based viewer
## FAQ
* ### How do I use it?
Very simple! These are the steps:
- Start the container and connect to [port 8006](http://localhost:8006) using your web browser.
- Sit back and relax while the magic happens, the whole installation will be performed fully automatic.
- Once you see the desktop, your Windows installation is ready for use.
Enjoy your brand new machine, and don't forget to star this repo!
* ### How do I select the Windows version?
By default, Windows 11 will be installed. But you can change that in settings, in order to specify an alternative Windows version to be downloaded:
Select from the values below:
| **Value** | **Description** | **Source** | **Transfer** | **Size** |
|---|---|---|---|---|
| `win11` | Windows 11 Pro | Microsoft | Fast | 6.4 GB |
| `win10` | Windows 10 Pro | Microsoft | Fast | 5.8 GB |
| `ltsc10` | Windows 10 LTSC | Microsoft | Fast | 4.6 GB |
| `win81` | Windows 8.1 Pro | Microsoft | Fast | 4.2 GB |
| `win7` | Windows 7 SP1 | Bob Pony | Medium | 3.0 GB |
| `vista` | Windows Vista SP2 | Bob Pony | Medium | 3.6 GB |
| `winxp` | Windows XP SP3 | Bob Pony | Medium | 0.6 GB |
||||||
| `2022` | Windows Server 2022 | Microsoft | Fast | 4.7 GB |
| `2019` | Windows Server 2019 | Microsoft | Fast | 5.3 GB |
| `2016` | Windows Server 2016 | Microsoft | Fast | 6.5 GB |
| `2012` | Windows Server 2012 R2 | Microsoft | Fast | 4.3 GB |
| `2008` | Windows Server 2008 R2 | Microsoft | Fast | 3.0 GB |
||||||
| `core11` | Tiny 11 Core | Archive.org | Slow | 2.1 GB |
| `tiny11` | Tiny 11 | Archive.org | Slow | 3.8 GB |
| `tiny10` | Tiny 10 | Archive.org | Slow | 3.6 GB |
* ### How do I connect using RDP?
The web-viewer is mainly meant to be used during installation, as its picture quality is low, and it has no audio or clipboard for example.
So for a better experience you can connect using any Microsoft Remote Desktop client to the IP of the container, using the username `docker` and by leaving the password empty.
There is a good RDP client for [Android](https://play.google.com/store/apps/details?id=com.microsoft.rdc.androidx) available from the Play Store. One for [iOS](https://apps.apple.com/nl/app/microsoft-remote-desktop/id714464092?l=en-GB) is in the Apple Store. For Linux you can use [rdesktop](http://www.rdesktop.org/) and for Windows you don't need to install anything as it is already ships as part of the operating system.
* ### How do I verify if my system supports KVM?
To verify if your system supports KVM, run the following commands:
```bash
sudo apt install cpu-checker
sudo kvm-ok
```
If you receive an error from `kvm-ok` indicating that KVM acceleration can't be used, check the virtualization settings in the BIOS.
* ### Is this project legal?
Yes, this project contains only open-source code and does not distribute any copyrighted material. Any product keys found in the code are just generic placeholders provided by Microsoft for trial purposes. So under all applicable laws, this project would be considered legal.
## Disclaimer
The product names, logos, brands, and other trademarks referred to within this project are the property of their respective trademark holders. This project is not affiliated, sponsored, or endorsed by Microsoft Corporation.

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB