প্রকল্প সম্পর্কে

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 - nested virtualization চালু থাকা 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`-এ bind mount দিয়ে স্টোরেজ পরিবর্তন করা যায়। `/shared`-এ বাইন্ড করা একটি ফোল্ডার Windows ডেস্কটপে `Shared` হিসেবে এবং ড্রাইভ `Z:` হিসেবে দেখা যায়। অসমর্থিত ইমেজ ইনস্টল করতে `/custom.iso`-তে একটি ISO মাউন্ট করা যায়, অথবা `VERSION`-এর মাধ্যমে একটি URL দেওয়া যায়। প্রকল্পটি উল্লেখ করে যে macvlan নেটওয়ার্কিং Docker হোস্ট থেকে কন্টেইনার IP অ্যাক্সেসযোগ্য হতে বাধা দেয়, এবং প্রথম লঞ্চের সময় USB mass storage ডিভাইস সংযুক্ত না রাখা উচিত যাতে ভুলবশত ফরম্যাট না হয়ে যায়। প্রকল্পটিতে শুধুমাত্র ওপেন-সোর্স কোড রয়েছে এবং এটি নিজে Windows বিতরণ করে না। কোডে পাওয়া প্রোডাক্ট কীগুলো Microsoft-এর প্রকাশিত ট্রায়াল উদ্দেশ্যে জেনেরিক ইনস্টলেশন কী এবং এগুলো বৈধ অ্যাক্টিভেশন লাইসেন্স নয়। বৈধ Windows লাইসেন্স থাকার দায়িত্ব ব্যবহারকারীর।