Commit Graph
45 Commits
Author SHA1 Message Date
MickLesk 46a1e13981 Harden close_issue_in_dev workflow
Refactor the workflow to prefer back-references stamped in PR bodies over fuzzy title/slug matching. Add safety guard refusing to close more than 3 issues per PR. Restrict issue search to migration-labelled issues only. Use exact slug matching instead of substring matching. Add permissions block, env var for DEV_REPO, and skip already-closed issues.
2026-07-27 10:02:28 +02:00
MickLesk fe01d670f6 Don't destroy container on error_handler recovery-prompt read failure
Same bug as build.func's install-recovery menu: this "Remove broken
container?" prompt treated a hard read failure (broken/closed stdin,
I/O error) identically to a real 60s timeout, defaulting to pct
destroy either way. Only auto-remove on an actual timeout (read_rc >
128); on a genuine read failure, keep the container instead of
guessing and destroying it.
2026-07-21 23:32:19 +02:00
MickLesk e0df8a80bf Don't destroy container on install-recovery menu read failure
read -t returns >128 on a real timeout, but a lower/plain error code
on a genuine read failure (e.g. broken/closed stdin, I/O error) -
these were treated identically as "no response", so a user whose
keystroke failed to be captured (e.g. a transient stdin I/O error)
got their container silently destroyed instead of kept. Only
auto-remove on an actual timeout; on a hard read failure, keep the
container (reversible) and tell the user how to remove it manually.
2026-07-21 23:27:22 +02:00
MickLesk 3f7283ab66 Clear RETURN traps after temp cleanup
Updates temp-file and temp-dir cleanup traps in `misc/tools.func` to unset the `RETURN` trap after running cleanup. This prevents stale RETURN traps from leaking into later function returns and avoids repeated or unintended cleanup behavior in nested helper flows.
2026-07-21 22:49:58 +02:00
MickLesk bd834f690a Fix CLEAN_INSTALL to wipe dotfiles too
CLEAN_INSTALL now removes dotfiles (e.g. .env) along with other files, using `find -mindepth 1 -delete` instead of `rm -rf *`. Update scripts for affine, nametag, and postiz are updated to explicitly back up and restore .env (via create_backup/restore_backup or cp) BEFORE the build step that sources it, rather than relying on the wipe preserving dotfiles.
2026-07-20 20:23:05 +02:00
MickLesk a5a0b90643 hotfix: preserve .env 2026-07-20 19:56:29 +02:00
MickLesk 8505d28429 Set explicit Elasticsearch paths
Define `path.data` and `path.logs` in the Zammad install script's Elasticsearch config so the service uses the expected data and log directories when running in the single-node local setup.
2026-07-20 12:15:57 +02:00
MickLesk b4dcdd4472 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVE 2026-07-17 12:54:18 +02:00
MickLesk 7bf45d5b66 fix stupid branch delete bot 2026-07-17 12:49:24 +02:00
MickLesk d23a2e64e7 migration snapotter 2026-07-16 09:01:53 +02:00
MickLesk 728726d5cc fix(docker): safe, interactive per-container update check
Replace the destructive multi-select container update block with a
proper per-container Y/N workflow:

- Unattended / non-interactive (DOCKER_NONINTERACTIVE=1 or no tty):
  skip silently -- no docker pulls, no prompts.
- Interactive: stop_spinner() before any prompt to keep the terminal
  clean, then for each container with a newer image:
    Compose-managed  → prompt Y/N (auto-no after 60 s)
                       → on Y: docker compose pull <service> &&
                                docker compose up -d <service>
    Standalone run   → prompt Y/N (auto-no after 60 s)
                       → on Y: docker pull only; no stop/rm;
                                user is told to recreate manually
- portainer / portainer_agent are excluded (handled earlier in
  setup_docker)

The old code always stopped and removed the container without
recreating it, leaving users with a destroyed service.  Standalone
containers without a Compose project can never be auto-recreated
safely, so only the image is pulled.

