36 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)
852e557b1b Refactor: Jellyfin repo, ffmpeg package and symlinks (#13045)
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2026-03-18 11:55:38 +01:00
CanbiZ (MickLesk)
25ecb12060 feat(jellyfin): add logrotate instead of reducing log level (#11326) 2026-01-29 13:40:32 +01:00
Milen Valchev
0e7e08579b feat: add NVIDIA driver install prompt for GPU-enabled containers (#11184) 2026-01-27 22:40:47 +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
714c2e5888 Bump K to H-Scripts to Debian 13 (Trixie) (#8597)
* Update scripts to use Debian 13 and improve update logic

Bump default container OS version from Debian 12 to 13 across multiple LXC setup scripts. Refactor update_script functions for consistency, improve messaging, and standardize apt usage. Update Kimai install and update scripts to use setup_php, setup_composer, and fetch_and_deploy_gh_release helpers, and switch from MySQL to MariaDB. Update Kometa to use Python 3.13. Minor improvements to backup, cleanup, and service management steps in several scripts.

* Refactor install scripts: unify cleanup and apt usage

Replaces repeated apt-get commands with apt for installing dependencies, and consolidates cleanup steps into a single cleanup_lxc function across all install scripts. Also updates repository setup to use setup_deb822_repo where applicable, and makes minor improvements to dependency installation and service setup.

* Update default Debian version to 13 and refactor updates

Set the default Debian version to 13 across all container scripts. Standardize apt command usage by replacing 'apt-get' with 'apt' where appropriate. Remove redundant cleanup steps from update scripts and streamline update logic for consistency. Also, call 'cleanup_lxc' after 'update_script' in the build function.

* Update default OS version to Debian 13 in JSON configs

Updated the 'version' field from '12' to '13' for Debian-based install methods across multiple application JSON files. Also set default OS and version for inspircd. This ensures new containers use the latest supported Debian release.

* fix kimai Update Check

* grammar

* Correct typo in success message

* Fix typo in success message for update

* refactor

* fixed jenkins / improve komodo

---------

Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-11-12 10:56:18 +01:00
Tobias
e69da3846a jellyfin: fix: intel deps (#8657) 2025-10-27 14:11:46 +01:00
CanbiZ
c160079447 jellyfin: fix opencl dep for ubuntu (#8535) 2025-10-21 08:33:32 +02:00
Tobias
b2b892c430 jellyfin: fix: version conflict (#8520) 2025-10-20 21:00:48 +02:00
Tobias
c188984601 jellyfin: add: intel dependencies (#8508) 2025-10-20 16:21:31 +02:00
CanbiZ
8ece0e3676 Jellyfin: ensure libjemalloc is used / increase hdd space (#8494)
* Jellyfin: ensure libjemalloc used

* Enhance Jellyfin update script with libjemalloc checks

Added checks for libjemalloc2 installation and symlink creation before updating Jellyfin.

* Change apt-get to apt for installing libjemalloc2

* Increase default disk size from 8GB to 16GB

* Increase HDD size for Jellyfin configuration

Updated HDD size from 8GB to 16GB in jellyfin.json.
2025-10-20 08:28:22 +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
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
Slaviša Arežina
0af7a5adbf Jellyfin: Fix default logging level (#1768)
* Fix the ammount of default logging

* remove comment

Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>

---------

Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>
2025-01-26 14:01:31 +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
tteckster
4696040e93 Update jellyfin-install.sh
tweak
2024-08-28 11:42:30 -04:00
tteckster
df3047e295 Update jellyfin-install.sh
tweak
2024-08-28 11:35:08 -04:00
tteckster
158c309d71 Update jellyfin-install.sh
https://github.com/tteck/Proxmox/issues/3592
2024-08-28 11:28:46 -04:00
tteckster
64a33de118 Add '-y` flag 2024-05-02 13:26:16 -04:00
tteckster
faf98bc1f8 Update jellyfin-install.sh
Refactor to support unprivileged hardware transcoding.
2024-04-25 14:42:39 -04:00
tteckster
57fca777b6 Update jellyfin-install.sh
- add vainfo and intel-gpu-tools
- code refactoring
2024-02-22 13:44:02 -05:00
tteckster
8456deb1f8 Improve GID mismatch fix
- Emby
- Jellyfin
- Plex
2024-02-20 22:41:09 -05:00
tteckster
e23f2c60f8 Update jellyfin-install.sh
fix GID mismatch
2024-02-20 21:33:50 -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
b5eb945f4d Update jellyfin-install.sh
tweak
2023-06-06 15:58:39 -04:00
tteckster
3f61e07393 Update jellyfin-install.sh
modify jellyfin source
2023-06-06 15:23:36 -04:00
tteckster
c12f2773e7 Code refactoring 2023-05-15 07:39:30 -04:00
tteckster
3e7f070ea8 Update jellyfin-install.sh
Use the Deb822 format jellyfin.sources
2023-04-05 06:41:33 -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