360 Commits

Author SHA1 Message Date
CanbiZ (MickLesk)
b2de843899 Merge pull request #1627 from heinemannj/pve-lxc-system-admin
Create pve-lxc-system-admin.sh
2026-06-05 15:09:25 +02:00
MickLesk
3f1df3f763 wydroid 2026-05-26 10:52:46 +02:00
Michel Roegl-Brunner
dbe0c6a37f arr-stack: add auto IP allocation with ping check
Third IP entry mode "auto": user supplies a starting IP, a range
(10.0.0.50-99), or comma-separated ranges; orchestrator walks the
candidates with `ping -c 1 -W 1` and grabs the first N that don't
respond. Skips the gateway and any IPs already assigned this run.
Confirms the picks via yes/no whiptail before locking them in.

Adds iputils-ping to ensure_dependencies.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 14:49:38 +02:00
Michel Roegl-Brunner
fa71af52ed arr-stack: reuse core/tools.func, use $STD, surface whiptail cancels
- Source misc/core.func and misc/tools.func; reuse ensure_dependencies,
  color/formatting/icons.
- Override silent() with a simple log-to-file wrapper so set -e and the
  EXIT trap own all failure handling; apply $STD to the curl download
  and the bash install in install_loop.
- Replace every "|| exit 0" whiptail bailout with a labeled cancelled()
  call so silent exits become diagnosable.
- EXIT trap now prints orphan CTID cleanup hints + the last 20 lines of
  the silent log on non-zero exit.
- Drop CLI flag parsing (--dry-run/--help) and inline comments.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 14:43:57 +02:00
Michel Roegl-Brunner
9819a07e4d add arr-stack expiremtn 2026-05-21 14:14:52 +02:00
tremor021
805a42084c portracker: env restore 2026-04-29 13:08:25 +02:00
tremor021
f07b0b672f portracker: add update 2026-04-29 13:07:57 +02:00
tremor021
b49cf2ad7f portracker: changes 2026-04-29 13:04:16 +02:00
tremor021
4213f2b6fa portracker: silent nodejs 2026-04-29 12:57:16 +02:00
tremor021
1609092031 portracker: update 2026-04-29 12:51:05 +02:00
tremor021
ad51def23e portracker: update 2026-04-29 12:37:04 +02:00
tremor021
9014b304ca oops 2026-04-29 11:51:50 +02:00
tremor021
ba73c0baad portracker: update 2026-04-29 11:47:48 +02:00
github-actions[bot]
b4945d0406 chore: update app headers [skip ci] 2026-04-29 09:35:53 +00:00
tremor021
d808d82662 add portracker script 2026-04-29 11:35:27 +02:00
github-actions[bot]
b644365284 chore: update app headers [skip ci] 2026-04-24 08:13:33 +00:00
CanbiZ (MickLesk)
89095f3d5d trek: seed default admin, fix install and hooks
Seed a default admin account and harden the installer; update symlink behavior and LXC hook argument handling.

- Install: downgrade Node setup to 22, write ADMIN_EMAIL/ADMIN_PASSWORD into /opt/trek/server/.env for initial boot, chmod the file, wait for app health, then remove plaintext creds from the env and print the default admin credentials. Remove previous DB patching script and credentials file generation. Add health-check failure handling.
- ct/trek.sh: check for /opt/trek instead of ~/.trek, run npm ci without --production, and recreate server data/uploads by removing any existing dirs and creating explicit symlinks.
- Installer: mirror symlink strategy used in the container (rm then ln -s) and ensure generated ENCRYPTION_KEY note; add ADMIN_EMAIL default.
- json: set default username to admin@trek.local, update notes about seeded admin, ENCRYPTION_KEY storage, and APP_URL recommendation.
- tools/pve/lxc-prehook.sh: fix append_unique_line_in_ct to pass positional arguments into the bash -c snippet safely (avoid parent-shell expansion).

