Sobre o projeto

O Dockur Windows é uma imagem de contêiner Docker/Podman que permite executar o Windows dentro de um contêiner. Ele automatiza o download e a instalação da versão selecionada do Windows e, em seguida, fornece acesso por meio de um visualizador web na porta 8006 e via Microsoft Remote Desktop (RDP). Principais recursos: - Executa o Windows dentro de um contêiner Docker - Download automático e instalação sem intervenção - Suporta versões modernas e antigas do Windows, do Windows 95 ao Windows 11, além do Windows Server 2003-2025 e algumas variantes da comunidade, como Tiny11 e ReactOS - Desempenho quase nativo com aceleração KVM - Alocação personalizável de CPU, memória e armazenamento - Alocação dinâmica de memória com memory ballooning - Passthrough de USB e compartilhamento de pastas do host - Suporta redes NAT, user-mode, macvlan e macvtap - Streaming de áudio opcional para o navegador - Pode ingressar em um domínio Active Directory durante a instalação - Pode executar comandos personalizados ou um script install.bat após a instalação Requisitos: - Docker ou Podman em um host Linux com suporte a KVM - Docker Desktop ou Podman Desktop no Windows 11 com virtualização aninhada habilitada - Pelo menos 2 GB de RAM disponível - Pelo menos 32 GB de espaço livre em disco O Docker Desktop no Linux, macOS e Windows 10 não é suportado porque não fornece acesso KVM aos contêineres. Uso básico com Docker Compose: ```yaml services: windows: image: dockurr/windows container_name: windows environment: VERSION: "11" devices: - /dev/kvm - /dev/net/tun cap_add: - NET_ADMIN ports: - 8006:8006 - 3389:3389/tcp - 3389:3389/udp volumes: - ./windows:/storage restart: always stop_grace_period: 2m ``` Após iniciar o contêiner, abra http://127.0.0.1:8006/ em um navegador e aguarde a conclusão da instalação automática. As credenciais padrão de RDP são usuário `Docker` e senha `admin`, que podem ser personalizadas com as variáveis de ambiente `USERNAME` e `PASSWORD`. Variáveis de ambiente comuns incluem: - `VERSION` — seleciona a versão do Windows, por exemplo `11`, `10`, `2022`, ou uma URL de ISO personalizada - `LANGUAGE` — seleciona o idioma da instalação - `RAM_SIZE` e `CPU_CORES` — ajustam os recursos alocados - `DISK_SIZE` — altera o tamanho padrão do disco de 64 GB - `DISK2_SIZE` / `DISK3_SIZE` — adiciona discos adicionais - `AUDIO` — habilita o streaming de áudio no navegador - `DOMAIN` e `DOMAIN_OU` — ingresso automático em domínio Active Directory - `DHCP` — permite que o Windows solicite um IP diretamente ao roteador - `ARGUMENTS` — passa argumentos extras ao QEMU, por exemplo para passthrough de dispositivos USB O armazenamento pode ser alterado com um bind mount para `/storage`. Uma pasta vinculada a `/shared` aparece na área de trabalho do Windows como `Shared` e como unidade `Z:`. Uma ISO pode ser montada em `/custom.iso` para instalar uma imagem não suportada, ou uma URL pode ser fornecida por meio de `VERSION`. O projeto observa que a rede macvlan impede que o IP do contêiner seja acessível a partir do host Docker, e que dispositivos de armazenamento em massa USB devem permanecer desconectados durante o primeiro lançamento para evitar formatação acidental. O projeto contém apenas código de código aberto e não distribui o Windows em si. As chaves de produto encontradas no código são chaves de instalação genéricas publicadas pela Microsoft para fins de avaliação e não são licenças de ativação válidas. Os usuários são responsáveis por possuir uma licença válida do Windows.