Commit Graph
3702 Commits
Author SHA1 Message Date
CanbiZ (MickLesk) 2aaf103e32 Paperclip: fall back to a non-frozen install when the release lockfile is stale (#17922)
v2026.1012.0 ships a pnpm-lock.yaml that does not match server/package.json,
so pnpm install --frozen-lockfile fails on every install (#17913).
2026-10-14 20:39:42 +02:00
Ryan Sullivan ecbc302c68 Fix URL for downloading OneDev latest release (#17915)
Published sites use a new path, per
https://code.onedev.io/onedev/server/~issues/3179#IssueComment-11050
2026-10-14 00:55:44 +02:00
CanbiZ (MickLesk) 6234161462 LocalAI: pin the CPU backends when the container has no GPU runtime (#17909)
LocalAI resolves meta backends from the GPU vendor it reads out of sysfs,
which is the host's card even with no driver installed in the container,
so llama-cpp became cuda12-llama-cpp and never started (#17908). Force
the default capability unless a CUDA, ROCm or Level Zero runtime is
present; update adds the pin to existing installs.
2026-10-13 18:10:07 +02:00
durzo eb79e9bcba zammad: Debian 13, new apt repo, Elasticsearch 8 (#17836)
- Default to Debian 13
- Switch Zammad repo from dl.packager.io (frozen at 7.0.x) to go.packager.io
- Install Elasticsearch 8.x instead of EOL 7.x; drop ingest-attachment plugin (built in)
- Update migrates old containers: Zammad repo, ES 7 -> 8, search index rebuild
2026-10-13 09:39:06 +02:00
CerberusStyle 9751f8c1a9 [Gluetun] Update GitHub repository source install and update. (#17899)
* Update Gluetun GitHub repository source

* Update GitHub repository reference for gluetun
2026-10-13 07:47:55 +02:00
CanbiZ (MickLesk) e5013d1fb6 Immich: Bump to 3.3.1 and restore (failed) geodata/countryInfo.txt on update (#17894)
* Immich: restore geodata/countryInfo.txt on update and pin 3.3.1

Updates run between the 3.3.0 pin and #17823 wrote countryInfo.txt into
app/ instead of geodata/, so metadata extraction failed and new uploads
never got thumbnails. The download sat inside the release block, so a
plain update could not repair it until the next pin. 3.3.1 only bumps
version fields in the manifests.

* Immich: follow base-images for libheif like the other libraries

The hard pin from #16996 sat at 1.23.2 while upstream moved to 1.23.5.
2026-10-13 07:42:59 +02:00
CanbiZ (MickLesk) 5842691dad WikiJS: use v2 Repo until v3 is stable (#17895)
* WikiJS: use v2 Repo until v3 is stable

* Update wikijs.sh for version 2 support
2026-10-13 07:42:08 +02:00
push-app-to-main[bot]andCanbiZ 9bf6586611 WatchState (#17881)
* Add watchstate (ct)

* Clean up comments in watchstate.sh

Removed comments about version sorting and Redis cache namespacing.

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-10-12 14:02:50 +02:00
CanbiZ (MickLesk) eb6382a399 Wanderer: bring back the wanderer-pb wrapper (#17874)
The path refactor in #16487 deleted the wrapper instead of pointing it
at the new layout, while the documented way to create the first
superuser is still wanderer-pb superuser upsert. Calling pocketbase
directly without --dir would quietly start an empty database. Install
the wrapper again, and write it on every update so containers set up
since then get it too.
2026-10-12 10:00:24 +02:00
CanbiZ (MickLesk) e980d01cd6 Tracearr: install only the server's production dependencies (#17873)
pnpm 12.10 refuses a frozen install when the lockfile names apps/web but
that directory has no package.json, which is how the runtime tree is
built, so the update to 2.8.0 failed. Filter to @tracearr/server... the
way the upstream Dockerfile does, and copy assets/logo.png, which the
e-mail and newsletter code reads.
2026-10-12 10:00:21 +02:00
CanbiZ (MickLesk) 08a924a87a Paperless-ngx: convert glob ignore patterns, restart crashed services (#17812)
v3 compiles PAPERLESS_CONSUMER_IGNORE_PATTERNS as regex, so a v2 glob
like "*.tmp" kills the consumer on start and "._*" ignores every file.
The update now rewrites such globs to anchored regex instead of only
warning.

The four units had no Restart=, so an OOM kill during a large mail
import left the webserver and task queue down. Install sets
Restart=on-failure and the update adds it to existing units.
2026-10-12 10:00:14 +02:00
Robert Castley 6f740aeccb Splunk Enterprise: start the service as the splunk user (#17816)
* Splunk Enterprise: start the service as the splunk user

Splunk Enterprise 10.2 rejects a root start, and the init boot script still launched splunkd as root.

* Ask for the Splunk terms on the Proxmox host

The installer runs under lxc-attach, which has no terminal, so read failed before the terms could be accepted.

* Restore the Splunk terms prompt to the install script

The prompt already runs where the keyboard is attached. The failed read came from launching the test through a pipe.

* Drop Splunk install comments and always start Splunkd
2026-10-12 09:31:04 +02:00
CanbiZ (MickLesk) e0f72e3428 Immich: build libvips with JPEG 2000 support (#17864)
Only the libopenjp2-7 runtime was installed, so meson found no OpenJPEG
and libvips came out without jp2kload. Immich lists .jp2 as supported
and the upstream image builds against libopenjp2-7-dev. Install the
headers, and rebuild libvips on update when it lacks jp2kload, the way
ImageMagick is rebuilt when its LibRaw define is missing.
2026-10-11 16:16:06 +02:00
CanbiZ (MickLesk) 192834716e RustDesk Server: run the official server, make the web UI optional (#17854)
* RustDesk Server: run the official server, make the web UI optional

lejianwen/rustdesk-server has had no commit since 2025-09-01 and is 45
commits behind upstream, missing the UDP reflection/amplification and
mio security fixes. hbbs, hbbr and utils now come from
rustdesk/rustdesk-server; the packages and units are the same, so
existing installs upgrade in place and keep their keys.

lejianwen/rustdesk-api is unmaintained as well and becomes an opt-in
prompt. When chosen it is configured with this server's IP and key
instead of its 192.168.1.66 defaults, and Debian gets an admin password
like Alpine did. ~/rustdesk.creds now always holds the server key, and
the API is only updated where it is installed.

* RustDesk Server: answer the web UI prompt with var_rustdesk_api

yes or no skips the question, so unattended installs can choose; unset still asks.

* RustDesk Server: write the creds file with heredocs

Matches how the other install scripts write their creds; the file is unchanged.
2026-10-11 16:14:47 +02:00
CanbiZ (MickLesk)andTobias 3845cf97f7 Caddy: install the .deb from GitHub instead of the Cloudsmith repo (#17862)
* Caddy: install the .deb from GitHub instead of the Cloudsmith repo

Cloudsmith answered 402 Payment Required for two days once Caddy's
bandwidth quota ran out, and upstream expects it to happen again
(caddyserver/dist#142). Each GitHub release carries the identical
package (same SHA256), so Debian installs it from there now. The update
drops the Cloudsmith source, seeds ~/.caddy from the installed package
so nothing is reinstalled, and keeps a customised Caddyfile.

* Remove outdated comment from caddy.sh

---------

Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2026-10-11 16:14:44 +02:00
CanbiZ (MickLesk) 7198d218be Let var_* answer the optional add-on prompts (#17858)
Thirty-six yes/no prompts for optional components in 26 install
scripts could only be answered at the terminal, so an unattended
install stopped at the first one. Each now takes var_<app>_<option>
first and still asks when it is unset. The four conditions that only
matched a single y now take yes as well, since that is what the website
sends.
2026-10-11 15:44:05 +02:00
CanbiZ (MickLesk) 560bd81537 Confirm third-party installers through confirm_external_installer (#17857)
The thirteen install scripts and two update paths that run an external
installer each carried the same warning and y/N read. The core helper
does the same and also takes var_external_installer, so unattended
installs can answer it. Needs community-scripts/core
feat/confirm-external-installer merged first.
2026-10-11 15:37:33 +02:00
push-app-to-main[bot] 386bb80e1e Add cinephage (ct) (#17852)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-10-11 14:19:42 +02:00
CanbiZ (MickLesk) de19f51761 Radicale: install the bcrypt and argon2 extras (#17813)
* Radicale: install the bcrypt and argon2 extras

The update replaces pyproject.toml and the venv, so a bcrypt or argon2
module added by hand was gone afterwards and Radicale refused to start
with htpasswd_encryption = bcrypt, argon2 or autodetect. The service now
runs uv with --extra bcrypt --extra argon2, which upstream already
defines. The update patches existing units and restarts the service.

* Radicale: enable the extras only once the code defines them

argon2 is an extra since v3.5.4 and uv refuses unknown extras, so patching
before the release update broke older installs. Patch after it instead,
and only when pyproject.toml defines the extra.
2026-10-11 14:03:06 +02:00
CanbiZ (MickLesk) 91bc5b3835 docker: take the lxcfs toggle, TCP socket and Compose choice from app variables (#17850)
* docker: take the lxcfs toggle, TCP socket and Compose choice from app variables

var_docker_lxcfs is exported for the core helper; var_docker_tcp_socket
(no/local/all) and var_docker_compose replace the prompts when set, so
the website generator can offer them. Alpine wrote daemon.json through
silent(), which captured the output and left the file empty.

* docker: use var_docker_socket, the name the catalog record already carries
2026-10-11 13:24:31 +02:00
push-app-to-main[bot] 0a8c97c765 Add weblate (ct) (#17837)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-10-10 22:49:16 +02:00
Johann Grobe 1bc4191951 update endurain repo from codeberg to gh (#17831)
* fix: endurain repo

* fix: endurain release check
2026-10-10 16:29:43 +02:00
push-app-to-main[bot] 9fdbb10a45 Add certmate (ct) (#17803)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-10-10 09:11:09 +02:00
push-app-to-main[bot] e274342a54 Add anythingllm (ct) (#17802)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-10-10 09:10:51 +02:00
Sim Kai Long 63cf41174f OpenCloud: allow OpenCloud to embed Collabora on 26.04.4 (#17810)
Collabora 26.04.4 ignores frame-ancestors set in content_security_policy,
so the editor iframe is blocked. Use net.frame_ancestors (as
opencloud-compose does) on install, and add it on update when missing.
2026-10-09 20:43:49 +02:00
CanbiZ (MickLesk) 227526cf55 Immich: survive an interrupted update and a failing ML build (#17798)
* Immich: survive an interrupted update and a failing ML build

An update cancelled midway leaves /opt/immich/app empty, and the next run
died at once on cd /opt/immich/app/bin to enable maintenance mode (#17796).
Maintenance mode is now only toggled when immich-admin exists.

uv sync fetching the ml-models git dependency failed with "Could not resolve
host" behind DNS filters such as AdGuard while DNS itself worked (#17797);
running uv one download at a time got through. Retries now do that.

If machine learning still cannot be built, the update no longer stops with
maintenance mode on and every service down: it finishes, starts the web
service, puts the previous version back into ~/.immich so the next update
retries, and exits with an error. Updates are also announced as taking
5-15 minutes, since the first report came from cancelling one that looked
stuck.

* Immich: point immich-ml at the moved ml_start.sh and clear failed units

The update moves ml_start.sh into app/machine-learning, but only rewrote
immich-web's ExecStart, so older containers kept starting ML from
/opt/immich/ml_start.sh and failed with 203/EXEC. Rewrite immich-ml the same
way. A crash loop before the update can also leave both units rate-limited,
which makes the final restart fail; reset them first.
2026-10-09 12:08:08 +02:00
push-app-to-main[bot]andCanbiZ 7100f6521c FoldingAtHome (#17799)
* Add foldingathome (ct)

* Clean up comments in foldingathome.sh

Removed comments about Git tags and installation process.

* Clean up comments in foldingathome-install.sh

Removed outdated comments regarding package installation and configuration.

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-10-09 08:31:48 +02:00
push-app-to-main[bot]andCanbiZ a56510bf57 LocalAI (#17801)
* Add localai (ct)

* Refactor localai.sh to clean up comments and exports

Removed comments regarding ARM64 support and clarified install script export variables.

* Refactor variable assignments and clean up comments

Rearranged variable assignments and removed comments about SQLite and PostgreSQL.

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-10-09 08:29:50 +02:00
push-app-to-main[bot]andCanbiZ 6db1ebe154 Tvheadend (#17800)
* Add tvheadend (ct)

* Update Tvheadend installation messages in script

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-10-09 08:27:27 +02:00
CanbiZ (MickLesk) bb1ec9e608 Homarr: replace the musl better-sqlite3 that v2.3.0 ships for Debian (#17789)
The build-debian tarballs of v2.3.0 carry the Alpine build of
better_sqlite3.node, so the DB migration dies with ERR_DLOPEN_FAILED on
libc.musl and Homarr no longer starts after an update (#17783,
homarr-labs/homarr#7097). When the bundled module is musl, swap in
better-sqlite3's own glibc prebuild for the running Node ABI. The update runs
the check outside the release check, so containers already on 2.3.0 are
repaired too; it does nothing once upstream ships a correct tarball.
2026-10-08 15:13:16 +02:00
CanbiZ (MickLesk) bc29d4bb21 Kima-Hub: install the Python services into a uv venv (#17791)
pip3 installed into the system Python with PIP_BREAK_SYSTEM_PACKAGES and
stopped once a dependency wanted a newer idna than Debian's python3-idna,
which pip cannot uninstall (no RECORD file) (#17784). The analyzers now run
from /opt/kima-hub/venv on a uv-managed Python 3.13.
2026-10-08 15:10:05 +02:00
CanbiZ (MickLesk) 84d2c964e6 Immich: Pin to 3.3.0 / Update ML Python to 3.13 (#17770)
* Immich: pin v3.3.0 again

Reapplies #17759, reverted in #17767 because machine learning broke on 3.3.0; the fixes follow.

* Immich: run machine learning on Python 3.13

3.3.0 requires Python >=3.12 for machine learning and upstream builds both its CPU and OpenVINO images on 3.13. The CPU path still pinned 3.11, so uv sync failed on every update and install (#17762).

* Immich: stop when uv sync keeps failing

After three failed attempts the loop still reported the machine-learning step as done, so an update ended in "Updated successfully" with no usable venv and immich-ml failing on start. Exit with an error instead.

* Immich: only mention the HEIC patch when it applies

On 3.3.0 the sharp call it rewrites is gone, so every run printed "pattern not found, skipped" into the spinner line and then "Patched". Check for the pattern first and stay silent otherwise.

* BookOrbit: retry the client build when the bundler crashes

Since rolldown 1.2.8, vite build dies at random with SIGSEGV or SIGBUS
(rolldown#10860, closed upstream), which stopped the 3.3.0 update with exit
139 (#17753). Retry the client build up to three times before giving up.
2026-10-08 11:47:06 +02:00
CanbiZ (MickLesk) 2a38085984 Revert "Immich: Pin to v3.3.0 (#17759)" (#17767)
This reverts commit a5431e295b.
2026-10-08 06:13:00 +02:00
Chris a5431e295b Immich: Pin to v3.3.0 (#17759)
* Immich: Pin version to 3.3.0

- New features
- Bugfixes

* Enable new Machine Learning models by default
2026-10-07 23:02:37 +02:00
CanbiZ (MickLesk) 46c0210af7 Pangolin: Unpin Release, stable enough, Bump to latest (#17740)
* Pangolin: Unpin Release, stable enough, Bump to latest

* Remove default PANGOLIN_VERSION in install script
2026-10-07 21:39:05 +02:00
samvandenbosscheandClaude Sonnet 5.5 b755ec70d5 paperclip: run service as a dedicated non-root user (#17707)
Claude Code refuses --dangerously-skip-permissions as root, which blocked
Paperclip onboarding. Run onboarding and the systemd service as a
non-root user (var_paperclip_user, default paperclip) with an optional
var_paperclip_pass (account locked if unset). Existing installs are
migrated on update.

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 14:06:14 +02:00
Sim Kai Long cec9f13da1 OpenCloud: bump to v8.1.0, rebuild search index on upgrade (#17710)
v8 changes the search index format; existing files are not found by
search until the index is rebuilt. When updating from 7.x or older, run
the reindex as a transient systemd unit (the CLI cancels the rebuild if
interrupted), wait for it, and report the outcome.
2026-10-07 14:05:30 +02:00
CerberusStyleandCanbiZ 13bfd8aa15 Thingsboard: update Java version from 17 to 25 (#17733)
* Update Java version from 17 to 25 in install script

* Set JAVA_VERSION before checking for gh release

---------

Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-10-07 08:32:22 +02:00
CanbiZ (MickLesk) 36078aa896 Webtrees: stop serving data/ and the source folders directly (#17724)
Caddy served all of /opt/webtrees through file_server, so media under
data/media could be fetched by URL without passing webtrees' privacy rules.
webtrees only protects data/ with an .htaccess, which Caddy ignores. Deny the
folders webtrees' own nginx guide keeps private, plus dotfiles.

update_script adds the rule to existing Caddyfiles on every update, not only
when a new release is out, and keeps the old file if the result fails
caddy validate.
2026-10-06 16:26:21 +02:00
push-app-to-main[bot] bf3fad3984 Add pricebuddy (ct) (#17708)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-10-06 10:48:36 +02:00
CanbiZ (MickLesk) 7d9648dc90 wanderer: set the proxy secret and install plugins in their own directories (#17698)
0.21 requires POCKETBASE_PROXY_SECRET on both services, or every
incoming federation request is rejected; both read the same .env.

Each plugin archive holds one directory, which the deploy strips, so all
three landed flat in plugins/ and overwrote each other. wanderer only
loads direct child directories, so it found none. Existing installs are
moved over on the next update.
2026-10-05 12:48:29 +02:00
CanbiZ (MickLesk) 231b2fb1b7 discourse: serve stylesheets and repair the update (#17697)
nginx passed X-Accel-Mapping on every request. Stylesheets are sent
from tmp/, outside that mapping, so Rack redirected nginx to their
filesystem path and the page loaded without CSS. Existing installs get
the line removed on update.

The update called yarn, which is not installed, ran Rails without the
production environment or rbenv on PATH, asked for PostgreSQL 16 on a
17 install and left sidekiq running.
2026-10-05 12:47:42 +02:00
CanbiZ (MickLesk) 1c1295a9fd Point to DevScripts, the renamed ProxmoxVED (#17694)
Contribution docs, the PR template and the workflows that talk to the
testing repository use the new name. Migration PRs are matched by either
name, and three license headers pointed at contributor forks.
2026-10-05 11:03:02 +02:00
github-actions[bot] 5b5e8dc4f3 wikijs: bump Node.js from 24 to 26 (#17689)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-05 08:50:27 +02:00
github-actions[bot] 7bde0ac8d9 jotty: bump Node.js from 22 to 24 (#17688)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-05 08:47:32 +02:00
CanbiZ (MickLesk) 63e2ce0849 immich: read the Intel runtime from the pinned release (#17677)
The URLs came from the ML Dockerfile on main, which upstream moved into
scripts/install-intel-runtime.sh, so update failed on the grep and
OpenVINO installs found no packages.
2026-10-04 14:03:24 +02:00
CanbiZ (MickLesk) 713382315d hermesagent: download the installer before running it (#17666)
bash <(curl ...) ran an empty script when the download failed and exited 0, so the failure surfaced one line later as chmod on a missing directory.
2026-10-04 01:27:55 +02:00
CanbiZ (MickLesk) ca2bbb9b76 frigate: raise the Node heap for the web build (#17667) 2026-10-04 01:27:49 +02:00
durzo a74f683fab Tracearr: workaround for failing map tiles download and data preservation (#17661) 2026-10-03 20:49:13 +02:00
push-app-to-main[bot] 01906fe930 Add keeper (ct) (#17659)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-10-03 16:58:20 +02:00