इस प्रोजेक्ट के बारे में

Dockur Windows एक Docker/Podman कंटेनर इमेज है जो आपको कंटेनर के अंदर Windows चलाने देती है। यह चयनित Windows संस्करण को डाउनलोड और इंस्टॉल करने की प्रक्रिया को स्वचालित करती है, फिर पोर्ट 8006 पर वेब व्यूअर और Microsoft Remote Desktop (RDP) के माध्यम से एक्सेस प्रदान करती है। मुख्य विशेषताएँ: - Docker कंटेनर के अंदर Windows चलाता है - स्वचालित डाउनलोड और बिना हस्तक्षेप इंस्टॉलेशन - आधुनिक और लीगेसी Windows रिलीज़ का समर्थन, Windows 95 से Windows 11 तक, साथ ही Windows Server 2003-2025 और कुछ कम्युनिटी वेरिएंट जैसे Tiny11 और ReactOS - KVM त्वरण के साथ लगभग-मूल प्रदर्शन - अनुकूलन योग्य CPU, मेमोरी और स्टोरेज आवंटन - मेमोरी बैलूनिंग के साथ डायनामिक मेमोरी आवंटन - USB पासथ्रू और होस्ट फ़ोल्डर साझाकरण - NAT, user-mode, macvlan और macvtap नेटवर्किंग का समर्थन - ब्राउज़र में वैकल्पिक ऑडियो स्ट्रीमिंग - इंस्टॉलेशन के दौरान Active Directory डोमेन में शामिल हो सकता है - इंस्टॉलेशन के बाद कस्टम कमांड या install.bat स्क्रिप्ट चला सकता है आवश्यकताएँ: - KVM समर्थन वाले Linux होस्ट पर Docker या Podman - Windows 11 पर Docker Desktop या Podman Desktop, नेस्टेड वर्चुअलाइज़ेशन सक्षम के साथ - कम से कम 2 GB उपलब्ध RAM - कम से कम 32 GB खाली डिस्क स्थान Linux, macOS और Windows 10 पर Docker Desktop समर्थित नहीं है क्योंकि यह कंटेनरों को KVM एक्सेस प्रदान नहीं करता। बुनियादी 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 ``` कंटेनर शुरू करने के बाद, ब्राउज़र में http://127.0.0.1:8006/ खोलें और स्वचालित इंस्टॉलेशन पूरा होने की प्रतीक्षा करें। डिफ़ॉल्ट RDP क्रेडेंशियल्स उपयोगकर्ता नाम `Docker` और पासवर्ड `admin` हैं, जिन्हें `USERNAME` और `PASSWORD` एनवायरनमेंट वेरिएबल्स से अनुकूलित किया जा सकता है। सामान्य एनवायरनमेंट वेरिएबल्स में शामिल हैं: - `VERSION` — Windows संस्करण चुनता है, उदाहरण के लिए `11`, `10`, `2022`, या कस्टम ISO URL - `LANGUAGE` — इंस्टॉलेशन भाषा चुनता है - `RAM_SIZE` और `CPU_CORES` — आवंटित संसाधनों को समायोजित करते हैं - `DISK_SIZE` — डिफ़ॉल्ट 64 GB डिस्क आकार बदलता है - `DISK2_SIZE` / `DISK3_SIZE` — अतिरिक्त डिस्क जोड़ता है - `AUDIO` — ब्राउज़र ऑडियो स्ट्रीमिंग सक्षम करता है - `DOMAIN` और `DOMAIN_OU` — स्वचालित Active Directory डोमेन जॉइन - `DHCP` — Windows को सीधे राउटर से IP अनुरोध करने देता है - `ARGUMENTS` — अतिरिक्त QEMU आर्गुमेंट्स पास करता है, उदाहरण के लिए USB डिवाइस पासथ्रू के लिए स्टोरेज को `/storage` पर बाइंड माउंट के साथ बदला जा सकता है। `/shared` पर बाइंड किया गया फ़ोल्डर Windows डेस्कटॉप पर `Shared` और ड्राइव `Z:` के रूप में दिखाई देता है। असमर्थित इमेज इंस्टॉल करने के लिए `/custom.iso` पर ISO माउंट किया जा सकता है, या `VERSION` के माध्यम से URL प्रदान किया जा सकता है। प्रोजेक्ट नोट करता है कि macvlan नेटवर्किंग कंटेनर IP को Docker होस्ट से सुलभ होने से रोकती है, और पहले लॉन्च के दौरान USB मास स्टोरेज डिवाइस को डिस्कनेक्ट रखा जाना चाहिए ताकि आकस्मिक फ़ॉर्मेटिंग से बचा जा सके। प्रोजेक्ट में केवल ओपन-सोर्स कोड है और यह Windows को स्वयं वितरित नहीं करता। कोड में पाई जाने वाली उत्पाद कुंजियाँ Microsoft द्वारा परीक्षण उद्देश्यों के लिए प्रकाशित सामान्य इंस्टॉलेशन कुंजियाँ हैं और वैध सक्रियण लाइसेंस नहीं हैं। उपयोगकर्ता वैध Windows लाइसेंस रखने के लिए जिम्मेदार हैं।