mirror of
				https://github.com/jakeswenson/BitBetter.git
				synced 2025-10-31 04:43:25 +00:00 
			
		
		
		
	Fix line endings
This commit is contained in:
		
							parent
							
								
									a527d425fd
								
							
						
					
					
						commit
						5cff265a2a
					
				
							
								
								
									
										248
									
								
								build.sh
									
									
									
									
									
								
							
							
						
						
									
										248
									
								
								build.sh
									
									
									
									
									
								
							|  | @ -1,125 +1,125 @@ | |||
| #!/bin/bash | ||||
| set -e | ||||
| 
 | ||||
| # define temporary directory | ||||
| TEMPDIRECTORY="$PWD/temp" | ||||
| 
 | ||||
| # define services to patch | ||||
| COMPONENTS=("Api" "Identity") | ||||
| 
 | ||||
| # delete old directories / files if applicable | ||||
| if [ -d "$TEMPDIRECTORY" ]; then | ||||
| 	rm -rf "$TEMPDIRECTORY" | ||||
| fi | ||||
| 
 | ||||
| if [ -f "$PWD/src/licenseGen/Core.dll" ]; then | ||||
|     rm -f "$PWD/src/licenseGen/Core.dll" | ||||
| fi | ||||
| 
 | ||||
| if [ -f "$PWD/src/licenseGen/cert.pfx" ]; then | ||||
|     rm -f "$PWD/src/licenseGen/cert.pfx" | ||||
| fi | ||||
| 
 | ||||
| if [ -f "$PWD/src/bitBetter/cert.cert" ]; then | ||||
|     rm -f "$PWD/src/bitBetter/cert.cert" | ||||
| fi | ||||
| 
 | ||||
| # generate keys if none are available | ||||
| if [ ! -d "$PWD/.keys" ]; then | ||||
| 	./generateKeys.sh | ||||
| fi | ||||
| 
 | ||||
| # copy the key to bitBetter | ||||
| cp -f "$PWD/.keys/cert.cert" "$PWD/src/bitBetter" | ||||
| 
 | ||||
| # build bitBetter and clean the source directory after | ||||
| docker build --no-cache -t bitbetter/bitbetter "$PWD/src/bitBetter" | ||||
| rm -f "$PWD/src/bitBetter/cert.cert" | ||||
| 
 | ||||
| # gather all running instances | ||||
| OLDINSTANCES=$(docker container ps --all -f Name=bitwarden --format '{{.ID}}') | ||||
| 
 | ||||
| # stop and remove all running instances | ||||
| for INSTANCE in ${OLDINSTANCES[@]}; do | ||||
| 	docker stop $INSTANCE | ||||
| 	docker rm $INSTANCE | ||||
| done | ||||
| 
 | ||||
| # update bitwarden itself | ||||
| if [ "$1" = "update" ]; then | ||||
| 	docker pull ghcr.io/bitwarden/self-host:beta | ||||
| else | ||||
| 	read -p "Update (or get) bitwarden source container (y/n): " -n 1 -r | ||||
| 	echo | ||||
| 	if [[ $REPLY =~ ^[Yy]$ ]] | ||||
| 	then | ||||
| 		docker pull ghcr.io/bitwarden/self-host:beta | ||||
| 	fi | ||||
| fi | ||||
| 
 | ||||
| # stop and remove previous existing patch(ed) container | ||||
| OLDINSTANCES=$(docker container ps --all -f Ancestor=bitwarden-patched --format '{{.ID}}') | ||||
| for INSTANCE in ${OLDINSTANCES[@]}; do | ||||
| 	docker stop $INSTANCE | ||||
| 	docker rm $INSTANCE | ||||
| done | ||||
| OLDINSTANCES=$(docker image ls bitwarden-patched --format '{{.ID}}') | ||||
| for INSTANCE in ${OLDINSTANCES[@]}; do | ||||
| 	docker image rm $INSTANCE | ||||
| done | ||||
| 
 | ||||
| # remove old extract containers | ||||
| OLDINSTANCES=$(docker container ps --all -f Name=bitwarden-extract --format '{{.ID}}') | ||||
| for INSTANCE in ${OLDINSTANCES[@]}; do | ||||
| 	docker stop $INSTANCE | ||||
| 	docker rm $INSTANCE | ||||
| done | ||||
| 
 | ||||
| # start a new bitwarden instance so we can patch it | ||||
| PATCHINSTANCE=$(docker run -d --name bitwarden-extract ghcr.io/bitwarden/self-host:beta) | ||||
| 
 | ||||
