Commit Graph
100 Commits
Author SHA1 Message Date
CanbiZ (MickLesk)andGitHub 1d609976d3 Slskd: Remove stale Soularr lock file on startup and redirect logs to stderr (#13669)
* Slskd: Remove stale Soularr lock file on startup and redirect logs to stderr

* fix(slskd): inline LOCK_FILE variable
2026-04-13 21:02:29 +02:00
CanbiZ (MickLesk) 041de06a4d fix(opnsense-vm): fix grep pipefail crash with single bridge & ambiguous redirect
- Add || true to grep -v in default_settings and advanced_settings to
  prevent pipefail exit code 1 when only one bridge exists
- Change 1>&/dev/null to &>/dev/null for pvesm alloc and qm importdisk
  to fix ambiguous bash redirect syntax
2026-04-13 16:31:36 +02:00
CanbiZ (MickLesk)andGitHub 83ef4a5857 refactor(bytestash): auto backup/restore data on update (#13707)
Remove manual backup prompt. Automatically back up and restore
the data directory (/opt/bytestash/data or legacy /opt/data)
during clean installs to prevent data loss.
2026-04-13 16:15:28 +02:00
CanbiZ (MickLesk)andGitHub e55fe43e2d core: remove unused TEMP_DIR mktemp leak in build_container / clean sonarqube (#13708)
* fix(core): remove unused TEMP_DIR mktemp leak in build_container

The build_container() function created a temp directory via mktemp -d and
pushd into it, but never popd or rm -rf. The directory was not used for
anything — FUNCTIONS_FILE_PATH is downloaded into a variable, not a file.

Remove the mktemp -d and pushd entirely to eliminate the leak.

* fix(sonarqube): clean up temp file after zip extraction

The SonarQube update function (ct/sonarqube.sh) never deleted the
downloaded zip file (~200-500 MB) from /tmp after extraction. On LXC
containers with 4-8 GB disks, this accumulates with every update and
can eventually fill the disk.

Also add explicit cleanup in the install script instead of relying
solely on cleanup_lxc() pattern matching.
2026-04-13 15:59:42 +02:00
CanbiZ (MickLesk)andGitHub 3dd3040010 IronClaw: Install keychain dependencies and launch in a DBus session (#13692) 2026-04-12 21:33:17 +02:00
CanbiZ (MickLesk)andGitHub 346dfd8bf7 Alpine-Wakapi: Remove container checks in update_script function (#13694) 2026-04-12 21:32:51 +02:00
CanbiZ (MickLesk)andGitHub 66ec27a1fb MeTube: Allow pnpm build scripts to fix ERR_PNPM_IGNORED_BUILDS (#13668) 2026-04-12 09:04:26 +02:00
CanbiZ (MickLesk)andGitHub 41fc57072a BentoPDF: replace http-server with nginx to fix WASM initialization timeout (#13625) 2026-04-11 23:56:16 +02:00
CanbiZ (MickLesk)andGitHub bea342ba04 Element Synapse: Add MatrixRTC configuration for Element Call support (#13665) 2026-04-11 23:55:47 +02:00
CanbiZ (MickLesk)andGitHub 146cd312d5 RomM: Use ROMM_BASE_PATH from .env for symlinks and nginx config (#13666) 2026-04-11 23:55:28 +02:00
CanbiZ (MickLesk)andGitHub 8b0156ede8 Immich: Ensure newline before appending IMMICH_HELMET_FILE to .env (#13667) 2026-04-11 23:55:07 +02:00
CanbiZ (MickLesk)andGitHub ecb4d36d6a Crafty Controller: Wait for credentials file instead of fixed sleep (#13670) 2026-04-11 23:54:03 +02:00
CanbiZ (MickLesk)andGitHub 5e865278e9 addons: Filebrowser & Filebrowser-Quantum get warning if host install (#13639)
* fix(filebrowser-quantum): warn when addon is run directly on Proxmox host

Detect /etc/pve and show a clear warning with link to the recommended
LXC installer. User must explicitly confirm to continue on the host,
addressing the size calculation and indexing issues reported in
gtsteffaniak/filebrowser#1893.

Closes #13636

* fix(filebrowser): improve host warning text and add to filebrowser addon

- Clarify that passthrough drives are not visible on the Proxmox host
- Mention incorrect disk usage stats and incomplete file browsing
- Add same warning to filebrowser (non-quantum) addon which also serves from /
- Reduce verbosity, remove redundant phrasing

* fix(filebrowser): fix misleading host warning wording

Remove reference to a non-existent dedicated LXC installer.
The addons should simply be run inside an LXC or VM instead.
2026-04-10 11:29:31 +02:00
CanbiZ (MickLesk)andGitHub 9a82ec48b2 tools.func: prevent script crash when entering GitHub token after rate limit (#13638)
* fix(tools): prevent script crash when entering GitHub token after rate limit

fetch_and_deploy_gh_release set attempt=0 after accepting a token, then
immediately ran ((0++)) which evaluates to 0 (falsy) causing exit code 1
and killing the script under set -e.

Fix: set attempt=1 and continue to restart the retry loop cleanly,
giving the full max_retries budget with the new token.

Also fix fetch_and_deploy_codeberg_release: replace ((attempt++)) with
attempt=\ to avoid the same zero-evaluation crash on
the first connection timeout (attempt starts at 0 in that loop).

Fixes #13635

* feat(tools): add var_github_token support with token validation

- Add var_github_token to all VAR_WHITELIST arrays in build.func so the
  token can be set via default.vars, app.vars, or environment variable
- Map var_github_token -> GITHUB_TOKEN in default_var_settings() (env
  variable takes precedence over the var file value)
- Add commented var_github_token example to the default.vars template
- Add validate_github_token() to tools.func:
    * Calls GET /user to verify the token is accepted
    * Reports expiry date from x-oauth-expiry header (fine-grained PATs)
    * Warns when classic PAT is missing public_repo scope
    * Returns distinct exit codes: 0=valid, 1=invalid/expired, 2=no scope, 3=error
- Update prompt_for_github_token():
    * Non-interactive path now picks up var_github_token automatically
    * Interactive path also picks up var_github_token without prompting
    * Validates token immediately after entry; loops until valid or Ctrl+C
2026-04-10 11:28:52 +02:00
CanbiZ (MickLesk)andGitHub 2707295eba Homarr: bind Redis to localhost only (#13552)
* Homarr: bind Redis to localhost only

* fix(homarr): make Redis bind directive idempotent

Replace unconditional append with grep guard to prevent duplicate
'bind 127.0.0.1 -::1' entries on repeated updates.

* Fix whitespace in homarr install script

Clean up minor whitespace issues in install/homarr-install.sh: remove an extra space before the here-path in the Redis config append (>>/etc/redis/redis.conf) and strip a trailing space after the nginx service name in the systemctl disable call. These are whitespace-only edits to keep the script tidy and avoid passing unintended whitespace to commands.
2026-04-10 10:03:22 +02:00
CanbiZ (MickLesk)andGitHub 2c2beab3ce checkmk: default v13 + dynamic codename (#13610) 2026-04-09 10:52:36 +02:00
CanbiZ (MickLesk)andGitHub 41848653d6 bambuddy: add mkdir before data restore & add ffmpeg dependency (#13601) 2026-04-08 23:22:34 +02:00
CanbiZ (MickLesk)andGitHub 68b486be92 Add donate & script page badges to descriptions (#13596)
Update LXC and VM description blocks to include donation and script page badges. Introduces script_slug, script_url and donate_url variables (derived from SCRIPT_SLUG or NSAPP/APP, normalized to lowercase and dashed) and uses them to build links. Replaces the old Ko-fi "Buy us a coffee" badge with a generic donate badge and adds an "Open Script Page" badge linking to the script detail page.
2026-04-08 21:40:52 +02:00
CanbiZ (MickLesk)andGitHub ae3e1deece fix(immich): disable upgrade-insecure-requests CSP directive (#13600)
Helmet's useDefaults adds upgrade-insecure-requests to the CSP,
which forces browsers to upgrade all HTTP requests to HTTPS.
Since most LXC users access Immich directly via HTTP, this breaks
the web UI completely (CORS errors, spinning logo).

Patch helmet.json after deploy to explicitly null out the directive,
keeping CSP benefits while allowing HTTP access.

Fixes #13597
2026-04-08 19:47:10 +02:00
CanbiZ (MickLesk)andGitHub ac3cf75b11 core: improve resilience for top Proxmox error codes (209, 215, 118, 206) (#13575) 2026-04-07 23:10:37 +02:00
CanbiZ (MickLesk)andGitHub daffd75719 Papra: check env before copy (#13553) 2026-04-06 21:45:11 +02:00
CanbiZ (MickLesk)andGitHub b72d91ef8e Grist: remove install:ee step (private repo, not needed for grist-core) (#13526) 2026-04-05 21:51:10 +02:00
CanbiZ (MickLesk)andGitHub 70a9d99ecd Nginx Proxy Manager: ensure /tmp/nginx/body exists via openresty service ExecStartPre (#13528) 2026-04-05 21:28:34 +02:00
CanbiZ (MickLesk)andGitHub 68e009e9c6 MotionEye: run as root to enable SMB share support (#13527) 2026-04-05 21:04:08 +02:00
CanbiZ (MickLesk)andGitHub 59c0052bc8 core: silent() function - use return instead of exit to allow || true error handling (#13529) 2026-04-05 21:02:56 +02:00
CanbiZ (MickLesk)andGitHub 762d1e731e OpenWRT-VM: use poweroff instead of halt to properly stop VM (#13504) 2026-04-03 21:38:53 +02:00
CanbiZ (MickLesk)andGitHub 730176268e APT Proxy: Support full URLs (http/https with custom ports) (#13474)
* APT Proxy: Support full URLs (http/https with custom ports)

* APT Proxy: Add URL validation and update default.vars examples
2026-04-03 21:17:07 +02:00
CanbiZ (MickLesk)andGitHub 1f5b489d4a PVE LXC Updater: pipe apt list through cat to prevent pager hang (#13501) 2026-04-03 21:15:31 +02:00
CanbiZ (MickLesk)andGitHub f3a881e6f7 core.func: prevent profile.d scripts from aborting on non-zero exit (#13503) 2026-04-03 21:15:16 +02:00
CanbiZ (MickLesk)andGitHub 4241c34d3c Crafty Controller: add Java 25 for Minecraft 1.26.1+ (#13502) 2026-04-03 21:15:01 +02:00
CanbiZ (MickLesk)andGitHub 44ddf4cfa7 Nginx Proxy Manager: fix openresty restart by setting user root before reload (#13500) 2026-04-03 21:14:10 +02:00
CanbiZ (MickLesk)andGitHub 70cc9749fa Cron LXC Updater: Add full PATH for cron environment (#13473) 2026-04-03 00:37:46 +02:00
CanbiZ (MickLesk)andGitHub 4f9f5a64c9 Grist: Guard backup restore for empty docs/db files (#13472) 2026-04-03 00:37:20 +02:00
CanbiZ (MickLesk)andGitHub 59eed2646c Filebrowser: make noauth setup use correct database (#13457) 2026-04-01 22:44:05 +02:00
CanbiZ (MickLesk)andGitHub 8275531161 fix(build): skip empty gateway value in network config (#13442)
When var_gateway is set to an empty string, the resulting gw= token
in the comma-separated network string causes pct create to fail with
a 'missing key in comma-separated list property' error.

Closes #13421
2026-03-31 23:57:25 +02:00
CanbiZ (MickLesk)andGitHub b6907269e8 fix(graylog): set vm.max_map_count on host for OpenSearch (#13441)
OpenSearch requires vm.max_map_count >= 262144 but the Linux default
is 65530. Since this is not a namespaced sysctl, it must be set on
the Proxmox host rather than inside the unprivileged LXC.

Closes #13420
2026-03-31 23:57:16 +02:00
CanbiZ (MickLesk)andGitHub c53ce61472 fix(koillection): ensure newline before appending to .env.local (#13440)
If .env.local does not end with a newline, the APP_RUNTIME entry
gets concatenated with the previous line, causing Symfony to fail
with an invalid trusted header error during composer install.

Closes #13438
2026-03-31 23:57:03 +02:00
CanbiZ (MickLesk)andGitHub 78b2c45863 Rename: BirdNET > BirdNET-Go (#13410) 2026-03-30 09:26:50 +02:00
CanbiZ (MickLesk)andGitHub 713677f39f fix(ollama): add error handling for Intel GPG key imports (#13397) 2026-03-29 22:16:43 +02:00
CanbiZ (MickLesk)andGitHub 4ab821815f fix(immich): ignore Redis connection error on maintenance mode disable (#13398) 2026-03-29 22:16:16 +02:00
CanbiZ (MickLesk)andGitHub c6bbba090d fix(nginxproxymanager): unmask openresty after migration from package (#13399) 2026-03-29 22:15:50 +02:00
CanbiZ (MickLesk)andGitHub 2eb259bd99 rm 12 check 2026-03-27 16:32:20 +01:00
CanbiZ (MickLesk)andGitHub 0c1d6c688b feat: add custom Postgres port support for Dispatcharr upgrade (#13347) 2026-03-27 14:45:53 +01:00
CanbiZ (MickLesk) 9239ecf10d fix empty crontab 2026-03-27 14:09:48 +01:00
CanbiZ (MickLesk)andGitHub 18359679d9 Refactor/Feature-Bump/Security: Update-Cron-LXCs (Now Local Mode!) (#13339)
* Refactor: Update-Cron-LXCs (Now Local Mode!)

* Update script metadata and improve error handling
2026-03-27 13:41:15 +01:00
CanbiZ (MickLesk)andGitHub 6017a124f9 chore(immich): bump to v2.6.3 (#13324) 2026-03-27 11:25:33 +01:00
CanbiZ (MickLesk)andGitHub d4e20816c7 core: APT/APK Mirror Fallback for CDN Failures (#13316) 2026-03-26 16:53:04 +01:00
CanbiZ (MickLesk)andGitHub fbe5b57c76 core/tools: replace generic return 1 exit_codes with more specific exit_codes (#13311) 2026-03-26 16:07:38 +01:00
CanbiZ (MickLesk)andGitHub 38a283e549 update(frigate): bump to v0.17.1 and fix OpenVino model build (#13304) 2026-03-26 16:06:36 +01:00
CanbiZ (MickLesk)andGitHub 0a458c0a11 Immich: Bump to 2.6.2 | use start.sh in service, ensure DB_HOSTNAME in .env | Fix Rights Issue with ZFS Shares (#13199)
* fix(immich): use start.sh in service, ensure DB_HOSTNAME in .env

* Bump Immich to v2.6.2 and adjust chown handling

Update Immich release references from v2.6.1 to v2.6.2 in ct/immich.sh and install/immich-install.sh. Replace broad recursive chown -R on the install dir with a safer approach that avoids recursing into the upload directory (which may be a mounted volume with restricted permissions): set ownership on the install dir itself, chown each top-level entry except 'upload', and attempt to chown the upload path while ignoring errors. Also adjust ordering for /var/log/immich chown to avoid permission issues when enabling services.
2026-03-26 12:24:26 +01:00
CanbiZ (MickLesk)andGitHub 42fbf1afc5 core: use /usr/bin/install to prevent function shadowing (#13299) 2026-03-26 10:11:47 +01:00
CanbiZ (MickLesk)andGitHub b9a39db667 fix(tools.func): pin npm to 11.11.0 to work around Node.js 22.22.2 regression (#13296)
Node.js 22.22.2 ships with a broken npm self-upgrade path where 'npm install -g npm@latest' fails with MODULE_NOT_FOUND for promise-retry. Pin to npm@11.11.0 as a known-good version until the upstream issue is resolved. Ref: nodejs/node#62425, npm/cli#9151
2026-03-26 10:04:00 +01:00
CanbiZ (MickLesk) 4eecca8aea fix(tools.func): use absolute path for install in setup_uv
Using bare 'install' command gets shadowed when scripts define their own install() function, causing setup_uv to hang. Use /usr/bin/install instead.
2026-03-26 09:54:17 +01:00
CanbiZ (MickLesk)andGitHub d915dee103 Update website link from .com to .org 2026-03-25 17:52:46 +01:00
CanbiZ (MickLesk) 97bf744e96 fix typo (org instead of com) 2026-03-25 17:48:03 +01:00
CanbiZ (MickLesk)andGitHub 53bc492fdb Make shell command substitutions safe with || true (#13279)
Add defensive fallbacks (|| true) to multiple command substitutions to prevent non-zero exits when commands produce no output or are unavailable. Changes touch misc/api.func, misc/build.func and misc/tools.func and cover places like lspci, /proc/cpuinfo parsing, /etc/os-release reads, hostname -I usage, grep reads from vars files and maps, pct config parsing, storage/template lookups, tool version detection, NVIDIA driver version extraction, and MeiliSearch config parsing. These edits do not change functional behavior aside from ensuring the scripts continue running (variables will be empty) instead of failing in stricter shells or when commands return non-zero status.
2026-03-25 13:06:21 +01:00
CanbiZ (MickLesk) de356fa8b6 set gawk 2026-03-25 08:51:06 +01:00
CanbiZ (MickLesk)andGitHub 7c4882384f komodo: migrate env vars to v2 and update source (#13262)
Update Komodo addon script: switch source GitHub URL to moghtech, create a timestamped backup of the compose env before updating, and add migrations for Komodo v2. Migrate image tag from 'latest' to ':2', rename DB credential variables (KOMODO_DB_* -> KOMODO_DATABASE_*), remove the deprecated KOMODO_PASSKEY, and ensure COMPOSE_KOMODO_BACKUPS_PATH is set. Adjust install routine to stop generating/setting PASSKEY and to use the new DATABASE variable names.
2026-03-25 07:59:27 +01:00
CanbiZ (MickLesk)andGitHub caf03fe274 chore: replace helper-scripts.com with community-scripts.com (#13244) 2026-03-24 20:50:40 +01:00
CanbiZ (MickLesk)andGitHub 86f5c48fc2 Remove: Booklore (#13265) 2026-03-24 20:49:40 +01:00
1c3c223e51 Turnkey: modernize turnkey.sh with shared libraries (#13242)
* refactor(turnkey): modernize turnkey.sh with shared libraries and telemetry

- Source core.func, error_handler.func, api.func instead of custom error/msg functions
- Replace custom error_exit/warn/info/msg with msg_info/msg_ok/msg_error/msg_warn
- Upgrade validate_container_id to cluster-aware (pvesh + all-node config check)
- Add diagnostics_check() and telemetry (post_to_api / post_update_to_api)
- Add pve_check, shell_check, root_check for environment validation
- Use proper EXIT trap for cleanup (destroy container on error, restart monitor)
- Improve quoting throughout (PCT_OPTIONS as array, quoted variables)
- Secure credentials file with chmod 600
- Use exit_script for user cancellations (consistent with other scripts)

* fix(turnkey): replace diagnostics_check with inline config read

diagnostics_check() is defined in build.func which is not sourced.
Read the diagnostics config file directly instead — respects existing
user preference without prompting (turnkey has no settings menu).

* bump hardcoded names to dynamic list

* Preserve telemetry type and report failures

Respect a pre-set TELEMETRY_TYPE in misc/api.func and use it in the API payload instead of the hardcoded "lxc". In turnkey/turnkey.sh, set TELEMETRY_TYPE="turnkey" for turnkey installs and enhance turnkey_cleanup() to report failed installs to telemetry (calls post_update_to_api "failed" with the exit code when POST_TO_API_DONE is true and POST_UPDATE_DONE is not), then destroy the failed container. These changes ensure correct telemetry type propagation and that failed turnkey deployments are reported.

---------

Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2026-03-24 15:54:01 +01:00
CanbiZ (MickLesk) 0980a85021 qf typo 2026-03-24 15:10:33 +01:00
CanbiZ (MickLesk) 86c658909a Classify exit-1 errors & guard telemetry
Analyze logs for generic exit code 1 and export an ERROR_CATEGORY_OVERRIDE so telemetry receives a more accurate error category (apt, oom, network, storage, dependency). Preserve any existing TELEMETRY_TYPE when posting updates. Add defense-in-depth by disabling strict error traps before running grep/sed log analysis to avoid spurious error_handler invocations. Mark successful installs with INSTALL_COMPLETE and update the error handler to only report a successful "done" telemetry state when INSTALL_COMPLETE is explicitly set, preventing false-positive success reports from early zero-exit exits.
2026-03-24 09:57:43 +01:00
CanbiZ (MickLesk)andGitHub c8606e9fcc core: harden shell scripts against injection and insecure permissions (#13239) 2026-03-23 22:22:23 +01:00
CanbiZ (MickLesk)andGitHub 5c795395ca Refactor: nginxproxymanager update and OpenResty flow (#13216) 2026-03-23 20:44:04 +01:00
CanbiZ (MickLesk)andGitHub a2616ee258 Improve network connectivity and DNS checks (#13222) 2026-03-23 20:43:48 +01:00
CanbiZ (MickLesk)andGitHub c2838b69ce Refactor: PartDB (#13229) 2026-03-23 20:43:17 +01:00
CanbiZ (MickLesk)andGitHub ec7f2a2e33 Tracearr: modify service restart and modify build ressources (#13230) 2026-03-23 20:42:46 +01:00
CanbiZ (MickLesk)andGitHub f29606ae87 fix(build): allow /31 and /32 CIDR with out-of-subnet gateway (#13231) 2026-03-23 20:41:55 +01:00
CanbiZ (MickLesk) 791981ba68 qf msg_warn lxc stack update 2026-03-23 14:44:24 +01:00
CanbiZ (MickLesk) f1f7bd17b0 add deb13 test 2026-03-23 11:39:53 +01:00
CanbiZ (MickLesk) 7e470080b6 Update script timestamp handling and dev promotion
Compute today's date once and use a consolidated patchBody for PATCH requests (including last_update_commit from PR_URL/COMMIT_URL). Add logic to promote dev scripts on merge: if record.is_dev === true, set is_dev to false and script_created to today, and log the promotion. Replace the previous duplicated date construction with the new patchBody.
2026-03-23 10:37:57 +01:00
CanbiZ (MickLesk)andGitHub 3b8550e314 NginxProxyManager: build OpenResty from source via GitHub releases (#13134)
* fix(nginxproxymanager): build OpenResty from source via GitHub releases

Replace the unreliable openresty.org apt repository with building
OpenResty from source. Uses fetch_and_deploy_gh_release to download
from github.com/openresty/openresty/releases, then compiles locally.

The apt mirror frequently has sync issues (mismatched file sizes/hashes)
causing 'apt update' to fail with exit code 100.

Changes:
- Use fetch_and_deploy_gh_release for OpenResty source download
- Compile with configure/make/make install
- Add build dependencies (libpcre3-dev, libssl-dev, zlib1g-dev)
- Create systemd service unit for source-built OpenResty
- Update script: remove old apt repo, migrate to source build

* Fix installation command syntax for dependencies

* bump from ved testing
2026-03-23 09:41:10 +01:00
7a2c754cea Kometa: optimize config.yml sed patterns, add Quickstart integration (#13198)
* fix(kometa): fix config.yml sed patterns, add Quickstart integration

- Fix sed commands for plex token and tmdb apikey (empty values in template, not hash placeholders)
- Use section-aware sed to avoid replacing wrong token/apikey fields
- Add Kometa Quickstart web UI on port 7171

* Enhance kometa-install.sh for virtualenv and services

Updated the installation script to include a virtual environment setup and modified service enabling commands.

* Update install/kometa-install.sh

Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>

---------

Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2026-03-23 09:14:15 +01:00
CanbiZ (MickLesk)andGitHub f26adc2208 Adventurelog: pin DRF <3.15 to fix coreapi module removal (#13194) 2026-03-22 22:48:41 +01:00
CanbiZ (MickLesk)andGitHub 2922ecdcbb core: guard against empty IPv6 address in static mode (#13195) 2026-03-22 22:48:19 +01:00
CanbiZ (MickLesk)andGitHub e7dcd37cf7 ConvertX: add libreoffice-writer for ODT/document conversions (#13196) 2026-03-22 22:47:59 +01:00
CanbiZ (MickLesk)andGitHub 8a17729812 iSponsorblockTV: add AVX CPU check before installation (#13197) 2026-03-22 22:47:02 +01:00
CanbiZ (MickLesk)andGitHub 6cc2c26573 Anytype-server: wait for MongoDB readiness before rs.initiate() (#13165) 2026-03-21 21:13:32 +01:00
CanbiZ (MickLesk)andGitHub 55324dbb98 core: add missing -searchdomain/-nameserver prefix in base_settings (#13166) 2026-03-21 21:13:15 +01:00
CanbiZ (MickLesk)andGitHub a48bfe8d0f Frigate: use correct CPU model fallback path (#13164) 2026-03-21 21:12:45 +01:00
CanbiZ (MickLesk)andGitHub 62e3335adf Reactive-Resume: add git dependency for v5.0.13+ (#13133)
* fix(reactive-resume): add git dependency for v5.0.13+

Reactive Resume v5.0.13 uses vite-plus (vp config) in its prepare
script which requires git. Without it, pnpm install fails with
'git command not found' (ELIFECYCLE exit code 1).

Closes #13110

* Add dependency check for git before stopping services
2026-03-20 21:47:40 +01:00
CanbiZ (MickLesk) f00c7d3703 move dockerfile rm to 97 2026-03-20 14:41:15 +01:00
CanbiZ (MickLesk) 8651abd74b qf: add -f for immich rm 2026-03-20 14:37:48 +01:00
CanbiZ (MickLesk)andGitHub 8512144bb6 Harden code-server addon install script (#13116) 2026-03-20 14:16:06 +01:00
CanbiZ (MickLesk)andGitHub 3dbf115e0b VM's: add input validation and hostname sanitization to all VM scripts (#12973)
* Sanitize hostname generation from VM_NAME

Replace the previous simple space-removal with stricter sanitization when deriving the hostname from VM_NAME. Non-alphanumeric/hyphen sequences are collapsed to a single hyphen and leading/trailing hyphens are trimmed, preserving lowercase and ensuring a cleaner, more valid hostname string.

* fix(vm): validate CORE_COUNT input - require positive integer, re-ask on invalid

* Validate RAM input in VM scripts

Add input validation and retry loop for RAM size prompts across multiple VM scripts. Each modified advanced_settings() now wraps the whiptail RAM input in a while-true loop, ensures a default of 2048 when empty, validates that the value is a positive integer, shows an "INVALID INPUT" msgbox on bad values, and calls exit-script when the dialog is canceled. Also fixes quoting of RAM_SIZE in several scripts. Affected files: vm/archlinux-vm.sh, vm/debian-13-vm.sh, vm/mikrotik-routeros.sh, vm/nextcloud-vm.sh, vm/owncloud-vm.sh, vm/ubuntu2204-vm.sh, vm/ubuntu2404-vm.sh, vm/ubuntu2504-vm.sh, vm/umbrel-os-vm.sh. These changes prevent invalid RAM entries and improve user experience when configuring VMs.

* Validate RAM input for VM scripts

Add robust RAM input validation to multiple VM helper scripts (debian, docker, haos, openwrt, opnsense, pimox-haos, truenas). Each RAM prompt is now wrapped in a while loop that: provides a sensible default when the input is empty, ensures the value is a positive integer via regex, shows an "INVALID INPUT" whiptail message on bad input, and exits cleanly when the user cancels. Also fixed quoting of variable tests and normalized echoing of the allocated RAM. The pimox change preserves exit-status handling while integrating the same validation loop.

* fix(vm): validate VLAN input - require 1-4094 range, re-ask on invalid

* fix(vm): validate MTU input - require 576-65520 range, re-ask on invalid

* fix(vm): validate MAC address input - require XX:XX:XX:XX:XX:XX format, re-ask on invalid
2026-03-20 13:18:01 +01:00
CanbiZ (MickLesk)andGitHub 8c35c68c9c tools.func: display pin reason in release-check messages (#13095)
* Display pin reason in release-check messages

Add an optional pin_reason parameter to check_for_gh_release and check_for_codeberg_release and update the no-update messaging to show the provided reason. If no reason is supplied, show a default message indicating the update is temporarily held back due to issues with newer releases. This improves user feedback when versions are intentionally pinned.

* Add informational args to release checks

Pass extra informational strings to check_for_gh_release calls to surface release-specific notes. Updated ct/immich.sh (notes for Immich and VectorChord releases), ct/opencloud.sh (note for OpenCloud), and ct/plant-it.sh (note about web frontend presence). These messages clarify testing/compatibility expectations when checking/releases.
2026-03-19 22:18:27 +01:00
CanbiZ (MickLesk)andGitHub 245433f535 tools.func: use dpkg-query for reliable JDK version detection (#13101) 2026-03-19 21:55:58 +01:00
CanbiZ (MickLesk)andGitHub d45129c039 Reactive-Resume: Upgrade Node to 24 and enable Corepack (#13093)
Bump Node.js from 22 to 24 in the Reactive Resume install and update scripts. Invoke setup_nodejs during update, and enable Corepack (with COREPACK_ENABLE_DOWNLOAD_PROMPT=0) and run corepack prepare --activate before running pnpm install in both install and update flows. This ensures pnpm is available and non-interactive on Node 24 and prevents download prompts during CI/automated updates.
2026-03-19 21:18:10 +01:00
CanbiZ (MickLesk)andGitHub fa57b7a1d3 NocoDB: Unpin Version to latest (#13094)
* NocoDB: Unpin Version to latest

Updated the nocodb.sh script to fetch the latest release instead of a specific version.

* Update NocoDB installation script to use latest release

* remove old echo

Update NocoDB service file creation in install script.
2026-03-19 21:18:02 +01:00
CanbiZ (MickLesk)andGitHub 24ce6e006b Increase Tracearr RAM; derive APP_VERSION (#13087) 2026-03-19 15:47:40 +01:00
CanbiZ (MickLesk) 1ce0af9455 Bump Node to 24; pin webworkify-webpack
Update Node.js version from 22 to 24 in ct/dispatcharr.sh and install/dispatcharr-install.sh. Add a package.json override to force webworkify-webpack@2.1.3 and remove package-lock.json before running npm install during the frontend build to avoid dependency/lock conflicts and ensure a successful build.
2026-03-19 09:26:15 +01:00
CanbiZ (MickLesk) 8879b8ec2e downgrade to node22 2026-03-19 09:00:47 +01:00
CanbiZ (MickLesk)andGitHub 2a11d8e2d3 Dispatcharr: use npm install --no-audit --progress=false (#13074) 2026-03-19 08:35:09 +01:00
CanbiZ (MickLesk)andGitHub 1754b68327 github: add PocketBase bot workflow (#13075) 2026-03-19 08:34:26 +01:00
CanbiZ (MickLesk)andGitHub ba01175bc6 core: reorder hwaccel setup and adjust GPU group usermod (#13072)
* fix(tdarr): use curl_with_retry and verify binaries before enabling service

Tdarr_Updater downloads the actual server/node binaries from tdarr.io at
runtime. If tdarr.io is blocked by local DNS (e.g. OPNsense OISD blocklists),
the updater exits silently with code 0, leaving no binaries on disk. The
subsequent systemctl enable then fails with 'Operation not permitted' (exit 1)
because the ExecStart paths don't exist.

Changes:
- Replace bare curl with curl_with_retry for versions.json and Tdarr_Updater.zip
  downloads to gain retry logic, DNS pre-check and exponential backoff
- Add msg_info before Tdarr_Updater run so users see this step in the log
- Check that Tdarr_Server and Tdarr_Node binaries exist after the updater
  runs; fail immediately with a clear message pointing to tdarr.io connectivity
  instead of letting systemctl fail with a confusing 'Operation not permitted'

Fixes: #13030

* Improve Tdarr installer error handling

Refine post-update validation and failure behavior in tdarr-install.sh: remove a redundant status message, simplify the updater check to only require the Tdarr_Server binary, and replace the previous fatal path with msg_error plus an explicit exit 250. This makes failures (for example when tdarr.io is blocked by local DNS) clearer and avoids false negatives from the Tdarr_Node existence check.

* Use curl_with_retry and handle updater failure

Replace direct curl calls with curl_with_retry for fetching versions.json and downloading Tdarr_Updater.zip to improve network reliability. Add a post-update check that verifies /opt/tdarr/Tdarr_Server/Tdarr_Server exists; if missing, log an error suggesting possible DNS blocking and exit with code 250. Minor cleanup of updater artifacts remains unchanged.

* Reorder hwaccel setup and adjust GPU group usermod

Move setup_hwaccel invocations in emby, jellyfin, ollama, and plex installers to occur after package installation/configuration so GPU drivers/repos are present before enabling hardware acceleration. Update _setup_gpu_permissions to call usermod directly (remove $STD wrapper) when adding service users to render/video groups. Includes minor whitespace/ordering cleanups in the installer scripts.
2026-03-19 06:55:56 +01:00
CanbiZ (MickLesk)andGitHub 79805f5f3d Alpine-Ntfy (#13048) 2026-03-18 21:41:02 +01:00
CanbiZ (MickLesk)andGitHub 7c467bee7b Tdarr: use curl_with_retry and correct exit code (#13060) 2026-03-18 20:58:58 +01:00
CanbiZ (MickLesk) d2e5991416 qf start service (podman) 2026-03-18 18:52:07 +01:00
CanbiZ (MickLesk)andGitHub 9f73b6756e refactor(podman): replace deprecated commands with Quadlets (#13052) 2026-03-18 18:35:01 +01:00