Fixes #15601
2026-07-06 14:43:25 +02:00
MickLesk 20740c3ca2 fix(docker): remove interactive container update check from setup_docker
The 'Interactive Container Update Check' block scanned ALL running
Docker containers, pulled their images, then stopped and removed them
with only a message asking the user to manually recreate them.  This
is destructive and outside the scope of the Docker LXC update script,
which is responsible for updating the Docker engine itself and the
Portainer / Portainer-Agent containers that this script originally
installed.

Removes the entire block.  Updates now cover:
  - OS packages (apt)
  - Docker engine (via setup_docker / repo)
  - Portainer CE (if installed by this script)
  - Portainer Agent (if installed by this script)

Self-hosted / user-managed containers are intentionally left alone.

Fixes #15601
2026-07-06 14:38:07 +02:00
MickLesk b8a1879b24 hotfix: retry npm install with --force for corepack shims
Add a fallback retry using `npm install -g --force` when the initial install fails. This handles EEXIST errors caused by corepack-provided shims for pnpm/yarn that ship with recent Node.js versions and block installation to /usr/bin/<tool>.
2026-07-03 09:34:21 +02:00
MickLesk 084fe40484 add deps for snapotter 2026-06-29 13:24:52 +02:00
MickLesk f7acb76e80 fix typo 2026-06-24 23:44:26 +02:00
MickLesk 07ab5dc16e Quote PostgreSQL extension names
Wrap the extension identifier in double quotes in the CREATE EXTENSION SQL call within setup_postgresql_db. This ensures extension names containing hyphens, mixed case, or other characters that require quoting are handled correctly and avoids syntax errors when creating extensions.
2026-06-13 18:17:21 +02:00
MickLesk cd4a3e854e Update tsconfig path in installation scripts to support multiple locations 2026-06-01 13:39:23 +02:00
MickLesk be46da731a Refactor kan installation script to ignore scripts during pnpm install and update tsconfig path 2026-06-01 13:13:03 +02:00
MickLesk f7224f3db8 minor fix 2026-05-28 10:07:01 +02:00
MickLesk 56c97cdf80 typo 2026-05-20 15:53:29 +02:00
MickLesk 9ac2eda0bb flowise add sqlite dep for newer version 2026-05-20 15:51:14 +02:00
MickLesk f2266d8f53 flowise add pnpm global-bin-dir 2026-05-20 15:42:54 +02:00
MickLesk ebf755031b fix: set HOME=/root for rbenv installs to prevent path mismatch
When running in certain LXC environments (e.g. systems with desktop
packages or non-en locales), the HOME variable may resolve to '/'
instead of '/root'. rbenv installs to $HOME/.rbenv, so if HOME is
wrong it ends up in /.rbenv while all service files and PATH exports
hardcode /root/.rbenv, causing 'env: ruby: No such file or directory'.

Explicitly set HOME=/root for all setup_ruby calls that run as root,
and replace all $HOME/.rbenv references in PATH exports and install
steps with /root/.rbenv literals.

