mirror of
				https://github.com/casjaysdevdocker/gitea
				synced 2025-11-04 01:02:42 -05:00 
			
		
		
		
	🗃️ Committing everything that changed 🗃️
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				release-tag / release-image (push) Failing after 11m59s
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	release-tag / release-image (push) Failing after 11m59s
				
			rootfs/root/docker/setup/06-post.sh rootfs/usr/local/bin/start-runners rootfs/usr/local/etc/docker/init.d/05-dockerd.sh rootfs/usr/local/etc/docker/init.d/zz-act_runner.sh
This commit is contained in:
		@@ -27,7 +27,7 @@ exitCode=0
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# Main script
 | 
					# Main script
 | 
				
			||||||
 | 
					mkdir -p /var/lib/docker
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# Set the exit code
 | 
					# Set the exit code
 | 
				
			||||||
exitCode=$?
 | 
					exitCode=$?
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,23 +1,21 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
set -e
 | 
					set -e
 | 
				
			||||||
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# Function to log messages with timestamp
 | 
					# Function to __log messages with timestamp
 | 
				
			||||||
log() {
 | 
					__log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"; }
 | 
				
			||||||
	echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Function to cleanup child processes on exit
 | 
					# Function to cleanup child processes on exit
 | 
				
			||||||
cleanup() {
 | 
					__cleanup() {
 | 
				
			||||||
	log "Shutting down runners..."
 | 
						__log "Shutting down runners..."
 | 
				
			||||||
	kill $(jobs -p) 2>/dev/null || true
 | 
						kill $(jobs -p) 2>/dev/null || true
 | 
				
			||||||
	wait
 | 
						wait
 | 
				
			||||||
	log "All runners stopped"
 | 
						__log "All runners stopped"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# Set up signal handling
 | 
					# Set up signal handling
 | 
				
			||||||
trap cleanup SIGTERM SIGINT
 | 
					trap __cleanup SIGTERM SIGINT
 | 
				
			||||||
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# Validate required environment variables
 | 
					# Validate required environment variables
 | 
				
			||||||
if [ -n "$SERVER_ADDRESS" ]; then
 | 
					if [ -n "$SERVER_ADDRESS" ]; then
 | 
				
			||||||
	if ! echo "$SERVER_ADDRESS" | grep -q '://'; then
 | 
						if ! echo "$SERVER_ADDRESS" | grep -q '://'; then
 | 
				
			||||||
@@ -26,65 +24,58 @@ if [ -n "$SERVER_ADDRESS" ]; then
 | 
				
			|||||||
else
 | 
					else
 | 
				
			||||||
	SERVER_ADDRESS=http://$HOSTNAME
 | 
						SERVER_ADDRESS=http://$HOSTNAME
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
if [ -z "$SERVER_TOKEN" ]; then
 | 
					if [ -z "$SERVER_TOKEN" ]; then
 | 
				
			||||||
	log "ERROR: SERVER_TOKEN environment variable is required"
 | 
						__log "ERROR: SERVER_TOKEN environment variable is required"
 | 
				
			||||||
	exit 1
 | 
						exit 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
RUNNER_LABELS="${RUNNER_LABELS:-ubuntu-latest:docker://node:16-bullseye,ubuntu-22.04:docker://node:16-bullseye}"
 | 
					RUNNER_LABELS="${RUNNER_LABELS:-ubuntu-latest:docker://node:16-bullseye,ubuntu-22.04:docker://node:16-bullseye}"
 | 
				
			||||||
# Determine number of runners to start
 | 
					# Determine number of runners to start
 | 
				
			||||||
RUNNERS_COUNT=${RUNNERS_ENABLE:-1}
 | 
					RUNNERS_COUNT=${RUNNERS_ENABLE:-1}
 | 
				
			||||||
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# Validate RUNNERS_COUNT is a positive integer
 | 
					# Validate RUNNERS_COUNT is a positive integer
 | 
				
			||||||
if ! [[ "$RUNNERS_COUNT" =~ ^[0-9]+$ ]] || [ "$RUNNERS_COUNT" -lt 1 ]; then
 | 
					if ! [[ "$RUNNERS_COUNT" =~ ^[0-9]+$ ]] || [ "$RUNNERS_COUNT" -lt 1 ]; then
 | 
				
			||||||
	log "WARNING: Invalid RUNNERS_ENABLE value '$RUNNERS_ENABLE', defaulting to 1"
 | 
						__log "WARNING: Invalid RUNNERS_ENABLE value '$RUNNERS_ENABLE', defaulting to 1"
 | 
				
			||||||
	RUNNERS_COUNT=1
 | 
						RUNNERS_COUNT=1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
log "Starting $RUNNERS_COUNT act_runner instance(s)"
 | 
					__log "Starting $RUNNERS_COUNT act_runner instance(s)"
 | 
				
			||||||
log "Server Address: $SERVER_ADDRESS"
 | 
					__log "Server Address: $SERVER_ADDRESS"
 | 
				
			||||||
log "Runner Name Prefix: ${RUNNER_NAME_PREFIX:-runner}"
 | 
					__log "Runner Name Prefix: ${RUNNER_NAME_PREFIX:-runner}"
 | 
				
			||||||
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# Function to start a single runner
 | 
					# Function to start a single runner
 | 
				
			||||||
start_runner() {
 | 
					__start_runner() {
 | 
				
			||||||
	local runner_id=$1
 | 
						local runner_id=$1
 | 
				
			||||||
	local runner_name="${RUNNER_NAME_PREFIX:-runner}-${runner_id}"
 | 
						local runner_name="${RUNNER_NAME_PREFIX:-runner}-${runner_id}"
 | 
				
			||||||
	local runner_dir="/data/runner-${runner_id}"
 | 
						local runner_dir="/config/act_runner/reg/${runner_name}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	# Create runner directory
 | 
						# Create runner directory
 | 
				
			||||||
	mkdir -p "$runner_dir"
 | 
						mkdir -p "$runner_dir"
 | 
				
			||||||
	cd "$runner_dir"
 | 
						cd "$runner_dir"
 | 
				
			||||||
 | 
						__log "Starting runner: $runner_name (ID: $runner_id)"
 | 
				
			||||||
	log "Starting runner: $runner_name (ID: $runner_id)"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	# Register the runner (this creates the .runner file)
 | 
						# Register the runner (this creates the .runner file)
 | 
				
			||||||
	log "Registering runner: $runner_name"
 | 
						__log "Registering runner: $runner_name"
 | 
				
			||||||
	act_runner register \
 | 
						act_runner register --instance "$SERVER_ADDRESS" --token "$SERVER_TOKEN" --name "$runner_name" --labels "$RUNNER_LABELS" --no-interactive
 | 
				
			||||||
		--instance "$SERVER_ADDRESS" \
 | 
					 | 
				
			||||||
		--token "$SERVER_TOKEN" \
 | 
					 | 
				
			||||||
		--name "$runner_name" \
 | 
					 | 
				
			||||||
		--labels "$RUNNER_LABELS" \
 | 
					 | 
				
			||||||
		--no-interactive
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if [ $? -ne 0 ]; then
 | 
						if [ $? -ne 0 ]; then
 | 
				
			||||||
		log "ERROR: Failed to register runner $runner_name"
 | 
							__log "ERROR: Failed to register runner $runner_name"
 | 
				
			||||||
		return 1
 | 
							return 1
 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
 | 
					 | 
				
			||||||
	# Start the daemon
 | 
						# Start the daemon
 | 
				
			||||||
	log "Starting daemon for runner: $runner_name"
 | 
						__log "Starting daemon for runner: $runner_name"
 | 
				
			||||||
	exec act_runner daemon --config .runner
 | 
						exec act_runner daemon --config .runner
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# Start runners in background
 | 
					# Start runners in background
 | 
				
			||||||
for i in $(seq 1 $RUNNERS_COUNT); do
 | 
					for i in $(seq 1 $RUNNERS_COUNT); do
 | 
				
			||||||
	(start_runner $i) &
 | 
						(__start_runner $i) &
 | 
				
			||||||
	sleep 2 # Small delay between starting runners
 | 
						sleep 2 # Small delay between starting runners
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					unset i
 | 
				
			||||||
log "All $RUNNERS_COUNT runners started successfully"
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
log "Process IDs: $(jobs -p | tr '\n' ' ')"
 | 
					__log "All $RUNNERS_COUNT runners started successfully"
 | 
				
			||||||
 | 
					__log "Process IDs: $(jobs -p | tr '\n' ' ')"
 | 
				
			||||||
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# Wait for all background processes
 | 
					# Wait for all background processes
 | 
				
			||||||
wait
 | 
					wait
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,19 +40,19 @@ SCRIPT_NAME="$(basename "$SCRIPT_FILE" 2>/dev/null)"
 | 
				
			|||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# exit if __start_init_scripts function hasn't been Initialized
 | 
					# exit if __start_init_scripts function hasn't been Initialized
 | 
				
			||||||
if [ ! -f "/run/__start_init_scripts.pid" ]; then
 | 
					if [ ! -f "/run/__start_init_scripts.pid" ]; then
 | 
				
			||||||
  echo "__start_init_scripts function hasn't been Initialized" >&2
 | 
						echo "__start_init_scripts function hasn't been Initialized" >&2
 | 
				
			||||||
  SERVICE_IS_RUNNING="no"
 | 
						SERVICE_IS_RUNNING="no"
 | 
				
			||||||
  exit 1
 | 
						exit 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# import the functions file
 | 
					# import the functions file
 | 
				
			||||||
if [ -f "/usr/local/etc/docker/functions/entrypoint.sh" ]; then
 | 
					if [ -f "/usr/local/etc/docker/functions/entrypoint.sh" ]; then
 | 
				
			||||||
  . "/usr/local/etc/docker/functions/entrypoint.sh"
 | 
						. "/usr/local/etc/docker/functions/entrypoint.sh"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# import variables
 | 
					# import variables
 | 
				
			||||||
for set_env in "/root/env.sh" "/usr/local/etc/docker/env"/*.sh "/config/env"/*.sh; do
 | 
					for set_env in "/root/env.sh" "/usr/local/etc/docker/env"/*.sh "/config/env"/*.sh; do
 | 
				
			||||||
  [ -f "$set_env" ] && . "$set_env"
 | 
						[ -f "$set_env" ] && . "$set_env"
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
printf '%s\n' "# - - - Initializing $SERVICE_NAME - - - #"
 | 
					printf '%s\n' "# - - - Initializing $SERVICE_NAME - - - #"
 | 
				
			||||||
@@ -171,58 +171,59 @@ CMD_ENV=""
 | 
				
			|||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# Custom prerun functions - IE setup WWW_ROOT_DIR
 | 
					# Custom prerun functions - IE setup WWW_ROOT_DIR
 | 
				
			||||||
__execute_prerun() {
 | 
					__execute_prerun() {
 | 
				
			||||||
  # Setup /config directories
 | 
						# Setup /config directories
 | 
				
			||||||
  __init_config_etc
 | 
						__init_config_etc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Define other actions/commands
 | 
						# Define other actions/commands
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# Run any pre-execution checks
 | 
					# Run any pre-execution checks
 | 
				
			||||||
__run_pre_execute_checks() {
 | 
					__run_pre_execute_checks() {
 | 
				
			||||||
  # Set variables
 | 
						# Set variables
 | 
				
			||||||
  local exitStatus=0
 | 
						local exitStatus=0
 | 
				
			||||||
  local pre_execute_checks_MessageST="Running preexecute check for $SERVICE_NAME"   # message to show at start
 | 
						local pre_execute_checks_MessageST="Running preexecute check for $SERVICE_NAME"   # message to show at start
 | 
				
			||||||
  local pre_execute_checks_MessageEnd="Finished preexecute check for $SERVICE_NAME" # message to show at completion
 | 
						local pre_execute_checks_MessageEnd="Finished preexecute check for $SERVICE_NAME" # message to show at completion
 | 
				
			||||||
  __banner "$pre_execute_checks_MessageST"
 | 
						__banner "$pre_execute_checks_MessageST"
 | 
				
			||||||
  # Put command to execute in parentheses
 | 
						# Put command to execute in parentheses
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    [ -d "/etc/docker" ] || mkdir -p "/etc/docker"
 | 
							[ -d "/etc/docker" ] || mkdir -p "/etc/docker"
 | 
				
			||||||
    [ -d "/config/docker" ] || mkdir -p "/config/docker"
 | 
							[ -d "/data/docker" ] || mkdir -p "/data/docker"
 | 
				
			||||||
    [ -L "/config/docker/daemon.json" ] && unlink "/config/docker/daemon.json"
 | 
							[ -d "/config/docker" ] || mkdir -p "/config/docker"
 | 
				
			||||||
    if [ -n "$DOCKER_REGISTRIES" ]; then
 | 
							[ -L "/config/docker/daemon.json" ] && unlink "/config/docker/daemon.json"
 | 
				
			||||||
      local set_reg=""
 | 
							if [ -n "$DOCKER_REGISTRIES" ]; then
 | 
				
			||||||
      local get_reg=""
 | 
								local set_reg=""
 | 
				
			||||||
      DOCKER_REGISTRIES="${DOCKER_REGISTRIES//,/ }"
 | 
								local get_reg=""
 | 
				
			||||||
      for get_reg in $DOCKER_REGISTRIES; do
 | 
								DOCKER_REGISTRIES="${DOCKER_REGISTRIES//,/ }"
 | 
				
			||||||
        set_reg+="\"$get_reg\" "
 | 
								for get_reg in $DOCKER_REGISTRIES; do
 | 
				
			||||||
      done
 | 
									set_reg+="\"$get_reg\" "
 | 
				
			||||||
      registry="$(printf '%s\n' "$set_reg" | tr ' ' '\n' | sort -V | grep -v '^$' | tr '\n' ',' | sed 's|,$||g;s| ||g' | grep '^')"
 | 
								done
 | 
				
			||||||
      export registry
 | 
								registry="$(printf '%s\n' "$set_reg" | tr ' ' '\n' | sort -V | grep -v '^$' | tr '\n' ',' | sed 's|,$||g;s| ||g' | grep '^')"
 | 
				
			||||||
    else
 | 
								export registry
 | 
				
			||||||
      unset registry
 | 
							else
 | 
				
			||||||
    fi
 | 
								unset registry
 | 
				
			||||||
    if [ ! -f "$HOME/.docker/config.json" ]; then
 | 
							fi
 | 
				
			||||||
      if [ -n "$registry" ]; then
 | 
							if [ ! -f "$HOME/.docker/config.json" ]; then
 | 
				
			||||||
        cat <<EOF | tee "$HOME/.docker/config.json" &>/dev/null
 | 
								if [ -n "$registry" ]; then
 | 
				
			||||||
 | 
									cat <<EOF | tee "$HOME/.docker/config.json" &>/dev/null
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  "auths": { "https://index.docker.io/v1/": { "auth": "$DOCKER_HUB_TOKEN" } },
 | 
					  "auths": { "https://index.docker.io/v1/": { "auth": "$DOCKER_HUB_TOKEN" } },
 | 
				
			||||||
  "HttpHeaders": { "User-Agent": "Docker-Client/23.0.1 (linux)" },
 | 
					  "HttpHeaders": { "User-Agent": "Docker-Client/23.0.1 (linux)" },
 | 
				
			||||||
  "insecure-registries" : [$registry]
 | 
					  "insecure-registries" : [$registry]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
      else
 | 
								else
 | 
				
			||||||
        cat <<EOF | tee "$HOME/.docker/config.json" &>/dev/null
 | 
									cat <<EOF | tee "$HOME/.docker/config.json" &>/dev/null
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  "auths": { "https://index.docker.io/v1/": { "auth": "$DOCKER_HUB_TOKEN" } },
 | 
					  "auths": { "https://index.docker.io/v1/": { "auth": "$DOCKER_HUB_TOKEN" } },
 | 
				
			||||||
  "HttpHeaders": { "User-Agent": "Docker-Client/23.0.1 (linux)" }
 | 
					  "HttpHeaders": { "User-Agent": "Docker-Client/23.0.1 (linux)" }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
      fi
 | 
								fi
 | 
				
			||||||
    fi
 | 
							fi
 | 
				
			||||||
    if [ ! -f "/config/docker/daemon.json" ]; then
 | 
							if [ ! -f "/config/docker/daemon.json" ]; then
 | 
				
			||||||
      if [ -n "$registry" ]; then
 | 
								if [ -n "$registry" ]; then
 | 
				
			||||||
        cat <<EOF | tee "/config/docker/daemon.json" &>/dev/null
 | 
									cat <<EOF | tee "/config/docker/daemon.json" &>/dev/null
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  "ip": "0.0.0.0",
 | 
					  "ip": "0.0.0.0",
 | 
				
			||||||
  "iptables": true,
 | 
					  "iptables": true,
 | 
				
			||||||
@@ -232,8 +233,8 @@ EOF
 | 
				
			|||||||
  "insecure-registries": [$registry]
 | 
					  "insecure-registries": [$registry]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
      else
 | 
								else
 | 
				
			||||||
        cat <<EOF | tee "/config/docker/daemon.json" &>/dev/null
 | 
									cat <<EOF | tee "/config/docker/daemon.json" &>/dev/null
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  "ip": "0.0.0.0",
 | 
					  "ip": "0.0.0.0",
 | 
				
			||||||
  "iptables": true,
 | 
					  "iptables": true,
 | 
				
			||||||
@@ -242,137 +243,137 @@ EOF
 | 
				
			|||||||
  "pidfile": "/tmp/docker.pid"
 | 
					  "pidfile": "/tmp/docker.pid"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
      fi
 | 
								fi
 | 
				
			||||||
    fi
 | 
							fi
 | 
				
			||||||
    [ -f "/config/docker/daemon.json" ] && cp -Rf "/config/docker/daemon.json" "/etc/docker/daemon.json"
 | 
							[ -f "/config/docker/daemon.json" ] && cp -Rf "/config/docker/daemon.json" "/etc/docker/daemon.json"
 | 
				
			||||||
    [ -f "$ETC_DIR/daemon.json" ] && sed -i 's|"REPLACE_DOCKER_REGISTRIES"|'$registry'|g' "$ETC_DIR/daemon.json"
 | 
							[ -f "$ETC_DIR/daemon.json" ] && sed -i 's|"REPLACE_DOCKER_REGISTRIES"|'$registry'|g' "$ETC_DIR/daemon.json"
 | 
				
			||||||
    [ -f "$CONF_DIR/daemon.json" ] && sed -i 's|"REPLACE_DOCKER_REGISTRIES"|'$registry'|g' "$CONF_DIR/daemon.json"
 | 
							[ -f "$CONF_DIR/daemon.json" ] && sed -i 's|"REPLACE_DOCKER_REGISTRIES"|'$registry'|g' "$CONF_DIR/daemon.json"
 | 
				
			||||||
  }
 | 
						}
 | 
				
			||||||
  exitStatus=$?
 | 
						exitStatus=$?
 | 
				
			||||||
  __banner "$pre_execute_checks_MessageEnd: Status $exitStatus"
 | 
						__banner "$pre_execute_checks_MessageEnd: Status $exitStatus"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # show exit message
 | 
						# show exit message
 | 
				
			||||||
  if [ $exitStatus -ne 0 ]; then
 | 
						if [ $exitStatus -ne 0 ]; then
 | 
				
			||||||
    echo "The pre-execution check has failed" >&2
 | 
							echo "The pre-execution check has failed" >&2
 | 
				
			||||||
    [ -f "$SERVICE_PID_FILE" ] && rm -Rf "$SERVICE_PID_FILE"
 | 
							[ -f "$SERVICE_PID_FILE" ] && rm -Rf "$SERVICE_PID_FILE"
 | 
				
			||||||
    exit 1
 | 
							exit 1
 | 
				
			||||||
  fi
 | 
						fi
 | 
				
			||||||
  return $exitStatus
 | 
						return $exitStatus
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# use this function to update config files - IE: change port
 | 
					# use this function to update config files - IE: change port
 | 
				
			||||||
__update_conf_files() {
 | 
					__update_conf_files() {
 | 
				
			||||||
  local exitCode=0                                               # default exit code
 | 
						local exitCode=0                                               # default exit code
 | 
				
			||||||
  local sysname="${SERVER_NAME:-${FULL_DOMAIN_NAME:-$HOSTNAME}}" # set hostname
 | 
						local sysname="${SERVER_NAME:-${FULL_DOMAIN_NAME:-$HOSTNAME}}" # set hostname
 | 
				
			||||||
  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
						# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
  # CD into temp to bybass any permission errors
 | 
						# CD into temp to bybass any permission errors
 | 
				
			||||||
  cd /tmp || false # lets keep shellcheck happy by adding false
 | 
						cd /tmp || false # lets keep shellcheck happy by adding false
 | 
				
			||||||
  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
						# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
  # delete files
 | 
						# delete files
 | 
				
			||||||
  #__rm ""
 | 
						#__rm ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
						# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
  # custom commands
 | 
						# custom commands
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
						# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
  # replace variables
 | 
						# replace variables
 | 
				
			||||||
  # __replace "" "" "$CONF_DIR/docker.conf"
 | 
						# __replace "" "" "$CONF_DIR/docker.conf"
 | 
				
			||||||
  # replace variables recursively
 | 
						# replace variables recursively
 | 
				
			||||||
  #  __find_replace "" "" "$CONF_DIR"
 | 
						#  __find_replace "" "" "$CONF_DIR"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
						# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
  # define actions
 | 
						# define actions
 | 
				
			||||||
  rm -Rf "/var/lib/docker"
 | 
						rm -Rf "/var/lib/docker"
 | 
				
			||||||
  symlink "$DATA_DIR" "/var/lib/docker"
 | 
						symlink "$DATA_DIR" "/var/lib/docker"
 | 
				
			||||||
  chmod 777 "$DATA_DIR" "/var/lib/docker"
 | 
						chmod 777 "$DATA_DIR" "/var/lib/docker"
 | 
				
			||||||
  # exit function
 | 
						# exit function
 | 
				
			||||||
  return $exitCode
 | 
						return $exitCode
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# function to run before executing
 | 
					# function to run before executing
 | 
				
			||||||
__pre_execute() {
 | 
					__pre_execute() {
 | 
				
			||||||
  local exitCode=0                                               # default exit code
 | 
						local exitCode=0                                               # default exit code
 | 
				
			||||||
  local sysname="${SERVER_NAME:-${FULL_DOMAIN_NAME:-$HOSTNAME}}" # set hostname
 | 
						local sysname="${SERVER_NAME:-${FULL_DOMAIN_NAME:-$HOSTNAME}}" # set hostname
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # define commands
 | 
						# define commands
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # execute if directories is empty
 | 
						# execute if directories is empty
 | 
				
			||||||
  __is_dir_empty "" && true
 | 
						__is_dir_empty "" && true
 | 
				
			||||||
  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
						# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
  # Set permissions
 | 
						# Set permissions
 | 
				
			||||||
  __fix_permissions "$SERVICE_USER" "$SERVICE_GROUP"
 | 
						__fix_permissions "$SERVICE_USER" "$SERVICE_GROUP"
 | 
				
			||||||
  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
						# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
  # Copy /config to /etc
 | 
						# Copy /config to /etc
 | 
				
			||||||
  for config_2_etc in $CONF_DIR $ADDITIONAL_CONFIG_DIRS; do
 | 
						for config_2_etc in $CONF_DIR $ADDITIONAL_CONFIG_DIRS; do
 | 
				
			||||||
    __initialize_system_etc "$config_2_etc" 2>/dev/stderr | tee -p -a "$LOG_DIR/init.txt"
 | 
							__initialize_system_etc "$config_2_etc" 2>/dev/stderr | tee -p -a "$LOG_DIR/init.txt"
 | 
				
			||||||
  done
 | 
						done
 | 
				
			||||||
  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
						# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
  # Replace variables
 | 
						# Replace variables
 | 
				
			||||||
  HOSTNAME="$sysname" __initialize_replace_variables "$ETC_DIR" "$CONF_DIR" "$WWW_ROOT_DIR"
 | 
						HOSTNAME="$sysname" __initialize_replace_variables "$ETC_DIR" "$CONF_DIR" "$WWW_ROOT_DIR"
 | 
				
			||||||
  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
						# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
  # unset unneeded variables
 | 
						# unset unneeded variables
 | 
				
			||||||
  unset filesperms filename config_2_etc change_user change_user ADDITIONAL_CONFIG_DIRS application_files filedirs
 | 
						unset filesperms filename config_2_etc change_user change_user ADDITIONAL_CONFIG_DIRS application_files filedirs
 | 
				
			||||||
  # Lets wait a few seconds before continuing
 | 
						# Lets wait a few seconds before continuing
 | 
				
			||||||
  sleep 5
 | 
						sleep 5
 | 
				
			||||||
  return $exitCode
 | 
						return $exitCode
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# function to run after executing
 | 
					# function to run after executing
 | 
				
			||||||
__post_execute() {
 | 
					__post_execute() {
 | 
				
			||||||
  local pid=""                                                    # init pid var
 | 
						local pid=""                                                    # init pid var
 | 
				
			||||||
  local retVal=0                                                  # set default exit code
 | 
						local retVal=0                                                  # set default exit code
 | 
				
			||||||
  local waitTime=60                                               # how long to wait before executing
 | 
						local waitTime=60                                               # how long to wait before executing
 | 
				
			||||||
  local postMessageST="Running post commands for $SERVICE_NAME"   # message to show at start
 | 
						local postMessageST="Running post commands for $SERVICE_NAME"   # message to show at start
 | 
				
			||||||
  local postMessageEnd="Finished post commands for $SERVICE_NAME" # message to show at completion
 | 
						local postMessageEnd="Finished post commands for $SERVICE_NAME" # message to show at completion
 | 
				
			||||||
  local sysname="${SERVER_NAME:-${FULL_DOMAIN_NAME:-$HOSTNAME}}"  # set hostname
 | 
						local sysname="${SERVER_NAME:-${FULL_DOMAIN_NAME:-$HOSTNAME}}"  # set hostname
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # wait
 | 
						# wait
 | 
				
			||||||
  sleep $waitTime
 | 
						sleep $waitTime
 | 
				
			||||||
  # execute commands
 | 
						# execute commands
 | 
				
			||||||
  (
 | 
						(
 | 
				
			||||||
    # show message
 | 
							# show message
 | 
				
			||||||
    __banner "$postMessageST"
 | 
							__banner "$postMessageST"
 | 
				
			||||||
    # commands to execute
 | 
							# commands to execute
 | 
				
			||||||
    true
 | 
							true
 | 
				
			||||||
    # show exit message
 | 
							# show exit message
 | 
				
			||||||
    __banner "$postMessageEnd: Status $retVal"
 | 
							__banner "$postMessageEnd: Status $retVal"
 | 
				
			||||||
  ) 2>"/dev/stderr" | tee -p -a "$LOG_DIR/init.txt" &
 | 
						) 2>"/dev/stderr" | tee -p -a "$LOG_DIR/init.txt" &
 | 
				
			||||||
  pid=$!
 | 
						pid=$!
 | 
				
			||||||
  # set exitCode
 | 
						# set exitCode
 | 
				
			||||||
  ps ax | awk '{print $1}' | grep -v grep | grep -q "$execPid$" && retVal=0 || retVal=10
 | 
						ps ax | awk '{print $1}' | grep -v grep | grep -q "$execPid$" && retVal=0 || retVal=10
 | 
				
			||||||
  return $retVal
 | 
						return $retVal
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# use this function to update config files - IE: change port
 | 
					# use this function to update config files - IE: change port
 | 
				
			||||||
__pre_message() {
 | 
					__pre_message() {
 | 
				
			||||||
  local exitCode=0
 | 
						local exitCode=0
 | 
				
			||||||
  if [ -n "$user_name" ] || [ -n "$user_pass" ] || [ -n "$root_user_name" ] || [ -n "$root_user_pass" ]; then
 | 
						if [ -n "$user_name" ] || [ -n "$user_pass" ] || [ -n "$root_user_name" ] || [ -n "$root_user_pass" ]; then
 | 
				
			||||||
    __banner "User info"
 | 
							__banner "User info"
 | 
				
			||||||
    [ -n "$user_name" ] && __printf_space "40" "username:" "$user_name" && echo "$user_name" >"${USER_FILE_PREFIX}/${SERVICE_NAME}_name"
 | 
							[ -n "$user_name" ] && __printf_space "40" "username:" "$user_name" && echo "$user_name" >"${USER_FILE_PREFIX}/${SERVICE_NAME}_name"
 | 
				
			||||||
    [ -n "$user_pass" ] && __printf_space "40" "password:" "saved to ${USER_FILE_PREFIX}/${SERVICE_NAME}_pass" && echo "$user_pass" >"${USER_FILE_PREFIX}/${SERVICE_NAME}_pass"
 | 
							[ -n "$user_pass" ] && __printf_space "40" "password:" "saved to ${USER_FILE_PREFIX}/${SERVICE_NAME}_pass" && echo "$user_pass" >"${USER_FILE_PREFIX}/${SERVICE_NAME}_pass"
 | 
				
			||||||
    [ -n "$root_user_name" ] && __printf_space "40" "root username:" "$root_user_name" && echo "$root_user_name" >"${ROOT_FILE_PREFIX}/${SERVICE_NAME}_name"
 | 
							[ -n "$root_user_name" ] && __printf_space "40" "root username:" "$root_user_name" && echo "$root_user_name" >"${ROOT_FILE_PREFIX}/${SERVICE_NAME}_name"
 | 
				
			||||||
    [ -n "$root_user_pass" ] && __printf_space "40" "root password:" "saved to ${ROOT_FILE_PREFIX}/${SERVICE_NAME}_pass" && echo "$root_user_pass" >"${ROOT_FILE_PREFIX}/${SERVICE_NAME}_pass"
 | 
							[ -n "$root_user_pass" ] && __printf_space "40" "root password:" "saved to ${ROOT_FILE_PREFIX}/${SERVICE_NAME}_pass" && echo "$root_user_pass" >"${ROOT_FILE_PREFIX}/${SERVICE_NAME}_pass"
 | 
				
			||||||
    __banner ""
 | 
							__banner ""
 | 
				
			||||||
  fi
 | 
						fi
 | 
				
			||||||
  [ -n "$PRE_EXEC_MESSAGE" ] && eval echo "$PRE_EXEC_MESSAGE"
 | 
						[ -n "$PRE_EXEC_MESSAGE" ] && eval echo "$PRE_EXEC_MESSAGE"
 | 
				
			||||||
  # execute commands
 | 
						# execute commands
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # set exitCode
 | 
						# set exitCode
 | 
				
			||||||
  return $exitCode
 | 
						return $exitCode
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# use this function to setup ssl support
 | 
					# use this function to setup ssl support
 | 
				
			||||||
__update_ssl_conf() {
 | 
					__update_ssl_conf() {
 | 
				
			||||||
  local exitCode=0
 | 
						local exitCode=0
 | 
				
			||||||
  local sysname="${SERVER_NAME:-${FULL_DOMAIN_NAME:-$HOSTNAME}}" # set hostname
 | 
						local sysname="${SERVER_NAME:-${FULL_DOMAIN_NAME:-$HOSTNAME}}" # set hostname
 | 
				
			||||||
  # execute commands
 | 
						# execute commands
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # set exitCode
 | 
						# set exitCode
 | 
				
			||||||
  return $exitCode
 | 
						return $exitCode
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
__create_service_env() {
 | 
					__create_service_env() {
 | 
				
			||||||
  cat <<EOF | tee -p "/config/env/${SERVICE_NAME:-$SCRIPT_NAME}.sh" &>/dev/null
 | 
						cat <<EOF | tee -p "/config/env/${SERVICE_NAME:-$SCRIPT_NAME}.sh" &>/dev/null
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# root/admin user info [password/random]
 | 
					# root/admin user info [password/random]
 | 
				
			||||||
#ENV_ROOT_USER_NAME="${ENV_ROOT_USER_NAME:-$DOCKER_ROOT_USER_NAME}"   # root user name
 | 
					#ENV_ROOT_USER_NAME="${ENV_ROOT_USER_NAME:-$DOCKER_ROOT_USER_NAME}"   # root user name
 | 
				
			||||||
@@ -387,65 +388,65 @@ __create_service_env() {
 | 
				
			|||||||
#user_pass="${ENV_USER_PASS:-$user_pass}"                                             # normal user password
 | 
					#user_pass="${ENV_USER_PASS:-$user_pass}"                                             # normal user password
 | 
				
			||||||
 | 
					
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
  __file_exists_with_content "/config/env/${SERVICE_NAME:-$SCRIPT_NAME}.sh" || return 1
 | 
						__file_exists_with_content "/config/env/${SERVICE_NAME:-$SCRIPT_NAME}.sh" || return 1
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# script to start server
 | 
					# script to start server
 | 
				
			||||||
__run_start_script() {
 | 
					__run_start_script() {
 | 
				
			||||||
  local runExitCode=0
 | 
						local runExitCode=0
 | 
				
			||||||
  local workdir="$(eval echo "${WORK_DIR:-}")"                   # expand variables
 | 
						local workdir="$(eval echo "${WORK_DIR:-}")"                   # expand variables
 | 
				
			||||||
  local cmd="$(eval echo "${EXEC_CMD_BIN:-}")"                   # expand variables
 | 
						local cmd="$(eval echo "${EXEC_CMD_BIN:-}")"                   # expand variables
 | 
				
			||||||
  local args="$(eval echo "${EXEC_CMD_ARGS:-}")"                 # expand variables
 | 
						local args="$(eval echo "${EXEC_CMD_ARGS:-}")"                 # expand variables
 | 
				
			||||||
  local name="$(eval echo "${EXEC_CMD_NAME:-}")"                 # expand variables
 | 
						local name="$(eval echo "${EXEC_CMD_NAME:-}")"                 # expand variables
 | 
				
			||||||
  local pre="$(eval echo "${EXEC_PRE_SCRIPT:-}")"                # expand variables
 | 
						local pre="$(eval echo "${EXEC_PRE_SCRIPT:-}")"                # expand variables
 | 
				
			||||||
  local extra_env="$(eval echo "${CMD_ENV//,/ }")"               # expand variables
 | 
						local extra_env="$(eval echo "${CMD_ENV//,/ }")"               # expand variables
 | 
				
			||||||
  local lc_type="$(eval echo "${LANG:-${LC_ALL:-$LC_CTYPE}}")"   # expand variables
 | 
						local lc_type="$(eval echo "${LANG:-${LC_ALL:-$LC_CTYPE}}")"   # expand variables
 | 
				
			||||||
  local home="$(eval echo "${workdir//\/root/\/tmp\/docker}")"   # expand variables
 | 
						local home="$(eval echo "${workdir//\/root/\/tmp\/docker}")"   # expand variables
 | 
				
			||||||
  local path="$(eval echo "$PATH")"                              # expand variables
 | 
						local path="$(eval echo "$PATH")"                              # expand variables
 | 
				
			||||||
  local message="$(eval echo "")"                                # expand variables
 | 
						local message="$(eval echo "")"                                # expand variables
 | 
				
			||||||
  local sysname="${SERVER_NAME:-${FULL_DOMAIN_NAME:-$HOSTNAME}}" # set hostname
 | 
						local sysname="${SERVER_NAME:-${FULL_DOMAIN_NAME:-$HOSTNAME}}" # set hostname
 | 
				
			||||||
  [ -f "$CONF_DIR/$SERVICE_NAME.exec_cmd.sh" ] && . "$CONF_DIR/$SERVICE_NAME.exec_cmd.sh"
 | 
						[ -f "$CONF_DIR/$SERVICE_NAME.exec_cmd.sh" ] && . "$CONF_DIR/$SERVICE_NAME.exec_cmd.sh"
 | 
				
			||||||
  #
 | 
						#
 | 
				
			||||||
  __run_pre_execute_checks 2>/dev/stderr | tee -a -p "/data/logs/entrypoint.log" "$LOG_DIR/init.txt" || return 20
 | 
						__run_pre_execute_checks 2>/dev/stderr | tee -a -p "/data/logs/entrypoint.log" "$LOG_DIR/init.txt" || return 20
 | 
				
			||||||
  #
 | 
						#
 | 
				
			||||||
  if [ -z "$cmd" ]; then
 | 
						if [ -z "$cmd" ]; then
 | 
				
			||||||
    __post_execute 2>"/dev/stderr" | tee -p -a "$LOG_DIR/init.txt"
 | 
							__post_execute 2>"/dev/stderr" | tee -p -a "$LOG_DIR/init.txt"
 | 
				
			||||||
    retVal=$?
 | 
							retVal=$?
 | 
				
			||||||
    echo "Initializing $SCRIPT_NAME has completed"
 | 
							echo "Initializing $SCRIPT_NAME has completed"
 | 
				
			||||||
    exit $retVal
 | 
							exit $retVal
 | 
				
			||||||
  else
 | 
						else
 | 
				
			||||||
    # ensure the command exists
 | 
							# ensure the command exists
 | 
				
			||||||
    if [ ! -x "$cmd" ]; then
 | 
							if [ ! -x "$cmd" ]; then
 | 
				
			||||||
      echo "$name is not a valid executable"
 | 
								echo "$name is not a valid executable"
 | 
				
			||||||
      return 2
 | 
								return 2
 | 
				
			||||||
    fi
 | 
							fi
 | 
				
			||||||
    # check and exit if already running
 | 
							# check and exit if already running
 | 
				
			||||||
    if __proc_check "$name" || __proc_check "$cmd"; then
 | 
							if __proc_check "$name" || __proc_check "$cmd"; then
 | 
				
			||||||
      echo "$name is already running" >&2
 | 
								echo "$name is already running" >&2
 | 
				
			||||||
      return 0
 | 
								return 0
 | 
				
			||||||
    else
 | 
							else
 | 
				
			||||||
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
								# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
      # show message if env exists
 | 
								# show message if env exists
 | 
				
			||||||
      if [ -n "$cmd" ]; then
 | 
								if [ -n "$cmd" ]; then
 | 
				
			||||||
        [ -n "$SERVICE_USER" ] && echo "Setting up $cmd to run as $SERVICE_USER" || SERVICE_USER="root"
 | 
									[ -n "$SERVICE_USER" ] && echo "Setting up $cmd to run as $SERVICE_USER" || SERVICE_USER="root"
 | 
				
			||||||
        [ -n "$SERVICE_PORT" ] && echo "$name will be running on port $SERVICE_PORT" || SERVICE_PORT=""
 | 
									[ -n "$SERVICE_PORT" ] && echo "$name will be running on port $SERVICE_PORT" || SERVICE_PORT=""
 | 
				
			||||||
      fi
 | 
								fi
 | 
				
			||||||
      if [ -n "$pre" ] && [ -n "$(command -v "$pre" 2>/dev/null)" ]; then
 | 
								if [ -n "$pre" ] && [ -n "$(command -v "$pre" 2>/dev/null)" ]; then
 | 
				
			||||||
        export cmd_exec="$pre $cmd $args"
 | 
									export cmd_exec="$pre $cmd $args"
 | 
				
			||||||
        message="Starting service: $name $args through $pre"
 | 
									message="Starting service: $name $args through $pre"
 | 
				
			||||||
      else
 | 
								else
 | 
				
			||||||
        export cmd_exec="$cmd $args"
 | 
									export cmd_exec="$cmd $args"
 | 
				
			||||||
        message="Starting service: $name $args"
 | 
									message="Starting service: $name $args"
 | 
				
			||||||
      fi
 | 
								fi
 | 
				
			||||||
      [ -n "$su_exec" ] && echo "using $su_exec" | tee -a -p "$LOG_DIR/init.txt"
 | 
								[ -n "$su_exec" ] && echo "using $su_exec" | tee -a -p "$LOG_DIR/init.txt"
 | 
				
			||||||
      echo "$message" | tee -a -p "$LOG_DIR/init.txt"
 | 
								echo "$message" | tee -a -p "$LOG_DIR/init.txt"
 | 
				
			||||||
      su_cmd touch "$SERVICE_PID_FILE"
 | 
								su_cmd touch "$SERVICE_PID_FILE"
 | 
				
			||||||
      __post_execute 2>"/dev/stderr" | tee -p -a "$LOG_DIR/init.txt" &
 | 
								__post_execute 2>"/dev/stderr" | tee -p -a "$LOG_DIR/init.txt" &
 | 
				
			||||||
      if [ "$RESET_ENV" = "yes" ]; then
 | 
								if [ "$RESET_ENV" = "yes" ]; then
 | 
				
			||||||
        env_command="$(echo "env -i HOME=\"$home\" LC_CTYPE=\"$lc_type\" PATH=\"$path\" HOSTNAME=\"$sysname\" USER=\"${SERVICE_USER:-$RUNAS_USER}\" $extra_env")"
 | 
									env_command="$(echo "env -i HOME=\"$home\" LC_CTYPE=\"$lc_type\" PATH=\"$path\" HOSTNAME=\"$sysname\" USER=\"${SERVICE_USER:-$RUNAS_USER}\" $extra_env")"
 | 
				
			||||||
        execute_command="$(__trim "$su_exec $env_command $cmd_exec")"
 | 
									execute_command="$(__trim "$su_exec $env_command $cmd_exec")"
 | 
				
			||||||
        if [ ! -f "$START_SCRIPT" ]; then
 | 
									if [ ! -f "$START_SCRIPT" ]; then
 | 
				
			||||||
          cat <<EOF >"$START_SCRIPT"
 | 
										cat <<EOF >"$START_SCRIPT"
 | 
				
			||||||
#!/usr/bin/env bash
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
trap 'exitCode=\$?;[ \$exitCode -ne 0 ] && [ -f "\$SERVICE_PID_FILE" ] && rm -Rf "\$SERVICE_PID_FILE";exit \$exitCode' EXIT
 | 
					trap 'exitCode=\$?;[ \$exitCode -ne 0 ] && [ -f "\$SERVICE_PID_FILE" ] && rm -Rf "\$SERVICE_PID_FILE";exit \$exitCode' EXIT
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
@@ -463,11 +464,11 @@ checkPID="\$(ps ax | awk '{print \$1}' | grep -v grep | grep "\$execPid$" || fal
 | 
				
			|||||||
exit \$retVal
 | 
					exit \$retVal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
        fi
 | 
									fi
 | 
				
			||||||
      else
 | 
								else
 | 
				
			||||||
        if [ ! -f "$START_SCRIPT" ]; then
 | 
									if [ ! -f "$START_SCRIPT" ]; then
 | 
				
			||||||
          execute_command="$(__trim "$su_exec $cmd_exec")"
 | 
										execute_command="$(__trim "$su_exec $cmd_exec")"
 | 
				
			||||||
          cat <<EOF >"$START_SCRIPT"
 | 
										cat <<EOF >"$START_SCRIPT"
 | 
				
			||||||
#!/usr/bin/env bash
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
trap 'exitCode=\$?;[ \$exitCode -ne 0 ] && [ -f "\$SERVICE_PID_FILE" ] && rm -Rf "\$SERVICE_PID_FILE";exit \$exitCode' EXIT
 | 
					trap 'exitCode=\$?;[ \$exitCode -ne 0 ] && [ -f "\$SERVICE_PID_FILE" ] && rm -Rf "\$SERVICE_PID_FILE";exit \$exitCode' EXIT
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
@@ -485,34 +486,34 @@ checkPID="\$(ps ax | awk '{print \$1}' | grep -v grep | grep "\$execPid$" || fal
 | 
				
			|||||||
exit \$retVal
 | 
					exit \$retVal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
        fi
 | 
									fi
 | 
				
			||||||
      fi
 | 
								fi
 | 
				
			||||||
    fi
 | 
							fi
 | 
				
			||||||
    [ -x "$START_SCRIPT" ] || chmod 755 -Rf "$START_SCRIPT"
 | 
							[ -x "$START_SCRIPT" ] || chmod 755 -Rf "$START_SCRIPT"
 | 
				
			||||||
    [ "$CONTAINER_INIT" = "yes" ] || eval sh -c "$START_SCRIPT"
 | 
							[ "$CONTAINER_INIT" = "yes" ] || eval sh -c "$START_SCRIPT"
 | 
				
			||||||
    runExitCode=$?
 | 
							runExitCode=$?
 | 
				
			||||||
    return $runExitCode
 | 
							return $runExitCode
 | 
				
			||||||
  fi
 | 
						fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# username and password actions
 | 
					# username and password actions
 | 
				
			||||||
__run_secure_function() {
 | 
					__run_secure_function() {
 | 
				
			||||||
  if [ -n "$user_name" ] || [ -n "$user_pass" ]; then
 | 
						if [ -n "$user_name" ] || [ -n "$user_pass" ]; then
 | 
				
			||||||
    for filesperms in "${USER_FILE_PREFIX}"/*; do
 | 
							for filesperms in "${USER_FILE_PREFIX}"/*; do
 | 
				
			||||||
      if [ -e "$filesperms" ]; then
 | 
								if [ -e "$filesperms" ]; then
 | 
				
			||||||
        chmod -Rf 600 "$filesperms"
 | 
									chmod -Rf 600 "$filesperms"
 | 
				
			||||||
        chown -Rf $SERVICE_USER:$SERVICE_USER "$filesperms" 2>/dev/null
 | 
									chown -Rf $SERVICE_USER:$SERVICE_USER "$filesperms" 2>/dev/null
 | 
				
			||||||
      fi
 | 
								fi
 | 
				
			||||||
    done 2>/dev/null | tee -p -a "$LOG_DIR/init.txt"
 | 
							done 2>/dev/null | tee -p -a "$LOG_DIR/init.txt"
 | 
				
			||||||
  fi
 | 
						fi
 | 
				
			||||||
  if [ -n "$root_user_name" ] || [ -n "$root_user_pass" ]; then
 | 
						if [ -n "$root_user_name" ] || [ -n "$root_user_pass" ]; then
 | 
				
			||||||
    for filesperms in "${ROOT_FILE_PREFIX}"/*; do
 | 
							for filesperms in "${ROOT_FILE_PREFIX}"/*; do
 | 
				
			||||||
      if [ -e "$filesperms" ]; then
 | 
								if [ -e "$filesperms" ]; then
 | 
				
			||||||
        chmod -Rf 600 "$filesperms"
 | 
									chmod -Rf 600 "$filesperms"
 | 
				
			||||||
        chown -Rf $SERVICE_USER:$SERVICE_USER "$filesperms" 2>/dev/null
 | 
									chown -Rf $SERVICE_USER:$SERVICE_USER "$filesperms" 2>/dev/null
 | 
				
			||||||
      fi
 | 
								fi
 | 
				
			||||||
    done 2>/dev/null | tee -p -a "$LOG_DIR/init.txt"
 | 
							done 2>/dev/null | tee -p -a "$LOG_DIR/init.txt"
 | 
				
			||||||
  fi
 | 
						fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# Allow ENV_ variable - Import env file
 | 
					# Allow ENV_ variable - Import env file
 | 
				
			||||||
@@ -540,12 +541,12 @@ __check_service "$1"
 | 
				
			|||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# Database env
 | 
					# Database env
 | 
				
			||||||
if [ "$IS_DATABASE_SERVICE" = "yes" ] || [ "$USES_DATABASE_SERVICE" = "yes" ]; then
 | 
					if [ "$IS_DATABASE_SERVICE" = "yes" ] || [ "$USES_DATABASE_SERVICE" = "yes" ]; then
 | 
				
			||||||
  RESET_ENV="no"
 | 
						RESET_ENV="no"
 | 
				
			||||||
  DATABASE_CREATE="${ENV_DATABASE_CREATE:-$DATABASE_CREATE}"
 | 
						DATABASE_CREATE="${ENV_DATABASE_CREATE:-$DATABASE_CREATE}"
 | 
				
			||||||
  DATABASE_USER="${ENV_DATABASE_USER:-${DATABASE_USER:-$user_name}}"
 | 
						DATABASE_USER="${ENV_DATABASE_USER:-${DATABASE_USER:-$user_name}}"
 | 
				
			||||||
  DATABASE_PASSWORD="${ENV_DATABASE_PASSWORD:-${DATABASE_PASSWORD:-$user_pass}}"
 | 
						DATABASE_PASSWORD="${ENV_DATABASE_PASSWORD:-${DATABASE_PASSWORD:-$user_pass}}"
 | 
				
			||||||
  DATABASE_ROOT_USER="${ENV_DATABASE_ROOT_USER:-${DATABASE_ROOT_USER:-$root_user_name}}"
 | 
						DATABASE_ROOT_USER="${ENV_DATABASE_ROOT_USER:-${DATABASE_ROOT_USER:-$root_user_name}}"
 | 
				
			||||||
  DATABASE_ROOT_PASSWORD="${ENV_DATABASE_ROOT_PASSWORD:-${DATABASE_ROOT_PASSWORD:-$root_user_pass}}"
 | 
						DATABASE_ROOT_PASSWORD="${ENV_DATABASE_ROOT_PASSWORD:-${DATABASE_ROOT_PASSWORD:-$root_user_pass}}"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
# Allow per init script usernames and passwords
 | 
					# Allow per init script usernames and passwords
 | 
				
			||||||
@@ -613,16 +614,16 @@ __pre_execute
 | 
				
			|||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
__run_start_script 2>>/dev/stderr | tee -p -a "/data/logs/entrypoint.log" && errorCode=0 || errorCode=10
 | 
					__run_start_script 2>>/dev/stderr | tee -p -a "/data/logs/entrypoint.log" && errorCode=0 || errorCode=10
 | 
				
			||||||
if [ -n "$EXEC_CMD_BIN" ]; then
 | 
					if [ -n "$EXEC_CMD_BIN" ]; then
 | 
				
			||||||
  if [ "$errorCode" -ne 0 ]; then
 | 
						if [ "$errorCode" -ne 0 ]; then
 | 
				
			||||||
    echo "Failed to execute: ${cmd_exec:-$EXEC_CMD_BIN $EXEC_CMD_ARGS}" | tee -p -a "/data/logs/entrypoint.log" "$LOG_DIR/init.txt"
 | 
							echo "Failed to execute: ${cmd_exec:-$EXEC_CMD_BIN $EXEC_CMD_ARGS}" | tee -p -a "/data/logs/entrypoint.log" "$LOG_DIR/init.txt"
 | 
				
			||||||
    rm -Rf "$SERVICE_PID_FILE"
 | 
							rm -Rf "$SERVICE_PID_FILE"
 | 
				
			||||||
    SERVICE_EXIT_CODE=10
 | 
							SERVICE_EXIT_CODE=10
 | 
				
			||||||
    SERVICE_IS_RUNNING="no"
 | 
							SERVICE_IS_RUNNING="no"
 | 
				
			||||||
  else
 | 
						else
 | 
				
			||||||
    SERVICE_EXIT_CODE=0
 | 
							SERVICE_EXIT_CODE=0
 | 
				
			||||||
    SERVICE_IS_RUNNING="no"
 | 
							SERVICE_IS_RUNNING="no"
 | 
				
			||||||
  fi
 | 
						fi
 | 
				
			||||||
  SERVICE_EXIT_CODE=0
 | 
						SERVICE_EXIT_CODE=0
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
__banner "Initializing of $SERVICE_NAME has completed with statusCode: $SERVICE_EXIT_CODE" | tee -p -a "/data/logs/entrypoint.log" "$LOG_DIR/init.txt"
 | 
					__banner "Initializing of $SERVICE_NAME has completed with statusCode: $SERVICE_EXIT_CODE" | tee -p -a "/data/logs/entrypoint.log" "$LOG_DIR/init.txt"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -362,7 +362,7 @@ __post_execute() {
 | 
				
			|||||||
	local postMessageST="Running post commands for $SERVICE_NAME"   # message to show at start
 | 
						local postMessageST="Running post commands for $SERVICE_NAME"   # message to show at start
 | 
				
			||||||
	local postMessageEnd="Finished post commands for $SERVICE_NAME" # message to show at completion
 | 
						local postMessageEnd="Finished post commands for $SERVICE_NAME" # message to show at completion
 | 
				
			||||||
	local sysname="${SERVER_NAME:-${FULL_DOMAIN_NAME:-$HOSTNAME}}"  # set hostname
 | 
						local sysname="${SERVER_NAME:-${FULL_DOMAIN_NAME:-$HOSTNAME}}"  # set hostname
 | 
				
			||||||
	export SERVER_ADDRESS="$INSTANCE_HOSTNAME" SERVER_TOKEN="${RUNNER_AUTH_TOKEN:-$SYS_AUTH_TOKEN}" RUNNERS_ENABLE="${RUNNERS_START:-5}" RUNNER_LABELS
 | 
						export SERVER_ADDRESS="$RUNNER_IP_ADDRESS:$GITEA_PORT" SERVER_TOKEN="${RUNNER_AUTH_TOKEN:-$SYS_AUTH_TOKEN}" RUNNERS_ENABLE="${RUNNERS_START:-5}" RUNNER_LABELS
 | 
				
			||||||
	# wait
 | 
						# wait
 | 
				
			||||||
	sleep $waitTime
 | 
						sleep $waitTime
 | 
				
			||||||
	# execute commands
 | 
						# execute commands
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user