Now the script is available at
So, I have reviewed the whole script and done some workarounds for some bugs and issues there exists in pwsh scripts. I had created a script that worked Windows 10 Pro, but we found some issues in Home and Windows Server 2016.
The last commit I have tested against The latest Windows 10 Pro and latest Windows Server build. All working.
If anyone wanna test in Windows Containers you have to use this dockerfile
# escape=` FROM mcr.microsoft.com/powershell:lts-nanoserver-1903 USER ContainerAdministrator ENTRYPOINT [ "pwsh.exe" ]
All Windows images have issues with the administrator user (BTW, the environment variables are “frozen” in any windows image - you gonna be able to edit it, but it won’t be permanent). So, you have to force it. I have tested with
mcr.microsoft.com/powershell:windowsservercore, but don’t try. These images, and several others a HUGE (7GB+++). Microsoft is really bad with Docker images. Only nanoserver image is good, but it has several bugs. If you insist, it will work just fine.
I still have to test the @joaquin’s test example https://gist.github.com/darkn3rd/1e8ec7e6f60c3e10c682e02f388f1de0 - As I was working to solve the testing on docker and other bugs, I didn’t have time to test with it. But I will.
BTW, Powershell has Linux images. They won’t work with this script. The Linux images are good for other purposes.
Tests that can be performed with the Script
1 - Normal installation.
A. Deny the first prompt to accept the license.
B. Accept and install normally.
iwr 192.168.10.90:4507/install.ps1 -useb | iex
2 - Install with the variable accepting the license,
$ acceptLicense = "yes"; iwr 192.168.10.90:4507/install.ps1 -useb | iex
3 - Install an older version using the Version variable
NOTE. If the user already has a Dgraph installation, the only way to overwrite it is by using the Version variable. I did this to avoid accidental upgrades.
$ Version = "v20.03.1"; iwr 192.168.10.90:4507/install.ps1 -useb | iex
4 - Install an older version and accept the license at the same time.
$ Version = "v20.03.1"; $ acceptLicense = "yes"; iwr 192.168.10.90:4507/install.ps1 -useb | iex
There are also flags.
Flags are tricky in Windows Powershell. The user must download the script to make it work. There’s no way to run (as fas as I know) flags on remote Scripts.
iwr http://get.dgraph.io/install.ps1 -useb -outf install.ps1; \ .\install.ps1 -version v20.03.1 -acceptLicense y
Example in real life:
# Install Latest > iwr https://get.dgraph.io/install.ps1 -useb | iex # Install a predefined version via variable. > $Version="v20.03.1"; iwr http://get.dgraph.io/install.ps1 -useb | iex # Install a predefined version and accept license via variable. > $Version="v20.03.1"; $acceptLicense="yes" ; iwr http://get.dgraph.io/install.ps1 -useb | iex # Install a predefined version adn accept the license via flag args. > iwr http://get.dgraph.io/install.ps1 -useb -outf install.ps1; .\install.ps1 -version v20.03.1 -acceptLicense y