Skip to content

tools.func

Michel Roegl-Brunner edited this page May 15, 2025 · 11 revisions

This page describes all helper functions defined in misc/tools.func

The tools.func file is automatically sourced and can be used in all $APP-install.sh files.

install_node_and_modules Bash Function

This function automates the installation of a specified version of Node.js and a list of global Node modules on a Debian-based system. It ensures the desired Node.js version is installed (replacing any existing version if necessary) and installs or updates specified Node.js global modules.


🧰 Function Description

install_node_and_modules():

  • Checks if Node.js is installed.
  • If Node.js is installed but not the desired version, it replaces it.
  • If Node.js is not installed, it installs the specified version using the NodeSource APT repository.
  • It can also install or update a list of global Node modules.

🚀 How to Use/Example

install_node_and_modules

to install the latest version of Node.js with no additional Modules. If you want to define a specified Version and install Modules use something like this:

NODE_VERSION=20 NODE_MODULE="yarn@latest,@vue/[email protected]" install_node_and_modules

🧩 User-Configurable Variables

Variable Description Default Value
NODE_VERSION Specifies the major version of Node.js to install (e.g., 20, 22). 22
NODE_MODULE Comma-separated list of global npm modules to install or update.
Examples:
yarn@latest
@vue/[email protected]
typescript
(empty)

🔧 Notes

Global npm packages are only processed if NODE_MODULE is set. If the requested module version is already installed, it is skipped. Modules are updated if the installed version does not match the requested one (unless latest is used). On failure, the script exits with exit 1.

🐘 install_postgresql

Overview

This function installs or upgrades to a specified version of PostgreSQL. It handles backups, repository configuration, and service restarts automatically.

Usage

# Install default PostgreSQL version
install_postgresql

# Install a specific version
PG_VERSION=15 install_postgresql

User-Configurable Variables

Variable Description Default Value
PG_VERSION Specifies the major version of PostgreSQL to install or upgrade to (e.g., 14, 15, 16). 16

Behavior

  • Backs up databases if an existing installation is detected.
  • Installs the required version of PostgreSQL using the PGDG APT repo.
  • Restores the database after upgrade if applicable.

Clone this wiki locally