These changes ensure a reproducible default admin creation flow without leaving plaintext credentials, improve symlink handling, and fix a bug in the LXC prehook.
2026-04-24 09:52:03 +02:00
CanbiZ (MickLesk)
aa51e3c759 Update lxc-prehook.sh 2026-04-23 15:00:18 +02:00
CanbiZ (MickLesk)
61efd1b283 Update lxc-prehook.sh 2026-04-23 14:49:12 +02:00
CanbiZ (MickLesk)
8f985e40a4 add helpers 2026-04-23 14:21:43 +02:00
CanbiZ (MickLesk)
3226c331d0 Move Foldergram media dir; add batch CT creator
Change Foldergram installation to store media and config under /opt/foldergram_media (create media dir, write env file there, update systemd EnvironmentFile). Update ct/foldergram.sh to remove temporary backup/restore during updates. Update json/foldergram.json config_path and add an info note about where to place media. Add tools/pve/ct-batch-create.sh — a new Proxmox CT batch-creator script (interactive/unattended modes, caching, storage selection) to download and deploy multiple community-scripts CTs.
2026-04-21 09:12:10 +02:00
CanbiZ (MickLesk)
2e2b3154e7 Add PVE script-creator agent; remove legacy scripts
Add a new .github agent (pve-script-creator.agent.md) with workflow and strict rules for generating CT/install/json files. Remove legacy CT/install/json artifacts for alpine-ironclaw and openthread-br (ct/, install/, json/ entries deleted). Also adjust mqttx update logic: set CLEAN_INSTALL=1 and move the update msg_info after fetch_and_deploy_gh_release to ensure a clean deployment before reporting/updating and then run yarn build in the app web dir.
2026-04-13 12:00:08 +02:00
CanbiZ (MickLesk)
a028055bf3 fix(addon): mqttui use uv pip instead of ensurepip
uv venvs don't include pip/ensurepip. Use uv pip install directly.
2026-04-07 13:39:09 +02:00
CanbiZ (MickLesk)
bce333c774 feat(addon): add mqttui web interface for MQTT monitoring
Python Flask app with real-time MQTT monitoring, automation rules,
alerting, and analytics. Runs via gunicorn + gevent-websocket.
2026-04-07 13:35:02 +02:00
CanbiZ (MickLesk)
c366bf4726 fix(addon): mqttx node engine compat + prompt formatting
- Add --ignore-engines to yarn install (web/ requires Node 18 exactly,
  but works fine with Node 22 + --openssl-legacy-provider)
- Fix prompt formatting: use read -r -p inline instead of echo + read
- Apply same prompt fix to mongo-express addon
2026-04-07 13:21:57 +02:00
CanbiZ (MickLesk)
700c2909f9 feat(addon): add mongo-express web admin for MongoDB 2026-04-07 10:10:20 +02:00
CanbiZ (MickLesk)
de7c99ea8c refactor(mqttx): convert from LXC to addon
MQTTX Web is a static browser-based MQTT client with no backend.
Makes more sense as an addon installable into any existing container
than as a dedicated LXC.

Addon installs into /opt/mqttx, builds web/ with yarn, serves via
Nginx on configurable port (default 8095). Supports install/update/uninstall.
2026-04-07 10:03:30 +02:00
CanbiZ (MickLesk)
4f0ef8b001 Add update script and use CRONMASTER_ACTION
Create /usr/local/bin/update_cronmaster during install and inside update() (using a single-quoted heredoc to avoid variable expansion) and make it executable. The generated updater now exports CRONMASTER_ACTION=update when invoking the fetched cronmaster.sh, and the main script checks CRONMASTER_ACTION instead of type. Also adjust the repository fetch path and remove a duplicate ensure_usr_local_bin_persist call.
2026-03-27 11:35:47 +01:00
CanbiZ (MickLesk)
22d5cf6493 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2026-03-27 11:32:28 +01:00
CanbiZ (MickLesk)
41df5516c9 Add IronClaw CT and refine CronMaster addon
Add IronClaw container templates and install scripts (ct/ironclaw.sh, install/ironclaw-install.sh, json/ironclaw.json) to provide automated setup, service unit, and default config for the IronClaw AI agent.