| # create our temporary directory | ||||
| mkdir $TEMPDIRECTORY | ||||
| 
 | ||||
| # extract the files that need to be patched from the services that need to be patched into our temporary directory | ||||
| for COMPONENT in ${COMPONENTS[@]}; do | ||||
| 	mkdir "$TEMPDIRECTORY/$COMPONENT" | ||||
| 	docker cp $PATCHINSTANCE:/app/$COMPONENT/Core.dll "$TEMPDIRECTORY/$COMPONENT/Core.dll" | ||||
| done | ||||
| 
 | ||||
| # stop and remove our temporary container | ||||
| docker stop bitwarden-extract | ||||
| docker rm bitwarden-extract | ||||
| 
 | ||||
| # run bitBetter, this applies our patches to the required files | ||||
| docker run -v "$TEMPDIRECTORY:/app/mount" --rm bitbetter/bitbetter | ||||
| 
 | ||||
| # create a new image with the patched files | ||||
| docker build . --tag bitwarden-patched --file "$PWD/src/bitBetter/Dockerfile-bitwarden-patch" | ||||
| 
 | ||||
| # start all user requested instances | ||||
| if [ -f "$PWD/src/bitBetter/cert.cert" ]; then | ||||
| 	sed -i 's/\r$//' "$PWD/.servers/serverlist.txt" | ||||
| 	cat "$PWD/.servers/serverlist.txt" | while read -r LINE; do | ||||
| 		if [[ $LINE == "#*" ]]; then | ||||
| 			bash -c "$LINE" | ||||
| 		fi | ||||
| 	done | ||||
| fi | ||||
| 
 | ||||
| # remove our bitBetter image | ||||
| docker image rm bitbetter/bitbetter | ||||
| 
 | ||||
| # copy our patched library to the licenseGen source directory | ||||
| cp -f "$TEMPDIRECTORY/Identity/Core.dll" "$PWD/src/licenseGen" | ||||
| cp -f "$PWD/.keys/cert.pfx" "$PWD/src/licenseGen" | ||||
| 
 | ||||
| # build the licenseGen | ||||
| docker build -t bitbetter/licensegen "$PWD/src/licenseGen" | ||||
| 
 | ||||
| # clean the licenseGen source directory | ||||
| rm -f "$PWD/src/licenseGen/Core.dll" | ||||
| rm -f "$PWD/src/licenseGen/cert.pfx" | ||||
| 
 | ||||
| # remove our temporary directory | ||||
| #!/bin/bash | ||||
| set -e | ||||
| 
 | ||||
| # define temporary directory | ||||
| TEMPDIRECTORY="$PWD/temp" | ||||
| 
 | ||||
| # define services to patch | ||||
| COMPONENTS=("Api" "Identity") | ||||
| 
 | ||||
| # delete old directories / files if applicable | ||||
| if [ -d "$TEMPDIRECTORY" ]; then | ||||
| 	rm -rf "$TEMPDIRECTORY" | ||||
| fi | ||||
| 
 | ||||
| if [ -f "$PWD/src/licenseGen/Core.dll" ]; then | ||||
|     rm -f "$PWD/src/licenseGen/Core.dll" | ||||
| fi | ||||
| 
 | ||||
| if [ -f "$PWD/src/licenseGen/cert.pfx" ]; then | ||||
|     rm -f "$PWD/src/licenseGen/cert.pfx" | ||||
| fi | ||||
| 
 | ||||
| if [ -f "$PWD/src/bitBetter/cert.cert" ]; then | ||||
|     rm -f "$PWD/src/bitBetter/cert.cert" | ||||
| fi | ||||
| 
 | ||||
| # generate keys if none are available | ||||
| if [ ! -d "$PWD/.keys" ]; then | ||||
| 	./generateKeys.sh | ||||
| fi | ||||
| 
 | ||||
| # copy the key to bitBetter | ||||
| cp -f "$PWD/.keys/cert.cert" "$PWD/src/bitBetter" | ||||
| 
 | ||||
| # build bitBetter and clean the source directory after | ||||
| docker build --no-cache -t bitbetter/bitbetter "$PWD/src/bitBetter" | ||||
| rm -f "$PWD/src/bitBetter/cert.cert" | ||||
| 
 | ||||
| # gather all running instances | ||||
| OLDINSTANCES=$(docker container ps --all -f Name=bitwarden --format '{{.ID}}') | ||||
| 
 | ||||
