improve hardware-acceleration setup to centralize service user group management. Install scripts (emby, plex, ollama, channels) now pass a service user to setup_hwaccel (or no user for channels) and have had inline /etc/group sed/usermod tweaks removed. misc/tools.func updated: setup_hwaccel accepts an optional service_user and forwards it to _setup_gpu_permissions, which now adds the service user to render and video groups if provided. This consolidates GPU permission changes in one place and removes duplicated per-service group edits.
- Add OPENVPN_PROCESS_USER=root, PUID=0, PGID=0 to default .env
to prevent gluetun from injecting 'user' directive into target.ovpn
which causes 'Unrecognized option' errors on Debian
- Add ExecStartPre to remove stale /etc/openvpn/target.ovpn before start
- Fixes#12988
* fix(frigate): check OpenVino model files exist before configuring detector
When the OpenVino model build fails (e.g. TensorFlow import error),
the model files are not created but the config still references them
if the CPU supports avx/sse4_2, causing Frigate to crash on start
with FileNotFoundError.
Now also checks that ssdlite_mobilenet_v2.xml and coco_91cl_bkgr.txt
actually exist before configuring the OpenVino detector, falling back
to CPU model otherwise.
Fixes#12808
* fix(frigate): use curl_with_retry for all downloads
Replace all wget and bare curl calls with curl_with_retry from
tools.func for robust downloads with retry logic, exponential
backoff, and DNS pre-checks. This prevents install failures from
transient network issues during model and dependency downloads.
- Install gcc-13/g++-13 and export CC/CXX before compiling custom
photo-processing libraries to work around GCC-14 ICE segfaults
on Debian 13 Trixie (closes#12895)
- Pre-install Python via 'uv python install' with 3-attempt retry
logic before running 'uv sync' to prevent connection reset failures
during machine-learning setup (closes#12926)
- Applied to both fresh install and update paths
* fix(seerr): add python3-setuptools to install and update deps
node-gyp's bundled node-gyp (v8.4.1) uses distutils which was removed
from Python 3.12+. Adding python3-setuptools provides the distutils
shim needed to compile native sqlite3 bindings.
Also adds build-essential + python3-setuptools before pnpm install in
the update function to match the install script's dependency setup.
Fixes#12939
* fix(seerr): use apt instead of apt-get
* fix(seerr): use ensure_dependencies in update script
Replace `Host $host` with `Host $http_host` so the upstream application receives the original host including the port (e.g. `manyfold:8081`).
Add `X-Forwarded-Host` and `X-Forwarded-Port` headers to ensure the Rails app generates correct absolute URLs instead of defaulting to port 80 when running behind nginx on a non-standard port.
* openwebui: Ensure required dependencies
Added zstd and build-essential as dependencies for the script.
* Update dependencies in openwebui-install.sh
Added build-essential and libmariadb-dev to dependencies.