docs/deploy-from-windows.md
You have three options to run Algo on Windows:
The PowerShell script provides the easiest Windows experience by automatically using WSL when needed:
git clone https://github.com/trailofbits/algo
cd algo
.\algo.ps1
How it works:
Requirements:
For users who prefer a full Linux environment or need advanced features:
wsl --install -d Ubuntu-22.04
cd ~
git clone https://github.com/trailofbits/algo
cd algo
./algo
Important: Don't install Algo in /mnt/c directory due to file permission issues.
You may encounter permission issues if you clone Algo to a Windows drive (like /mnt/c/). Symptoms include:
If you see these errors, configure WSL:
/etc/wsl.conf to allow metadata:[automount]
options = "metadata"
wsl --shutdown
chmod 744 .
Why this happens: Windows filesystems mounted in WSL (/mnt/c/) don't support Unix file permissions by default. Git can't set executable bits, and Ansible refuses to load configs from "world-writable" directories for security.
After deployment, copy configs to Windows:
cp -r configs /mnt/c/Users/$USER/
If you have Git for Windows installed, you can use the included Git Bash terminal:
git clone https://github.com/trailofbits/algo
cd algo
./algo
Pros:
./algo scriptCons:
Note: This approach is not recommended due to Ansible's Unix requirements. Use WSL-based options instead.