52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#!/usr/bin/with-contenv bashio
 | 
						|
# shellcheck shell=bash
 | 
						|
# ==============================================================================
 | 
						|
# Home Assistant Add-on: Loki
 | 
						|
# Runs Loki
 | 
						|
# ==============================================================================
 | 
						|
 | 
						|
readonly BIND_ADDR=127.0.0.1
 | 
						|
readonly HTTP_PORT=8080
 | 
						|
declare log_level
 | 
						|
loki_config='/etc/loki/default-config.yaml'
 | 
						|
 | 
						|
bashio::log.info 'Starting Loki...'
 | 
						|
 | 
						|
if bashio::config.exists 'config_path'; then
 | 
						|
    loki_config=$(bashio::config 'config_path')
 | 
						|
    bashio::log.info "Using config at ${loki_config}"
 | 
						|
else
 | 
						|
    bashio::log.info "Using default config"
 | 
						|
fi
 | 
						|
 | 
						|
retention_period="$(bashio::config 'days_to_keep' 1)d"
 | 
						|
bashio::log.info "Retention period set to ${retention_period}"
 | 
						|
export "RETENTION_PERIOD=${retention_period}"
 | 
						|
 | 
						|
case "$(bashio::config 'log_level')" in \
 | 
						|
    trace)      ;& \
 | 
						|
    debug)      log_level='debug' ;; \
 | 
						|
    notice)     ;& \
 | 
						|
    warning)    log_level='warn' ;; \
 | 
						|
    error)      ;& \
 | 
						|
    fatal)      log_level='error' ;; \
 | 
						|
    *)          log_level='info' ;; \
 | 
						|
esac;
 | 
						|
bashio::log.info "Loki log level set to ${log_level}"
 | 
						|
 | 
						|
loki_args=(
 | 
						|
    "-config.expand-env=true"
 | 
						|
    "-config.file=${loki_config}"
 | 
						|
    "-server.http-listen-address=${BIND_ADDR}"
 | 
						|
    "-server.http-listen-port=${HTTP_PORT}" 
 | 
						|
    "-log.level=${log_level}"
 | 
						|
)
 | 
						|
if [ "${log_level}" == "debug" ]; then
 | 
						|
    bashio::log.debug "Logging full config on startup for debugging..."
 | 
						|
    loki_args+=("-print-config-stderr=true")
 | 
						|
fi
 | 
						|
 | 
						|
bashio::log.info "Handing over control to Loki..."
 | 
						|
exec s6-setuidgid loki \
 | 
						|
    /usr/bin/loki "${loki_args[@]}"
 |