Affected scripts:
- ct/sure.sh + install/sure-install.sh (fixes #14479)
- ct/dawarich.sh + install/dawarich-install.sh
- ct/docuseal.sh + install/docuseal-install.sh

Also add TimeoutStartSec=300 to sure.service so db:prepare on first
start does not get killed by the default 90s systemd timeout.
2026-05-17 20:27:13 +02:00
MickLesk 506c729667 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVE 2026-05-12 21:19:52 +02:00
MickLesk 9aee7bcbf4 Update Nginx configuration management in termix.sh to remove old service files and restart Nginx 2026-05-12 21:19:49 +02:00
MickLesk 757acde352 Fix Nginx configuration and service management in termix-install.sh 2026-05-12 20:18:26 +02:00
MickLesk 15b5542ad6 fix(nginxproxymanager): reset PWD before certbot update to avoid deleted cwd
After building OpenResty, the script does cd /opt/openresty followed by
rm -rf /opt/openresty, leaving $PWD pointing to a deleted directory.
When pip runs in the certbot block, the subprocess inherits the invalid
PWD and fails with OSError: No such file or directory.

Add cd /root before the certbot block to reset to a valid directory.

Closes #13240
2026-03-23 21:53:35 +01:00
MickLesk 8ef2c445c8 immich: increase uv timeout to 300 2026-03-16 20:41:21 +01:00
MickLesk e4a7ed6965 immcih: crop sha from pnpm 2026-03-16 20:36:21 +01:00
MickLesk c69dae5326 immich: use curl with retry function 2026-03-16 20:23:46 +01:00
MickLesk fee4617802 qf: add gcc13 fallback and use gcc14 2026-03-16 20:03:45 +01:00
MickLesk 182f07b677 typo 2026-03-15 21:10:44 +01:00
MickLesk 10783e1cb2 patch sparky 2026-03-15 20:40:35 +01:00
MickLesk 3e22aaa4bb qf libgirepository1.0 2026-02-22 19:30:50 +01:00
MickLesk 4e8421c080 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVE 2026-02-22 11:40:10 +01:00
MickLesk 0c92f40d7a name of cronmaster 2026-02-22 11:40:06 +01:00
MickLesk b05f0fb059 switch type of cronmaster to addon 2026-02-22 11:37:23 +01:00
MickLesk 2b921736e6 fix(tools.func): fix GPG key format detection in setup_deb822_repo
The previous logic using 'file | grep PGP' was inverted — both
ASCII-armored and binary GPG keys matched the pattern, causing
ASCII-armored keys to be copied directly instead of being
dearmored. This resulted in APT failing with NO_PUBKEY errors
on Debian 12 (bookworm).

Use 'grep BEGIN PGP' to reliably detect ASCII-armored keys and
dearmor them, otherwise copy binary keys directly.
2026-02-12 22:30:34 +01:00
MickLesk ddabe81dd8 fix(tools.func): set GPG keyring files to 644 permissions
gpg --dearmor creates files with restrictive permissions (600),
which prevents Debian 13's sqv signature verifier from reading
the keyring files. This causes apt update to fail with
'Permission denied' errors for all repositories using custom
GPG keys (adoptium, pgdg, pdm, etc.).

Set chmod 644 after creating .gpg files in both setup_deb822_repo()
and the MongoDB GPG key import in manage_tool_repository().
2026-02-12 22:24:24 +01:00
MickLesk e7e45db45b fix(termix): resolve nginx reload error due to duplicate master_process directive (#11241)
- Remove Docker-specific 'master_process' and 'pid' directives from nginx.conf
- These directives conflict when used with systemd nginx in LXC environment
- Keep complete upstream nginx.conf configuration otherwise intact
- Add PORT variable replacement to use port 80
- Add nginx -t validation before reload
2026-01-27 21:22:40 +01:00
MickLesk aab4edf25e fix(authelia): handle IP vs domain for authelia_url config
- IP address: use https://IP:9091 instead of invalid https://auth.IP
- Domain: keep https://auth.DOMAIN as before
- Improve completion message with actual URL hint

Closes #11117
2026-01-24 23:23:00 +01:00
MickLesk 6e420c311b fix typo 2026-01-13 20:03:49 +01:00
MickLesk a55dee3391 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVE 2026-01-06 20:32:24 +01:00
MickLesk 02fd6f2993 fix(hwaccel): Fix critical bash arithmetic exit code issues
- Fix ((gpu_count++)) returning exit code 1 when count=0
- Fix ((failed_modules++)) same issue in setup_nodejs
- Add || true to all arithmetic increments starting from 0
- Export ENABLE_GPU from build.func to container
- Check ENABLE_GPU instead of var_gpu in setup_hwaccel

The bash arithmetic expansion ((0)) and ((x++)) when x=0
returns exit code 1, which causes immediate script abort
when set -e is active.
2026-01-06 20:32:15 +01:00
MickLesk 0d9e3c56e0 export gpu for hwaccel 2026-01-06 20:15:22 +01:00