Skip to content

Commit

Permalink
Merge pull request #35 from ThePorgs/dev-wrapper
Browse files Browse the repository at this point in the history
Fix wrapper install for Windows
  • Loading branch information
Dramelac authored Nov 4, 2023
2 parents a1f27aa + dcf898f commit a85801b
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 34 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 13 additions & 2 deletions source/getting-started/faq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,9 @@ There are multiple checks to do to make sure Docker works properly.
.. tab:: Docker service

The Docker service must installed up and running.
For Windows users, Docker Desktop for Windows must be up and running.
For macOS users, Docker Desktop for Mac (or `OrbStack <https://orbstack.dev/>`_) must be up and running.

- For Windows users: Docker Desktop for Windows must be up and running.
- For macOS users: Docker Desktop for Mac (or `OrbStack <https://orbstack.dev/>`_) must be up and running.

.. tab:: Docker permissions

Expand Down Expand Up @@ -139,4 +140,14 @@ For macOS users, XQuartz is needed. It's listed in the :ref:`install requirement

Exegol's wrapper automatically starts XQuartz on macOS hosts when needed. But if for some reason it gets manually closed by the users while a container is running, X11 sharing will not work. Restarting the container with ``exegol restart <container>`` will restart XQuartz automatically if needed.

Can I install docker directly on my WSL2 distro instead of Docker Desktop ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Yes, it's possible to install docker directly on WSL2 rather than using Docker Desktop, but you'll be restricted to your WSL2 environment and its constraints.

Although Docker Desktop is incomplete, it does offer a few advantages (exegol can be used from powershell / cmd, windows folder sharing with the exegol workstation, etc).
We therefore recommend **Docker Desktop as the official support** for Exegol.

We do **not** guarantee wrapper stability with a directly installed WSL docker.

.. TODO: add a note, when the Desktop feature is in prod, that explains the ups and dows of X11 vs. Desktop mode.
45 changes: 13 additions & 32 deletions source/getting-started/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ The following elements are required before Exegol can be installed, whatever the

* git (`Linux <https://github.com/git-guides/install-git#install-git-on-linux>`__ | `macOS <https://github.com/git-guides/install-git#install-git-on-mac>`__ | `Windows <https://github.com/git-guides/install-git#install-git-on-windows>`__)
* python3 (`Linux <https://docs.python.org/3/using/unix.html#on-linux>`__ | `macOS <https://www.python.org/downloads/macos/>`__ | `Windows <https://www.python.org/downloads/windows/>`__)
* docker (`Linux <https://docs.docker.com/engine/install/debian/>`__ | `macOS <https://docs.docker.com/desktop/install/mac-install/>`__ | `Windows <https://docs.docker.com/desktop/install/windows-install/>`__)
* docker (`Linux <https://docs.docker.com/engine/install/debian/>`__) or Docker Desktop (`macOS <https://docs.docker.com/desktop/install/mac-install/>`__ | `Windows <https://docs.docker.com/desktop/install/windows-install/>`__)
* at least 20GB of free storage

Additional dependencies may be required depending on the host OS.
Expand Down Expand Up @@ -88,43 +88,24 @@ Additional dependencies may be required depending on the host OS.

To support graphical applications (:ref:`display sharing functionality <feature_display_sharing>`, e.g. Bloodhound, Wireshark, Burp, etc.), additional dependencies and configuration are required:

* Windows **10** (with `KB5020030 <https://support.microsoft.com/en-gb/topic/november-15-2022-kb5020030-os-builds-19042-2311-19043-2311-19044-2311-and-19045-2311-preview-237a9048-f853-4e29-a3a2-62efdbea95e2>`_), or Windows **11**, is required
* Docker must run on **WSL2** engine (`how to <https://learn.microsoft.com/en-us/windows/wsl/install>`_)
* `WSLg <https://github.com/microsoft/wslg#installing-wslg>`_ must be installed
* at least one WSL distribution must be **installed** as well (e.g. Debian), with **Docker integration** and **Systemd** enabled
* Windows **10** (up to date), or Windows **11**, is required
* **Docker Desktop** installed on the Windows host
* Docker Desktop must be configured to run on **WSL2** engine (`how to <https://learn.microsoft.com/en-us/windows/wsl/install>`_)
* `WSLg <https://github.com/microsoft/wslg#installing-wslg>`_ must be installed to support graphical application
* at least one WSL distribution must be **installed** as well (e.g. Debian), with **Docker integration** enabled (see screenshot below)

.. tip::
To check if ``systemd`` is enabled on the distribution under WSL, the command below can be used.

.. code-block:: bash
sudo systemctl status
To enable ``systemd``, the steps below can be followed.

.. code-block:: bash
sudo -e /etc/wsl.conf
Add the following content:

.. code-block:: bash
[boot]
systemd=true
Then restart the distribution under WSL, and make sure ``systemd`` is enabled.

.. code-block:: bash
.. figure:: /assets/install/windows_dockerdesktop_wsl_config.png
:align: center
:alt: Windows Docker Desktop WSL integration configuration

sudo systemctl status
Windows Docker Desktop WSL integration configuration

.. important::
To support graphical applications, the distribution under WSL must have ``x11-xserver-utils`` installed.
In a Windows environment, the Exegol wrapper can be installed **either** in a **WSL shell** or directly in your Windows environment with **Powershell**.

.. code-block:: bash
.. warning::

sudo apt-get install x11-xserver-utils
Please note that it is **not** advisable to use Exegol from both environments at the same time, as this could lead to conflicts and Exegol does not officially support this configuration.

.. _exegol_install:

Expand Down

0 comments on commit a85801b

Please sign in to comment.