[PR #4100] [MERGED] Add: tools.func #4556

Closed
opened 2026-02-05 06:24:07 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/community-scripts/ProxmoxVE/pull/4100
Author: @MickLesk
Created: 4/28/2025
Status: Merged
Merged: 4/28/2025
Merged by: @michelroegl-brunner

Base: mainHead: tools_func


📝 Commits (2)

  • e5656c6 Add: tools.func
  • 5886ea4 add paths into build.func and install.func

📊 Changes

3 files changed (+761 additions, -1 deletions)

View changed files

📝 misc/build.func (+1 -0)
📝 misc/install.func (+2 -1)
misc/tools.func (+758 -0)

📄 Description

✍️ Description

add tools.func for new handling some default setups

This file, tools.func, provides a suite of shell functions to automate the installation and management of various development tools and system utilities. Specifically, it includes functions to:

  • install_node_and_modules(): Installs or updates Node.js to a specified version and globally installs provided npm modules.
  • install_postgresql(): Installs or updates PostgreSQL to a specified version, managing the necessary repositories.
  • install_mariadb(): Installs or updates MariaDB to the latest LTS version or a specified version.
  • install_mysql(): Installs or updates MySQL to a specified version, handling repository setup.
  • install_php(): Installs or updates PHP to a specified version, along with selected modules, and optionally configures it for Apache or FPM.
  • install_composer(): Installs or updates Composer, the PHP dependency manager.
  • install_go(): Installs or updates the Go programming language to the latest or a specific version.
  • install_java(): Installs or updates the Temurin (Adoptium) Java Development Kit to a specified version.
  • install_mongodb(): Installs or updates MongoDB to a specified version, managing the official MongoDB repository.
  • fetch_and_deploy_gh_release(): Fetches the latest (or a specific) release from a given GitHub repository, attempts to find an asset suitable for the current architecture, downloads and deploys it to /opt/. It also tracks the installed version.
  • setup_local_ip_helper(): Sets up a service to automatically detect and store the local IP address in a file whenever the network configuration changes.
  • import_local_ip(): Imports the locally detected IP address (if available) as an environment variable LOCAL_IP.

These functions aim to simplify the process of setting up a development environment by providing automated scripts for installing and managing common tools.

Link: #

Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected.
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.

🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing functionality in a way that may require updates.
  • 🆕 New script – A fully functional and tested script or script set.
  • 🌍 Website update – Changes to website-related JSON files or metadata.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, AppName.md, CONTRIBUTING.md, or other docs.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/community-scripts/ProxmoxVE/pull/4100 **Author:** [@MickLesk](https://github.com/MickLesk) **Created:** 4/28/2025 **Status:** ✅ Merged **Merged:** 4/28/2025 **Merged by:** [@michelroegl-brunner](https://github.com/michelroegl-brunner) **Base:** `main` ← **Head:** `tools_func` --- ### 📝 Commits (2) - [`e5656c6`](https://github.com/community-scripts/ProxmoxVE/commit/e5656c656a9bb2d38d9bd19fae550b1fbacba238) Add: tools.func - [`5886ea4`](https://github.com/community-scripts/ProxmoxVE/commit/5886ea4bbf76f2c71a2d83755cecccfce20534ff) add paths into build.func and install.func ### 📊 Changes **3 files changed** (+761 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `misc/build.func` (+1 -0) 📝 `misc/install.func` (+2 -1) ➕ `misc/tools.func` (+758 -0) </details> ### 📄 Description <!--🛑 New scripts must be submitted to [ProxmoxVED](https://github.com/community-scripts/ProxmoxVED) for testing. PRs without prior testing will be closed. --> ## ✍️ Description add tools.func for new handling some default setups This file, `tools.func`, provides a suite of shell functions to automate the installation and management of various development tools and system utilities. Specifically, it includes functions to: - **`install_node_and_modules()`**: Installs or updates Node.js to a specified version and globally installs provided npm modules. - **`install_postgresql()`**: Installs or updates PostgreSQL to a specified version, managing the necessary repositories. - **`install_mariadb()`**: Installs or updates MariaDB to the latest LTS version or a specified version. - **`install_mysql()`**: Installs or updates MySQL to a specified version, handling repository setup. - **`install_php()`**: Installs or updates PHP to a specified version, along with selected modules, and optionally configures it for Apache or FPM. - **`install_composer()`**: Installs or updates Composer, the PHP dependency manager. - **`install_go()`**: Installs or updates the Go programming language to the latest or a specific version. - **`install_java()`**: Installs or updates the Temurin (Adoptium) Java Development Kit to a specified version. - **`install_mongodb()`**: Installs or updates MongoDB to a specified version, managing the official MongoDB repository. - **`fetch_and_deploy_gh_release()`**: Fetches the latest (or a specific) release from a given GitHub repository, attempts to find an asset suitable for the current architecture, downloads and deploys it to `/opt/`. It also tracks the installed version. - **`setup_local_ip_helper()`**: Sets up a service to automatically detect and store the local IP address in a file whenever the network configuration changes. - **`import_local_ip()`**: Imports the locally detected IP address (if available) as an environment variable `LOCAL_IP`. These functions aim to simplify the process of setting up a development environment by providing automated scripts for installing and managing common tools. ## 🔗 Related PR / Issue Link: # ## ✅ Prerequisites (**X** in brackets) - [x] **Self-review completed** – Code follows project standards. - [ ] **Tested thoroughly** – Changes work as expected. - [ ] **No security risks** – No hardcoded secrets, unnecessary privilege escalations, or permission issues. --- ## 🛠️ Type of Change (**X** in brackets) - [ ] 🐞 **Bug fix** – Resolves an issue without breaking functionality. - [x] ✨ **New feature** – Adds new, non-breaking functionality. - [ ] 💥 **Breaking change** – Alters existing functionality in a way that may require updates. - [ ] 🆕 **New script** – A fully functional and tested script or script set. - [ ] 🌍 **Website update** – Changes to website-related JSON files or metadata. - [ ] 🔧 **Refactoring / Code Cleanup** – Improves readability or maintainability without changing functionality. - [ ] 📝 **Documentation update** – Changes to `README`, `AppName.md`, `CONTRIBUTING.md`, or other docs. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-05 06:24:07 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ProxmoxVE#4556