Update tools.func

This commit is contained in:
CanbiZ 2025-06-16 15:30:27 +02:00
parent 8d2ebf48f5
commit a43055a8e4

View File

@ -12,7 +12,7 @@
# NODE_MODULE - Comma-separated list of global modules (e.g. "yarn,@vue/cli@5.0.0") # NODE_MODULE - Comma-separated list of global modules (e.g. "yarn,@vue/cli@5.0.0")
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
setup_nodejs() { function setup_nodejs() {
local NODE_VERSION="${NODE_VERSION:-22}" local NODE_VERSION="${NODE_VERSION:-22}"
local NODE_MODULE="${NODE_MODULE:-}" local NODE_MODULE="${NODE_MODULE:-}"
local CURRENT_NODE_VERSION="" local CURRENT_NODE_VERSION=""
@ -135,7 +135,7 @@ setup_nodejs() {
# PG_VERSION - Major PostgreSQL version (e.g. 15, 16) (default: 16) # PG_VERSION - Major PostgreSQL version (e.g. 15, 16) (default: 16)
# PG_MODULES - Comma-separated list of extensions (e.g. "postgis,contrib") # PG_MODULES - Comma-separated list of extensions (e.g. "postgis,contrib")
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
setup_postgresql() { function setup_postgresql() {
local PG_VERSION="${PG_VERSION:-16}" local PG_VERSION="${PG_VERSION:-16}"
local PG_MODULES="${PG_MODULES:-}" local PG_MODULES="${PG_MODULES:-}"
local CURRENT_PG_VERSION="" local CURRENT_PG_VERSION=""
@ -223,7 +223,7 @@ setup_postgresql() {
# MARIADB_VERSION - MariaDB version to install (e.g. 10.11, latest) (default: latest) # MARIADB_VERSION - MariaDB version to install (e.g. 10.11, latest) (default: latest)
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
setup_mariadb() { function setup_mariadb() {
local MARIADB_VERSION="${MARIADB_VERSION:-latest}" local MARIADB_VERSION="${MARIADB_VERSION:-latest}"
local DISTRO_CODENAME local DISTRO_CODENAME
DISTRO_CODENAME="$(awk -F= '/^VERSION_CODENAME=/{print $2}' /etc/os-release)" DISTRO_CODENAME="$(awk -F= '/^VERSION_CODENAME=/{print $2}' /etc/os-release)"
@ -291,7 +291,7 @@ setup_mariadb() {
# MYSQL_VERSION - MySQL version to install (e.g. 5.7, 8.0) (default: 8.0) # MYSQL_VERSION - MySQL version to install (e.g. 5.7, 8.0) (default: 8.0)
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
setup_mysql() { function setup_mysql() {
local MYSQL_VERSION="${MYSQL_VERSION:-8.0}" local MYSQL_VERSION="${MYSQL_VERSION:-8.0}"
local CURRENT_VERSION="" local CURRENT_VERSION=""
local NEED_INSTALL=false local NEED_INSTALL=false
@ -372,7 +372,7 @@ setup_mysql() {
# PHP_MAX_EXECUTION_TIME - (default: 300) # PHP_MAX_EXECUTION_TIME - (default: 300)
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
setup_php() { function setup_php() {
local PHP_VERSION="${PHP_VERSION:-8.4}" local PHP_VERSION="${PHP_VERSION:-8.4}"
local PHP_MODULE="${PHP_MODULE:-}" local PHP_MODULE="${PHP_MODULE:-}"
local PHP_APACHE="${PHP_APACHE:-NO}" local PHP_APACHE="${PHP_APACHE:-NO}"
@ -477,7 +477,7 @@ setup_php() {
# - Installs to /usr/local/bin/composer # - Installs to /usr/local/bin/composer
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
setup_composer() { function setup_composer() {
local COMPOSER_BIN="/usr/local/bin/composer" local COMPOSER_BIN="/usr/local/bin/composer"
export COMPOSER_ALLOW_SUPERUSER=1 export COMPOSER_ALLOW_SUPERUSER=1
@ -516,7 +516,7 @@ setup_composer() {
# GO_VERSION - Version to install (e.g. 1.22.2 or latest) # GO_VERSION - Version to install (e.g. 1.22.2 or latest)
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
setup_go() { function setup_go() {
local ARCH local ARCH
case "$(uname -m)" in case "$(uname -m)" in
x86_64) ARCH="amd64" ;; x86_64) ARCH="amd64" ;;
@ -582,7 +582,7 @@ setup_go() {
# JAVA_VERSION - Temurin JDK version to install (e.g. 17, 21) # JAVA_VERSION - Temurin JDK version to install (e.g. 17, 21)
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
setup_java() { function setup_java() {
local JAVA_VERSION="${JAVA_VERSION:-21}" local JAVA_VERSION="${JAVA_VERSION:-21}"
local DISTRO_CODENAME local DISTRO_CODENAME
DISTRO_CODENAME=$(awk -F= '/VERSION_CODENAME/ { print $2 }' /etc/os-release) DISTRO_CODENAME=$(awk -F= '/VERSION_CODENAME/ { print $2 }' /etc/os-release)
@ -633,7 +633,7 @@ setup_java() {
# MONGO_VERSION - MongoDB major version to install (e.g. 7.0, 8.0) # MONGO_VERSION - MongoDB major version to install (e.g. 7.0, 8.0)
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
setup_mongodb() { function setup_mongodb() {
local MONGO_VERSION="${MONGO_VERSION:-8.0}" local MONGO_VERSION="${MONGO_VERSION:-8.0}"
local DISTRO_ID DISTRO_CODENAME MONGO_BASE_URL local DISTRO_ID DISTRO_CODENAME MONGO_BASE_URL
DISTRO_ID=$(awk -F= '/^ID=/{ gsub(/"/,"",$2); print $2 }' /etc/os-release) DISTRO_ID=$(awk -F= '/^ID=/{ gsub(/"/,"",$2); print $2 }' /etc/os-release)
@ -722,7 +722,7 @@ setup_mongodb() {
# fetch_and_deploy_gh_release "hanko" "teamhanko/hanko" "prebuild" "latest" "/opt/hanko" "hanko_Linux_x86_64.tar.gz" # fetch_and_deploy_gh_release "hanko" "teamhanko/hanko" "prebuild" "latest" "/opt/hanko" "hanko_Linux_x86_64.tar.gz"
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
fetch_and_deploy_gh_release() { function fetch_and_deploy_gh_release() {
local app="$1" local app="$1"
local repo="$2" local repo="$2"
local mode="${3:-tarball}" # tarball | binary | prebuild local mode="${3:-tarball}" # tarball | binary | prebuild
@ -898,7 +898,7 @@ fetch_and_deploy_gh_release() {
# - Automatically runs on network changes # - Automatically runs on network changes
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
setup_local_ip_helper() { function setup_local_ip_helper() {
local BASE_DIR="/usr/local/community-scripts/ip-management" local BASE_DIR="/usr/local/community-scripts/ip-management"
local SCRIPT_PATH="$BASE_DIR/update_local_ip.sh" local SCRIPT_PATH="$BASE_DIR/update_local_ip.sh"
local IP_FILE="/run/local-ip.env" local IP_FILE="/run/local-ip.env"
@ -977,7 +977,7 @@ EOF
# - Loads from /run/local-ip.env or performs runtime lookup # - Loads from /run/local-ip.env or performs runtime lookup
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
import_local_ip() { function import_local_ip() {
local IP_FILE="/run/local-ip.env" local IP_FILE="/run/local-ip.env"
if [[ -f "$IP_FILE" ]]; then if [[ -f "$IP_FILE" ]]; then
# shellcheck disable=SC1090 # shellcheck disable=SC1090
@ -1247,7 +1247,7 @@ function setup_gs() {
# RUBY_INSTALL_RAILS - true/false to install Rails (default: true) # RUBY_INSTALL_RAILS - true/false to install Rails (default: true)
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
setup_rbenv_stack() { function setup_ruby() {
local RUBY_VERSION="${RUBY_VERSION:-3.4.4}" local RUBY_VERSION="${RUBY_VERSION:-3.4.4}"
local RUBY_INSTALL_RAILS="${RUBY_INSTALL_RAILS:-true}" local RUBY_INSTALL_RAILS="${RUBY_INSTALL_RAILS:-true}"
@ -1333,7 +1333,7 @@ setup_rbenv_stack() {
# Variables: # Variables:
# APP - Application name (default: $APPLICATION variable) # APP - Application name (default: $APPLICATION variable)
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
create_selfsigned_certs() { function create_selfsigned_certs() {
local app=${APP:-$(echo "${APPLICATION,,}" | tr -d ' ')} local app=${APP:-$(echo "${APPLICATION,,}" | tr -d ' ')}
$STD msg_info "Creating Self-Signed Certificate" $STD msg_info "Creating Self-Signed Certificate"
$STD openssl req -x509 -nodes -days 365 -newkey rsa:4096 \ $STD openssl req -x509 -nodes -days 365 -newkey rsa:4096 \
@ -1360,7 +1360,7 @@ create_selfsigned_certs() {
# RUST_CRATES - Comma-separated list of crates (e.g. "cargo-edit,wasm-pack@0.12.1") # RUST_CRATES - Comma-separated list of crates (e.g. "cargo-edit,wasm-pack@0.12.1")
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
setup_rust() { function setup_rust() {
local RUST_TOOLCHAIN="${RUST_TOOLCHAIN:-stable}" local RUST_TOOLCHAIN="${RUST_TOOLCHAIN:-stable}"
local RUST_CRATES="${RUST_CRATES:-}" local RUST_CRATES="${RUST_CRATES:-}"
local CARGO_BIN="${HOME}/.cargo/bin" local CARGO_BIN="${HOME}/.cargo/bin"
@ -1421,7 +1421,7 @@ setup_rust() {
# - Supports Alpine and Debian-based systems # - Supports Alpine and Debian-based systems
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
setup_adminer() { function setup_adminer() {
if grep -qi alpine /etc/os-release; then if grep -qi alpine /etc/os-release; then
msg_info "Installing Adminer (Alpine)" msg_info "Installing Adminer (Alpine)"
mkdir -p /var/www/localhost/htdocs/adminer mkdir -p /var/www/localhost/htdocs/adminer
@ -1450,7 +1450,6 @@ setup_adminer() {
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
function setup_yq() { function setup_yq() {
msg_info "Setup yq"
local TMP_DIR local TMP_DIR
TMP_DIR=$(mktemp -d) TMP_DIR=$(mktemp -d)
local CURRENT_VERSION="" local CURRENT_VERSION=""
@ -1474,6 +1473,7 @@ function setup_yq() {
fi fi
fi fi
msg_info "Setup yq"
local RELEASE_JSON local RELEASE_JSON
RELEASE_JSON=$(curl -fsSL "https://api.github.com/repos/${GITHUB_REPO}/releases/latest") RELEASE_JSON=$(curl -fsSL "https://api.github.com/repos/${GITHUB_REPO}/releases/latest")
local LATEST_VERSION local LATEST_VERSION