| # stop and remove all running instances | ||||
| for INSTANCE in ${OLDINSTANCES[@]}; do | ||||
| 	docker stop $INSTANCE | ||||
| 	docker rm $INSTANCE | ||||
| done | ||||
| 
 | ||||
| # update bitwarden itself | ||||
| if [ "$1" = "update" ]; then | ||||
| 	docker pull ghcr.io/bitwarden/self-host:beta | ||||
| else | ||||
| 	read -p "Update (or get) bitwarden source container (y/n): " -n 1 -r | ||||
| 	echo | ||||
| 	if [[ $REPLY =~ ^[Yy]$ ]] | ||||
| 	then | ||||
| 		docker pull ghcr.io/bitwarden/self-host:beta | ||||
| 	fi | ||||
| fi | ||||
| 
 | ||||
| # stop and remove previous existing patch(ed) container | ||||
| OLDINSTANCES=$(docker container ps --all -f Ancestor=bitwarden-patched --format '{{.ID}}') | ||||
| for INSTANCE in ${OLDINSTANCES[@]}; do | ||||
| 	docker stop $INSTANCE | ||||
| 	docker rm $INSTANCE | ||||
| done | ||||
| OLDINSTANCES=$(docker image ls bitwarden-patched --format '{{.ID}}') | ||||
| for INSTANCE in ${OLDINSTANCES[@]}; do | ||||
| 	docker image rm $INSTANCE | ||||
| done | ||||
| 
 | ||||
| # remove old extract containers | ||||
| OLDINSTANCES=$(docker container ps --all -f Name=bitwarden-extract --format '{{.ID}}') | ||||
| for INSTANCE in ${OLDINSTANCES[@]}; do | ||||
| 	docker stop $INSTANCE | ||||
| 	docker rm $INSTANCE | ||||
| done | ||||
| 
 | ||||
| # start a new bitwarden instance so we can patch it | ||||
| PATCHINSTANCE=$(docker run -d --name bitwarden-extract ghcr.io/bitwarden/self-host:beta) | ||||
| 
 | ||||
| # create our temporary directory | ||||
| mkdir $TEMPDIRECTORY | ||||
| 
 | ||||
| # extract the files that need to be patched from the services that need to be patched into our temporary directory | ||||
| for COMPONENT in ${COMPONENTS[@]}; do | ||||
| 	mkdir "$TEMPDIRECTORY/$COMPONENT" | ||||
| 	docker cp $PATCHINSTANCE:/app/$COMPONENT/Core.dll "$TEMPDIRECTORY/$COMPONENT/Core.dll" | ||||
| done | ||||
| 
 | ||||
| # stop and remove our temporary container | ||||
| docker stop bitwarden-extract | ||||
| docker rm bitwarden-extract | ||||
| 
 | ||||
| # run bitBetter, this applies our patches to the required files | ||||
| docker run -v "$TEMPDIRECTORY:/app/mount" --rm bitbetter/bitbetter | ||||
| 
 | ||||
| # create a new image with the patched files | ||||
| docker build . --tag bitwarden-patched --file "$PWD/src/bitBetter/Dockerfile-bitwarden-patch" | ||||
| 
 | ||||
| # start all user requested instances | ||||
| if [ -f "$PWD/src/bitBetter/cert.cert" ]; then | ||||
| 	sed -i 's/\r$//' "$PWD/.servers/serverlist.txt" | ||||
| 	cat "$PWD/.servers/serverlist.txt" | while read -r LINE; do | ||||
| 		if [[ $LINE == "#*" ]]; then | ||||
| 			bash -c "$LINE" | ||||
| 		fi | ||||
| 	done | ||||
| fi | ||||
| 
 | ||||
| # remove our bitBetter image | ||||
| docker image rm bitbetter/bitbetter | ||||
| 
 | ||||
| # copy our patched library to the licenseGen source directory | ||||
| cp -f "$TEMPDIRECTORY/Identity/Core.dll" "$PWD/src/licenseGen" | ||||
| cp -f "$PWD/.keys/cert.pfx" "$PWD/src/licenseGen" | ||||
| 
 | ||||
| # build the licenseGen | ||||
| docker build -t bitbetter/licensegen "$PWD/src/licenseGen" | ||||
| 
 | ||||
| # clean the licenseGen source directory | ||||
| rm -f "$PWD/src/licenseGen/Core.dll" | ||||
| rm -f "$PWD/src/licenseGen/cert.pfx" | ||||
| 
 | ||||
| # remove our temporary directory | ||||
| rm -rf "$TEMPDIRECTORY" | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user