Commit Graph

3592 Commits

Author SHA1 Message Date
Tobias c937f1540b changedetection: update: various fixes (#17331)
* update: add lang and various other improvements

* readd: playwright pin
2026-09-17 17:59:50 +02:00
CanbiZ (MickLesk) bb13cf5aea romm: make the library paths follow ROMM_BASE_PATH (#17279)
Upstream derives everything from one setting:

  ROMM_BASE_PATH = _get_env("ROMM_BASE_PATH", "/romm")
  LIBRARY_BASE_PATH = f"{ROMM_BASE_PATH}/library"

There is no separate library setting; config.yml's roms_folder is only
a folder name inside the library. So ROMM_BASE_PATH in /opt/romm/.env
is the single lever, and everything that names a path has to follow it.

Two places did not. The watcher unit had /var/lib/romm/library written
into ExecStart, so a moved library was still watched at the default and
rescans never fired. It now uses ${ROMM_BASE_PATH}/library, which
systemd expands from the EnvironmentFile the unit already loads.

The Angie alias was derived from the env file, but only while the
install or an update ran. Editing ROMM_BASE_PATH afterwards left the
internal /library/ location pointing at the old path, and since the
backend serves content through X-Accel-Redirect, every download and
every play returned 404 while scanning and metadata kept working.
Re-sync it from an ExecStartPre on angie, so a restart is enough.

Update installs both for existing containers and rewrites the watcher
unit in place.

Reported in #17263. The suggested fix there was to template the alias,
which the scripts already did; the gap was that nothing re-applied it.
2026-09-17 17:59:36 +02:00
CanbiZ (MickLesk) ba87729be7 sparkyfitness: run the Better Auth migration during the update (#17318)
* sparkyfitness: run the Better Auth migration during the update

1.7.1 ships a Better Auth version whose schema has columns 1.6.5 never
created, and nothing in the update adds them. The backend starts, then
refuses every sign-in:

  Database schema mismatch
    Missing columns session.impersonated_by two_factor.verified ...
    Run `npx auth migrate` to add the missing tables and columns.

Run exactly that after the backend dependencies are in place, with the
config Better Auth looks for, SparkyFitnessServer/auth.ts, and the
database credentials from /etc/sparkyfitness/.env. Users who hit this
were left running the server by hand to get the columns created.

A failure warns instead of aborting: the rest of the update has already
succeeded at that point, and the message names the remaining step.

* sparkyfitness: start the server through the entrypoint that migrates

The Better Auth CLI added in the previous commit is the wrong tool. It
generates sso_provider.user_id as text and cannot reference this
schema's uuid user.id:

  foreign key constraint "sso_provider_user_id_fkey" cannot be
  implemented [...] incompatible types: text and uuid

The real cause is one line up in the unit. It ran

  tsx SparkyFitnessServer.js

which imports the application module directly and never applies the
schema migrations. Upstream starts through index.ts - nodemon.json has
exec: tsx index.ts - and that file runs applyMigrations() and
applyRlsPolicies() before importing anything, with a comment naming this
exact failure:

  Better Auth validates the database schema eagerly, the moment
  betterAuth() is constructed at auth.ts module scope [...] When
  migrations ran later (from inside SparkyFitnessServer.ts) that check
  read the pre-migration schema on the first boot after an upgrade, so
  every /api/auth request failed until the container was restarted.

Point both the install and the update at index.ts and drop the CLI call.
index.ts exits non-zero when a migration fails, so systemd surfaces that
instead of serving a broken login.
2026-09-17 13:39:36 +02:00
CanbiZ (MickLesk) 251fd0b6b8 poznote: follow init.sh into docker/ (#17316)
6.87.0 moved init.sh from the repository root to docker/init.sh, so the
update stopped at

  chmod: cannot access '/opt/poznote/init.sh': No such file or directory

The file itself is byte for byte the same and uses absolute paths only,
so running it from the new location changes nothing. Prefer docker/ and
fall back to the old path, since a container pinned to an older release
still has it there.
2026-09-17 10:27:19 +02:00
Chris dc4962b03d Immich: Pin to v3.2.2 (#17307)
- upstream bugfixes
2026-09-16 16:00:31 +02:00
CanbiZ (MickLesk) b4684b2faf Frigate: Bump to 0.18.0 (#17273)
* frigate: move to 0.18.0

Bump the pinned release and follow the four build changes that matter
outside of Docker.

ffmpeg: 0.18 ships 8.0 as the default and keeps 7.0 and 5.0 alongside
it, so /etc/frigate.env has to name all three or the s6 run script
resolves a version that install_deps.sh never downloaded.

go2rtc: pin to v1.9.14, the version the Dockerfile fetches. "latest"
happened to work but shipped whatever AlexxIT had tagged that day
rather than the build Frigate was tested against.

OpenVINO: requirements-ov.txt dropped tensorflow and openvino-dev, and
build_ov_model.py no longer uses the Model Optimizer. omz_tools is
therefore gone, which left the first two branches of the labelmap
lookup dead; download coco_91cl_bkgr.txt the way the Dockerfile does.

Intel media driver: 0.18 builds intel-media-va-driver-non-free from
source for Battlemage, because the prebuilt noble/trixie packages need
a glibc that bookworm does not have. Run it before install_deps.sh, as
the deps-rootfs stage does, and drop the jammy repo the build adds so
the later trixie pull for libva2 is not resolved against it.

The remaining build scripts and requirement files changed too, but
those come from the checked-out tree and follow the version bump on
their own.

* frigate: stop the detector config from replacing the base config

The install wrote a config with mqtt, cameras, auth and detect, then the
detector branch wrote the file again instead of adding to it. Both
branches used a single redirect, so everything above them was discarded
and the result had neither mqtt nor cameras. frigate/config/config.py
declares both as Field() without a default, in 0.17.2 as well as in
0.18.0, so Frigate rejected the file and came up in safe mode:

  mqtt - Field required
  cameras - Field required

Move hwaccel_args into the base block, since both branches set it, and
append the detector and model sections instead of overwriting.

Checked by generating both branches and parsing the result: the OpenVINO
path yields auth, cameras, detect, detectors, ffmpeg, model, mqtt, the
CPU path the same without detectors, and the test camera survives in
both.

* frigate: write the config in one place

Only the detector and model section depends on the CPU check, but the
file was assembled in three heredocs writing to the same path. That
shape is what produced the safe-mode config: both branches used a plain
redirect and discarded everything above them.

Pick the variable part into DETECTOR_CONFIG first and write the file
once, so the layout is visible in one block and no branch can replace
what came before it.

Output is unchanged, verified by generating both branches from the
previous commit and from this one and diffing: byte-identical.

* Update default RAM and disk values in frigate.sh
2026-09-16 12:01:52 +02:00
CanbiZ (MickLesk) f5d336cfed tor-snowflake: read the Go version from the module root (#17276)
* tor-snowflake: read the Go version from the module root

Snowflake is a single Go module with go.mod at the repository root, not
under proxy/. The install read /opt/tor-snowflake/proxy/go.mod, which
has never existed, so grep failed and the version came out empty. Go
was then fetched from

  https://go.dev/dl/go.linux-amd64.tar.gz

with no version in the name, and the install aborted at that download.

Read the directive with a single awk instead of grep piped into awk.
The pipeline tripped catch_errors, which sets -Ee with pipefail and an
ERR trap, the moment the file was missing; that is the "exit code 2
while executing command awk" line that preceded the download failure.

Fall back to latest when the file cannot be read, so a future upstream
move of go.mod costs a Go version that is newer than the one pinned
rather than a failed build. setup_go already resolves latest, and also
resolves a bare major.minor to its newest patch, so a go directive
without a patch level stays fine.

Verified against v2.14.1: go.mod sits at the root and declares go
1.24.0, and the awk yields 1.24.0 from it and latest from a missing
file without tripping the ERR trap.

* Refactor GO_VERSION extraction in tor-snowflake.sh

Updated the method of extracting GO_VERSION from go.mod and set a default value if not found.
2026-09-16 11:59:19 +02:00
CanbiZ (MickLesk) 8b01d1c302 docmost: stop corepack asking for confirmation during the build (#17282)
Docmost pins its package manager, so running pnpm goes through corepack,
which asks before fetching the pinned version:

  Corepack is about to download .../pnpm-11.25.0.tgz
  ? Do you want to continue? [Y/n]

The pnpm calls run under $STD, so with verbose off the question is
never shown and the update sits on "Configuring Docmost" waiting for an
answer nobody can see. With verbose on the same update completes,
because the prompt is visible and gets answered, which is exactly what
the reporter observed.

Set COREPACK_ENABLE_DOWNLOAD_PROMPT=0 before the pnpm calls in both the
install and the update, the way fifteen other ct scripts and ten
install scripts already do.
2026-09-16 11:59:00 +02:00
Christian Forgács 0b536d83c3 borg-ui: missing dependency sshpass (#17286)
Co-authored-by: Christian Forgács <christian@wunderbit.de>
2026-09-15 20:25:11 +02:00
push-app-to-main[bot] 8a8c636a83 valhalla (#17231) 2026-09-15 09:16:43 +02:00
Connor Gallopo dd421cec72 copy packages/emails into the tracearr deploy tree (#17268) 2026-09-15 08:47:51 +02:00
Chris 91c6673ae0 Pin to v3.2.1 (#17264) 2026-09-15 08:30:40 +02:00
push-app-to-main[bot] 2bac6ac611 Add borg-ui (ct) (#17258)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-09-14 15:50:54 +02:00
Raffaele Borrelli f21bd26c8a fix(sparkyfitness): substitute NGINX_RATE_LIMIT in nginx config (#17256)
Co-authored-by: Raffaele Borrelli <r.borrelli@novomatic.it>
2026-09-14 12:53:28 +02:00
github-actions[bot] db50b50a63 spliit: bump Node.js from 24 to 26 (#17250)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-14 10:08:27 +02:00
Copilot 8b02661dd0 Downgrade iobroker to Node 24 (#17229)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MickLesk <47820557+MickLesk@users.noreply.github.com>
2026-09-13 20:07:45 +02:00
push-app-to-main[bot] 2551a576d5 Elasticsearch (#17188) 2026-09-12 22:11:22 +02:00
CanbiZ (MickLesk) be0a8c3467 Add --no-sync to Paperless uv run services (#17210) 2026-09-12 22:10:47 +02:00
eXistC 2c6a578343 fix(dispatcharr): add comskip installation and build dependencies (#16224) 2026-09-12 14:30:42 +02:00
Kevin Langhans 02cf8a0a8f feat(jitsi-meet): optional public setup (FQDN, Let's Encrypt, NAT, secure domain) (#17132)
Adds five optional var_jitsi_* settings to the install script. All default
to empty, which keeps the previous LAN-only behaviour (container IP,
self-signed certificate):

- var_jitsi_domain     public hostname instead of the container IP
- var_jitsi_le_email   Let's Encrypt via the packaged debconf option
- var_jitsi_public_ip  static NAT mapping in jvb.conf (JVB 2.3+)
- var_jitsi_admin_user secure domain: only authenticated users create rooms
- var_jitsi_admin_pass password for that user (generated when empty)

Tested on Proxmox VE 9.2 as unprivileged Debian 13 LXC, both with all
variables set (self-signed) and with none set.

Co-authored-by: klanghans <13657862+klanghans@users.noreply.github.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-12 14:25:09 +02:00
push-app-to-main[bot] 3dbfe54701 Add hammer (ct) (#17189)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-09-12 14:24:00 +02:00
CanbiZ (MickLesk) 0a48435ef9 poznote: serve from src/public docroot (#17187) 2026-09-12 12:01:26 +02:00
push-app-to-main[bot] 4412cc0eae gotenberg (#17205)
* Add gotenberg (ct)

* Update messages in gotenberg.sh for clarity

* Implement unoconverter update in gotenberg.sh

* Fix formatting and add Go version setup in script

* Update Gotenberg installation script for Go version

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2026-09-12 11:52:55 +02:00
CanbiZ (MickLesk) 24e006cd81 calibre-web: use calibreweb release identifier to avoid version file collision (#17186) 2026-09-12 08:31:29 +02:00
push-app-to-main[bot] c1fc07d937 Lemonade-Server (#17190)
* Add lemonade-server (ct)

* Enable ARM64 support by default 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-09-11 23:40:58 +02:00
thieneret 8713dabc56 update authentik to 2026.8.2 (#17198) 2026-09-11 20:12:18 +02:00
push-app-to-main[bot] b9f7751590 OneTimeSecret (#17097) 2026-09-11 07:43:35 +02:00
CanbiZ (MickLesk) de9b2f7ff3 paperclip: install the rust toolchain needed by the runner build (#17142) 2026-09-11 07:42:37 +02:00
CanbiZ (MickLesk) e253713148 homepage: run next directly instead of through pnpm (#17155) 2026-09-11 07:41:21 +02:00
Tobias 433064a93f changedetection: fix: pin browserless (#17163) 2026-09-11 07:39:20 +02:00
Chris 4dfb966412 Immich v3.2.0 (#17137)
- explicitly build Sharp during server build (upstream change)
2026-09-10 22:23:08 +02:00
push-app-to-main[bot] 6e109e77c7 Chevereto (#17131)
* Add chevereto (ct)

* Update var_arm64 default value and cleanup messages

Changed default value of var_arm64 to 'yes' and removed setup completion message.

* Remove ffmpeg installation and add setup_ffmpeg call

* chevereto: derive php-fpm from one version, use nginx_enable_site

* chevereto: drop php modules already covered by setup_php

---------

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-09-10 15:10:59 +02:00
push-app-to-main[bot] b8eaf1e2a4 Portabase (#17111)
* Add portabase (ct)

* portabase: resolve tusd arch, use nginx and backup helpers, random admin password

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: MickLesk <47820557+MickLesk@users.noreply.github.com>
2026-09-10 15:02:18 +02:00
push-app-to-main[bot] 86270d407e Logseq (#17112)
* Add logseq (ct)

* logseq: provision corepack via setup_nodejs, use nginx helper, set up toolchains on update

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: MickLesk <47820557+MickLesk@users.noreply.github.com>
2026-09-10 15:02:09 +02:00
push-app-to-main[bot] 7c822e1642 Safebucket (#17096)
* Add safebucket (ct)

* Update default var_arm64 value to 'yes'

Changed default value of var_arm64 to 'yes' in safebucket.sh.

* safebucket-install.sh aktualisieren

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

* Refactor ARCH variable usage in safebucket.sh

* Refactor Safebucket installation 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>
Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2026-09-10 13:49:15 +02:00
push-app-to-main[bot] 05d4c186fb Lingarr (#17130)
* Add lingarr (ct)

* Update ct/lingarr.sh

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Sam Heinz <sam@samheinz.com>
2026-09-09 15:25:01 +02:00
MickLesk afff8c91cd Omada: resolve libssl1.1 from the Debian pools instead of a pinned URL
bullseye left security.debian.org when its LTS ended, so the hardcoded
libssl1.1_1.1.1w-0+deb11u8 filename now 404s. Scan the security, the
security-archive and the archive pools and take the newest build on offer
for the host architecture.

Closes #17104
2026-09-08 16:44:04 +02:00
push-app-to-main[bot] 8bf8f8629b Decypharr (#17108)
* Add decypharr (ct)

* Change default var_arm64 value to 'yes'

---------

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-09-08 11:20:32 +02:00
push-app-to-main[bot] 209e003c7f Stash (#17106)
* Add stash (ct)

* Change default value of var_arm64 to 'yes'

---------

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-09-08 11:18:20 +02:00
CanbiZ (MickLesk) a3c029c341 Update Jellyfin FFmpeg dependency to version 8 (#17109) 2026-09-08 10:28:42 +02:00
push-app-to-main[bot] 20624f3a84 Chatwoot (#17095)
* Add chatwoot (ct)

* Update var_arm64 default value in chatwoot.sh

Uncomment var_arm64 variable and adjust its default value.

---------

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-09-07 16:57:57 +02:00
push-app-to-main[bot] 0b630fc246 Add whisparr-eros (ct) (#17094)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-09-07 16:57:48 +02:00
push-app-to-main[bot] 08dfb5aa90 Matter-Hub (#17093)
* Add matter-hub (ct)

* Enable ARM64 support by default in matter-hub.sh

* Remove Home Assistant setup instruction

Removed instruction to set Home Assistant URL and token.

---------

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-09-07 16:53:13 +02:00
push-app-to-main[bot] d458bf5aed Journiv (#17092)
* Add journiv (ct)

* Change default value of var_arm64 to 'yes'

---------

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-09-07 16:51:29 +02:00
CanbiZ (MickLesk) c039a297b3 flatnotes: follow upstream move to uv and Python 3.13 (#17090) 2026-09-07 16:37:07 +02:00
github-actions[bot] 169f57c2e0 iobroker: bump Node.js from 24 to 26 (#17085)
* iobroker: bump Node.js from 24 to 26

* iobroker: pin npm to 11, npm 12 dropped --unsafe-perm

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: MickLesk <47820557+MickLesk@users.noreply.github.com>
2026-09-07 14:11:03 +02:00
github-actions[bot] 633e9f6a03 kaneo: bump Node.js from 22 to 24 (#17086) 2026-09-07 14:04:26 +02:00
CanbiZ (MickLesk) 9e42f4b4a8 netboot-xyz: add Secure Boot and Legacy assets (#17066) 2026-09-07 12:52:48 +02:00
CanbiZ (MickLesk) 960e50f428 omnitools: allow remote action while npm ci (#17070) 2026-09-07 12:51:24 +02:00
CanbiZ (MickLesk) 535f2f2d2e iventoy: run iventoy.sh with bash instead of dash (#17034) 2026-09-05 22:41:32 +02:00