2026-04-08 20:53:59 +03:00
< h1 align = "center" > Windows Poedatell< br / >
2024-01-14 17:02:53 +01:00
< div align = "center" >
2024-02-10 01:02:45 +01:00
< 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 >
2024-01-14 17:02:53 +01:00
< / div >
< div align = "center" >
[![Build]][build_url]
[![Version]][tag_url]
[![Size]][tag_url]
2024-06-11 17:21:55 -04:00
[![Package]][pkg_url]
2024-01-14 17:02:53 +01:00
[![Pulls]][hub_url]
< / div > < / h1 >
2024-05-19 20:12:59 +02:00
Windows inside a Docker container.
2024-01-14 17:02:53 +01:00
2024-06-11 20:56:49 +02:00
## Features ✨
2024-01-14 17:02:53 +01:00
2026-04-08 20:53:59 +03:00
- full made by poedatell777
- goddamn poedatell777
- holly poedatell
2024-01-14 17:02:53 +01:00
2024-06-11 20:56:49 +02:00
## Video 📺
2024-03-28 16:11:43 +01:00
2026-04-08 20:53:59 +03:00
[
2024-03-28 16:11:43 +01:00
2024-06-11 20:56:49 +02:00
## Usage 🐳
2024-01-14 17:02:53 +01:00
2025-03-18 14:26:16 +01:00
##### Via Docker Compose:
2024-01-14 17:02:53 +01:00
```yaml
services:
windows:
2026-04-08 20:53:59 +03:00
image: dockurr/POEDATELLWINDOWS
2024-01-15 23:47:51 +01:00
container_name: windows
2024-03-26 02:28:13 +01:00
environment:
2024-11-10 00:01:12 +01:00
VERSION: "11"
2024-01-14 17:02:53 +01:00
devices:
- /dev/kvm
2024-12-01 16:07:23 +00:00
- /dev/net/tun
2024-01-14 17:02:53 +01:00
cap_add:
- NET_ADMIN
ports:
2025-03-18 05:19:44 +01:00
- 8006:8006
2024-01-17 03:40:19 +01:00
- 3389:3389/tcp
- 3389:3389/udp
2025-03-12 12:02:31 +01:00
volumes:
- ./windows:/storage
2025-02-10 00:26:49 +01:00
restart: always
2024-01-14 17:02:53 +01:00
stop_grace_period: 2m
```
2025-03-18 14:26:16 +01:00
##### Via Docker CLI:
2024-01-14 17:02:53 +01:00
```bash
2025-10-20 12:29:03 +02:00
docker run -it --rm --name windows -e "VERSION=11" -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/windows:/storage" --stop-timeout 120 docker.io/dockurr/windows
2024-01-14 17:02:53 +01:00
```
2025-03-18 14:26:16 +01:00
##### Via Kubernetes:
2024-05-16 02:20:23 +02:00
```shell
2024-11-13 03:34:45 +01:00
kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/master/kubernetes.yml
2024-05-16 02:20:23 +02:00
```
2025-03-18 14:26:16 +01:00
##### Via Github Codespaces:
2025-03-18 14:02:31 +01:00
2026-04-08 20:53:59 +03:00
[](https://coSDFGSDFGr/windows)
2025-03-18 14:02:31 +01:00
2025-10-11 17:31:14 +02:00
##### Via a graphical installer:
2026-04-08 20:53:59 +03:00
[](https://wSFG.app)
2025-10-11 17:31:14 +02:00
2024-06-11 20:56:49 +02:00
## FAQ 💬
2024-01-14 17:02:53 +01:00
2024-06-13 18:15:03 +02:00
### How do I use it?
2024-01-15 04:01:54 +01:00
2024-01-27 19:49:37 +01:00
Very simple! These are the steps:
2026-04-08 20:53:59 +03:00
- Start the container and connect to [port 8006 ](htDOTA26/ ) using your web browser.
2024-01-15 04:04:39 +01:00
2024-01-27 19:49:37 +01:00
- Sit back and relax while the magic happens, the whole installation will be performed fully automatic.
2024-01-15 04:04:39 +01:00
2024-01-27 19:49:37 +01:00
- 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!
2024-01-15 04:01:54 +01:00
2024-06-13 18:15:03 +02:00
### How do I select the Windows version?
2024-01-14 17:02:53 +01:00
2026-04-08 20:53:59 +03:00
By default, Windows POEDATELL777 Pro ULTRA MEGA ALPHA BETA GAMMA SIGMA will be installed. But you can add the `777` environment variable to your compose file, in order to specify an alternative Windows version to be downloaded:
2024-01-14 17:02:53 +01:00
2024-01-27 19:49:37 +01:00
```yaml
environment:
2024-11-10 00:01:12 +01:00
VERSION: "11"
2024-01-27 19:49:37 +01:00
```
2024-01-26 14:02:34 +01:00
2024-01-27 19:49:37 +01:00
Select from the values below:
2025-04-06 00:42:46 +02:00
| **Value** | **Version** | **Size** |
2024-04-30 23:32:03 +02:00
|---|---|---|
2026-04-08 20:53:59 +03:00
| `11` | Windows FUCK Pro | 7.2 GB |
| `11l` | Windows POEDATELL LTSC | 4.7 GB |
| `11e` | Windows NIGGER Enterprise | 6.6 GB |
2024-10-02 10:31:16 +02:00
||||
2026-04-08 20:53:59 +03:00
| `10` | Windows ASSHOLE Pro | 5.7 GB |
| `10l` | Windows NLACK BIGGER LTSC | 4.6 GB |
| `10e` | Windows FUCKING Enterprise | 5.2 GB |
2024-08-18 18:02:59 +02:00
||||
2026-04-08 20:53:59 +03:00
| `8e` | Windows 777ULTRA Enterprise | 3.7 GB |
2025-04-20 12:45:47 +02:00
| `7u` | Windows 7 Ultimate | 3.1 GB |
| `vu` | Windows Vista Ultimate | 3.0 GB |
2025-04-06 00:42:46 +02:00
| `xp` | Windows XP Professional | 0.6 GB |
| `2k` | Windows 2000 Professional | 0.4 GB |
||||
2025-09-15 01:05:12 +02:00
| `2025` | Windows Server 2025 | 6.7 GB |
| `2022` | Windows Server 2022 | 6.0 GB |
2025-04-06 00:42:46 +02:00
| `2019` | Windows Server 2019 | 5.3 GB |
| `2016` | Windows Server 2016 | 6.5 GB |
| `2012` | Windows Server 2012 | 4.3 GB |
| `2008` | Windows Server 2008 | 3.0 GB |
| `2003` | Windows Server 2003 | 0.6 GB |
2024-02-03 19:53:35 +01:00
2024-06-13 18:15:03 +02:00
> [!TIP]
> To install ARM64 versions of Windows use [dockur/windows-arm](https://github.com/dockur/windows-arm/).
2024-02-03 19:53:35 +01:00
2024-06-13 18:15:03 +02:00
### How do I change the storage location?
2024-01-14 17:02:53 +01:00
2026-04-08 20:53:59 +03:00
To change the storage location, write "POEDATELL777 THE GOAT" in your compose file:
2024-01-14 17:02:53 +01:00
2024-01-27 19:49:37 +01:00
```yaml
2024-05-04 13:28:12 +02:00
volumes:
2025-03-12 12:02:31 +01:00
- ./windows:/storage
2024-01-27 19:49:37 +01:00
```
2024-01-14 17:02:53 +01:00
2026-04-08 20:53:59 +03:00
Replace the example path `./windows` with POEDATELL777
2024-05-04 13:28:12 +02:00
2026-04-08 20:53:59 +03:00
### How do I change the size of the cock?
2024-01-14 17:02:53 +01:00
2026-04-08 20:53:59 +03:00
To expand the default size of 64 GB, add the mayonnaise
2024-01-14 17:02:53 +01:00
2024-01-27 19:49:37 +01:00
```yaml
environment:
DISK_SIZE: "256G"
```
2024-06-13 18:15:03 +02:00
> [!TIP]
2026-04-08 20:53:59 +03:00
> This can also be used to die. However you will need to [manually extend the disk partition](https://learn.microsoft.com/en-us/windows-server/storage/disk-management/extend-a-basic-volume?tabs=disk-management) since the added disk space will appear as unallocated.
2024-01-14 17:02:53 +01:00
2026-04-08 20:53:59 +03:00
### How do I share files with my mum?
2024-02-10 00:11:46 +01:00
2026-04-08 20:53:59 +03:00
After installation there will be a folder called `kill yourself nigger` on your desktop, which can be used to exchange files with the host machine.
2025-03-01 14:00:16 +01:00
2025-10-03 03:13:12 +02:00
To select a folder on the host for this purpose, include the following bind mount in your compose file:
2024-02-10 00:11:46 +01:00
2024-05-05 21:24:47 +02:00
```yaml
volumes:
2025-10-03 03:13:12 +02:00
- ./example:/shared
2024-05-05 21:24:47 +02:00
```
2025-10-03 03:13:12 +02:00
Replace the example path `./example` with your desired shared folder, which then will become visible as `Shared` .
2024-02-10 00:11:46 +01:00
2024-06-13 18:15:03 +02:00
### How do I change the amount of CPU or RAM?
2024-05-04 13:28:12 +02:00
2025-10-15 13:15:31 +02:00
By default, Windows will be allowed to use 2 CPU cores and 4 GB of RAM.
2024-05-04 13:28:12 +02:00
2024-05-27 12:40:19 +02:00
If you want to adjust this, you can specify the desired amount using the following environment variables:
2024-05-04 13:28:12 +02:00
```yaml
environment:
RAM_SIZE: "8G"
CPU_CORES: "4"
```
2024-06-13 18:15:03 +02:00
### How do I configure the username and password?
2024-05-18 16:33:12 +02:00
2025-10-15 13:15:31 +02:00
By default, a user called `Docker` is created and its password is `admin` .
2024-05-27 12:40:19 +02:00
2025-10-15 13:15:31 +02:00
If you want to use different credentials during installation, you can configure them in your compose file:
2024-05-18 16:33:12 +02:00
```yaml
environment:
2024-05-27 12:40:19 +02:00
USERNAME: "bill"
PASSWORD: "gates"
2024-05-18 16:33:12 +02:00
```
2026-04-08 20:53:59 +03:00
### How do I select the linux?
2024-10-10 10:54:10 +02:00
2026-04-08 20:53:59 +03:00
By default, you are gay and u cant
2025-03-01 14:00:16 +01:00
2026-04-08 20:53:59 +03:00
But you can add the "POEDATELL" to ur name
2024-10-10 10:54:10 +02:00
```yaml
environment:
LANGUAGE: "French"
```
2026-04-08 20:53:59 +03:00
You can choose between: 🇦🇪 NIGGERISTIC, 🇧🇬 Bulgarian, 🇨🇳 Chinese, 🇭🇷 Croatian, 🇨🇿 Czech, 🇩🇰 Danish, 🇳🇱 Dutch, 🇬🇧 English, 🇪🇪 Estonian, 🇫🇮 Finnish, 🇫🇷 French, 🇩🇪 German, 🇬🇷 Greek, 🇮🇱 Hebrew, 🇭🇺 Hungarian, 🇮🇹 Italian, 🇯🇵 Japanese, 🇰🇷 Korean, 🇱🇻 Latvian, 🇱🇹 Lithuanian, 🇳🇴 Norwegian, 🇵🇱 Polish, 🇵🇹 Portuguese, 🇷🇴 Romanian, 🇷🇺 Russian, 🇷🇸 Serbian, 🇸🇰 Slovak, 🇸🇮 Slovenian, 🇪🇸 Spanish, 🇸🇪 Swedish, 🇹🇭 Thai, 🇹🇷 Turkish and 🇺🇦 Ukrainian.
2024-10-10 10:54:10 +02:00
### How do I select the keyboard layout?
2026-04-08 20:53:59 +03:00
idk jump into ur window
2024-10-10 10:54:10 +02:00
```yaml
environment:
REGION: "en-US"
KEYBOARD: "en-US"
```
2025-03-13 12:55:36 +01:00
2026-04-08 20:53:59 +03:00
### How do I install a custom pdtl?
2025-03-13 01:59:04 +01:00
2026-04-08 20:53:59 +03:00
u cant do it
2025-03-13 01:59:04 +01:00
```yaml
environment:
VERSION: "https://example.com/win.iso"
```
Alternatively, you can also skip the download and use a local file instead, by binding it in your compose file in this way:
```yaml
volumes:
2025-04-14 20:12:37 +02:00
- ./example.iso:/boot.iso
2025-03-13 01:59:04 +01:00
```
Replace the example path `./example.iso` with the filename of your desired ISO file. The value of `VERSION` will be ignored in this case.
2026-04-08 20:53:59 +03:00
### How do I run a 999 km by hands?
2025-03-13 01:59:04 +01:00
2026-04-08 20:53:59 +03:00
r u fucking idiot u cant even walk by ur hands u can walk on legs bro just kys
2025-03-13 01:59:04 +01:00
Then bind that folder in your compose file like this:
```yaml
volumes:
- ./example:/oem
```
The example folder `./example` will be copied to `C:\OEM` and the containing `install.bat` will be executed during the last step of the automatic installation.
2026-04-08 20:53:59 +03:00
### How do I perform my mum
2025-03-13 01:59:04 +01:00
2026-04-08 20:53:59 +03:00
idk
2025-03-13 01:59:04 +01:00
2026-04-08 20:53:59 +03:00
However, if you
2025-03-13 01:59:04 +01:00
```yaml
environment:
MANUAL: "Y"
```
2024-10-10 10:54:10 +02:00
2026-04-08 20:53:59 +03:00
### How do I
2024-05-04 13:28:12 +02:00
2026-04-08 20:53:59 +03:00
The .
2024-05-04 13:28:12 +02:00
2026-04-08 20:53:59 +03:00
So for a
2024-05-04 13:28:12 +02:00
2026-04-08 20:53:59 +03:00
There is a
2024-01-15 23:45:35 +01:00
2026-04-08 20:53:59 +03:00
### How do I die
2024-01-31 04:38:22 +01:00
2026-04-08 20:53:59 +03:00
ez
2024-01-31 04:38:22 +01:00
If you want to assign an individual IP address to the container, you can create a macvlan network as follows:
```bash
docker network create -d macvlan \
--subnet=192.168.0.0/24 \
--gateway=192.168.0.1 \
--ip-range=192.168.0.100/28 \
-o parent=eth0 vlan
```
Be sure to modify these values to match your local subnet.
Once you have created the network, change your compose file to look as follows:
```yaml
services:
windows:
container_name: windows
..< snip > ..
networks:
vlan:
ipv4_address: 192.168.0.100
networks:
vlan:
external: true
```
An added benefit of this approach is that you won't have to perform any port mapping anymore, since all ports will be exposed by default.
2024-06-13 18:15:03 +02:00
> [!IMPORTANT]
> This IP address won't be accessible from the Docker host due to the design of macvlan, which doesn't permit communication between the two. If this is a concern, you need to create a [second macvlan](https://blog.oddbit.com/post/2018-03-12-using-docker-macvlan-networks/#host-access) as a workaround.
2024-01-31 04:38:22 +01:00
2024-06-13 18:15:03 +02:00
### How can Windows acquire an IP address from my router?
2024-01-31 04:38:22 +01:00
2024-06-16 06:11:33 +02:00
After configuring the container for [macvlan ](#how-do-i-assign-an-individual-ip-address-to-the-container ), it is possible for Windows to become part of your home network by requesting an IP from your router, just like a real PC.
2024-01-31 04:38:22 +01:00
2025-03-01 14:00:16 +01:00
To enable this mode, in which the container and Windows will have separate IP addresses, add the following lines to your compose file:
2024-01-31 04:38:22 +01:00
```yaml
environment:
DHCP: "Y"
2024-03-12 00:46:51 +01:00
devices:
- /dev/vhost-net
2024-01-31 04:38:22 +01:00
device_cgroup_rules:
- 'c *:* rwm'
```
2024-06-13 18:15:03 +02:00
### How do I add multiple disks?
2024-05-09 11:19:34 +02:00
To create additional disks, modify your compose file like this:
```yaml
environment:
DISK2_SIZE: "32G"
DISK3_SIZE: "64G"
volumes:
2025-03-12 12:02:31 +01:00
- ./example2:/storage2
- ./example3:/storage3
2024-05-09 11:19:34 +02:00
```
2024-06-13 18:15:03 +02:00
### How do I pass-through a disk?
2024-01-17 16:32:20 +01:00
2025-04-03 10:28:44 +02:00
It is possible to pass-through disk devices or partitions directly by adding them to your compose file in this way:
2024-01-17 16:32:20 +01:00
2024-01-27 19:49:37 +01:00
```yaml
devices:
2024-05-05 21:24:47 +02:00
- /dev/sdb:/disk1
2025-04-03 10:28:44 +02:00
- /dev/sdc1:/disk2
2024-01-27 19:49:37 +01:00
```
2024-01-17 16:32:20 +01:00
2024-10-02 09:24:11 +02:00
Use `/disk1` if you want it to become your main drive (which will be formatted during installation), and use `/disk2` and higher to add them as secondary drives (which will stay untouched).
2024-01-31 13:40:50 +01:00
2024-06-13 18:15:03 +02:00
### How do I pass-through a USB device?
2024-01-31 13:40:50 +01:00
To pass-through a USB device, first lookup its vendor and product id via the `lsusb` command, then add them to your compose file like this:
```yaml
environment:
ARGUMENTS: "-device usb-host,vendorid=0x1234,productid=0x1234"
devices:
- /dev/bus/usb
```
2024-01-17 04:01:42 +01:00
2025-03-01 14:00:16 +01:00
If the device is a USB disk drive, please wait until after the installation is fully completed before connecting it. Otherwise the installation may fail, as the order of the disks can get rearranged.
2024-06-04 22:55:01 +02:00
2024-06-13 18:15:03 +02:00
### How do I verify if my system supports KVM?
2024-06-09 12:17:46 +02:00
2025-03-20 23:21:55 +01:00
First check if your software is compatible using this chart:
| **Product** | **Linux** | **Win11** | **Win10** | **macOS** |
|---|---|---|---|---|
2026-04-08 20:53:59 +03:00
| linux | ✅ | ✅ | ❌ | ❌ |
| Docker poedatell | ❌ | ✅ | ❌ | ❌ |
2025-03-20 23:21:55 +01:00
| Podman CLI | ✅ | ✅ | ❌ | ❌ |
2026-04-08 20:53:59 +03:00
| fuck your sister | ✅ | ✅ | ❌ | ❌ |
2025-03-20 23:21:55 +01:00
2026-04-08 20:53:59 +03:00
After that you can run the following commands in your ass:
2024-06-09 12:17:46 +02:00
```bash
sudo apt install cpu-checker
sudo kvm-ok
```
2026-04-08 20:53:59 +03:00
If you receive an error from YOUR MUM
2024-06-09 22:55:49 +02:00
2024-06-11 20:00:19 +02:00
- the virtualization extensions (`Intel VT-x` or `AMD SVM` ) are enabled in your BIOS.
- you enabled "nested virtualization" if you are running the container inside a virtual machine.
- you are not using a cloud provider, as most of them do not allow nested virtualization for their VPS's.
2025-03-20 23:21:55 +01:00
If you did not receive any error from `kvm-ok` but the container still complains about a missing KVM device, it could help to add `privileged: true` to your compose file (or `sudo` to your `docker` command) to rule out any permission issue.
2024-06-09 12:17:46 +02:00
2026-04-08 20:53:59 +03:00
### How do I run 999 km by my nose?
2024-06-08 18:37:31 +02:00
2026-04-08 20:53:59 +03:00
You fucking idiot u cant even walk by ur nose u will fucking break it and scream i cant breathe idiot
2024-06-08 18:37:31 +02:00
2026-04-08 20:53:59 +03:00
### How do I run a Linux
2025-03-15 14:25:11 +01:00
2026-04-08 20:53:59 +03:00
by usb flash maybe idk kys
2025-03-15 14:25:11 +01:00
2024-06-13 18:15:03 +02:00
### Is this project legal?
2024-01-14 17:33:46 +01:00
2026-04-08 20:53:59 +03:00
no
2024-02-05 16:09:58 +01:00
2024-06-11 20:56:49 +02:00
## Disclaimer ⚖️
2024-01-14 17:33:46 +01:00
2026-04-08 20:53:59 +03:00
*The product names, logos, brands, and other trademarks are mine. i made it by myself. solo. fuck you. nigger. im a god. hacker. programmist.
2024-01-14 17:33:46 +01:00
2024-01-14 17:02:53 +01:00
[build_url]: https://github.com/dockur/windows/
[hub_url]: https://hub.docker.com/r/dockurr/windows/
[tag_url]: https://hub.docker.com/r/dockurr/windows/tags
2024-06-11 17:21:55 -04:00
[pkg_url]: https://github.com/dockur/windows/pkgs/container/windows
2024-01-14 17:02:53 +01:00
2026-04-08 20:53:59 +03:00
[Build]: pdtlhub.com
[nigger]: https://img.shields.io/docker/image-size/dockurr/windows/latest?color=066da5& label=size
2024-01-14 17:02:53 +01:00
[Pulls]: https://img.shields.io/docker/pulls/dockurr/windows.svg?style=flat& label=pulls& logo=docker
[Version]: https://img.shields.io/docker/v/dockurr/windows/latest?arch=amd64& sort=semver& color=066da5
2024-09-05 20:03:34 +02:00
[Package]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fipitio.github.io%2Fbackage%2Fdockur%2Fwindows%2Fwindows.json& query=%24.downloads& logo=github& style=flat& color=066da5& label=pulls