Rules Guidelines for Responding to Data Exfiltration and Extortion Demands Understanding the Situation
Data Exfiltration and Investigation: We have conducted a thorough investigation of your network and downloaded all confidential, private, proprietary, legal, financial, and compromising information belonging to you, your customers, and employees, including databases and all valuable documents. This action highlights the insecurity of your infrastructure.
Demand for Payment:
We are demanding payment in exchange for the secure deletion of the exfiltrated data and to prevent its public exposure.
Steps to Restore Normal Operations and Protect Your Data Initiating Negotiations: Contact us using the contact details left in the notes inside your network. In your initial message, include the name of your domain and the names of three random servers from your network to verify your identity as a company representative. Proof of Exfiltrated Data:
We will provide you with a list of the exfiltrated files. You can select 5 files from the list that do not contain critical information, and we will send them to you as proof. Payment Details:
Payment must be made in Bitcoin. We will provide a cryptocurrency wallet for the payment.You can use a crypto broker or exchange service to purchase the cryptocurrency. Post-Payment Obligations:
Within 24 hours of receiving the payment, we will start the process of deleting the exfiltrated data. If you need any specific assurances or additional actions, inform us before making the payment.We will provide a log of the data deletion and a security report with recommendations. Consequences of Non-Payment:
You have 7 days to agree on the payment terms. If no agreement is reached within 7 days, we will publish the fact of the data compromise on our website.If the situation remains unresolved after 7 days, we will notify your partners, competitors, and customers and then publish your data in full. This could lead to legal actions, termination of contracts, reputational damage, stock value drops, and potential closure of your organization. Price Formation and Discounts Price Determination: The price is determined based on your organization’s income, expenses, documents, and reports. The price is non-negotiable. 20% discount is available if payment is made within 5 days of the initial request. Recommendations Avoid External Involvement: We advise against contacting law enforcement or recovery companies, as this could lead to data disclosure, legal issues, and reputational damage. Do not inform anyone about the incident to avoid rumors and information leaks. Negotiate directly and involve your IT department for any technical support needed. Name: Rules Preview text: Guidelines for Responding to Data Exfiltration and Extortion Demands Understanding the Situation
Data Exfiltration and Investigation: We have conducted a thorough investigation of your network and downloaded all confidential, private, proprietary, legal, financial, and compromising information belonging to you, your customers, and employees, including databases and all valuable documents. This action highlights the insecurity of your infrastructure.
Demand for Payment:
We are demanding payment in exchange for the secure deletion of the exfiltrated data and to prevent its public exposure.
Steps to Restore Normal Operations and Protect Your Data Initiating Negotiations: Contact us using the contact details left in the notes inside your network. In your initial message, include the name of your domain and the names of three random servers from your network to verify your identity as a company representative. Proof of Exfiltrated Data:
We will provide you with a list of the exfiltrated files. You can select 5 files from the list that do not contain critical information, and we will send them to you as proof. Payment Details:
Payment must be made in Bitcoin. We will provide a cryptocurrency wallet for the payment.You can use a crypto broker or exchange service to purchase the cryptocurrency. Post-Payment Obligations:
Within 24 hours of receiving the payment, we will start the process of deleting the exfiltrated data. If you need any specific assurances or additional actions, inform us before making the payment.We will provide a log of the data deletion and a security report with recommendations. Consequences of Non-Payment:
You have 7 days to agree on the payment terms. If no agreement is reached within 7 days, we will publish the fact of the data compromise on our website.If the situation remains unresolved after 7 days, we will notify your partners, competitors, and customers and then publish your data in full. This could lead to legal actions, termination of contracts, reputational damage, stock value drops, and potential closure of your organization. Price Formation and Discounts Price Determination: The price is determined based on your organization’s income, expenses, documents, and reports. The price is non-negotiable. 20% discount is available if payment is made within 5 days of the initial request. Recommendations Avoid External Involvement: We advise against contacting law enforcement or recovery companies, as this could lead to data disclosure, legal issues, and reputational damage. Do not inform anyone about the incident to avoid rumors and information leaks. Negotiate directly and involve your IT department for any technical support needed.
Lynx Ransomware core motivation is grounded in financial incentives, with a clear intention to avoid undue harm to organizations. We recognize the importance of ethical considerations in the pursuit of financial gain and maintain a strict policy against targeting governmental institutions, hospitals, or non-profit organizations, as these sectors play vital roles in society. Our operational model encourages dialogue and resolution rather than chaos and destruction. We believe that fostering an environment where businesses can engage in constructive problem-solving can lead to better outcomes for all parties involved.
Deal scenario:
1. You send several small files for decryption, we decrypt them and send it back to you, thus proving our technical ability to decrypt your network.
2. Right before payment, you must again send several small files for decryption, after receiving the decrypted files, you pay the price we indicated to our wallet.
3. Within a one hour after receiving the payment, we permanently delete your files from our storage, and send you a decryptor* with detailed instructions.
4. You decrypt your systems, and return to normal operation.
CachyOS est une distribution Linux cutting edge (avant-gardiste) basée sur Arch Linux, conçue pour offrir des performances maximales et tester les nouveautés de Linux en avant-première.
Warning
Même si CachyOS gère l’installation et la configuration du système, cela reste une base Arch Linux « cutting edge », c’est-à-dire avant-gardiste. En plus de la base Arch Linux, CachyOS inclut des paquets expérimentaux et bêta pour découvrir des fonctionnalités avant tout le monde. Je la recommande donc plutôt à des utilisateurs familiers de Linux, du terminal, et capables de se débrouiller un minimum seuls. Il est également conseillé de ne pas être réfractaire à l’anglais pour lire leur wiki et de rejoindre leur Discord. C’est une distribution communautaire par excellence, et pour en profiter pleinement, il faut lire, comprendre, et participer aux discussions de la communauté. Peter et Vlad, les développeurs principaux, sont très présents, compétents et sympathiques.
Pour contrebalancer ce warning, je tiens à dire que CachyOS est la meilleure distribution de sa catégorie, vu qu’elle est la seule. Il n’y a pas longtemps, j’ai demandé à Peter ce qu’il pensait d’un patch d’Intel pour les performances inclus dans le noyau 6.12 prévu dans plusieurs mois au moment de la question. Il m’a répondu qu’il avait déjà intégré le patch depuis des semaines sur le noyau de CachyOS. Entre les patches en avance, la compilation des paquets optimisée, etc., aucune distribution ne propose autant d’optimisations que CachyOS et n’est aussi avant-gardiste.
Je vous conseille grandement cette vidéo tournée avec Antiz, DevOps et mainteneur de l’équipe officielle d’Arch Linux. Bien qu’étant une base Arch, CachyOS abandonne le côté DIY (Do It Yourself) en prenant en charge la configuration initiale du système et son évolution à votre place, néanmoins savoir se servir correctement de pacman et comprendre un minimum le fonctionnement de Arch reste nécessaire.
Principaux avantages de CachyOS :
Performance : Basée sur Arch Linux, CachyOS utilise le noyau linux-cachyos optimisé avec le scheduler CPU BORE (Burst-Oriented Response Enhancer) pour de bonnes performances et une latence basse. La distribution la plus performante selon les tests de Phoronix
Paquets optimisés : Les paquets sont compilés avec les jeux d’instructions x86-64-v3, x86-64-v4 et Zen4, ainsi qu’avec LTO pour améliorer les performances. Les paquets principaux bénéficient également d’optimisations PGO ou BOLT.
Choix de l’environnement de bureau : Vous pouvez choisir parmi une variété d’environnements de bureau populaires tels que KDE, GNOME, XFCE, i3WM, Wayfire, LXQT, OpenBox, Cinnamon, UKUI, LXDE, Mate, Budgie, Qtile, Hyprland, et Sway lors du processus d’installation. KDE Plasma reste ma recommandation et le flagship de CachyOS.
Installation personnalisable : CachyOS propose deux options d’installation : une version avec interface graphique basée sur Calamares, et une option en ligne de commande pour ceux qui préfèrent une installation sans interface graphique.
Navigateur par défaut : Cachy-Browser, basé sur Firefox, inclut des fonctionnalités de sécurité supplémentaires et des performances optimisées, intégrant des patchs du navigateur LibreWolf.
CachyOS Hello : Application de gestion des réglages, correctifs, installation de paquets et informations sur CachyOS.
Post-installation et maintenance
Faire un tour sur leur wiki :Wiki CachyOS Particulièrement les pages Gaming et General system Tweaks Certains tweaks de ce wiki sont très importants comme la partie Disabling Split Lock Mitigate de general_system_tweaks, indispensable pour jouer dans de bonnes conditions avec un CPU Intel à partir de la génération 12 et plus. Je traite le problème ici en français.
Comme vous pouvez le voir, CachyOS Hello fournit tout ce qu’il faut pour mettre à jour et maintenir son système.
Installer des applications
L’installation d’applications sur CachyOS peut se faire de plusieurs manières, mais il est recommandé d’utiliser les méthodes qui respectent les bonnes pratiques d’Arch Linux pour éviter des problèmes potentiels. Voici les méthodes recommandées :
Utilisation de CachyOS Package Installer
CachyOS fournit une interface graphique dédiée pour faciliter l’installation des applications les plus courantes. CachyOS Package Installer est accessible via CachyOS Hello et permet d’installer rapidement et simplement les logiciels dont vous avez besoin sans avoir à utiliser la ligne de commande.
Utilisation de Pacman
Pour les utilisateurs plus expérimentés ou ceux qui préfèrent la ligne de commande, Pacman est le gestionnaire de paquets par défaut d’Arch Linux et donc de CachyOS. Vous pouvez installer des applications en utilisant la commande suivante :
sudo pacman -S nom_du_paquet
Remplacez nom_du_paquet par le nom du paquet que vous souhaitez installer. Vous pouvez rechercher des paquets disponibles avec :
Il est fortement déconseillé d’utiliser des interfaces graphiques tierces comme GNOME Software (aussi connu sous le nom de Logiciels) ou KDE Discover pour installer des applications sur CachyOS. Ces outils utilisant packagekit ne sont pas conçus pour gérer les distributions rolling release comme Arch Linux et peuvent causer des problèmes de dépendances ou des conflits de paquets.
Pour plus de détails, vous pouvez consulter les avertissements sur la page Pacman/Tips and tricks du wiki Arch Linux et les discussions sur GitHub.
En résumé, pour une expérience optimale et stable sur CachyOS, privilégiez l’utilisation de CachyOS Package Installer ou de Pacman pour l’installation de vos applications.
Tweaks de CachyOS Hello (personnellement, je ne conseille que Ananicy-cpp-rules) :
Profile-sync-daemon est conçu pour gérer les profils de navigateur dans tmpfs et les synchroniser périodiquement sur le disque physique (HDD/SSD). Cela est réalisé grâce à l’utilisation de rsync pour maintenir la synchronisation entre une copie tmpfs et une sauvegarde sur support des profils de navigateur. De plus, psd dispose de plusieurs fonctionnalités de récupération après crash.
systemd-oomd est un service qui surveille la mémoire de l’ordinateur pour éviter les pannes dues au manque de mémoire. Il prend des mesures correctives en terminant certains programmes avant que le système ne soit à court de mémoire.
bpftune est un outil qui optimise les performances du système en ajustant dynamiquement les paramètres du noyau Linux. Il utilise des programmes eBPF pour surveiller et ajuster les ressources en fonction des besoins.
Ananicy-cpp-rules CachyOS est une collection de règles pour Ananicy-cpp. Ananicy-cpp est un démon qui ajuste automatiquement les niveaux de priorité (nice) des processus, tandis qu’Ananicy-cpp-rules est une liste de règles utilisées pour attribuer des valeurs de priorité spécifiques à certains processus. En français : quand vous lancez une application qui a besoin de puissance, Ananicy-cpp la met en priorité CPU élevée.
Outils de CachyOS Hello :
CachyOS Package Installer : Interface graphique facilitant l’installation des applications les plus courantes.
cachyos-rate-mirrors : Classement automatique des miroirs Arch et CachyOS pour des téléchargements optimaux.
cachyos-gaming-meta : Le paquet cachyos-gaming-meta installe toutes les bibliothèques, paquets, plugins et plateformes essentielles, telles que Steam et Lutris, ainsi que divers outils nécessaires pour assurer le bon fonctionnement de la plupart des jeux.
Autres options : Pour dépaner / maintenir le hello propose d’autres options, comme netoyer le cache ou encore débloquer pacman si il se verrouille…
Installez le méta-paquet cachyos-gaming-meta si vous n’utilisez que Steam :sudo pacman -S cachyos-gaming-meta et utilisez le paquet cachyos-gaming-applications sudo pacman -S cachyos-gaming-meta-applications si vous voulez également Lutris, Heroic Game Launcher etc.
Pour booster vos performances au maximum, vous pouvez ajouter l’option de lancement game-performance %command% à vos jeux Steam. Cette option de lancement est spécifique à CachyOS et remplace le gamemode, donc ne surtout pas utiliser gamemode avec cette option.
Proton-CachyOS est basé sur proton-experimental et applique un ensemble de correctifs supplémentaires :
Correctifs Wine-Staging
Wine FullScreen FSR
Certains patchs sont passés quelques semaines en avance, comme par exemple à l’époque le support de Reflex ou du DLSS 3.
Wineserver est compilé avec LTO
Support du umu-launcher
De plus, Proton-CachyOS est compilé avec les bibliothèques système natives et les instructions CPU du compilateur, ce qui peut encore améliorer les performances.
Notez que proton-cachyos n’est pas un proton ultime, magique, mais il est à l’image de la distribution « cutting-edge » certains jeux tourneront mieux avec proton-ge ou proton-experimental. Exemple quand j’écris ces lignes, ils ont poussé un patch en avance pour le DLSS 3 qui casse le lancement de certains jeux ou peut entrainer de grandes pertes de performances dans d’autres.
Steam Native, qui utilise les librairies système, contrairement à Steam Runtime qui utilise les librairies choisies par Valve, est potentiellement plus performant par moment mais aussi potentiellement moins stable.
Pour Heroic Game Launcher
C’est ma recommandation pour les jeux hors Steam vous pouvez regarder ici : Guide Heroic
Utilisation de sched-ext pour les Schedulers sur Linux
Warning
Complètement inutile pour 99% des utilisateurs, le kernel / scheduler par défaut de Cachy OS est le meilleur dans la plupart des situations. C’est pour un usage niche ou des cas particuliers, exemple, vous passez votre temps à compiler des logiciels et vous remarquez que un des schedulers proposés dans sched-ext vous fait gagner quelques minutes. Ou vous ne jouez que à un seul jeu 90% du temps et vous remarquez que un des scheduler fonctionne mieux que BORE le scheduleur par défaut de CachyOS.
Un scheduler (ou ordonnanceur en français) est une composante essentielle du système d’exploitation qui décide de l’ordre dans lequel les programmes et les processus utilisent le processeur (CPU). En d’autres termes, il organise et gère l’exécution des tâches pour que votre ordinateur fonctionne de manière fluide et efficace, en distribuant les ressources du CPU entre les différentes applications et services qui en ont besoin.
Le projet sched-ext est une fonctionnalité du noyau Linux qui permet de changer à chaud de scheduler. Cela signifie que les utilisateurs peuvent changer de scheduler depuis l’espace utilisateur sans avoir besoin de recompiler le noyau pour un scheduler différent ni de redémarrer le système.
Sur Linux, il existe différents types de schedulers, chacun avec ses propres méthodes pour gérer les tâches. Certains sont optimisés pour la réactivité, d’autres pour les performances maximales, et certains pour une meilleure autonomie de la batterie, etc. En choisissant le bon scheduler, vous pouvez améliorer les performances globales de votre système en fonction de vos besoins spécifiques, comme le gaming ou le montage vidéo.
Le scheduler par défaut de CachyOS est déjà très bon, donc il ne faut pas s’étonner d’obtenir de moins bons résultats en testant les autres. De plus, certains sont orientés vers la latence, ce qui fait que les benchs en performance pure peuvent être moins bons. Un scheduler qui priorise la latence alloue plus fréquemment du temps CPU aux tâches pour réduire le temps d’attente perçu, ce qui nécessite plus de changements de contexte (context switches). Ces changements impliquent des sauvegardes et restaurations fréquentes de l’état des tâches, augmentant ainsi l’overhead. Cet overhead peut réduire l’efficacité globale du CPU, sacrifiant la performance brute au profit de la réactivité, surtout dans des scénarios où la priorité est donnée à l’exécution rapide de tâches lourdes plutôt qu’à la réactivité. Donc un mauvais résultat en FPS moyen ne signifie pas que le scheduler ne fait pas ce qu’on attend de lui.
Warning
ATTENTION ! À part le scheduler par défaut BORE les autres ne sont pas compatible avec Ananicy-cpp-rules CachyOS donc pensez bien à décocher la case dans CachyOS Hello.
Démarrage et utilisation des Schedulers scx
Pour utiliser les schedulers avec sched-ext sur CachyOS, utilisez leur outil graphique CachyOS Kernel Manager :
FAQ
Pourquoi le scheduler X fonctionne-t-il moins bien que les autres ? De nombreuses variables entrent en jeu lors de la comparaison des schedulers, par exemple : Comment mesurent-ils la charge d’une tâche ? Également votre architecture CPU.
Pourquoi tout le monde dit-il que le scheduler X est le meilleur pour un cas X, mais il ne fonctionne pas aussi bien pour moi ? Comme mentionné précédemment, cela dépend du CPU utilisé et de sa conception, qu’il s’agisse de la disposition des cœurs ou d’autres facteurs similaires.
Lequel dois-je choisir ? Cela dépend de vos besoins. Pour des charges de travail mixtes (jeux, programmation, montage vidéo, navigation, etc.), scx_rusty, scx_bpfland, scx_rustland, scx_lavd peuvent convenir.
Stabilité des FPS : scx_bpfland, scx_lavd, en fonction du jeu.
Performance maximale : scx_rusty, scx_lavd.
Réactivité quel que soit la charge de travail : scx_rusty, scx_bpfland.
Autonomie de la batterie : scx_lavd ou scx_rustland.
Chaque scheduler peut être ajusté avec des options spécifiques, dans un terminal avec la commande scx_nomduscheduler --help on peut voir les différentes options et les ajouter dans l’outil sur la ligne « Set sched-ext scheduler flags ».
Pour plus d’informations, vous pouvez consulter les dépôts GitHub suivants :
Pi-hole est un serveur DNS récursif local qui intercepte les requêtes DNS vers des domaines tiers utilisés pour la publicité, le tracking ou les malwares. Il agit comme un sinkhole DNS : si un domaine correspond à une entrée dans une blocklist, il est redirigé vers une IP nulle (0.0.0.0) ou une page locale vide.
Network-wide ad blocking via your own Linux hardware
Cas d’usage
Réduction drastique de la publicité sur les navigateurs, apps, télévisions connectées, objets IoT.
Surcouche de protection contre les domaines malveillants.
Surveillance DNS fine (identification des appareils “bavards”).
Complément de sécurité en entreprise ou dans les foyers.
🔧 Déploiement de Pi-hole
1. Matériel requis
Un Raspberry Pi (modèle 3/4 ou Pi Zero 2 W suffisent).
Ou une VM sous Debian/Ubuntu.
Connexion réseau stable.
Un routeur configurable manuellement.
2. Installation
Sur Debian/Ubuntu (ou Raspberry Pi OS), utilisez le script d’installation officiel :
curl -sSL https://install.pi-hole.net | bash
L’assistant vous guidera pour :
Choisir l’interface réseau
Définir le DNS en amont
Attribuer une IP statique
Configurer le mot de passe d’administration
3. Configuration réseau
Option 1 : Routeur – Redirigez tous les clients LAN vers le Pi-hole comme DNS primaire.
Option 2 : Appareils manuels – Définissez l’adresse DNS de Pi-hole sur chaque client manuellement.
⚙️ Optimisation et sécurité
Blocklists personnalisées
Ajoutez des listes supplémentaires via l’interface :
Pi-hole est un outil extrêmement efficace pour reprendre le contrôle sur votre réseau local. Il bloque la publicité, réduit le tracking, tout en offrant une vue d’ensemble sur l’activité DNS. Une fois intégré à un VPN ou couplé à Grafana, il devient une brique essentielle d’une infrastructure auto-hébergée moderne.
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 Pro will be installed. But you can add the VERSION environment variable to your compose file, in order to specify an alternative Windows version to be downloaded:
environment:
VERSION: "11"
Select from the values below:
Value
Version
Size
11
Windows 11 Pro
5.4 GB
11l
Windows 11 LTSC
4.7 GB
11e
Windows 11 Enterprise
4.0 GB
10
Windows 10 Pro
5.7 GB
10l
Windows 10 LTSC
4.6 GB
10e
Windows 10 Enterprise
5.2 GB
8e
Windows 8.1 Enterprise
3.7 GB
7u
Windows 7 Ultimate
3.1 GB
vu
Windows Vista Ultimate
3.0 GB
xp
Windows XP Professional
0.6 GB
2k
Windows 2000 Professional
0.4 GB
2025
Windows Server 2025
5.6 GB
2022
Windows Server 2022
4.7 GB
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
Tip
To install ARM64 versions of Windows use [dockur/windows-arm](https://github.com/dockur/windows-arm/).
How do I change the storage location?
To change the storage location, include the following bind mount in your compose file:
volumes:
- ./windows:/storage
Replace the example path ./windows with the desired storage folder or named volume.
How do I change the size of the disk?
To expand the default size of 64 GB, add the DISK_SIZE setting to your compose file and set it to your preferred capacity:
environment:
DISK_SIZE: "256G"
Tip
This can also be used to resize the existing disk to a larger capacity without any data loss.
How do I share files with the host?
Open ‘File Explorer’ and click on the ‘Network’ section, you will see a computer called host.lan.
Double-click it and it will show a folder called Data, which can be bound to any folder on your host via the compose file:
volumes:
- ./example:/data
The example folder ./example will be available as \\host.lan\Data.
Tip
You can map this path to a drive letter in Windows, for easier access.
How do I change the amount of CPU or RAM?
By default, the container will be allowed to use a maximum of 2 CPU cores and 4 GB of RAM.
If you want to adjust this, you can specify the desired amount using the following environment variables:
environment:
RAM_SIZE: "8G"
CPU_CORES: "4"
How do I configure the username and password?
By default, a user called Docker is created during installation and its password is admin.
If you want to use different credentials, you can configure them in your compose file (only before installation):
environment:
USERNAME: "bill"
PASSWORD: "gates"
How do I select the Windows language?
By default, the English version of Windows will be downloaded.
But before installation you can add the LANGUAGE environment variable to your compose file, in order to specify an alternative language:
If you want to use a keyboard layout or locale that is not the default for your selected language, you can add KEYBOARD and REGION variables like this (before installation):
environment:
REGION: "en-US"
KEYBOARD: "en-US"
How do I select the edition?
Windows Server offers a minimalistic Core edition without a GUI. To select those non-standard editions, you can add a EDITION variable like this (before installation):
environment:
EDITION: "core"
How do I install a custom image?
In order to download an unsupported ISO image, specify its URL in the VERSION environment variable:
Alternatively, you can also skip the download and use a local file instead, by binding it in your compose file in this way:
volumes:
- ./example.iso:/boot.iso
Replace the example path ./example.iso with the filename of your desired ISO file. The value of VERSION will be ignored in this case.
How do I run a script after installation?
To run your own script after installation, you can create a file called install.bat and place it in a folder together with any additional files it needs (software to be installed for example).
Then bind that folder in your compose file like this:
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.
How do I perform a manual installation?
It’s recommended to stick to the automatic installation, as it adjusts various settings to prevent common issues when running Windows inside a virtual environment.
However, if you insist on performing the installation manually at your own risk, add the following environment variable to your compose file:
environment:
MANUAL: "Y"
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 password admin.
There is a RDP client for Android available from the Play Store and one for iOS in the Apple Store. For Linux you can use FreeRDP
and on Windows just type mstsc in the search box.
How do I assign an individual IP address to the container?
By default, the container uses bridge networking, which shares the IP address with the host.
If you want to assign an individual IP address to the container, you can create a macvlan network as follows:
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.
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.
How can Windows acquire an IP address from my router?
After configuring the container for macvlan, it is possible for Windows to become part of your home network by requesting an IP from your router, just like a real PC.
To enable this mode, in which the container and Windows will have separate IP addresses, add the following lines to your compose file:
It is possible to pass-through disk devices or partitions directly by adding them to your compose file in this way:
devices:
- /dev/sdb:/disk1
- /dev/sdc1:/disk2
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).
How do I pass-through a USB device?
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:
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.
How do I verify if my system supports KVM?
First check if your software is compatible using this chart:
Product
Linux
Win11
Win10
macOS
Docker CLI
✅
✅
❌
❌
Docker Desktop
❌
✅
❌
❌
Podman CLI
✅
✅
❌
❌
Podman Desktop
✅
✅
❌
❌
After that you can run the following commands in Linux to check your system:
sudo apt install cpu-checker
sudo kvm-ok
If you receive an error from kvm-ok indicating that KVM cannot be used, please check whether:
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.
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.
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 will 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.