🗃️ Committing everything that changed 🗃️

rootfs/usr/local/etc/docker/init.d/00-enclosed.sh
rootfs/usr/local/etc/docker/init.d/00-node.sh
This commit is contained in:
casjay 2024-09-12 18:33:06 -04:00
parent 90dc720a05
commit 36e4c5bd9b
Signed by untrusted user who does not match committer: jason
GPG Key ID: 1AB309F42A764145

View File

@ -1,14 +1,14 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# shellcheck shell=bash # shellcheck shell=bash
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
##@Version : 202409121710-git ##@Version : 202409121830-git
# @@Author : Jason Hempstead # @@Author : Jason Hempstead
# @@Contact : jason@casjaysdev.pro # @@Contact : jason@casjaysdev.pro
# @@License : WTFPL # @@License : LICENSE.md
# @@ReadME : 00-node.sh --help # @@ReadME : 00-enclosed.sh --help
# @@Copyright : Copyright: (c) 2024 Jason Hempstead, Casjays Developments # @@Copyright : Copyright: (c) 2024 Jason Hempstead, Casjays Developments
# @@Created : Thursday, Sep 12, 2024 17:10 EDT # @@Created : Thursday, Sep 12, 2024 18:30 EDT
# @@File : 00-node.sh # @@File : 00-enclosed.sh
# @@Description : # @@Description :
# @@Changelog : New script # @@Changelog : New script
# @@TODO : Better documentation # @@TODO : Better documentation
@ -35,7 +35,7 @@ trap 'retVal=$?;[ "$SERVICE_IS_RUNNING" != "yes" ] && [ -f "$SERVICE_PID_FILE" ]
export PATH="/usr/local/etc/docker/bin:/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin" export PATH="/usr/local/etc/docker/bin:/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SCRIPT_FILE="$0" SCRIPT_FILE="$0"
SERVICE_NAME="node" SERVICE_NAME="enclosed"
SCRIPT_NAME="$(basename "$SCRIPT_FILE" 2>/dev/null)" 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
@ -70,7 +70,7 @@ RESET_ENV="no"
DATABASE_BASE_DIR="${DATABASE_BASE_DIR:-/data/db}" DATABASE_BASE_DIR="${DATABASE_BASE_DIR:-/data/db}"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set the database sub directory [sqlite,postgres,mysql,mariadb,redis,couchdb,mongodb,$APPNAME] # Set the database sub directory [sqlite,postgres,mysql,mariadb,redis,couchdb,mongodb,$APPNAME]
DATABASE_SUBDIR="node" DATABASE_SUBDIR="enclosed"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# set the database directory - set by the above variables # set the database directory - set by the above variables
DATABASE_DIR="$DATABASE_BASE_DIR/$DATABASE_SUBDIR" DATABASE_DIR="$DATABASE_BASE_DIR/$DATABASE_SUBDIR"
@ -79,31 +79,31 @@ DATABASE_DIR="$DATABASE_BASE_DIR/$DATABASE_SUBDIR"
WWW_ROOT_DIR="/usr/share/httpd/default" WWW_ROOT_DIR="/usr/share/httpd/default"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Default predefined variables # Default predefined variables
DATA_DIR="/data/node" # set data directory DATA_DIR="/data/enclosed" # set data directory
CONF_DIR="/config/node" # set config directory CONF_DIR="/config/enclosed" # set config directory
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# set the containers etc directory # set the containers etc directory
ETC_DIR="/etc/node" ETC_DIR="/etc/enclosed"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# set the var dir # set the var dir
VAR_DIR="" VAR_DIR=""
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TMP_DIR="/tmp/node" # set the temp dir TMP_DIR="/tmp/enclosed" # set the temp dir
RUN_DIR="/run/node" # set scripts pid dir RUN_DIR="/run/enclosed" # set scripts pid dir
LOG_DIR="/data/logs/node" # set log directory LOG_DIR="/data/logs/enclosed" # set log directory
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set the working dir # Set the working dir
WORK_DIR="/usr/share/enclosed" WORK_DIR="/usr/share/enclosed"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# port which service is listening on # port which service is listening on
SERVICE_PORT="80" SERVICE_PORT="8000"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# User to use to launch service - IE: postgres # User to use to launch service - IE: postgres
RUNAS_USER="root" # normally root RUNAS_USER="root" # normally root
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# User and group in which the service switches to - IE: nginx,apache,mysql,postgres # User and group in which the service switches to - IE: nginx,apache,mysql,postgres
#SERVICE_USER="node" # execute command as another user SERVICE_USER="nginx" # execute command as another user
#SERVICE_GROUP="node" # Set the service group SERVICE_GROUP="nginx" # Set the service group
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set password length # Set password length
RANDOM_PASS_USER="" RANDOM_PASS_USER=""
@ -114,7 +114,7 @@ SERVICE_UID="0" # set the user id
SERVICE_GID="0" # set the group id SERVICE_GID="0" # set the group id
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# execute command variables - keep single quotes variables will be expanded later # execute command variables - keep single quotes variables will be expanded later
EXEC_CMD_BIN='node' # command to execute EXEC_CMD_BIN='enclosed' # command to execute
EXEC_CMD_ARGS='index.cjs' # command arguments EXEC_CMD_ARGS='index.cjs' # command arguments
EXEC_PRE_SCRIPT='' # execute script before EXEC_PRE_SCRIPT='' # execute script before
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ -122,7 +122,7 @@ EXEC_PRE_SCRIPT='' # execute script before
IS_WEB_SERVER="no" IS_WEB_SERVER="no"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Is this service a database server # Is this service a database server
IS_DATABASE_SERVICE="yes" IS_DATABASE_SERVICE="no"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Does this service use a database server # Does this service use a database server
USES_DATABASE_SERVICE="no" USES_DATABASE_SERVICE="no"
@ -145,22 +145,30 @@ ROOT_FILE_PREFIX="/config/secure/auth/root" # directory to save username/passwor
USER_FILE_PREFIX="/config/secure/auth/user" # directory to save username/password for normal user USER_FILE_PREFIX="/config/secure/auth/user" # directory to save username/password for normal user
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# root/admin user info password/random] # root/admin user info password/random]
root_user_name="${NODE_ROOT_USER_NAME:-}" # root user name root_user_name="${ENCLOSED_ROOT_USER_NAME:-}" # root user name
root_user_pass="${NODE_ROOT_PASS_WORD:-}" # root user password root_user_pass="${ENCLOSED_ROOT_PASS_WORD:-}" # root user password
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Normal user info [password/random] # Normal user info [password/random]
user_name="${NODE_USER_NAME:-}" # normal user name user_name="${ENCLOSED_USER_NAME:-}" # normal user name
user_pass="${NODE_USER_PASS_WORD:-}" # normal user password user_pass="${ENCLOSED_USER_PASS_WORD:-}" # normal user password
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Load variables from config # Load variables from config
[ -f "/config/env/node.script.sh" ] && . "/config/env/node.script.sh" # Generated by my dockermgr script [ -f "/config/env/enclosed.script.sh" ] && . "/config/env/enclosed.script.sh" # Generated by my dockermgr script
[ -f "/config/env/node.sh" ] && . "/config/env/node.sh" # Overwrite the variabes [ -f "/config/env/enclosed.sh" ] && . "/config/env/enclosed.sh" # Overwrite the variabes
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Additional predefined variables # Additional predefined variables
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Additional variables # Additional variables
export PORT=${SERVICE_PORT}
export SERVER_API_ROUTES_TIMEOUT_MS=10000
export SERVER_CORS_ORIGINS='*'
export NOTES_MAX_ENCRYPTED_PAYLOAD_LENGTH=5242880
export TASK_DELETE_EXPIRED_NOTES_ENABLED=true
export TASK_DELETE_EXPIRED_NOTES_CRON="*/60 * * * *"
export TASK_DELETE_EXPIRED_NOTES_RUN_ON_STARTUP=true
export STORAGE_DRIVER_FS_LITE_PATH=/data/enclosed
export STORAGE_DRIVER_CLOUDFLARE_KV_BINDING=notes
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Specifiy custom directories to be created # Specifiy custom directories to be created
ADD_APPLICATION_FILES="" ADD_APPLICATION_FILES=""
@ -176,15 +184,7 @@ ADDITIONAL_CONFIG_DIRS=""
CMD_ENV="" CMD_ENV=""
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Overwrite based on file/directory # Overwrite based on file/directory
export PORT=${SERVICE_PORT}
export SERVER_API_ROUTES_TIMEOUT_MS=10000
export SERVER_CORS_ORIGINS='*'
export NOTES_MAX_ENCRYPTED_PAYLOAD_LENGTH=5242880
export TASK_DELETE_EXPIRED_NOTES_ENABLED=true
export TASK_DELETE_EXPIRED_NOTES_CRON="*/60 * * * *"
export TASK_DELETE_EXPIRED_NOTES_RUN_ON_STARTUP=true
export STORAGE_DRIVER_FS_LITE_PATH=/data/enclosed
export STORAGE_DRIVER_CLOUDFLARE_KV_BINDING=notes
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Per Application Variables or imports # Per Application Variables or imports
@ -245,10 +245,10 @@ __update_conf_files() {
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# custom commands # custom commands
symlink "$(type -P node)" "/usr/local/bin/enclosed"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# replace variables # replace variables
# __replace "" "" "$CONF_DIR/node.conf" # __replace "" "" "$CONF_DIR/enclosed.conf"
# replace variables recursively # replace variables recursively
# __find_replace "" "" "$CONF_DIR" # __find_replace "" "" "$CONF_DIR"
@ -339,14 +339,14 @@ __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:-$NODE_ROOT_USER_NAME}" # root user name #ENV_ROOT_USER_NAME="${ENV_ROOT_USER_NAME:-$ENCLOSED_ROOT_USER_NAME}" # root user name
#ENV_ROOT_USER_PASS="${ENV_ROOT_USER_NAME:-$NODE_ROOT_PASS_WORD}" # root user password #ENV_ROOT_USER_PASS="${ENV_ROOT_USER_NAME:-$ENCLOSED_ROOT_PASS_WORD}" # root user password
#root_user_name="${ENV_ROOT_USER_NAME:-$root_user_name}" # #root_user_name="${ENV_ROOT_USER_NAME:-$root_user_name}" #
#root_user_pass="${ENV_ROOT_USER_PASS:-$root_user_pass}" # #root_user_pass="${ENV_ROOT_USER_PASS:-$root_user_pass}" #
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#Normal user info [password/random] #Normal user info [password/random]
#ENV_USER_NAME="${ENV_USER_NAME:-$NODE_USER_NAME}" # #ENV_USER_NAME="${ENV_USER_NAME:-$ENCLOSED_USER_NAME}" #
#ENV_USER_PASS="${ENV_USER_PASS:-$NODE_USER_PASS_WORD}" # #ENV_USER_PASS="${ENV_USER_PASS:-$ENCLOSED_USER_PASS_WORD}" #
#user_name="${ENV_USER_NAME:-$user_name}" # normal user name #user_name="${ENV_USER_NAME:-$user_name}" # normal user name
#user_pass="${ENV_USER_PASS:-$user_pass}" # normal user password #user_pass="${ENV_USER_PASS:-$user_pass}" # normal user password