Refactor tools/addon/cronmaster.sh to use the ProxmoxVE misc endpoints, initialize optional telemetry, improve function loading, and strengthen OS detection (Debian/Ubuntu-only). Make service and install behaviors more robust: ensure /usr/local/bin persistence, create/update the update script from the new repo URL, change systemd WantedBy to multi-user.target, enable service quietly, save generated credentials to /root/cronmaster.creds, and use distinct exit codes for unsupported/invalid states. Misc license URL fix and other small reliability improvements.
2026-03-27 11:32:26 +01:00
MickLesk
07f9bc23f8 fix crontab 2026-03-26 20:18:36 +01:00
CanbiZ (MickLesk)
441158b195 Standardize mirror messaging; simplify apt update
Replace inconsistent msg_info calls with msg_warn for mirror-list warnings and msg_custom for "Attempting mirror" lines to unify output formatting in misc/build.func and misc/install.func. Simplify tools/pve/update-lxcs-cron.sh by removing the long mirror-probing block and using a straightforward apt-get update + noninteractive dist-upgrade (and cleanup of EXTERNALLY-MANAGED) in containers to reduce complexity and improve maintainability.
2026-03-26 16:32:25 +01:00
CanbiZ (MickLesk)
1f2410e997 Add apt mirror fallback for Debian/Ubuntu
Enhance apt-get update handling for Debian/Ubuntu/Devuan containers by adding regional mirror lists and a fallback routine. The script now detects container timezone to prefer regional mirrors, builds a randomized candidate list, probes each mirror (timeout on TCP:80), rewrites /etc/apt/* sources to use a working mirror, and retries apt-get update until success. Keeps the existing non-interactive dist-upgrade and cleans up apt lists as before. This improves reliability of updates inside LXC containers when default mirrors are unreachable or misbehaving.
2026-03-26 15:23:50 +01:00
CanbiZ (MickLesk)
6d213d511f Simplify APT retry logic and add insecure fallback
Replace the previous multi-step APT retry sequence (mirror swaps, sleeps, multiple retries) with a simpler fallback: on apt-get update failure disable Acquire::By-Hash, enable Acquire::AllowInsecureRepositories and attempt updates/installs using --allow-insecure-repositories/--allow-unauthenticated where needed. Restore secure settings and refresh lists afterwards, and preserve/propagate the original command exit status. Apply the same simplification in misc/build.func, misc/install.func and the Proxmox LXC cron updater (tools/pve/update-lxcs-cron.sh) to handle Debian repo desyncs more reliably and reduce complex retry logic.
2026-03-26 14:02:09 +01:00
CanbiZ (MickLesk)
681c438e60 Show install summary and cron/config viewer
Display an installation summary (including downloaded script SHA256, source, install path, config, log file, and cron schedule) and make script review optional before install. Add an interactive View menu to inspect the installed worker script, cron configuration, or both; implement view_worker_script, view_cron_config (shows cron entry, human-readable schedule, config contents and excluded patterns, and log file size), and cron_to_human helper. Also update prompt wording and the View option description.
2026-03-26 13:59:12 +01:00
CanbiZ (MickLesk)
74a3be318f Update update-lxcs-cron.sh 2026-03-26 13:49:22 +01:00
CanbiZ (MickLesk)
d836402348 Add status/run/rotate options & improve updater
tools/pve/cron-update-lxcs.sh: add show_status, run_now and rotate_log functions; expose new menu options (Status, Run, Rotate) and enlarge menu. Consolidate license line formatting.

tools/pve/update-lxcs-cron.sh: tighten variable scoping, improve ostype detection and logging, add fallback for hostname, handle unknown OS types, harden apt workflow (retry with By-Hash workaround and refresh lists), skip template containers correctly, add error reporting on container updates, and use a timed shutdown. Update author/license header.

Overall: adds manual control and status/log rotation to the cron manager and makes the container updater more robust and safer for Debian/Ubuntu-based containers.
2026-03-26 13:45:02 +01:00
Joerg Heinemann
8a740a8876 Create pve-lxc-system-admin.sh
Initial commit
2026-03-26 10:29:40 +01:00
github-actions[bot]
2d93dacef6 Delete homebrew (addon) after migration to ProxmoxVE (#1609)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-24 10:52:04 +00:00
CanbiZ (MickLesk)
d2c2a6e150 some fixes 2026-03-24 09:40:44 +01:00
CanbiZ (MickLesk)
4e9c1b22dd add brew user 2026-03-23 14:36:44 +01:00
CanbiZ (MickLesk)
aacbe238ba Update cron-update-lxcs.sh 2026-03-12 14:06:07 +01:00
CanbiZ (MickLesk)
1cbc30e578 Switch repo URLs to raw.githubusercontent.com
Update script and license links to use GitHub raw URLs. Replace git.community-scripts.org references with https://raw.githubusercontent.com/... for script fetching and https://github.com/... for the LICENSE link in tools/pve/cron-update-lxcs.sh and tools/pve/update-lxcs-cron.sh so the curl examples and REPO_URL point to GitHub-hosted raw content.
2026-03-12 11:35:21 +01:00
CanbiZ (MickLesk)
73b8a02a8c Update update-lxcs-cron.sh 2026-03-12 11:31:59 +01:00
CanbiZ (MickLesk)
a6e0de632f cron 2026-03-12 11:27:07 +01:00
Morgan Prior
2fc164e4d1 Use apt instead of apt-get in install function
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 08:51:25 +00:00
Morgan Prior
57ba5cd169 Rewrite homebrew addon to use core.func/tools.func pattern
Sources core.func, tools.func, error_handler.func, and api.func
instead of inline color vars and msg functions. Adds structured
sections (CONFIGURATION, OS DETECTION, UNINSTALL, INSTALL, MAIN)
matching the qbittorrent-exporter/pihole-exporter pattern.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 20:49:33 +00:00
Morgan Prior
05b99489fe Clarify error message: Homebrew cannot run as root
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 15:50:37 +00:00
Morgan Prior
da4e45695f Update tools/addon/homebrew.sh
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-26 13:59:56 +00:00
Morgan Prior
ce3127f2b3 Update tools/addon/homebrew.sh
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-26 13:59:42 +00:00