Commit Graph
100 Commits
Author SHA1 Message Date
CanbiZ (MickLesk)andGitHub b4a25160e4 Linkwarden: enable Corepack and prepare Yarn v4 before running yarn (#10390) 2025-12-29 00:38:46 +01:00
CanbiZ (MickLesk)andGitHub 1d278f53f6 fix(metube): use pnpm + corepack for frontend build (#10392) 2025-12-29 00:38:05 +01:00
CanbiZ (MickLesk)andGitHub e5943404f9 fix(phpipam): use PHP 8.4 with correct mysql module for PDO support (#10348) 2025-12-26 19:58:38 +01:00
CanbiZ (MickLesk)andGitHub bbc326ec23 fix(hyperion): increase disk to 4GB and fix /root/. path error (#10349) 2025-12-26 19:57:49 +01:00
CanbiZ (MickLesk)andGitHub f1c6f573aa fix(build): correct local template discovery and simplify pattern logic (#10282) 2025-12-24 14:23:10 +01:00
CanbiZ (MickLesk)andGitHub 889116c82d fix(hwaccel): skip setup without GPU passthrough and fix Ubuntu AMD firmware (#10225) 2025-12-22 23:27:37 +01:00
CanbiZ (MickLesk)andGitHub 33ef33c833 docs(contribution): update templates with modern patterns (#10227)
Based on analysis of latest 30 scripts (koel, wallabag, invoiceninja, etc.)

Templates updated to reflect current best practices:

ct/AppName.sh:
- Use check_for_gh_release + fetch_and_deploy_gh_release pattern
- CLEAN_INSTALL=1 for updates
- Proper backup/restore workflow
- Simplified configuration comments

install/AppName-install.sh:
- fetch_and_deploy_gh_release as primary download method (no separate RELEASE variable)
- Real-world examples from Node.js, Python, PHP apps
- import_local_ip called early
- Setup runtimes/databases before app installation
- cleanup_lxc at the end

HELPER_FUNCTIONS.md:
- fetch_and_deploy_gh_release as preferred method (documented first)
- CLEAN_INSTALL=1 environment variable documented
- prebuild type with asset_pattern documented
- Clarified when to use get_latest_github_release vs fetch_and_deploy

Closes #10194
2025-12-22 23:26:41 +01:00
CanbiZ (MickLesk)andGitHub 65606eec1c fix(invoiceninja): add chromium dependencies for PDF generation (#10230)
- Add required libraries for snappdf/chromium (libnss3, libatk, libcups2, etc.)
- Download chromium binary via snappdf download command
- Run ninja:post-update for languages/currencies lookup data

Fixes PDF generation error: libnss3.so not found
2025-12-22 23:25:56 +01:00
CanbiZ (MickLesk)andGitHub ebb8b098dd MediaManager) use npm install (#10228)
* fix(mediamanager): use npm install and remove unused yq dependency

- Use npm install instead of npm ci because upstream package-lock.json
  is out of sync with package.json (missing esbuild@0.27.2)
- Remove setup_yq call as yq is not used anywhere in the script
  (config is handled via sed)

* .

* Change npm command from ci to install
2025-12-22 23:25:19 +01:00
CanbiZ (MickLesk)andGitHub ef2a511217 recyclarr: add default daily cron job for recyclarr sync (#10208)
* Add default daily cron job for recyclarr sync

- Create /etc/cron.d/recyclarr file with @daily schedule
- Log output to /root/.config/recyclarr/sync.log
- Uses recommended default schedule from recyclarr docs
- Follows project convention for cron jobs

Implements #10182

* Add notes about daily cron job to recyclarr.json

- Info about automatic daily sync via cron
- Reference to cron file location for customization
- Warning about configuring instances before first sync
2025-12-21 23:15:56 +01:00
28d34e9169 Optimize Jotty installation with standalone mode (#10207)
* Optimize Jotty installation with standalone mode

- Use Next.js standalone mode to reduce folder size from ~2.4GB to ~80MB
- Copy public, howto, and static folders to standalone output
- Remove node_modules and build artifacts after creating standalone version
- Update systemd service to use node directly instead of yarn start
- Improves build efficiency and reduces disk usage

Implements #10178
Co-authored-by: fccview <fccview@users.noreply.github.com>

* Apply standalone mode optimization to Jotty update script

- Use standalone mode in update_script function
- Ensures updates maintain the optimized deployment structure
- Consistent with install script changes

* Update systemd service in jotty update script

- Recreate systemd service file with correct ExecStart command
- Change from 'yarn start' to '/usr/bin/node server.js'
- Ensures old installations get updated service configuration
- Run daemon-reload after service file update

---------

Co-authored-by: fccview <fccview@users.noreply.github.com>
2025-12-21 23:15:08 +01:00
CanbiZ (MickLesk)andGitHub 8212a44e5f unifi: remove mongodb 4.4 support | bump to java 21 (#10206)
* unifi: remove mongodb support | bump to java 21

* bump java 21
2025-12-21 23:13:46 +01:00
CanbiZ (MickLesk)andGitHub 72f9ca70dc Fix AMD GPU firmware installation by adding non-free repositories (#10205) 2025-12-21 23:11:18 +01:00
CanbiZ (MickLesk)andGitHub ad18ca0ff7 [Core] Auto-cleanup after all update_script executions (#10141) 2025-12-19 22:44:03 +01:00
CanbiZ (MickLesk)andGitHub 2202d34eed Bump Bar-Assistant to php 8.4 (#10138) 2025-12-19 22:41:51 +01:00
CanbiZ (MickLesk)andGitHub 0a36329235 [Fix] Zabbix: Add version-specific SQL script path for 7.0 LTS (#10142) 2025-12-19 22:39:35 +01:00
CanbiZ (MickLesk)andGitHub c225692979 Refactor: Cosmos: + Upgrade to Debian 13 (#10147) 2025-12-19 22:38:36 +01:00
CanbiZ (MickLesk)andGitHub c1ef6d7c51 Improve error handling and cleanup in shell functions (#10116)
Refactored various shell functions to add more robust error handling by redirecting stderr to /dev/null and using '|| true' to prevent script failures. Enhanced npm cache cleanup to remove both _cacache and _logs directories, and improved reliability of version and keyring extraction commands. These changes increase script resilience and prevent unnecessary errors from halting execution.
2025-12-18 18:38:08 +01:00
CanbiZ ab4a4709a1 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVE 2025-12-18 15:01:45 +01:00
CanbiZ 503fc0e6e2 npm clean dont forward to std 2025-12-18 15:01:39 +01:00
CanbiZ 0e8d053ba0 Simplify npm cache cleanup logic in cleanup_lxc
Replaced the if-statement for npm cache cleaning with a single command using '||' to fall back to manual cache removal if 'npm cache clean' fails. This streamlines the cleanup process.
2025-12-18 12:28:04 +01:00
CanbiZ f0f0a63f6c Improve npm cache cleanup fallback logic
Adds a fallback to manually remove the npm cache directory if 'npm cache clean --force' fails during cleanup. This ensures the cache is cleared even if the npm command encounters an error.
2025-12-18 12:09:52 +01:00
CanbiZ (MickLesk)andGitHub 21e0a8fced Fix cleanup issues in npm cache and rustup toolchain (#10107)
Issue 1 - BentoPDF (npm cache clean failure):
- npm cache clean --force can fail with ENOTEMPTY on corrupted caches
- Added npm cache verify before clean to detect/fix corruption
- Explicitly redirect stderr to suppress error noise

Issue 2 - Linkwarden (rustup toolchain removed too early):
- Script deleted ~/.rustup during build cleanup
- Later cleanup_lxc() tried to run 'cargo clean' without toolchain
- Now only remove cargo cache dirs, preserve ~/.rustup toolchain

Files changed:
- misc/core.func (cleanup_lxc function)
- install/linkwarden-install.sh (install script)
- ct/linkwarden.sh (update function)

Both changes improve reliability of container cleanup process.
2025-12-18 11:32:30 +01:00
CanbiZ (MickLesk)andGitHub d86815d01d Fix Zabbix 7.0 repository URL structure (#10106)
- Zabbix 7.0 uses different repository layout without release/ directory
- Package name includes version suffix for 7.0: zabbix-release_latest_7.0+debian13_all.deb
- Zabbix 7.4+ uses release/ directory with no version suffix
- Applied fix to both ct/zabbix.sh and install/zabbix-install.sh
2025-12-18 09:56:54 +01:00
CanbiZ (MickLesk)andGitHub 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 (MickLesk)andGitHub d058dc515e add hardware acceleration support for 17 additional apps (#10061) 2025-12-17 14:13:27 +01:00
CanbiZ (MickLesk)andGitHub 93a4ce5e33 website: bump deps & prevent security issues (#10045) 2025-12-16 20:49:33 +01:00
CanbiZ (MickLesk)andGitHub 5a263b5036 Fix Zabbix repo URL for Debian 13 install (#10042) 2025-12-16 17:25:54 +01:00
CanbiZ 60635feeab quickfix; trim timezone 2025-12-16 17:11:14 +01:00
CanbiZ (MickLesk)andGitHub 44ea7cecb8 core: IP-Range-Scan Support (app.vars / default.vars) (#10038) 2025-12-16 16:52:37 +01:00
CanbiZandGitHub 951fb3d53a Fix: mariadb repo in update_scripts (#10034) 2025-12-16 15:11:22 +01:00
CanbiZandGitHub 000c8b5fc9 fix(2fauth): update PHP version from 8.3 to 8.4 in update_script (#10035) 2025-12-16 15:11:02 +01:00
0dd4a9e6ed pdm: add rsyslog to fix /dev/log Connection refused errors (#10018)
* fix(pdm): add rsyslog and convert pdm-test to setup_deb822_repo

- Install rsyslog to fix '/dev/log: Connection refused' errors
  (Debian 13 minimal containers don't have rsyslog by default)
- Convert pdm-test heredoc to use setup_deb822_repo with enabled=false

Requires: fix/setup-deb822-enabled-param branch for enabled parameter

* Update install/proxmox-datacenter-manager-install.sh

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

---------

Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-12-16 13:06:57 +01:00
CanbiZandGitHub e95ae11f88 feat(tools): add optional enabled parameter to setup_deb822_repo (#10017) 2025-12-16 11:50:28 +01:00
CanbiZandGitHub 798015df6f fix(miniflux): use systemctl to check service instead of file path (#10024) 2025-12-16 11:49:34 +01:00
CanbiZandGitHub b524cbe232 PhotoPrism: export env variables for CLI tools (#10023) 2025-12-16 11:48:35 +01:00
CanbiZandGitHub 7ab0327376 fix(build): map Etc/* timezones to 'host' for pct compatibility (#10020) 2025-12-16 11:28:12 +01:00
CanbiZ 51ba8ca7c8 fix(2fauth): set PHP_VERSION globally for nginx config
The PHP_VERSION was passed inline to setup_php which uses it as a local
variable. This caused 'unbound variable' error in the nginx heredoc.

Setting PHP_VERSION before the function call keeps it in global scope
for use in the nginx configuration.
2025-12-16 11:01:10 +01:00
CanbiZandGitHub a3fb28105d 2fauth: bump to php8.4 (#10019)
* fix(2fauth): use default PHP version instead of hardcoded 8.3

- Remove hardcoded PHP_VERSION=8.3, let setup_php use default (8.4)
- Remove invalid modules 'session' and 'openssl' (part of php-common)
- Remove duplicate 'cli' module (already in DEFAULT_MODULES)
- Make nginx fastcgi_pass use dynamic PHP_VERSION variable

Fixes installation on Debian 13 (Trixie) which ships PHP 8.4.

* Update 2fauth-install.sh
2025-12-16 10:46:07 +01:00
CanbiZandGitHub 3026a405c8 fix(paperless-ai): backup data and recreate venv during update (#9987) 2025-12-15 17:47:32 +01:00
CanbiZandGitHub a949a1cc97 fix(booklore): add setup_yq to update script (#9989) 2025-12-15 17:38:03 +01:00
CanbiZandGitHub 8672aa075a remove old files and assets (#9991) 2025-12-15 17:37:26 +01:00
CanbiZandGitHub 6da27a7112 fix(tools): handle flat repositories in setup_deb822_repo (#9994) 2025-12-15 17:29:48 +01:00
CanbiZandGitHub c2034039e8 fix(tools): prevent awk errors in setup_rust on restricted containers (#9985)
Add error suppression and || true to awk commands that parse rustc version.
Prevents 'Operation not permitted' errors in containers with restricted syscalls.
2025-12-15 15:22:32 +01:00
CanbiZandGitHub 3568cf52f9 fix(build): App Defaults force mode and prevent unbound variables (#9971)
- load_vars_file() now supports force parameter to override existing variables
- App Defaults uses force=yes to properly apply saved user preferences
- Added safety check for SSH_KEYS_FILE in install_ssh_keys_into_ct()
- Initialize ENABLE_GPU, ENABLE_NESTING, ENABLE_KEYCTL, ENABLE_MKNOD, PROTECT_CT, CT_TIMEZONE in base_settings()
- Added fallback defaults in echo_default() to prevent unbound variable errors when advanced_settings is skipped
2025-12-15 13:02:28 +01:00
CanbiZandGitHub 33103ad256 Update project statistics in README
Removed an outdated project statistics image link.
2025-12-15 10:06:07 +01:00
CanbiZandGitHub ee49576f3a README; add project statistics and formatting (#9967) 2025-12-15 09:52:36 +01:00
CanbiZ e651c14f76 fix(build): App Defaults now override script defaults with force mode 2025-12-15 09:46:49 +01:00
CanbiZandGitHub 35793051a1 core: load app defaults before applying base_settings / fix composer cleanup after install/update (#9965)
* fix(build): load app defaults before applying base_settings

App defaults were loaded after base_settings, causing saved values to be ignored.
Now loads var_* from app defaults file before calling base_settings.

* fix(cleanup): suppress composer root warning in cleanup_lxc

Composer's clear-cache command prompts for confirmation when run as root,
causing scripts to hang at 'Cleaning up' stage. Set COMPOSER_ALLOW_SUPERUSER=1
to suppress the interactive prompt.

Fixes #9952 (Heimdall Dashboard), also affects BentoPDF and other PHP apps.

* Fix COMPOSER_ALLOW_SUPERUSER export in cleanup_lxc

Exports COMPOSER_ALLOW_SUPERUSER before running composer clear-cache to ensure the environment variable is set correctly during cleanup.
2025-12-15 09:37:01 +01:00
CanbiZandGitHub dfcaa70647 add additional line in PR template 2025-12-14 23:08:57 +01:00
CanbiZandGitHub 115ea10ecd dokploy: require unprivileged LXC environment (#9891) 2025-12-11 18:32:20 +01:00
CanbiZandGitHub 1ea0172b75 paperless: add note on website (uv usage) (#9833)
* paperless: add note on website (uv usage)

Added information about using 'uv run' for Paperless-NGX commands.

* switch branch to main to prevent conflicts
2025-12-11 10:57:05 +01:00
CanbiZandGitHub 7fae5d71f5 fix(build): skip -features flag when empty (#9871)
Fixes '400 too many arguments' error when creating privileged containers without nesting/fuse features enabled.
2025-12-11 10:52:11 +01:00
CanbiZandGitHub f98d2d3d15 Update icon URLs from master to main branch (#9834) 2025-12-10 18:41:22 +01:00
CanbiZandGitHub 7c39bc8787 Enable the 'disable' option in palmr.json 2025-12-10 14:27:59 +01:00
CanbiZandGitHub 8b858f4a65 add redis 2025-12-10 07:19:55 +01:00
CanbiZandGitHub bea9a62cce Feature: extend advanced settings with more options & inherit app defaults (#9776) 2025-12-09 16:01:31 +01:00
CanbiZandGitHub 7b139fa763 fix(json): correct updateable flags for 11 apps with working update scripts (#9777)
Changed updateable from false to true for:
- aria2 (apt-get update/upgrade)
- casaos (apt-get update/upgrade)
- daemonsync (apt-get update/upgrade)
- iobroker (apt update/upgrade)
- librenms (daily.sh update)
- meshcentral (apt update/upgrade)
- nextcloudpi (apt update/upgrade)
- podman (apt update/upgrade)
- tasmoadmin (apt update/upgrade)
- wazuh (apt-get update/upgrade)
- whisparr (apt update/upgrade)
2025-12-09 15:24:19 +01:00
CanbiZandGitHub 3fb9d02f36 fix: always show SSH access dialog in advanced settings (#9765)
- SSH access dialog is now always displayed regardless of password or SSH keys
- Added step indicator to SSH settings dialogs for consistency
- configure_ssh_settings() now accepts optional step_info parameter
- Updated documentation for SSH configuration functions

Fixes #9753
2025-12-08 14:20:05 +01:00
CanbiZandGitHub 4d4ced6b63 feat: Add var_gpu flag for GPU passthrough configuration (#9764)
* feat: Add var_gpu flag for GPU passthrough configuration

Changes:
- Add var_gpu variable to CT scripts for explicit GPU control
- Remove hardcoded GPU_APPS list - GPU detection now uses var_gpu flag
- Add var_gpu to VAR_WHITELIST for persistence in default.vars and app.vars
- Add GPU Passthrough option (Step 19) to advanced_settings wizard (now 20 steps)
- Update documentation

Apps with var_gpu=yes (GPU enabled by default):
- Media: jellyfin, plex, emby, channels, ersatztv, tunarr
- Transcoding: tdarr, unmanic, fileflows
- AI/ML: ollama, openwebui
- NVR: frigate, immich

Usage:
- Disable GPU: var_gpu=no bash -c '$(curl -fsSL ...jellyfin.sh)'
- Enable GPU: var_gpu=yes bash -c '$(curl -fsSL ...debian.sh)'
- Via default.vars: echo 'var_gpu=yes' >> /usr/local/community-scripts/default.vars
- Via advanced settings wizard (Step 19)

* fix: tput rmcup timing, GPU line indentation, echo_default GPU display

* style: add GPU icon variable for consistent formatting
2025-12-08 13:52:30 +01:00
CanbiZandGitHub 531ecad4c7 Refactor: Inventree (uses now ubuntu 24.04) (#9752) 2025-12-07 21:48:00 +01:00
CanbiZandGitHub ba5bdd94ad fix(tools.func): handle empty grep results in stop_all_services (#9748) 2025-12-07 21:30:23 +01:00
CanbiZandGitHub 779c06f232 fix(wanderer): add meilisearch dumpless upgrade for database migration (#9749) 2025-12-07 21:30:01 +01:00
CanbiZandGitHub a328d7b8ba fix(zammad): use Debian 12 and dynamic APT source version (#9750) 2025-12-07 21:29:39 +01:00
CanbiZandGitHub 5e5a8cd104 feat(motd): dynamically read OS version on each login (#9751) 2025-12-07 21:29:09 +01:00
CanbiZandGitHub 5a6a30e594 Remove Debian from GPU passthrough (#9754) 2025-12-07 21:11:12 +01:00
CanbiZandGitHub 6409d64b93 fix(libretranslate): pin Python 3.12 for venv to ensure PyTorch compatibility (#9699) 2025-12-05 23:10:08 +01:00
CanbiZandGitHub b436ba548d fix(alpine-mariadb/postgresql): correct php-cgi path for php83 (#9698) 2025-12-05 23:09:37 +01:00
CanbiZandGitHub dd5993d7ab fix(tools.func): handle GitHub 300 Multiple Choices in tarball mode (#9697) 2025-12-05 23:09:20 +01:00
CanbiZandGitHub 0c2521c05e chore(github): improve PR template and cleanup obsolete references | move contribution guide (#9700) 2025-12-05 23:08:58 +01:00
a0e8ee2130 Refactor: OneDev (#9597)
* Refactor: OneDev

* Update onedev.sh

---------

Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-12-05 22:16:42 +01:00
CanbiZandGitHub d2e9997d0d Improve NVIDIA device detection for container passthrough (#9670) 2025-12-05 12:44:23 +01:00
CanbiZandGitHub a81c074228 paperless: ASGI interface typo (#9668) 2025-12-05 11:14:02 +01:00
CanbiZandGitHub e73f35e2c8 var. core fixes (bash to sh in fix_gpu_gids ...) (#9666)
* Switch container exec from bash to sh in fix_gpu_gids

Replaces bash with sh for container execution in fix_gpu_gids and updates device matching logic to use a POSIX-compliant case statement. This improves compatibility with containers that may not have bash installed.

* fix(apt): auto-recover from interrupted dpkg operations

When a previous installation is interrupted (e.g., by script error or
user cancellation), dpkg can be left in an inconsistent state requiring
'dpkg --configure -a' to fix.

This change:
- Adds dpkg --configure -a check to ensure_apt_working()
- Adds dpkg --configure -a to retry logic in install_packages_with_retry()
- Adds dpkg --configure -a to retry logic in upgrade_packages_with_retry()

Fixes: Omada Controller update failing after interrupted installation
Reported-in: #9663
2025-12-05 09:17:19 +01:00
CanbiZandGitHub eb53af44c9 Changelog 04.12 hint for core system and improve documentation
Refactor the entire '/misc' subsystem with a new three-tier defaults architecture and various improvements. Documentation added under '/docs/guides'.
2025-12-05 08:33:26 +01:00
CanbiZandGitHub 0f7c201b57 core: extend storage type support (rbd, nfs, cifs) and validation (iscidirect, isci, zfs, cephfs, pbs) (#9646)
* core: enhance storage type validation and error codes

Improve storage validation for LXC container creation with
explicit checks for unsupported storage types.

Changes:
- Add validation for storage types that don't support containers:
  - iscsidirect (exit 212) - VMs only
  - iscsi/zfs (exit 213) - no rootdir support
  - cephfs (exit 219) - use RBD instead
  - pbs (exit 224) - backups only
- Add connectivity check for network storage (linstor, rbd, nfs, cifs)
- Simplify storage content validation using pvesm status
- Reorganize Proxmox error codes (200-231) for consistency
- Update error messages to be more descriptive and actionable

This helps users identify storage compatibility issues early
before container creation fails with cryptic errors.

* Update build.func
2025-12-04 19:41:01 +01:00
CanbiZandGitHub 4b496ebf2e Update CHANGELOG.md 2025-12-04 09:44:31 +01:00
CanbiZ 530438a721 chore(frontend): update bun.lock for tooltip component 2025-12-04 09:31:04 +01:00
CanbiZ 62201a0872 Refactor DataPage for cleaner imports and UI improvements
Consolidated and reordered import statements for better readability. Simplified JSX formatting and conditional rendering throughout the file. Added error tooltips for failed installations in the log table, improved table cell formatting, and fixed disk size unit from MB to GB. Minor code style and consistency improvements applied across the component.
2025-12-04 09:23:28 +01:00
CanbiZ 8e93f5cb1d Improve Temurin JDK version detection
Enhances the setup_java function to attempt a package purge and reinstall if a Temurin JDK is detected but its version cannot be determined. This helps recover from inconsistent or broken JDK installations.
2025-12-04 09:20:32 +01:00
a826769899 Three-tier defaults system | security improvements | error_handler | improved logging | improved container creation | improved architecture (#9540)
* Refactor Core

Refactored misc/alpine-install.func to improve error handling, network checks, and MOTD setup. Added misc/alpine-tools.func and misc/error_handler.func for modular tool installation and error management. Enhanced misc/api.func with detailed exit code explanations and telemetry functions. Updated misc/core.func for better initialization, validation, and execution helpers. Removed misc/create_lxc.sh as part of cleanup.

* Delete config-file.func

* Update install.func

* Refactor stop_all_services function and variable names

Refactor service stopping logic and improve variable handling

* Refactor installation script and update copyright

Updated copyright information and adjusted package installation commands. Enhanced IPv6 disabling logic and improved container customization process.

* Update install.func

* Update license comment format in install.func

* Refactor IPv6 handling and enhance MOTD and SSH

Refactor IPv6 handling and update OS function. Enhance MOTD with additional details and configure SSH settings.

* big core refactor

* Enhance IPv6 configuration menu options

Updated IPv6 Address Management menu options for clarity and added a new option for fully disabling IPv6.

* Update default Node.js version to 24 LTS

* Update misc/alpine-tools.func

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

* indention

* remove debugf and duplicate codes

* Update whiptail backtitles and error codes

Removed '[dev]' from whiptail --backtitle strings for consistency. Refactored custom exit codes in build.func and error_handler.func: updated Proxmox error codes, shifted MySQL/MariaDB codes to 260-263, and removed unused MongoDB code. Updated error descriptions to match new codes.

* comments

* Refactor error handling and clean up debug comments

Standardized bash variable checks, removed unnecessary debug and commented code, and clarified error handling logic in container build and setup scripts. These changes improve code readability and maintainability without altering functional behavior.

* Update build.func

* feat: Improve LXC network checks and LINSTOR storage handling

Enhanced LXC container network setup to check for both IPv4 and IPv6 addresses, added connectivity (ping) tests, and provided troubleshooting tips on failure. Updated storage validation to support LINSTOR, including cluster connectivity checks and special handling for LINSTOR template storage.

---------

Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>
2025-12-04 07:52:18 +01:00
CanbiZandGitHub 3b84a80f7a Update logo URL in swizzin.json (#9627) 2025-12-03 22:09:38 +01:00
CanbiZandGitHub 7d40b03359 Enable OPNsense VM by setting disable to false 2025-12-03 08:48:43 +01:00
433aafe365 Refactor: Paperless-AI (#9588)
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-12-02 14:55:02 +01:00
CanbiZandGitHub e53bb2d825 Add configuration and deployment guides to docs (#9591) 2025-12-02 14:34:14 +01:00
CanbiZandGitHub fb118eb0ca Refactor Node.js setup command for Matterbridge 2025-12-02 13:39:10 +01:00
CanbiZandGitHub fd8a305129 fix unbound env 2025-12-01 19:31:16 +01:00
CanbiZandGitHub 64d0070756 unbound var 2025-12-01 19:23:08 +01:00
CanbiZandGitHub 5dcada4ef9 fix wrong var 2025-12-01 19:22:27 +01:00
CanbiZandGitHub 6cf4eb603a update selfhst icon-URLs to use @master path (#9543)
* update selfhst icon-URLs to use @master path

Changed all icon URLs in JSON files from 'cdn.jsdelivr.net/gh/selfhst/icons/webp/' to 'cdn.jsdelivr.net/gh/selfhst/icons@master/webp/' for consistency and to ensure the latest icons are referenced.

* added missing icons
2025-12-01 18:29:58 +01:00
CanbiZandGitHub 1b40a62959 Refactor: Mealie (#9308)
* Refactor: Mealie

Updated Node.js version and adjusted database setup. Improved installation steps for Python dependencies and NLTK data.

* Update mealie.sh

* Modify mealie-install.sh for dependencies and config

Updated dependencies and added environment variables for Mealie installation.

* Update logo URL and increase RAM requirement

* Increase default RAM allocation from 2048 to 3072

* Update Mealie installation script for versioning and settings

* Update mealie.sh
2025-12-01 18:29:51 +01:00
CanbiZandGitHub 6f12aa7a5d Bump Baikal to deb13 (#9544)
Bump default OS version to Debian 13 and PHP to 8.3 in Baikal install scripts and config. Add curl to PHP modules. Refactor PostgreSQL database setup to use new variable names and helper function for credentials.
2025-12-01 18:26:30 +01:00
CanbiZandGitHub 4d4095cd7d Enhance MariaDB version fallback logic (#9545)
Updated fallback mechanism for MariaDB version retrieval to use mariadb_repo_setup script when the mirror is unreachable.
2025-12-01 18:25:08 +01:00
CanbiZandGitHub 59b80031fe Refactor: Healthchecks (#9188)
* Refactor: Healthchecks

* Enhance healthchecks update process with backup and venv

Added backup creation for existing healthchecks installation before updating. Enhanced the update process by recreating the Python virtual environment and installing requirements.

* -

Added copyright, author, and license information.
2025-12-01 18:24:16 +01:00
CanbiZandGitHub 1294b89fcb add comprehensive documentation (#9537) 2025-12-01 13:50:11 +01:00
CanbiZandGitHub b0586e347c core: add cloud-init.func library for VM configuration (#9538) 2025-12-01 13:49:42 +01:00
CanbiZandGitHub 39388a1b77 Remove Habitica (#9489) 2025-11-28 14:31:47 +01:00
CanbiZandGitHub 5f911164e3 Fix MongoDB setup version assignment 2025-11-27 14:02:11 +01:00
CanbiZandGitHub 63c5b922de Remove pip cache purge from cleanup script
Removed pip cache purge command from cleanup function.
2025-11-25 22:24:16 +01:00
CanbiZandGitHub 8a0b1d864b Update install scripts for improved dependency handling (#9441)
Replaces 'npm ci' with 'npm install --legacy-peer-deps' in install and update scripts to address peer dependency issues. Adds global npm update and turbo prune steps to the update script for better Docker build support.
2025-11-25 20:38:35 +01:00