mirror of
				https://github.com/jakeswenson/BitBetter.git
				synced 2025-10-31 12:53:25 +00:00 
			
		
		
		
	Add comments and fix minor issues
This commit is contained in:
		
							parent
							
								
									86ca7b4100
								
							
						
					
					
						commit
						34b274f24a
					
				
							
								
								
									
										62
									
								
								build.ps1
									
									
									
									
									
								
							
							
						
						
									
										62
									
								
								build.ps1
									
									
									
									
									
								
							|  | @ -1,5 +1,11 @@ | |||
| if (Test-Path "$pwd\temp") { | ||||
| 	Remove-Item "$pwd\temp" -Recurse -Force | ||||
| # define temporary directory | ||||
| $tempdirectory = "$pwd\temp" | ||||
| # define services to patch | ||||
| $components = "Api","Identity" | ||||
| 
 | ||||
| # delete old directories / files if applicable | ||||
| if (Test-Path "$tempdirectory") { | ||||
| 	Remove-Item "$tempdirectory" -Recurse -Force | ||||
| } | ||||
| 
 | ||||
| if (Test-Path -Path "$pwd\licenseGen\Core.dll" -PathType Leaf) { | ||||
|  | @ -14,61 +20,83 @@ if (Test-Path -Path "$pwd\bitBetter\cert.cert" -PathType Leaf) { | |||
| 	Remove-Item "$pwd\bitBetter\cert.cert" -Force | ||||
| } | ||||
| 
 | ||||
| # generate keys if none are available | ||||
| if (!(Test-Path "$pwd\.keys")) { | ||||
| 	.\generateKeys.ps1 | ||||
| } | ||||
| 
 | ||||
| # copy the key to bitBetter and licenseGen | ||||
| Copy-Item "$pwd\.keys\cert.cert" -Destination "$pwd\bitBetter" | ||||
| Copy-Item "$pwd\.keys\cert.pfx" -Destination "$pwd\licenseGen" | ||||
| 
 | ||||
| # build bitBetter and clean the source directory after | ||||
| docker build -t bitbetter/bitbetter "$pwd\bitBetter" | ||||
| Remove-Item "$pwd\bitBetter\cert.cert" -Force | ||||
| 
 | ||||
| $components = "Api","Identity" | ||||
| # gather all running instances | ||||
| $oldinstances = docker container ps --all -f Name=bitwarden --format '{{.ID}}' | ||||
| 
 | ||||
| # stop all running instances | ||||
| foreach ($instance in $oldinstances) { | ||||
| 	docker stop $instance | ||||
| 	docker rm $instance | ||||
| } | ||||
| 
 | ||||
| # update bitwarden itself | ||||
| $confirmation = Read-Host "Update bitwarden source container" | ||||
| if ($confirmation -eq 'y') { | ||||
|     docker pull bitwarden/self-host:beta | ||||
| } | ||||
| 
 | ||||
| # stop and remove previous existing patch(ed) container | ||||
| docker stop bitwarden-patch | ||||
| docker rm bitwarden-patch | ||||
| docker image rm bitwarden-patch | ||||
| 
 | ||||
| # start a new bitwarden instance so we can patch it | ||||
| $patchinstance = docker run -d --name bitwarden-patch bitwarden/self-host:beta | ||||
| 
 | ||||
| New-item -ItemType Directory -Path "$pwd\temp" | ||||
| # create our temporary directory | ||||
| New-item -ItemType Directory -Path $tempdirectory | ||||
| 
 | ||||
| # extract the files that need to be patched from the services that need to be patched into our temporary directory | ||||
| foreach ($component in $components) { | ||||
| 	New-item -itemtype Directory -path "$pwd\temp\$component" | ||||
| 	docker cp $patchinstance`:/app/$component/Core.dll "$pwd\temp\$component\Core.dll" | ||||
| 	New-item -itemtype Directory -path "$tempdirectory\$component" | ||||
| 	docker cp $patchinstance`:/app/$component/Core.dll "$tempdirectory\$component\Core.dll" | ||||
| } | ||||
| 
 | ||||
| docker run -v "$pwd\temp:/app/mount" --rm bitbetter/bitbetter | ||||
| # run bitBetter, this applies our patches to the required files | ||||
| docker run -v "$tempdirectory`:/app/mount" --rm bitbetter/bitbetter | ||||
| 
 | ||||
| # copy the patched files back into the temporary instance | ||||
| foreach ($component in $components) { | ||||
| 	docker cp "$pwd\temp\$component\Core.dll" $patchinstance`:/app/$component/Core.dll | ||||
| 	docker cp "$tempdirectory\$component\Core.dll" $patchinstance`:/app/$component/Core.dll | ||||
| } | ||||
| 
 | ||||
| # create a new image from our patched instanced | ||||
| docker commit $patchinstance bitwarden-patch | ||||
| 
 | ||||
| # stop and remove our temporary container | ||||
| docker stop bitwarden-patch | ||||
| docker rm bitwarden-patch | ||||
| 
 | ||||
| Copy-Item "$pwd\temp\Identity\Core.dll" -Destination "$pwd\licenseGen" | ||||
| Remove-Item "$pwd\temp" -Recurse -Force | ||||
| # copy our patched library to the licenseGen source directory | ||||
| Copy-Item "$tempdirectory\Identity\Core.dll" -Destination "$pwd\licenseGen" | ||||
| 
 | ||||
| $newinstances = @() | ||||
| # remove our temporary directory | ||||
| Remove-Item "$tempdirectory" -Recurse -Force | ||||
| 
 | ||||
| # start all user requested instances | ||||
| foreach($line in Get-Content "$pwd\.servers\serverlist.txt") { | ||||
| 	$newinstace = @(Invoke-Expression "& $line") | ||||
| 	$newinstances += $newinstace | ||||
| } | ||||
| 
 | ||||
| foreach ($instance in $newinstances) { | ||||
| 	docker start $instance | ||||
| 	Invoke-Expression "& $line" | ||||
| } | ||||
| 
 | ||||
| # remove our bitBetter image | ||||
| docker image rm bitbetter/bitbetter | ||||
| 
 | ||||
| # build the licenseGen | ||||
| docker build -t bitbetter/licensegen "$pwd\licenseGen" | ||||
| 
 | ||||
| # clean the licenseGen source directory | ||||
| Remove-Item "$pwd\licenseGen\Core.dll" -Force | ||||
| Remove-Item "$pwd\licenseGen\cert.pfx" -Force | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user