Add installation guidance for WSL (Linux on Windows)
As per our office hours discussion on Mar 24, we can update our windows install guidance to more clearly guide the install process for Windows.
Logging here some notes from our discussion which could be candidates for improving the docs:
- WSL2 is recommended approach. Everything should work on WSL2. (If not, please open a an issue.)
- WSL2 does require hypervisor support on the client machine, and this is occasionally (but rarely) disabled in firmware or by administrators. If users have this locked down, they can use WSL1, but that is not our recommended approach.
Alternative approaches:
- The Docker on Windows approach can work as well but this is not necessarily a recommended for less technical users who might not know anything about Docker when they start using Meltano.
- There's also a catch-22 in the Docker instead of WSL2, in that Docker itself is also much more efficient when running on WSL2. Docker in Windows is (or at least historically has been) much more resource intensive without WSL2 as its backend.
From Docker's documentation site (https://docs.docker.com/docker-for-windows/wsl/):
Docker Desktop uses the dynamic memory allocation feature in WSL 2 to greatly improve the resource consumption. This means, Docker Desktop only uses the required amount of CPU and memory resources it needs, while enabling CPU and memory-intensive tasks such as building a container to run much faster. Additionally, with WSL 2, the time required to start a Docker daemon after a cold start is significantly faster. It takes less than 10 seconds to start the Docker daemon when compared to almost a minute in the previous version of Docker Desktop.
Since WSL2 is required anyway for the most efficient install of Docker, it probably makes sense that we just continue to recommend using WSL2.