CanbiZ (MickLesk) b439960222 core: Execution ID & Telemetry Improvements (#12041)
* fix: send telemetry BEFORE log collection in signal handlers

- Swap ensure_log_on_host/post_update_to_api order in on_interrupt, on_terminate, api_exit_script, and inline SIGHUP/SIGINT/SIGTERM traps
- For signal exits (>128): send telemetry immediately, then best-effort log collection
- Add 2>/dev/null || true to all I/O in signal handlers to prevent SIGPIPE
- Fix on_exit: exit_code=0 now reports 'done' instead of 'failed 1'
- Root cause: pct pull hangs on dying containers blocked telemetry updates, leaving 595+ records stuck in 'installing' daily

* feat: add execution_id to all telemetry payloads

- Generate EXECUTION_ID from RANDOM_UUID in variables()
- Export EXECUTION_ID to container environment
- Add execution_id field to all 8 API payloads in api.func
- Add execution_id to post_progress_to_api in install.func and alpine-install.func
- Fallback to RANDOM_UUID when EXECUTION_ID not set (backward compat)

* fix: correct telemetry type values for PVE and addon scripts

- PVE scripts (tools/pve/*): change type 'tool' -> 'pve'
- Addon scripts (tools/addon/*): fix 4 scripts that wrongly used 'tool' -> 'addon'
  (netdata, add-tailscale-lxc, add-netbird-lxc, all-templates)
- api.func: post_tool_to_api sends type='pve', default fallback 'pve'
- Aligns with PocketBase categories: lxc, vm, pve, addon

* fix: persist diagnostics opt-in inside containers for addon telemetry

- install.func + alpine-install.func: create /usr/local/community-scripts/diagnostics
  inside the container when DIAGNOSTICS=yes (from build.func export)
- Enables addon scripts running later inside containers to find the opt-in
- Update init_tool_telemetry default type from 'tool' to 'pve'

* refactor: clean up diagnostics/telemetry opt-in system

- diagnostics_check(): deduplicate heredoc (was 2x 22 lines), improve whiptail
  text with clear what/what-not collected, add telemetry + privacy links
- diagnostics_menu(): better UX with current status, clear enable/disable
  buttons, note about existing containers
- variables(): change DIAGNOSTICS default from 'yes' to 'no' (safe: no
  telemetry before user consents via diagnostics_check)
- install.func + alpine-install.func: persist BOTH yes AND no in container
  so opt-out is explicit (not just missing file = no)
- Fix typo 'menue' -> 'menu' in config file comments

* fix: no pre-selection in telemetry dialog, link to telemetry-service README

- Add --defaultno so 'No, opt out' is focused by default (user must Tab to Yes)
- Change privacy link from discussions/1836 to telemetry-service#privacy--compliance

* fix: use radiolist for telemetry dialog (no pre-selection)

- Replace --yesno with --radiolist: user must actively SPACE-select an option
- Both options start as OFF (no pre-selection)
- Cancel/Exit defaults to 'no' (opt-out)

* simplify: inline telemetry dialog text like other whiptail dialogs

* improve: telemetry dialog with more detail, link to PRIVACY.md

- Add what we collect / don't collect sections back to dialog
- Link to telemetry-service/docs/PRIVACY.md instead of README anchor
- Update config file comment with same link
2026-02-18 10:24:06 +01:00
2026-02-17 10:40:58 +01:00
2025-04-15 15:58:05 +02:00
2026-02-18 00:22:33 +00:00
2025-12-15 10:06:07 +01:00

Proxmox VE Helper-Scripts Logo

Proxmox VE Helper-Scripts

A Community Legacy in Memory of @tteck

Website Discord Donate

Contribute Guides Changelog


Simplify your Proxmox VE setup with community-driven automation scripts
Originally created by tteck, now maintained and expanded by the community


🙌 Shoutout to

selfh.st Icons
View on GitHub • Consistent, beautiful icons for 5000+ self-hosted apps

🎯 Key Features

Quick Setup

One-command installations for popular services and containers

⚙️ Flexible Config

Simple mode for beginners, advanced options for power users

🔄 Auto Updates

Keep your installations current with built-in update mechanisms

🛠️ Easy Management

Post-install scripts for configuration and troubleshooting

👥 Community Driven

Actively maintained with contributions from users worldwide

📖 Well Documented

Comprehensive guides and community support

🔒 Secure

Regular security updates and best practices

Performance

Optimized configurations for best performance


📋 Requirements

🖥️ Proxmox VE

Version: 8.4.x | 9.0.x | 9.1.x

🐧 Operating System

Debian-based with Proxmox Tools

🌐 Network

Internet connection required


📥 Getting Started

Choose your preferred installation method:

Method 1: One-Click Web Installer

The fastest way to get started:

  1. Visit helper-scripts.com 🌐
  2. Search for your desired script (e.g., "Home Assistant", "Docker")
  3. Copy the bash command displayed on the script page
  4. Open your Proxmox Shell and paste the command
  5. Press Enter and follow the interactive prompts

Method 2: PVEScripts-Local

Install a convenient script manager directly in your Proxmox UI:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/pve-scripts-local.sh)"

This adds a menu to your Proxmox interface for easy script access without visiting the website.

📖 Learn more: ProxmoxVE-Local Repository


💬 Join the Community

💬 Discord

Real-time chat, support, and discussions

Discord

💭 Discussions

Feature requests, Q&A, and ideas

Discussions

🐛 Issues

Bug reports and issue tracking

Issues

🛠️ Contribute

💻 Code

Add new scripts or improve existing ones

📝 Documentation

Write guides, improve READMEs, translate content

🧪 Testing

Test scripts and report compatibility issues

💡 Ideas

Suggest features or workflow improvements


👉 Check our Contributing Guidelines to get started


❤️ Support the Project

This project is maintained by volunteers in memory of tteck. Your support helps us maintain infrastructure, improve documentation, and give back to important causes.

🎗️ 30% of all donations go directly to cancer research and hospice care

Support on Ko-fi
Every contribution helps keep this project alive and supports meaningful causes

📈 Project Statistics

Repobeats analytics

Star History Chart


📜 License

This project is licensed under the MIT License - feel free to use, modify, and distribute.


Made with ❤️ by the Proxmox community in memory of tteck
Proxmox® is a registered trademark of Proxmox Server Solutions GmbH
Languages
Shell 91.7%
TypeScript 8.2%