Commit Graph

257 Commits

Author SHA1 Message Date
bea9a62cce Feature: extend advanced settings with more options & inherit app defaults (#9776) 2025-12-09 16:01:31 +01:00
3fb9d02f36 fix: always show SSH access dialog in advanced settings (#9765)
- SSH access dialog is now always displayed regardless of password or SSH keys
- Added step indicator to SSH settings dialogs for consistency
- configure_ssh_settings() now accepts optional step_info parameter
- Updated documentation for SSH configuration functions

Fixes #9753
2025-12-08 14:20:05 +01:00
4d4ced6b63 feat: Add var_gpu flag for GPU passthrough configuration (#9764)
* feat: Add var_gpu flag for GPU passthrough configuration

Changes:
- Add var_gpu variable to CT scripts for explicit GPU control
- Remove hardcoded GPU_APPS list - GPU detection now uses var_gpu flag
- Add var_gpu to VAR_WHITELIST for persistence in default.vars and app.vars
- Add GPU Passthrough option (Step 19) to advanced_settings wizard (now 20 steps)
- Update documentation

Apps with var_gpu=yes (GPU enabled by default):
- Media: jellyfin, plex, emby, channels, ersatztv, tunarr
- Transcoding: tdarr, unmanic, fileflows
- AI/ML: ollama, openwebui
- NVR: frigate, immich

Usage:
- Disable GPU: var_gpu=no bash -c '$(curl -fsSL ...jellyfin.sh)'
- Enable GPU: var_gpu=yes bash -c '$(curl -fsSL ...debian.sh)'
- Via default.vars: echo 'var_gpu=yes' >> /usr/local/community-scripts/default.vars
- Via advanced settings wizard (Step 19)

* fix: tput rmcup timing, GPU line indentation, echo_default GPU display

* style: add GPU icon variable for consistent formatting
2025-12-08 13:52:30 +01:00
5a6a30e594 Remove Debian from GPU passthrough (#9754) 2025-12-07 21:11:12 +01:00
d2e9997d0d Improve NVIDIA device detection for container passthrough (#9670) 2025-12-05 12:44:23 +01:00
e73f35e2c8 var. core fixes (bash to sh in fix_gpu_gids ...) (#9666)
* Switch container exec from bash to sh in fix_gpu_gids

Replaces bash with sh for container execution in fix_gpu_gids and updates device matching logic to use a POSIX-compliant case statement. This improves compatibility with containers that may not have bash installed.

* fix(apt): auto-recover from interrupted dpkg operations

When a previous installation is interrupted (e.g., by script error or
user cancellation), dpkg can be left in an inconsistent state requiring
'dpkg --configure -a' to fix.

This change:
- Adds dpkg --configure -a check to ensure_apt_working()
- Adds dpkg --configure -a to retry logic in install_packages_with_retry()
- Adds dpkg --configure -a to retry logic in upgrade_packages_with_retry()

Fixes: Omada Controller update failing after interrupted installation
Reported-in: #9663
2025-12-05 09:17:19 +01:00
0f7c201b57 core: extend storage type support (rbd, nfs, cifs) and validation (iscidirect, isci, zfs, cephfs, pbs) (#9646)
* core: enhance storage type validation and error codes

Improve storage validation for LXC container creation with
explicit checks for unsupported storage types.

Changes:
- Add validation for storage types that don't support containers:
  - iscsidirect (exit 212) - VMs only
  - iscsi/zfs (exit 213) - no rootdir support
  - cephfs (exit 219) - use RBD instead
  - pbs (exit 224) - backups only
- Add connectivity check for network storage (linstor, rbd, nfs, cifs)
- Simplify storage content validation using pvesm status
- Reorganize Proxmox error codes (200-231) for consistency
- Update error messages to be more descriptive and actionable

This helps users identify storage compatibility issues early
before container creation fails with cryptic errors.

* Update build.func
2025-12-04 19:41:01 +01:00
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
d2a103c230 Set default LANG in locale configuration (#9440)
Ensures LANG is set to en_US.UTF-8 by default if not already defined before updating /etc/locale.gen.
2025-11-25 20:32:18 +01:00
156d6e46a1 core: Improve timezone detection 2025-11-22 17:56:50 +01:00
3f2f29d352 Refactor IPv6 disable logic and add 'disable' option (#9326)
Replaces previous IPv6 disabling method with a dedicated 'disable' option, storing sysctl settings in /etc/sysctl.d/99-disable-ipv6.conf. Updates build and install scripts to clarify the difference between 'none' (no assignment) and 'disable' (fully disables IPv6), adds user warnings, and disables IPv6 listeners in nginx if present.
2025-11-21 08:53:46 +01:00
acb1c4efbd PVE 9.1 version support (#9280) 2025-11-19 17:36:29 +01:00
714c2e5888 Bump K to H-Scripts to Debian 13 (Trixie) (#8597)
* Update scripts to use Debian 13 and improve update logic

Bump default container OS version from Debian 12 to 13 across multiple LXC setup scripts. Refactor update_script functions for consistency, improve messaging, and standardize apt usage. Update Kimai install and update scripts to use setup_php, setup_composer, and fetch_and_deploy_gh_release helpers, and switch from MySQL to MariaDB. Update Kometa to use Python 3.13. Minor improvements to backup, cleanup, and service management steps in several scripts.

* Refactor install scripts: unify cleanup and apt usage

Replaces repeated apt-get commands with apt for installing dependencies, and consolidates cleanup steps into a single cleanup_lxc function across all install scripts. Also updates repository setup to use setup_deb822_repo where applicable, and makes minor improvements to dependency installation and service setup.

* Update default Debian version to 13 and refactor updates

Set the default Debian version to 13 across all container scripts. Standardize apt command usage by replacing 'apt-get' with 'apt' where appropriate. Remove redundant cleanup steps from update scripts and streamline update logic for consistency. Also, call 'cleanup_lxc' after 'update_script' in the build function.

* Update default OS version to Debian 13 in JSON configs

Updated the 'version' field from '12' to '13' for Debian-based install methods across multiple application JSON files. Also set default OS and version for inspircd. This ensures new containers use the latest supported Debian release.

* fix kimai Update Check

* grammar

* Correct typo in success message

* Fix typo in success message for update

* refactor

* fixed jenkins / improve komodo

---------

Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-11-12 10:56:18 +01:00
306627378e Update shell check (#7796) 2025-09-22 09:51:34 +02:00
4c3d42d5d1 fix verbose 2025-09-08 14:09:20 +02:00
299a10efe8 Update build.func 2025-09-08 14:07:25 +02:00
5e46d81c45 [core]: switch all base_settings to variables (#7479) 2025-09-08 14:03:34 +02:00
993aff59d7 Update build.func (#6608) 2025-08-06 15:18:23 +02:00
c53d1d004a PVE9: Remove Beta Whiptail / add correct version check (#6599) 2025-08-06 13:46:07 +02:00
3dda41df94 Increase: Core Network check (pre-LXC Creation) (#6546)
* Update build.func

* Update build.func

* Update build.func
2025-08-04 14:36:02 +02:00
7433f7df0c Alternative connectivity checks for LXC (#6472) 2025-08-02 17:52:21 +02:00
4bd360d31b Strip SD and NS prefixes before writing to config file (#6356) 2025-07-30 21:14:16 +02:00
15e3958687 fix: removing ",gw=" from GATE variable when reading/writing from/to config. (#6177)
Previously when creating a config, GATE variable would incluse ",gw="
which was crashing the installer script when read later on.
This fix:
1. writes GATE variable to config without ",gw="
2. removes ",gw=" from GATE variable when reading existing config

Co-authored-by: teohz <git@teohz.com>
2025-07-28 15:11:52 +02:00
ba70f9867b ProxmoxVE 9.0 Beta: add BETA Version as test in pve_check (#6295) 2025-07-28 11:00:09 +02:00
84860a9893 [core]: Improved LXC Container Startup Handling (#6142)
* [core]: Improved LXC Container Startup Handling

* Update build.func

---------

Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-07-22 14:46:50 +02:00
7a0ca05153 fix possible whiptail issue 2025-07-15 13:47:08 +02:00
fb3bf03332 Update build.func 2025-07-15 13:43:05 +02:00
a2dde6594e add missing choise 2025-07-15 13:38:25 +02:00
8f4f2f4d92 Whiptail: Improve Dialogue to work with ESC (#6003) 2025-07-15 13:15:42 +02:00
e5e8b1e020 fix ipv6 config file 2025-07-14 22:37:36 +02:00
3b3e62c4cf escape ipv6 config file 2025-07-14 22:33:05 +02:00
478b65b2c2 qf 2025-07-14 22:17:48 +02:00
b060de68c0 Push (#5978) 2025-07-14 21:50:56 +02:00
24be3b43b1 core: Fix VAAPI passthrough for unprivileged LXC containers via devX (#5875) 2025-07-09 16:10:13 +02:00
7561e26c0a Core layer refactor: centralized error traps and msg_* consistency (#5705) 2025-07-04 21:22:50 +02:00
a80ec39740 fix broken ip6 config file 2025-06-30 12:39:29 +02:00
b26c5c9354 [core]: add ipv6 configuration support (#5575) 2025-06-30 12:11:44 +02:00
75b6aa9dac Update build.func 2025-06-22 20:53:02 +02:00
aab85ab654 fix issue while creating ct without gnupg2 2025-06-22 20:43:25 +02:00
5e87af5e8f Update build.func 2025-06-22 20:25:01 +02:00
8bd6d89bff quickfix 2025-06-22 20:16:16 +02:00
ddf3019021 quickfix missing char 2025-06-22 20:06:25 +02:00
5fcc97142f [core]: fix timing issues while template update & timezone setup at create new LXC (#5358)
* fix timezone timing issue at new LXC

* fix possible issue on templates
2025-06-22 19:54:55 +02:00
637f9a1f44 quickfix broken format 2025-06-20 13:32:57 +02:00
1f7d85ac60 [core]: unify misc/*.func scripts with centralized logic from core.func (#5316)
* Core Changes

* Formatting

* add create_lxc patches

* Update install.func

* remove dev header
2025-06-20 13:28:06 +02:00
b5012c4225 Feat: Quorum Status (#5278) 2025-06-19 18:50:23 +02:00
5db3d92286 Add hostname validation and replace recursion for invalid inputs in advanced settings (#5291) 2025-06-19 18:48:35 +02:00
2574e41ee8 Prevent api from posing if disabled (#5080) 2025-06-10 09:24:20 +02:00
4b7c734b9a Fix typo in build.func (#5041) 2025-06-07 20:57:55 +02:00
1e3d0e501b lowercase immich 2025-06-02 18:14:47 +02:00