mirror of
				https://github.com/dani-garcia/vaultwarden.git
				synced 2025-10-31 13:51:14 +00:00 
			
		
		
		
	Update healthcheck script to handle alternate base dir
This commit is contained in:
		
					parent
					
						
							
								ccf6ee79d0
							
						
					
				
			
			
				commit
				
					
						fdf50f0064
					
				
			
		
					 1 changed files with 51 additions and 7 deletions
				
			
		
							
								
								
									
										58
									
								
								docker/healthcheck.sh
									
										
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										58
									
								
								docker/healthcheck.sh
									
										
									
									
									
										
										
										Normal file → Executable file
									
								
							|  | @ -1,8 +1,52 @@ | |||
| #!/usr/bin/env sh | ||||
| #!/bin/sh | ||||
| 
 | ||||
| if [ -z "$ROCKET_TLS"] | ||||
| then | ||||
|   curl --fail http://localhost:${ROCKET_PORT:-"80"}/alive || exit 1 | ||||
| else | ||||
|   curl --insecure --fail https://localhost:${ROCKET_PORT:-"80"}/alive || exit 1 | ||||
| fi | ||||
| # Use the value of the corresponding env var (if present), | ||||
| # or a default value otherwise. | ||||
| : ${DATA_FOLDER:="data"} | ||||
| : ${ROCKET_PORT:="80"} | ||||
| 
 | ||||
| CONFIG_FILE="${DATA_FOLDER}"/config.json | ||||
| 
 | ||||
| # Given a config key, return the corresponding config value from the | ||||
| # config file. If the key doesn't exist, return an empty string. | ||||
| get_config_val() { | ||||
|     local key="$1" | ||||
|     # Extract a line of the form: | ||||
|     #   "domain": "https://bw.example.com/path", | ||||
|     grep "\"${key}\":" "${CONFIG_FILE}" | | ||||
|     # To extract just the value (https://bw.example.com/path), delete: | ||||
|     # (1) everything up to and including the first ':', | ||||
|     # (2) whitespace and '"' from the front, | ||||
|     # (3) ',' and '"' from the back. | ||||
|     sed -e 's/[^:]\+://' -e 's/^[ "]\+//' -e 's/[,"]\+$//' | ||||
| } | ||||
| 
 | ||||
| # Extract the base path from a domain URL. For example: | ||||
| # - `` -> `` | ||||
| # - `https://bw.example.com` -> `` | ||||
| # - `https://bw.example.com/` -> `` | ||||
| # - `https://bw.example.com/path` -> `/path` | ||||
| # - `https://bw.example.com/multi/path` -> `/multi/path` | ||||
| get_base_path() { | ||||
|     echo "$1" | | ||||
|     # Delete: | ||||
|     # (1) everything up to and including '://', | ||||
|     # (2) everything up to '/', | ||||
|     # (3) trailing '/' from the back. | ||||
|     sed -e 's|.*://||' -e 's|[^/]\+||' -e 's|/*$||' | ||||
| } | ||||
| 
 | ||||
| # Read domain URL from config.json, if present. | ||||
| if [ -r "${CONFIG_FILE}" ]; then | ||||
|     domain="$(get_config_val 'domain')" | ||||
|     if [ -n "${domain}" ]; then | ||||
|         # config.json 'domain' overrides the DOMAIN env var. | ||||
|         DOMAIN="${domain}" | ||||
|     fi | ||||
| fi | ||||
| 
 | ||||
| base_path="$(get_base_path "${DOMAIN}")" | ||||
| if [ -n "${ROCKET_TLS}" ]; then | ||||
|     s='s' | ||||
| fi | ||||
| curl --insecure --fail "http${s}://localhost:${ROCKET_PORT}${base_path}/alive" || exit 1 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue