mirror of
https://github.com/casjaysdevdocker/gitea
synced 2025-09-18 15:57:47 -04: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