diff --git a/.github/styles/config/vocabularies/Docs/accept.txt b/.github/styles/config/vocabularies/Docs/accept.txt index 1188ac3359..c70b6cf121 100644 --- a/.github/styles/config/vocabularies/Docs/accept.txt +++ b/.github/styles/config/vocabularies/Docs/accept.txt @@ -196,6 +196,7 @@ Thymeleaf TravaOpenJDK Typescale TypeScript +Ubuntu [uU]nbuffered [uU]ndeploy [uU]nix @@ -221,6 +222,7 @@ WebSphere widget's WildFly Workbox +WSL Xcode XPath diff --git a/articles/control-center/troubleshooting/images/enable_kubernetes.png b/articles/control-center/troubleshooting/images/enable_kubernetes.png new file mode 100644 index 0000000000..7a9c93d0da Binary files /dev/null and b/articles/control-center/troubleshooting/images/enable_kubernetes.png differ diff --git a/articles/control-center/troubleshooting/images/enable_ubuntu_distribution.png b/articles/control-center/troubleshooting/images/enable_ubuntu_distribution.png new file mode 100644 index 0000000000..8f3a431d83 Binary files /dev/null and b/articles/control-center/troubleshooting/images/enable_ubuntu_distribution.png differ diff --git a/articles/control-center/troubleshooting/images/enable_wsl.png b/articles/control-center/troubleshooting/images/enable_wsl.png new file mode 100644 index 0000000000..e4d84329ec Binary files /dev/null and b/articles/control-center/troubleshooting/images/enable_wsl.png differ diff --git a/articles/control-center/troubleshooting/index.adoc b/articles/control-center/troubleshooting/index.adoc index ba8f5a37c4..b810ef6067 100644 --- a/articles/control-center/troubleshooting/index.adoc +++ b/articles/control-center/troubleshooting/index.adoc @@ -158,3 +158,63 @@ image::images/docker_image_not_found.png[Docker image not found] If the image is hosted in a private repository, you might need to provide an image pull secret as necessary authentication to pull the image. This value can be provided in the application deploy screen, below the field where the docker image is provided. + + +== Install Control Center in WSL + +One of the possible solutions to install Control Center on Windows in a local environment is to use https://www.docker.com/products/docker-desktop[Docker Desktop] and https://learn.microsoft.com/en-us/windows/wsl[WSL] (Windows Subsystem for Linux). First you need to https://learn.microsoft.com/en-us/windows/wsl/install[install] the WSL. It is important you choose a distribution during the installation where you can install Helm: + +[source,shell] +---- +wsl --install -d +---- + +One option is to use the Ubuntu distribution: +[source,shell] +---- +wsl --install -d Ubuntu +---- + +Then you need to enable the Kubernetes and WSL built-in engines in Docker Desktop: + +image::images/enable_kubernetes.png[Enable Kubernetes] + +image::images/enable_wsl.png[Enable WSL] + +You also need to enable the integration with the Ubuntu distribution in Docker Desktop: + +image::images/enable_ubuntu_distribution.png[Enable Ubuntu Distribution] + +Then you can start the WSL with the following command using the distribution you chose before, in this case the Ubuntu: + +[source,shell] +---- +wsl.exe -d Ubuntu +---- + +After you need to use the WSL terminal to install Helm and Control Center. First, you need to https://helm.sh/docs/intro/install/#from-apt-debianubuntu[install] Helm before you can start to xref:../getting-started/local-environment#deploying_control_center[install] Control Center in the local environment with the command: + +[source,bash] +---- +helm install control-center oci://docker.io/vaadin/control-center \ + -n control-center --create-namespace \ + --set domain=local \ + --set user.email=example@foo.com \ + --wait +---- + +It is important to xref:../getting-started/local-environment#windows[update] the `hosts` file on the Windows system, which is usually located at `C:\Windows\System32\drivers\etc\hosts`, with the domain you used during the Control Center installation, in this case with the `control.local` and `auth.local` domains: + +[source,text] +---- +# Added by Docker Desktop: +192.168.31.179 host.docker.internal +192.168.31.179 gateway.docker.internal +# Added by Docker Desktop to allow the same kube context to work on the host and the container: +127.0.0.1 kubernetes.docker.internal +# You need to add these entries: +127.0.0.1 control.local +127.0.0.1 auth.local +---- + +Note that there are other entries added to the `hosts` file which are also important. Those should be added automatically by the Docker Desktop when the Kubernetes and WSL engines are enabled.