CanbiZ (MickLesk) 406d53ea2f core: remove old Go API and extend misc/api.func with new backend (#11822)
* Remove Go API and extend misc/api.func

Delete the Go-based API (api/main.go, api/go.mod, api/go.sum, api/.env.example) and significantly enhance misc/api.func. The shell telemetry file now includes telemetry configuration, repo source detection, GPU/CPU/RAM detection, expanded explain_exit_code mappings, and refactored post_to_api/post_to_api_vm to send non-blocking telemetry to telemetry.community-scripts.org while respecting DIAGNOSTICS/DEV_MODE and adding richer metadata (cpu/gpu/ram/repo_source). Also updates header/author info and improves privacy/robustness and error handling.

* Start install timer and refine error reporting

Call start_install_timer during build startup and overhaul exit/error reporting.

Changes:
- Invoke start_install_timer early in misc/build.func to track install duration.
- Update api_exit_script comments to reference PocketBase/api.func and adjust ERR/SIGINT/SIGTERM traps to post numeric exit codes (use $? / 130 / 143) instead of command strings.
- Replace the previous explain_exit_code implementation with a conditional fallback: only define explain_exit_code if not already provided (api.func is the canonical source). Expanded and reorganized exit code mappings (curl, timeout, systemd, Node/Python/Postgres/MySQL/MongoDB, Proxmox, etc.).
- In error_handler: stop echoing the container log path (host shows combined log), and post a "failed" update to the API with the exit code before offering container cleanup.

Rationale: these changes make telemetry more consistent and robust (numeric codes), provide a safe fallback for exit descriptions when api.func isn't loaded, and ensure failures are reported to the API prior to any automatic cleanup.

* Report install start/failure to telemetry API

Add telemetry hooks in misc/build.func: call post_to_api at installation start to capture early or immediately-failing installs, and call post_update_to_api with status "failed" and the install exit code when a container installation fails. This improves visibility into install failures for monitoring/telemetry.
2026-02-12 11:55:13 +01:00
2026-02-05 12:02:06 +01:00
2025-04-15 15:58:05 +02:00
2026-02-12 00:21:24 +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.4%
TypeScript 8.5%