Install Steam on persistent data disk that is never destroyed by terraform
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
$DataDiskLun = '${datadisk_lun}'
|
||||
$DataDiskDriveLetter = '${datadisk_drive_letter}'
|
||||
|
||||
$TailscaleUri = 'https://pkgs.tailscale.com/stable/tailscale-setup-1.88.3-amd64.msi'
|
||||
$TailscaleMsi = 'tailscale.msi'
|
||||
$TailscaleInstalledExe = 'C:\Program Files\Tailscale\tailscale.exe'
|
||||
@@ -15,6 +20,20 @@ $SunshineInstallerExe = 'sunshine-installer.exe'
|
||||
$SteamInstallerUri = 'https://cdn.fastly.steamstatic.com/client/installer/SteamSetup.exe'
|
||||
$SteamInstallerExe = 'steam-installer.exe'
|
||||
|
||||
Write-Host "Setting up data disk"
|
||||
|
||||
$DataDisk = Get-Disk | Where-Object { $_.Location -Like "*LUN $DataDiskLun*" }
|
||||
if ($DataDisk.PartitionStyle -eq 'raw') {
|
||||
Initialize-Disk -UniqueId $DataDisk.UniqueId -PartitionStyle GPT
|
||||
New-Partition -DiskId $DataDisk.UniqueId -UseMaximumSize -DriveLetter $DataDiskDriveLetter
|
||||
Format-Volume -DriveLetter $DataDiskDriveLetter -FileSystem NTFS -NewFileSystemLabel DataDisk -Confirm:$False
|
||||
} else {
|
||||
$Partition = Get-Partition -DiskNumber $DataDisk.DiskNumber | Where-Object { $_.Type -eq "Basic" }
|
||||
Set-Partition -InputObject $Partition -NewDriveLetter $DataDiskDriveLetter
|
||||
}
|
||||
|
||||
Write-Host "Done setting up data disk"
|
||||
|
||||
Write-Host "Provisioning software"
|
||||
|
||||
##
|
||||
@@ -66,11 +85,17 @@ Write-Host 'Done installing Sunshine, configure at https://localhost:47990/'
|
||||
##
|
||||
# Steam
|
||||
Write-Host "Installing Steam"
|
||||
Write-Host "Downloading Steam installer from $SteamInstallerUri to $SteamInstallerExe"
|
||||
Invoke-WebRequest -UseBasicParsing -Uri $SteamInstallerUri -OutFile $SteamInstallerExe
|
||||
|
||||
Write-Host "Installing Steam from $SteamInstallerExe"
|
||||
Start-Process $SteamInstallerExe -ArgumentList '/S' -Wait -NoNewWindow -PassThru
|
||||
if(Test-Path "$($DataDiskDriveLetter):\Steam\Steam.exe") {
|
||||
Write-Host "Steam is already installed, skipping"
|
||||
} else {
|
||||
Write-Host "Downloading Steam installer from $SteamInstallerUri to $SteamInstallerExe"
|
||||
Invoke-WebRequest -UseBasicParsing -Uri $SteamInstallerUri -OutFile $SteamInstallerExe
|
||||
|
||||
Write-Host "Installing Steam from $SteamInstallerExe"
|
||||
New-Item -Path "$($DataDiskDriveLetter):\" -Name 'Steam' -ItemType Directory
|
||||
Start-Process $SteamInstallerExe -ArgumentList '/S', "/D=$($DataDiskDriveLetter):\Steam" -Wait -NoNewWindow -PassThru
|
||||
}
|
||||
|
||||
Write-Host 'Done installing Steam'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user