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