* feat: validate container ID before pct create to prevent failures
Add validation to ensure container IDs are not already in use before attempting to create containers. This prevents pct create failures when an ID is already assigned to a VM/LXC or used in LVM volumes.
Changes:
- Add validate_container_id() and get_valid_container_id() functions to build.func
- Validate ID in base_settings() for default installation method
- Validate ID in advanced_settings() dialog with user prompt for next available ID
- Add validation to turnkey.sh with interactive dialog
- Add validation to all-templates.sh with automatic ID correction
Checks performed:
- Container config file existence (/etc/pve/lxc/*.conf)
- VM config file existence (/etc/pve/qemu-server/*.conf)
- LVM logical volume usage
Fixes issue where container creation would fail if the suggested/chosen ID was already in use.
* feat: validate container ID before pct create to prevent failures
Add validation to ensure container IDs are not already in use before attempting to create containers. This prevents pct create failures when an ID is already assigned to a VM/LXC or used in LVM volumes.
Changes:
- Add validate_container_id() and get_valid_container_id() functions to build.func
- Validate ID in base_settings() for default installation method
- Validate ID in advanced_settings() dialog with user prompt for next available ID
- Add validation to turnkey.sh with interactive dialog
- Add validation to all-templates.sh with automatic ID correction
Checks performed:
- Container config file existence (/etc/pve/lxc/*.conf)
- VM config file existence (/etc/pve/qemu-server/*.conf)
- LVM logical volume usage
Fixes issue where container creation would fail if the suggested/chosen ID was already in use.
* Update turnkey.sh
* Update build.func
* fix(iptag): Fix syntax error in VM config file parsing
The array assignment was using an invalid pipe construct inside the loop:
vmids+=("${conf##*/}" | sed 's/\.conf$//')
This caused a bash syntax error:
syntax error near unexpected token '2'
Fixed by using:
- shopt -s nullglob to handle empty directories gracefully
- Parameter expansion ${filename%.conf} instead of sed pipe
Fixes#10595
* fix(iptag): Fix syntax error in VM config file parsing
The array assignment was using an invalid pipe construct inside the loop:
vmids+=("${conf##*/}" | sed 's/\.conf$//')
This caused a bash syntax error:
syntax error near unexpected token '2'
Fixed by using parameter expansion ${basename%.conf} instead of sed pipe.
Fixes#10595
Corrected references from 'ProxmoxVED' to 'ProxmoxVE' in sourced URLs across livebook.sh, glances.sh, and pve-privilege-converter.sh to ensure scripts use the correct repository.
* Update host-backup.sh
added an "all" button to include all folders instead of clicking every folder by itself
* Update host-backup.sh
added a timestamp in the filename incase the user wants to make several backups on the same time.
Otherweise the newest backup will overwrite the earlier one.
- **Interactive Configuration**: Added setup wizard for `TAG_FORMAT` (last_two_octets/last_octet/full) and `LOOP_INTERVAL` (30-7200 seconds) during installation/update
- **Unified Installation Menu**: Replaced conditional service detection with unified menu offering install-with-service, install-command-only, and update options
- **Post-Installation Guidance**: Added comprehensive information display about configuration file location (`/opt/iptag/iptag.conf`) and required CIDR_LIST setup
- **Improved VM IP Detection**: Enhanced IP discovery with QM guest agent priority, ARP table validation via ping, and automatic removal of stale ARP entries
- **Visual Indicators**: Replaced emoji symbols with standard ASCII characters (✓/✗) with proper colors for better terminal compatibility
- **Simplified Update Process**: Removed complex service detection logic and provided direct update option in main menu
These changes address user feedback about complex installation requirements, VM IP detection issues, and provide clearer guidance for network subnet configuration.
* FileBrowser Quantum: safer update (tmp download + atomic replace + arch autodetect)
**What**
Safer updater for FileBrowser Quantum addon:
- Download to temp file, then atomic `mv` into INSTALL_PATH
- Stop/start service around the swap
- CPU arch autodetect (amd64/arm64/armv7/armv6)
- Proper error handling & version verification before printing success
**Why**
Current update streams `curl` directly to `/usr/local/bin/filebrowser` and prints success even if `curl` fails.
I hit:
* fix(filebrowser-quantum): add missing `fi` before install section
Closes the conditional started with `if [[ -f "$INSTALL_PATH" ]]` so the script doesn’t hit a bash syntax error when reaching the install path.
* refactor(update): minimal fix - temp file + atomic mv; amd64 only
* style(update): remove comments/blank lines; drop restart (alpine-safe)
* Fix: exclude all thin-pools dynamically instead of only 'data'
* Fix: dynamically exclude all thin pools (not just 'data') from orphan check
* Fix: dynamically exclude all thin pools (not just 'data') from orphan check