Commit Graph

71 Commits

Author SHA1 Message Date
CanbiZ (MickLesk) 8854585a1a Migrate the (remaining) Top 25 scripts to the new core engine (#16749)
* Move the top 25 scripts onto the core engine

The engine work of the last few days reaches 30 of 561 ct scripts, about 5% of
ProxmoxVE traffic: retry on engine downloads, exit 227 instead of a misfiled
dpkg error, the umask fix that stops a hardened host producing containers apt
cannot resolve in, the TMPDIR guard, the toolchain restore. All of it has been
sitting where almost nobody runs it.

All eighteen at once rather than in waves. A slow rollout does not exercise the
paths only some scripts take, and broad exposure is what surfaces bugs -- a
deliberate call about release risk.

Checked before touching anything, because "migrate" meant far more than a line
swap last time:

  - None of the eighteen has an alpine-* variant, so there is no merge to do.
  - No script references misc/ outside its bootstrap line.
  - Of the 61 functions that exist only in misc/, none is called by any of them.

So it is one line per script, and every head is now byte-identical to the ones
migrated earlier. With these, ProxmoxVE goes from 30 scripts on the core engine
to 48 -- and from roughly 5% of traffic to the majority, since these are the
ones people actually install.

Two to watch: immich sits at 44.7% success and vaultwarden at 42.1% before
this. If their numbers move, the engine is one of two changed variables rather
than the only one.

* Move update-apps onto the core engine

Entry 11 of the list and the only one that is not a ct script, so it was left
out of the previous commit. It is a host tool: it never used build.func at all,
it sources misc/core.func and misc/api.func directly.

The swap is therefore two lines rather than one, and worth checking rather than
assuming. It uses exactly five engine functions -- header_info,
init_tool_telemetry, msg_info, msg_ok, msg_error -- all present in the core, and
both files load standalone, which they had not had to do before: everywhere else
they arrive through build.func.

That completes the list. All 25 now run on the core engine.

Fixing this one matters beyond the migration: update-apps is what drives
unattended updates across every container on a host, and it is the path where
PHS_SILENT was being ignored (#16593). It now gets the engine that honours it.
2026-08-25 11:04:15 +02:00
CanbiZ (MickLesk) 70dfd66dff paperless-ngx: run services with uv --no-sync to avoid startup network dependency (#16479) 2026-08-14 22:10:54 +02:00
CanbiZ (MickLesk) 8c1d4f33ff paperless-ngx: reindex Tantivy search index on webserver start (#16395) 2026-08-11 21:37:59 +02:00
CanbiZ (MickLesk) 12f228da1c paperless: change update abort message (endless spinner) (#16299) 2026-08-06 14:28:58 +02:00
jsspen 0c24310e90 Correction to link displayed when old data structure is detected during an attempted update (#16241) 2026-08-03 23:23:59 +02:00
Tom Frenzel d3b3c402e4 Paperless-ngx: Support v3 (#15221) 2026-07-23 23:17:55 +02:00
Tom Frenzel 3d7fd049fa chore(paperless-ngx): pin version to prevent v3 update (#15171) 2026-06-17 18:11:08 +02:00
Sam Heinz 2b87a54afb set script arm64 statuses to yes (#15052)
these scripts I have already previously confirmed work without any changes to the scripts themselves
2026-06-11 16:16:15 +02:00
Slaviša Arežina f1bc4f1922 [misc]: Fix aligment of status messages (#14900) 2026-06-03 11:03:13 +02:00
Sam Heinz 69aa93a83a workflows: update workflows, templates to support arm64. (#14653)
* set 'var_arm64' to no in all ct scripts

* update files in .github to support arm64
2026-05-23 07:46:44 +10:00
CanbiZ (MickLesk) 02eaf288bf tools.func: add setup_nltk as new function (#14314) 2026-05-08 15:39:20 +02:00
Kurt Anderson f6ccf8be5e paperless-ngx: refresh NLTK data on update (#14144) 2026-05-01 21:00:05 +02:00
CanbiZ (MickLesk) 6d15a22d94 Paperless-NGX: increase default RAM to 3GB (#13018) 2026-03-18 08:32:58 +01:00
CanbiZ (MickLesk) 17de8e761b fix: replace generic exit 1 with specific exit codes in ct/ and install/ scripts (#12475)
Part of #12467 — scripts only (no framework changes).

New exit codes 250-254 registered in api.func and error_handler.func:
- 250: App download failed or version not determined
- 251: App file extraction failed (corrupt/incomplete archive)
- 252: App required file or resource not found
- 253: App data migration required — update aborted
- 254: App user declined prompt or input timed out

Existing codes reused where applicable:
- 10: privileged/Docker required (unifi-os-server)
- 64: invalid user input (postgresql, tomcat)
- 71: system error (pulse useradd)
- 150: service failed to start (docker, npmplus)
- 153: build failed (booklore)
- 233: app not installed (evcc, endurain, grafana, loki, itsm-ng)
- 236: hardware not detected (unifi-os-server /dev/net/tun)
- 238: OS not supported (frigate)
2026-03-02 13:57:42 +01:00
CanbiZ (MickLesk) dbdd891a99 several scripts: add additional github link in source (#12282)
* fix(error-handler): prevent silent() from re-enabling error handling during recovery

Root cause: silent() (core.func) unconditionally calls set -Eeuo pipefail
and trap 'error_handler' ERR after every command. When build_container()
intentionally disables error handling for its recovery section, any
intermediate call through silent()/ re-enables it. This causes the
grep/sed pipeline for missing_cmd extraction to trigger error_handler
(grep returns exit code 1 on no match + pipefail = fatal).

Fixes:
1. silent(): Save errexit state before disabling, only restore if it was
   active. Callers that intentionally disabled error handling (e.g.
   build_container recovery) are no longer silently re-enabled.

2. build.func: Add || true to missing_cmd grep pipeline as defense-in-depth
   against pipeline failure propagation.

3. build.func: Add explicit set +Eeuo pipefail / trap - ERR after
   post_update_to_api() call, before error classification grep/sed section.

4. build.func: Remove stale global combined_log variable from variables()
   that used a different path format (/tmp/install-SESSION-combined.log)
   than the actual local variable (/tmp/NSAPP-CTID-SESSION.log). The global
   was never written to and caused confusion when error_handler displayed it.

* Update build.func

* chore(install): add Github source links to all setup_nodejs scripts

52 install scripts had a project website in '# Source:' but no GitHub
link. Merged the GitHub repo URL into the Source header as:
  # Source: https://website.com/ | Github: https://github.com/OWNER/REPO

Repos sourced from fetch_and_deploy_gh_release calls, get_latest_github_release
calls, or known project repos for npm/pip installed apps.

Two scripts (fumadocs, pve-scripts-local) had no Source line at all —
added one. Shinobi skipped (GitLab-only, no GitHub repo).

* chore(install): add Github source links to all fetch_and_deploy scripts

77 additional install scripts had fetch_and_deploy_gh_release calls but
no GitHub link in the Source header. Merged the primary app repo into
the Source header as:
  # Source: https://website.com/ | Github: https://github.com/OWNER/REPO

Where multiple fetch_and_deploy calls existed (app + dependency), the
primary app repo was selected:
- ersatztv: ErsatzTV/ErsatzTV (not ffmpeg)
- firefly: firefly-iii/firefly-iii (not data-importer)
- komga: gotson/komga (not kepubify dep)
- sabnzbd: sabnzbd/sabnzbd (not par2cmdline-turbo dep)
- signoz: SigNoz/signoz (not otel-collector)
- tunarr: chrisbenincasa/tunarr (not ffmpeg dep)

Also fixed cosmos-install.sh double https:// in Source URL.

Skipped: autocaliweb (source already on codeberg, GitHub repos are deps only)

* revert: restore misc/build.func and misc/core.func to main state

These error-handler fixes belong to fix/error-handler-recovery, not to
this sources-only branch.

* chore(ct,tools): sync Source headers with install/ and add Github links to addon scripts
2026-02-24 15:11:53 +01:00
CanbiZ (MickLesk) 7fc77fe5be various scripts: use ensure_dependencies instead of apt (#11463)
* refactor(ct): replace apt install with ensure_dependencies in update_script functions

* refactor(ct): replace remaining apt install with ensure_dependencies

* refactor(ct): replace remaining apt install with ensure_dependencies

* refactor(ct): remove redundant dpkg checks before ensure_dependencies

* refactor(ct): remove ALL redundant checks before ensure_dependencies

* Update neo4j.sh
2026-02-02 13:01:17 +01:00
Tobias 08d67aa722 chore: fix update msg (#10593) 2026-01-06 22:57:40 +01:00
Tobias c1fe8b91b4 chore: bump copyright to 2026 - happy new year (#10585)
* chore: bump copyright to 2026 - happy new year

* fix

* meilisearch fix source url

* livebook: fix space

* fix source cmd

* fix source cmd
2026-01-06 13:28:12 +01:00
CanbiZ a81c074228 paperless: ASGI interface typo (#9668) 2025-12-05 11:14:02 +01:00
CanbiZ 3b6e5aae5f paperless: patch consume to uv (#9425) 2025-11-25 18:21:15 +01:00
CanbiZ eae070cc6c Refactor: paperless-ngx (Breaking Change Inside) (#9223) 2025-11-17 17:07:03 +01:00
ProfDrYoMan ca2903b1ff Change backup directory to /opt for paperless-ngx (#9195)
* Change backup directory to /opt for paperless-ngx

Using /tmp for the backup is risky since many installations host it with tmpfs and thereby in RAM.

Having a bigger document base will deplete the memory on backup.

* Update paperless-ngx.sh

Added missing change.
2025-11-16 18:55:46 +01:00
CanbiZ 8a053bf79f Refactor: Paperless-NGX Backup-Handler 2025-11-13 10:57:15 +01:00
CanbiZ 787a99fc27 Fix consumption directory retrieval in script 2025-11-10 11:53:55 +01:00
Chris 69c2e9ed2c Paperless-ngx: hotfix config path (#9003) 2025-11-09 15:42:40 +01:00
Chris 9b3879ef41 Paperless-NGX: Move config backup outside of app folder (#8996) 2025-11-08 23:33:51 -08:00
CanbiZ 540194e29a paperless: refactor - remove backup after update and enable clean install (#8988) 2025-11-08 21:55:13 +01:00
CanbiZ d427619745 Remove BOM from shebang lines in ct scripts (#8833) 2025-11-03 08:49:54 +01:00
CanbiZ be7d0704d7 Standardize update success messages in scripts (#8757) 2025-10-30 17:24:16 +01:00
CanbiZ 6c8975e4aa Bump O to P-Scripts to Debian 13 (Trixie) (#8367) 2025-10-15 22:39:16 +02:00
CanbiZ bc545df207 qf: create file if not exist 2025-08-29 16:20:21 +02:00
CanbiZ 9305a4ca85 [feat]: migrate all update_scripts to new version helper (gh) (#7262)
* first migrations

* finalize

* add fix kometa inside function
2025-08-29 12:27:24 +02:00
CanbiZ c783024ef0 Refactor: Paperless-ngx (#6938)
* Refactor: Paperless-NGX

* Refactor: Paperless-ngx

* Update paperless-ngx.json

* VED -> VE

* harmonize with VED

* finalize

* Update paperless-ngx.json

* finalize

* fix: casing

---------

Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-08-20 15:18:05 +02:00
CanbiZ 2e4c51450f change var in ct files to new standard (#3804) 2025-04-10 11:56:52 +02:00
CanbiZ 8b66c8a9dc fix basename -o 2025-04-01 10:58:29 +02:00
CanbiZ f7e7d457df fix basename for curl 2025-04-01 10:51:52 +02:00
CanbiZ 8c051b8186 Replace wget with curl -fsSL, normalize downloads, and prep for IPv6 (#3455)
* Initial Call, Switch from curl -s to curl -fsSL and wget to curl -fssL

* more switches

* switch vms

* more curls

* More curls

* more

* more

* more changes

* more

* prepare ipv6 calls

* change frontend to ipv6

* Formatting

* Fromatting

* Update gomft.sh

* Update gomft-install.sh

* Update ersatztv.sh

* Update build.func

---------

Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-04-01 10:25:46 +02:00
CanbiZ ece3ad2b13 Feature: Use Verbose Mode for all Scripts (removed &>/dev/null) (#2596)
* Feature: Use Verbose Mode for all Scripts (removed &>/dev/null)

* Update crafty-controller.sh
2025-02-24 12:49:16 +01:00
CanbiZ af01193bc2 [core] cleanup (remove # App Default Values) (#2356) 2025-02-13 17:59:47 +01:00
CanbiZ 6f131933b7 [core] cleanup (remove base_settings & unneeded comments) (#2351) 2025-02-13 14:40:49 +01:00
CanbiZ 15f04d525d Happy new Year! Update Copyright to 2025 (#1150) 2025-01-01 13:37:29 +01:00
CanbiZ 353a5e7c99 Update ALL CT's to new default (Part 2) (#710) 2024-12-16 13:31:48 +01:00
CanbiZ f2a1cc7eef Update ALL CT's to new default (Part 2) (#710)
* Update ALL CT's to new default

* Minor Changes

* Merge Bookstack from main

* Indention Bookstack

* Merge Vikunja from Main

* Merge Komga from Main

* Merge Unifi from Main
2024-12-16 12:42:51 +01:00
CanbiZ ad18c05686 Massive Update (Remove StorageCheck (old) + Add Ressource & StorageCheck, Remove Whiptail, Remove PCT Ressource Set (#333)
* Massive Update (Remove StorageCheck (old) + Add Ressource & StorageCheck, Remove Whiptail, Remove PCT Ressource Set

* Update calibre-web.sh

* Update cockpit.sh

* Update cronicle.sh

* Update homeassistant-core.sh

* Update podman-homeassistant.sh

* Update node-red.sh

* Update plex.sh

* Update wallos.sh

* Revert "Update wallos.sh"

This reverts commit ea6311e190.

* Update homeassistant.sh

* Update ct/cronicle.sh

Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>

---------

Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
2024-11-18 21:09:10 +01:00
Mellowlynx 4c46e9495d Added "(Patience)" to the Updating Ghostscript message (#137)
The scripts needs some time to build and execute the installation.
2024-11-08 20:29:57 +01:00
CanbiZ a4a1821822 Changed all dependencies to the community project 2024-11-02 08:48:05 +01:00
CanbiZ 8cdb218e38 Tweak: Fix Paperless Ghostscript (#4012) 2024-10-30 06:03:12 -04:00
tteckster d46076cab9 Update paperless-ngx.sh
- fix syntax error in conditional expression
- fixes https://github.com/tteck/Proxmox/issues/2938
2024-05-08 15:48:02 -04:00
tteckster bd94aad7fa Update paperless-ngx.sh
tweak
2024-05-08 14:42:24 -04:00
tteckster ef4d18f870 Update paperless-ngx.sh
tweak
2024-05-08 13:48:08 -04:00