1463 Commits

Author SHA1 Message Date
CanbiZ
73d6cabb52 Add advanced Proxmox container feature support
Introduces support for advanced Proxmox container features including nesting, keyctl, mknod, mount filesystems, protection flag, and timezone. Updates variable handling, settings UI, and container build logic to allow configuration and passing of these options.
2025-11-17 13:48:59 +01:00
CanbiZ
0bcd88685c Improve error handling during app installer run
Expanded comments and adjusted error handling logic when running the application installer in the container. All error traps are disabled before lxc-attach and restored after, ensuring host error_handler does not interfere with container-level error management.
2025-11-17 13:19:39 +01:00
CanbiZ
916293d98d introduce dev_mode
Introduces granular dev_mode flags (motd, keep, trace, pause, breakpoint, logs, dryrun) with a parser and exports for container builds. Enables persistent log directories when logs mode is active, supports dryrun and trace modes, and adds MOTD/SSH setup and breakpoint shell for debugging. Refactors related logic in build.func, core.func, and install.func for improved developer experience and debugging.
2025-11-17 12:53:26 +01:00
CanbiZ
c2b7f4e298 Improve container build/install logging and error handling
Introduces distinct BUILD_LOG and INSTALL_LOG variables for host and container operations, ensuring logs are properly captured and retrievable. Refactors silent execution and error handling to use the active log file, improves log copying after failures, and enhances context detection for log management. Also adds fallback logic for INSTALL_LOG initialization in install.func.
2025-11-17 12:45:24 +01:00
CanbiZ
06a4091019 Improve container install error handling and logging
Enhances reliability of application installation error detection in containers by using an error flag file, improves log copying and user prompts, and updates error handler to create a flag file with the exit code for host-side detection.
2025-11-17 12:23:51 +01:00
CanbiZ
5386da93e8 Handle failed LXC install and cleanup in build.func
Moved failed LXC installation cleanup logic from error_handler.func to build.func. Now, if installation fails, the user is prompted to remove the broken container with a 60s timeout, and the installation log is copied for debugging. Removed the cleanup_failed_lxc function and related trap from error_handler.func for better encapsulation.
2025-11-17 12:11:09 +01:00
CanbiZ
70a72f1356 Add cleanup handler for failed LXC installations
Introduces the cleanup_failed_lxc function to prompt for and remove broken containers after failed LXC installs. Updates catch_errors to invoke this cleanup on EXIT, ensuring failed containers are handled automatically or with user confirmation.
2025-11-17 11:46:51 +01:00
CanbiZ
c9d7c2f46b add exit_codes.md 2025-11-17 11:39:14 +01:00
CanbiZ
ee5fe3439d extend error messages 206,207,208,209 / 215, 216, 217, 218 / 222, 223, 231 2025-11-17 11:36:00 +01:00
CanbiZ
36f5e32d48 Inline explain_exit_code and clean diagnostics_check docs
Moved the explain_exit_code function directly into api.func, removing external dependency loading. Also cleaned up merge conflict markers and unified documentation for diagnostics_check in build.func.
2025-11-17 11:26:59 +01:00
CanbiZ
2f2adaea37 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-11-17 11:21:23 +01:00
CanbiZ
fc59aaede6 fix fi 2025-11-17 11:20:48 +01:00
CanbiZ
c0fc74bc9c Add detailed documentation and refactor core functions
Expanded inline documentation and section headers across misc/api.func, misc/build.func, misc/core.func, misc/error_handler.func, and misc/install.func for improved maintainability and clarity. Refactored error handling to use centralized explain_exit_code and updated API telemetry/reporting logic. Enhanced modularity and structure of utility, validation, and setup functions, and improved comments for user guidance and developer onboarding.
2025-11-17 11:17:04 +01:00
CanbiZ
432fc70e6e switch funcs 2025-11-17 10:45:28 +01:00
Tobias
b101b5b56b
Fix typo in PostgreSQL setup message 2025-11-14 13:58:18 +01:00
CanbiZ
f9a5ea27f3 Update tools.func 2025-11-12 15:18:18 +01:00
CanbiZ
5ade2b2237 Refactor Docker-VM 2025-11-11 13:45:03 +01:00
CanbiZ
59d684731d fixing outputs 2025-11-11 11:16:03 +01:00
CanbiZ
97f63f5189 Add Cloud-Init helper and refactor Docker VM script
Introduces misc/cloud-init.sh, a universal Cloud-Init helper library for Proxmox VM scripts. Refactors vm/docker-vm.sh to source the new Cloud-Init library, reorganizes variable initialization, improves OS and configuration selection logic, and enhances user interaction for VM creation. Also adds a backup of the previous docker-vm.sh as docker-vm.sh.bak.
2025-11-11 09:55:05 +01:00
CanbiZ
336d43ae58 Reindent all functions to 2-space style
Changed indentation from 4 spaces to 2 spaces for all functions in misc/core.func to improve consistency and readability. No functional changes were made.
2025-11-10 16:01:58 +01:00
CanbiZ
f96e1456e7 Update core.func 2025-11-10 15:53:56 +01:00
CanbiZ
9c0ea4e658 Refactor DB setup functions to use explicit variable names
Updated setup_mariadb_db and setup_postgresql_db to use more descriptive and explicit environment variable names (e.g., MARIADB_DB_NAME, PG_DB_NAME) instead of generic DB_NAME and DB_USER. This improves clarity, reduces risk of variable collision, and makes usage more consistent across scripts.
2025-11-10 15:32:04 +01:00
CanbiZ
51e5512790 Update tools.func 2025-11-10 14:38:35 +01:00
CanbiZ
9f0ec6e75a
Update credentials file path in tools.func 2025-11-10 14:25:56 +01:00
CanbiZ
fd739ee60a Improve env var handling in DB setup functions
Refactored MariaDB and PostgreSQL setup functions to use safer parameter expansion for environment variables, preventing unset variable errors. Updated credential file naming and improved comments for clarity.
2025-11-10 13:33:26 +01:00
CanbiZ
13af901bca Improve error message and variable check in DB setup
Updated the error message in setup_mariadb_db to English for clarity. Improved the DB_PASS variable check in setup_postgresql_db to handle unset variables more robustly.
2025-11-10 13:23:36 +01:00
CanbiZ
b8c35bfb9f Remove container and install scripts for multiple apps
Deleted setup and install scripts for donetick, infisical, nginxproxymanager, openwebui, pangolin, and tracktor from ct/ and install/ directories. Also fixed unbound variable error in setup_mariadb_db by using '${DB_PASS:-}' in misc/tools.func.
2025-11-10 13:21:53 +01:00
CanbiZ
d3f9c7326e Update tools.func 2025-11-10 13:05:56 +01:00
CanbiZ
e46a32968a Update tools.func 2025-11-10 13:05:04 +01:00
CanbiZ
8f72839259 Update tools.func 2025-11-10 13:00:45 +01:00
CanbiZ
2d42c0b2be Improve Docker AppArmor workaround for LXC
Moves AppArmor workaround to run before Docker installation and enhances the workaround in tools.func by adding an unmount step, updating the systemd service to use sysinit.target, and adding verification of the mount. Provides clearer feedback if the workaround is not active.
2025-11-07 13:44:57 +01:00
CanbiZ
a3c2b3c00f Update tools.func 2025-11-07 13:22:56 +01:00
CanbiZ
5aac68de8a
Implement AppArmor workaround for Docker in LXC
Added a workaround for Docker in LXC AppArmor issues to prevent permission denied errors. The workaround is made persistent across reboots by updating /etc/rc.local.
2025-11-07 12:24:25 +01:00
CanbiZ
53a92b2e53 Update tools.func 2025-11-07 10:37:23 +01:00
CanbiZ
a03867de69 Add setup_postgresql_db function for database creation
Introduces setup_postgresql_db to automate PostgreSQL database and user creation, extension installation, role configuration, and credential management. Supports options for superuser privileges, schema permissions, and compatibility settings for frameworks like Django and Rails.
2025-11-07 10:35:57 +01:00
CanbiZ
e6b42a2b86 Update tools.func 2025-11-06 10:07:10 +01:00
CanbiZ
5552a2beb4 Refactor Omada install and improve repo suite mapping
Refactored omada-install.sh to use setup_java and setup_mongodb functions, simplifying Java and MongoDB installation logic. Improved manage_tool_repository in tools.func to provide explicit suite mapping and fallbacks for newer or unknown Debian and Ubuntu releases, enhancing compatibility with future distributions. Minor comment translations and cleanups included.
2025-11-06 09:29:37 +01:00
CanbiZ
dec609fb6a Add success messages to legacy cleanup steps
Added explicit success messages after removing legacy installations for nvm, rbenv, rustup, and Go workspace in the cleanup_legacy_install function. Also updated ensure_apt_working to use the $STD variable for apt update commands for consistency.
2025-11-05 10:57:41 +01:00
CanbiZ
b0610bd8a8 Update tools.func 2025-11-05 10:34:21 +01:00
CanbiZ
b429113018 Update tools.func 2025-11-04 18:10:52 +01:00
CanbiZ
96339e216a fix typo 2025-11-04 17:52:53 +01:00
CanbiZ
27bb9e5192 Improve install log handling for containers
Enhances the build and error handler scripts to better manage installation logs. On install failure, the log is now copied from the container to the host for easier debugging. The error handler now saves the log inside the container's /root directory for later retrieval, improving traceability and support.
2025-11-04 17:10:28 +01:00
CanbiZ
dd34f2d8b3 Fix npm global module version detection in setup_nodejs
Replaces direct npm list checks with STD-prefixed commands and output parsing to improve reliability when detecting installed global module versions in the setup_nodejs function.
2025-11-04 17:03:02 +01:00
CanbiZ
b55e8f5f34 Improve logging and error handling with session IDs
Introduces a SESSION_ID variable for log file naming and tracking, updates log file paths to include timestamps and session IDs, and enhances error handling output to use custom message functions when available. Also improves log file management and user guidance for viewing logs, and refactors error handler to better support containerized environments.
2025-11-04 16:59:02 +01:00
CanbiZ
a6cdb474a1 Update build.func 2025-11-04 16:52:12 +01:00
CanbiZ
60ddf3af72 Refactor and enhance setup_uv function
Improves architecture and OS detection, adds support for i686, and streamlines version fetching and installation logic. Introduces uvx wrapper installation when requested, generates shell completions, and optionally installs a specific Python version via uv. Cleans up temporary directory handling and error management for robustness.
2025-11-04 16:44:21 +01:00
CanbiZ
8ccd06b596 Refactor message output and improve SSH check logic
Replaces many msg_info calls with msg_custom for more consistent and expressive status messages in build.func. Refines SSH client detection in core.func to better distinguish local, subnet, and external connections, and adds additional warnings for external SSH usage.
2025-11-04 16:38:46 +01:00
CanbiZ
2ff12b1f01 Update build.func 2025-11-04 16:30:23 +01:00
CanbiZ
4577271e7d Prioritize app resource defaults and silence storage messages
App-declared CPU, RAM, and disk defaults now take precedence over default.vars only if they are higher, ensuring resource allocations favor app requirements. Additionally, informational output for storage configuration and default.vars creation has been silenced for less verbose operation.
2025-11-04 16:24:37 +01:00
CanbiZ
be47e96028 remove debug 2025-11-04 16:16:38 +01:00