Commit graph

29 commits

Author SHA1 Message Date
CanbiZ (MickLesk)
ba01175bc6
core: reorder hwaccel setup and adjust GPU group usermod (#13072)
* fix(tdarr): use curl_with_retry and verify binaries before enabling service

Tdarr_Updater downloads the actual server/node binaries from tdarr.io at
runtime. If tdarr.io is blocked by local DNS (e.g. OPNsense OISD blocklists),
the updater exits silently with code 0, leaving no binaries on disk. The
subsequent systemctl enable then fails with 'Operation not permitted' (exit 1)
because the ExecStart paths don't exist.

Changes:
- Replace bare curl with curl_with_retry for versions.json and Tdarr_Updater.zip
  downloads to gain retry logic, DNS pre-check and exponential backoff
- Add msg_info before Tdarr_Updater run so users see this step in the log
- Check that Tdarr_Server and Tdarr_Node binaries exist after the updater
  runs; fail immediately with a clear message pointing to tdarr.io connectivity
  instead of letting systemctl fail with a confusing 'Operation not permitted'

Fixes: #13030

* Improve Tdarr installer error handling

Refine post-update validation and failure behavior in tdarr-install.sh: remove a redundant status message, simplify the updater check to only require the Tdarr_Server binary, and replace the previous fatal path with msg_error plus an explicit exit 250. This makes failures (for example when tdarr.io is blocked by local DNS) clearer and avoids false negatives from the Tdarr_Node existence check.

* Use curl_with_retry and handle updater failure

Replace direct curl calls with curl_with_retry for fetching versions.json and downloading Tdarr_Updater.zip to improve network reliability. Add a post-update check that verifies /opt/tdarr/Tdarr_Server/Tdarr_Server exists; if missing, log an error suggesting possible DNS blocking and exit with code 250. Minor cleanup of updater artifacts remains unchanged.

* Reorder hwaccel setup and adjust GPU group usermod

Move setup_hwaccel invocations in emby, jellyfin, ollama, and plex installers to occur after package installation/configuration so GPU drivers/repos are present before enabling hardware acceleration. Update _setup_gpu_permissions to call usermod directly (remove $STD wrapper) when adding service users to render/video groups. Includes minor whitespace/ordering cleanups in the installer scripts.
2026-03-19 06:55:56 +01:00
CanbiZ (MickLesk)
bd91c4d07f
tools: Centralize GPU group setup via setup_hwaccel (#13044)
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.
2026-03-18 11:56:32 +01:00
CanbiZ (MickLesk)
287fe28741
Refactor & Bump to v2: Plex (#12179) 2026-02-22 21:43: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 (MickLesk)
3a9d03fdb7
use setup_hwaccel for robust hardware acceleration (#10054)
* fix(jellyfin): use setup_hwaccel for robust hardware acceleration

Replaces manual hardware acceleration setup with the centralized
setup_hwaccel function from tools.func.

This fixes the installation failure in privileged containers where
/dev/dri does not exist (e.g., when no GPU is passed through).

The setup_hwaccel function includes:
- Proper error handling for missing /dev/dri
- GPU vendor detection (Intel, AMD, NVIDIA)
- Graceful fallback when no GPU is available

Fixes: Installation fails with 'chgrp: cannot access /dev/dri'
when creating privileged containers without GPU passthrough.

* refactor(hwaccel): standardize hardware acceleration across all install scripts

Migrated all install scripts to use the centralized setup_hwaccel function:
- plex-install.sh
- emby-install.sh
- ersatztv-install.sh
- frigate-install.sh
- tdarr-install.sh
- unmanic-install.sh
- channels-install.sh
- ollama-install.sh
- immich-install.sh (added error handling)

Enhanced setup_hwaccel function in tools.func:
- Added -d /dev/dri check before setting permissions
- Added error handling (2>/dev/null || true) for all /dev/dri operations
- Added adduser error handling for video/render groups
- No longer fails if no GPU is detected (graceful skip)
- Added intel-media-va-driver for newer Intel GPUs
- Improved AMD APU support with firmware packages
- Better NVIDIA handling (warning instead of failure)

This fixes installation failures in privileged containers without GPU
passthrough, where /dev/dri does not exist.

Supports: Ubuntu, Debian 12 (Bookworm), Debian 13 (Trixie)
GPU Support: Intel, AMD, NVIDIA (manual driver)

* refactor(hwaccel): complete migration for all GPU apps

Migrated remaining GPU apps to setup_hwaccel:
- fileflows-install.sh
- openwebui-install.sh (added setup_hwaccel - was missing)
- tunarr-install.sh

Also fixed tools/pve/hw-acceleration.sh:
- Added error handling for /dev/dri operations
- Added chmod 660 /dev/dri/* that was missing
- Added error suppression for adduser commands

All 13 GPU apps (var_gpu=yes) now use centralized setup_hwaccel:
jellyfin, plex, emby, ersatztv, frigate, tdarr, unmanic,
channels, ollama, immich, fileflows, openwebui, tunarr

* feat(hwaccel): complete Intel non-free driver support and GID sync

Enhanced setup_hwaccel function:
- Auto-detect Intel GPU generation (Gen 9+ for non-free drivers)
- Debian 12 (Bookworm): Add non-free repo + intel-media-va-driver-non-free
- Debian 13 (Trixie): Add non-free repo + libvpl2 + mesa-opencl-icd
- Ubuntu: Use ubuntu repos with intel-media-va-driver
- Fallback to open drivers if non-free fails
- GID sync for video/render groups (moved from install scripts)

OpenWebUI: Added Intel oneAPI support when installing Ollama
- Intel Level Zero GPU support
- Intel oneAPI Base Toolkit
- Same setup as standalone Ollama install

Cleanup:
- Removed duplicate GID sync from tdarr-install.sh
- Removed duplicate GID sync from unmanic-install.sh

* fix(ersatztv): remove duplicate HW acceleration code

Removed manual Intel HW acceleration setup that remained after
setup_hwaccel migration. The non-free driver prompt is no longer
needed as setup_hwaccel auto-detects Intel GPU generation.
2025-12-17 14:37:31 +01:00
CanbiZ
afe330173e
Refactor cleanup steps to use cleanup_lxc function (#9354) 2025-11-22 17:27:13 +01:00
CanbiZ
6c8975e4aa
Bump O to P-Scripts to Debian 13 (Trixie) (#8367) 2025-10-15 22:39:16 +02:00
CanbiZ
010928fee2
Refactor: Remove gpg / gnupg from script base (#4775)
* Refactor: Remove gpg / gnupg from

* push more

* add more

* Update reactive-resume-install.sh

* Revert: add unzip

---------

Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-05-28 10:54:01 +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
2306531021
[core] Rebase Scripts (formatting, highlighting & remove old deps) (#3378)
* Big Refactor: Remove Deps / Formatting & Correct End Of Line Sequence

* f
2025-03-24 14:20:56 +01:00
Bas van den Berg
204219a477
Add source to install scripts and make license one line (#2842) 2025-03-04 17:54:20 +01:00
CanbiZ
15f04d525d
Happy new Year! Update Copyright to 2025 (#1150) 2025-01-01 13:37:29 +01:00
CanbiZ
a4a1821822 Changed all dependencies to the community project 2024-11-02 08:48:05 +01:00
kabroxiko
7d77be87d5
Update plex-install.sh (#3580)
- install gpg to avoid plexupdate warning
2024-08-24 08:24:06 -04:00
tteckster
64a33de118
Add '-y` flag 2024-05-02 13:26:16 -04:00
tteckster
6280950c31
Update plex-install.sh
Refactor to support unprivileged hardware transcoding.
2024-04-25 14:58:59 -04:00
tteckster
c6b13d0a36
Update plex-install.sh
- add vainfo and intel-gpu-tools
- code refactoring
2024-02-22 13:46:23 -05:00
tteckster
8456deb1f8
Improve GID mismatch fix
- Emby
- Jellyfin
- Plex
2024-02-20 22:41:09 -05:00
tteckster
f4bbf3bac0
Update plex-install.sh
fix GID mismatch
2024-02-20 21:36:45 -05:00
tteckster
2171405dc6
Update plex-install.sh
update keyring location
2024-02-20 07:26:31 -05:00
tteckster
30c53d6958
update year to 2024 2024-01-01 12:13:05 -05:00
tteckster
bafd32f777
Update HW Acceleration LXCs 2023-12-03 14:40:39 -05:00
tteckster
c12f2773e7
Code refactoring 2023-05-15 07:39:30 -04:00
tteckster
52ce746cbe
Update plex-install.sh
- The command apt-key is now considered deprecated, so migrate keyring to the new location with the new format.
- Remove the unnecessary dependency gnupg
2023-04-22 05:31:32 -04:00
tteckster
0e9aa8e620
Update plex-install.sh
move trusted.gpg
2023-04-22 01:12:22 -04:00
tteckster
4175b8d5f6
The latest iteration of the scripts (#1220) 2023-03-22 20:48:20 -04:00
tteckster
c8aa5a029d
more pruning & code refactoring (#1011)
* improve error handling to show more details

* improve the way it checks for root password

* consistant getty_override

* streamline verbose mode

* remove v4 scripts

* small tweaks
2023-02-03 07:15:15 -05:00
tteckster
9a7d8fdc78
add midnight commander (mc) (#974) 2023-01-23 10:42:50 -05:00
tteckster
049b2cf770
purge (#884) 2022-12-31 10:53:32 -05:00
Renamed from setup/plex-install.sh (Browse further)