113 Commits

Author SHA1 Message Date
CanbiZ
a826769899
Three-tier defaults system | security improvements | error_handler | improved logging | improved container creation | improved architecture (#9540)
* Refactor Core

Refactored misc/alpine-install.func to improve error handling, network checks, and MOTD setup. Added misc/alpine-tools.func and misc/error_handler.func for modular tool installation and error management. Enhanced misc/api.func with detailed exit code explanations and telemetry functions. Updated misc/core.func for better initialization, validation, and execution helpers. Removed misc/create_lxc.sh as part of cleanup.

* Delete config-file.func

* Update install.func

* Refactor stop_all_services function and variable names

Refactor service stopping logic and improve variable handling

* Refactor installation script and update copyright

Updated copyright information and adjusted package installation commands. Enhanced IPv6 disabling logic and improved container customization process.

* Update install.func

* Update license comment format in install.func

* Refactor IPv6 handling and enhance MOTD and SSH

Refactor IPv6 handling and update OS function. Enhance MOTD with additional details and configure SSH settings.

* big core refactor

* Enhance IPv6 configuration menu options

Updated IPv6 Address Management menu options for clarity and added a new option for fully disabling IPv6.

* Update default Node.js version to 24 LTS

* Update misc/alpine-tools.func

Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>

* indention

* remove debugf and duplicate codes

* Update whiptail backtitles and error codes

Removed '[dev]' from whiptail --backtitle strings for consistency. Refactored custom exit codes in build.func and error_handler.func: updated Proxmox error codes, shifted MySQL/MariaDB codes to 260-263, and removed unused MongoDB code. Updated error descriptions to match new codes.

* comments

* Refactor error handling and clean up debug comments

Standardized bash variable checks, removed unnecessary debug and commented code, and clarified error handling logic in container build and setup scripts. These changes improve code readability and maintainability without altering functional behavior.

* Update build.func

* feat: Improve LXC network checks and LINSTOR storage handling

Enhanced LXC container network setup to check for both IPv4 and IPv6 addresses, added connectivity (ping) tests, and provided troubleshooting tips on failure. Updated storage validation to support LINSTOR, including cluster connectivity checks and special handling for LINSTOR template storage.

---------

Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>
2025-12-04 07:52:18 +01:00
Slaviša Arežina
e5cc0a4726
core: sanitize appname for certificate generation (#9552)
* Update SSL key and certificate paths for Actual Budget

* Use lowercase app name for certificate paths

* revert changes at actualbudget

---------

Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-12-01 20:35:12 +01:00
CanbiZ
4d4095cd7d
Enhance MariaDB version fallback logic (#9545)
Updated fallback mechanism for MariaDB version retrieval to use mariadb_repo_setup script when the mirror is unreachable.
2025-12-01 18:25:08 +01:00
Slaviša Arežina
33489e607b
Refactor: Actual Budget (#9518)
* Update create_self_signed_cert function

* Refactor

* Remove old version file check
2025-11-30 17:34:14 +01:00
CanbiZ
e4b2e051bf fixes bug in setup_php 2025-11-22 13:23:40 +01:00
CanbiZ
e05a351712 Update tools.func 2025-11-22 13:20:18 +01:00
CanbiZ
1f6a141341 Refactor PHP setup for stricter version enforcement
Reworks the PHP installation logic to always remove conflicting PHP versions before pinning and repository setup, ensuring only the desired version is present. Simplifies module installation by letting apt-get handle missing modules and improves error handling for individual package installations. Removes pre-checks and warnings for unavailable modules, streamlining the process and reducing complexity.
2025-11-22 13:08:30 +01:00
CanbiZ
27bd55364c Improve PHP setup: enforce version pinning and cleanup
Enhances the PHP setup function to enforce APT pinning for PHP versions during updates and installations, ensuring correct version selection. Adds logic to remove conflicting PHP versions, improves module availability checks, and provides clearer messaging for installed and missing modules.
2025-11-22 13:02:53 +01:00
CanbiZ
8ad68e7c97 core: improve setup_php robustness and version validation
Enhances the setup_php function to enforce explicit PHP version pinning during installation, adds checks for available versions and missing modules, and improves error handling. The script now verifies the installed PHP version matches the requested version and provides fallback installation logic if version-constrained installs fail.
2025-11-22 12:52:47 +01:00
CanbiZ
ff6cb3b87e Fix rustup update to avoid interactive prompts
Redirects stdin from /dev/null when running 'rustup update' to prevent any interactive prompts that may block automated scripts.
2025-11-21 15:22:01 +01:00
CanbiZ
d7b8474af1
[core]: harmonize app_name for creds (#9224) 2025-11-17 16:52:11 +01:00
CanbiZ
99d441e37c Improve PostgreSQL setup for Debian testing/unstable
Enhances the setup_postgresql function to prioritize the PostgreSQL upstream repository for Debian trixie, forky, and sid, with a fallback to native Debian packages if the repo is unavailable or packages cannot be installed. Adds logic for installing dependencies, restoring backups, enabling the service, updating PATH, and installing optional modules for native package installations.
2025-11-17 09:42:02 +01:00
CanbiZ
06c0dad4f5
tools.func: improve Rust setup and crate installation logic (#9120)
* tools.func: improve Rust setup and crate installation logic

Enhances the setup_rust function to better handle Rust toolchain installation, updates, and verification. Improves global crate installation by handling upgrades, version checks, and error reporting, and adds more informative messaging throughout the process.

* Update tools.func

* Refine comment on setting default Rust toolchain

Removed redundant comment about fixing old installations.
2025-11-13 12:38:04 +01:00
CanbiZ
5776f67afd quickfix broken setup_java 2025-11-13 10:17:51 +01:00
Maximilian Bosche
9eb6a844c0
possible fix for #9109 (#9110) 2025-11-13 09:43:55 +01:00
CanbiZ
dc809eeda4
Change default value syntax for component variable 2025-11-12 14:54:17 +01:00
CanbiZ
11ff178b91
openwebui: Python version usage | core: zsh completion install (#9079) 2025-11-12 09:56:24 +01:00
CanbiZ
b8a9beb56a
Fix JDK count variable initialization in setup_java (#9058) 2025-11-11 16:19:35 +01:00
CanbiZ
b1d782dec6
Add helper functions for MariaDB and PostgreSQL setup (#9026) 2025-11-10 18:51:02 +01:00
CanbiZ
ef9a008d2a Improve service stopping logic in stop_all_services
Refactored stop_all_services to handle empty service lists and avoid pipeline failures. Now checks for found services before attempting to stop and disable them, improving robustness and error handling.
2025-11-10 13:58:04 +01:00
CanbiZ
8b30ed74df
core: update message for no available updates scenario (if pinned) (#9021) 2025-11-10 13:22:59 +01:00
CanbiZ
ac7db35a59 fix unbound $6 in deb822 2025-11-08 20:48:54 +01:00
CanbiZ
e8846642ef
Refactor setup_deb822_repo for optional architectures (#8983)
* Refactor setup_deb822_repo for optional architectures

Refactor setup_deb822_repo function to make architectures optional and improve GPG key download logic.

* Refactor setup_deb822_repo for clarity and efficiency

Refactor setup_deb822_repo function to improve parameter handling and error messages.
2025-11-08 20:11:45 +01:00
CanbiZ
faeedc729e
tools.func: fix amd64 arm64 missmatch (#8943) 2025-11-07 11:49:16 +01:00
CanbiZ
cc16f4bb94 Add explicit suite mapping for Debian and Ubuntu
Introduces explicit mapping of distro codenames to repository suites for Debian and Ubuntu, with fallbacks for newer or unknown releases. This ensures proper repository setup even when upstream does not yet support the latest distributions.
2025-11-06 07:57:30 +01:00
CanbiZ
1f261a382c
Refactor(tools.func): Add Retry Logic, OS-Upgrade Safety, Smart Version Detection + 10 Critical Bugfixes (#8871)
* Add robust package and repository management helpers

Introduces unified helper functions for package installation, repository management, and legacy cleanup across Debian/Ubuntu upgrades. Adds retry logic for APT operations, keyring cleanup, service management, version checks, and tool-specific repository setup. Refactors setup functions for Composer, FFmpeg, Go, Ghostscript, ImageMagick, Java, hardware acceleration, and MariaDB to use new helpers, improving reliability and upgrade safety.

* english comment
2025-11-05 14:19:35 +01:00
CanbiZ
5ff2bb4109
Fix typo for already updated 2025-10-29 22:10:07 +01:00
CanbiZ
1fe00c2493
Refactor: Kavita + Updated tools.func (no-same-owner) (#8594) 2025-10-23 15:46:28 +02:00
CanbiZ
c1205691e7
tools.func: update update_check messages for clarity (#8588)
* Update update check messages for clarity

* Change message for no update available case
2025-10-23 13:06:13 +02:00
CanbiZ
c7fffd85d3 Expand MongoDB setup to support Ubuntu and update repo handling
Extended the MongoDB setup function to handle both Debian and Ubuntu distributions, mapping their codenames to supported MongoDB suites. Updated the GPG key URL and output path, and adjusted the repository source file structure to match MongoDB's nested layout.
2025-10-22 17:07:12 +02:00
CanbiZ
2ae62055a6 Improve MongoDB repo setup for unknown Debian releases
Fallback to 'bookworm' for unknown Debian releases and update repository verification to check the correct nested path for MongoDB. Also adjust the sources.list format to match the new repository structure.
2025-10-22 17:02:44 +02:00
CanbiZ
e6bd1b5759 Fix MongoDB repo verification and component setup
Simplifies the arguments passed to verify_repo_available by removing the MongoDB version and org path from the suite parameter. Also sets the repository component to 'main' instead of using the variable REPO_COMPONENT.
2025-10-22 16:53:38 +02:00
CanbiZ
55120ae165 Fix MongoDB repo verification path in setup script
Update the repository path passed to verify_repo_available to include the MongoDB version, ensuring the correct repository is checked for availability.
2025-10-22 16:50:53 +02:00
CanbiZ
4672934701 Improve MongoDB repo suite selection for Debian
Enhances the setup_mongodb function to explicitly map Debian codenames to MongoDB-supported suites and adds a fallback to 'bookworm' if the repository is unavailable for the detected suite. This improves compatibility with newer Debian releases and provides clearer error handling.
2025-10-22 16:47:22 +02:00
CanbiZ
dfda118e65 Improve Node.js setup robustness and module handling
Enhances the setup_nodejs function by improving checks for existing Node.js and npm installations, ensuring jq is installed, handling APT update failures with retries, and providing clearer messaging. Also refines global Node module installation logic with better version checks, update/install messaging, and error handling. Ensures a safe working directory for npm to avoid errors.
2025-10-22 16:38:58 +02:00
CanbiZ
6d7c318dec Fix MongoDB repo suite handling for new Debian versions
Adds explicit mapping of 'trixie', 'forky', and 'sid' to 'bookworm' for MongoDB repository setup. Improves error handling by failing early if the repository is unavailable, instead of attempting a fallback.
2025-10-22 16:32:15 +02:00
CanbiZ
9c39c9cd67 fix formatting 2025-10-22 16:28:03 +02:00
CanbiZ
0ed95ea9cb
Install npm using Debian repository if not found
Replaced manual npm installation with apt install.
2025-10-22 16:25:00 +02:00
CanbiZ
433119e830
Update Node.js version and npm installation logic
Updated Node.js version to 22 and modified npm installation process to handle missing npm in Node 22.x.
2025-10-22 16:21:01 +02:00
CanbiZ
a794358c14
Refactor MongoDB setup function
Refactor MongoDB setup function to improve error handling and streamline commands.
2025-10-22 16:17:20 +02:00
CanbiZ
0f69e8cc69
Refactor MySQL installation logic in tools.func
Refactor MySQL installation script for clarity and efficiency. Update package handling and repository setup for Debian 13+.
2025-10-22 15:42:41 +02:00
CanbiZ
1c9d325ae8
Refactor: Full Change & Feature-Bump of tools.func (#8409) 2025-10-22 15:25:26 +02:00
Chris
02cede3f5d
tools.func: Check for /usr/local/bin in PATH during yq setup (#7856)
- My Booklore update failed due to yq not being found despite installed
2025-09-23 20:00:48 +02:00
CanbiZ
1fafb3f661
Suppress wrong errors from uv shell integration in setup_uv (#7822) 2025-09-23 11:39:46 +02:00
CanbiZ
01b6bec1fe
Implement clean install option in tools.func (#7785) 2025-09-21 16:20:18 +02:00
CanbiZ
9ce9de8e84
Fix regex to extract MySQL version correctly (#7774) 2025-09-21 08:28:07 +02:00
CanbiZ
f979dd2277
[core]: add fallback if mariadb upstream unreachable (#7599) 2025-09-12 21:28:28 +02:00
Slaviša Arežina
72c7d4199b
Sort functions (#7569) 2025-09-11 12:44:13 +02:00
CanbiZ
1c62d4614e
Harmonize GitHub Release Check (#7328) 2025-09-01 09:38:20 +02:00
CanbiZ
be255263c6
Refactor release fetching and version checking logic (#7299) 2025-08-29 22:58:19 +02:00