Compare commits

...

15 Commits

Author SHA1 Message Date
MickLesk
82eac757d6 fix: whitespace cleanup and indentation fix in tools.func 2026-03-01 20:22:57 +01:00
MickLesk
31c7a86a4d Merge remote-tracking branch 'origin/main' into refactor/tools-func-stability
# Conflicts:
#	misc/tools.func
2026-03-01 20:18:36 +01:00
community-scripts-pr-app[bot]
cc7461d959 chore: update github-versions.json (#12448)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-01 18:07:16 +00:00
community-scripts-pr-app[bot]
0fc12576c0 chore: update github-versions.json (#12443)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-01 12:08:03 +00:00
CanbiZ (MickLesk)
02337ad9be Remove db:create command from installation script 2026-03-01 11:16:00 +01:00
community-scripts-pr-app[bot]
90c0ea3b2d chore: update github-versions.json (#12440)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-01 06:16:06 +00:00
CanbiZ
950b32fef8 tools.func: Smarter parallel jobs calculation with load awareness
- get_parallel_jobs: Add memory-based limiting (1.5GB/job), load awareness,
  and container detection for conservative limits
- get_default_php_version: Add future versions (Debian 14, Ubuntu 26.04),
  update defaults to 8.3
- get_default_python_version: Add future versions, update defaults to 3.12
2026-01-05 17:36:51 +01:00
CanbiZ
01ba7356e0 foirmatting 2026-01-05 17:12:54 +01:00
CanbiZ
ef7015e232 Optimize tools.func: intelligent fallbacks, retry logic, caching, DNS pre-check
- curl_with_retry: DNS pre-check + exponential backoff
- download_gpg_key: Auto-detect key format, validation
- ensure_dependencies: Batch dpkg-query check, individual fallback
- install_packages_with_retry: Progressive recovery (dpkg fix, broken deps, individual packages)
- verify_repo_available: Caching with TTL to avoid repeated HTTP requests
- get_fallback_suite: Dynamic HTTP availability check cascade
- ensure_apt_working: APT lock handling, progressive recovery
- safe_service_restart: Wait-for-ready with configurable timeout, retry logic
- get_latest_github_release: Fallback to tags API, prerelease support, rate limit handling
2026-01-05 17:09:16 +01:00
CanbiZ
c118377665 Optimize tools.func: fix typos, duplicate debug_log, Node.js version, PG backup, Intel VPL 2026-01-05 17:05:24 +01:00
CanbiZ
8022525b49 Fix removed features in refactor branch
- Add libmfx-gen1.2 back for Intel Quick Sync Video encoding (Debian 12+13)
- Restore tmpfiles.d configuration for MariaDB /run/mysqld persistence
- Fix MariaDB fallback version from 11.4 to 12.2 (latest GA version)

These changes were incorrectly removed in the refactor commits.
2026-01-05 16:55:26 +01:00
MickLesk
c8dbce6e58 typo 2025-12-28 20:40:02 +01:00
MickLesk
0d821dd704 feat(tools.func): extend retry logic to all major downloads
Added curl_with_retry to all critical download operations:
- Adminer download
- Composer installer
- FFmpeg (binary and source)
- Go tarball
- Ghostscript source
- ImageMagick source
- rbenv and ruby-build
- uv (astral-sh)
- yq binary
- Go version check

Extended timeouts for large downloads:
- CURL_TIMEOUT=300 for FFmpeg, Go (large tarballs)
- CURL_TIMEOUT=180 for Ghostscript, ImageMagick

Remaining without retry (intentional):
- download_with_progress (specialized function)
- Rustup installer (piped to shell)
- Portainer version check (non-critical)

Total curl_with_retry/download_gpg_key usage: 27 locations
2025-12-26 19:03:41 +01:00
MickLesk
52061ea0db feat(tools.func): add retry logic and debug mode for stability
New helper functions:
- curl_with_retry: Robust curl wrapper with retry logic (3 attempts)
- curl_api_with_retry: API calls with HTTP status handling
- download_gpg_key: GPG key download with retry and dearmor support
- debug_log: Conditional debug output when TOOLS_DEBUG=true

Replaced critical curl calls:
- MongoDB GPG key download
- NodeSource GPG key download
- PostgreSQL GPG key download
- PHP (Sury) keyring download
- MySQL GPG key download
- setup_deb822_repo GPG import

Benefits:
- Automatic retry on transient network failures
- Configurable timeouts (CURL_TIMEOUT, CURL_CONNECT_TO)
- Debug mode for troubleshooting (TOOLS_DEBUG=true)
- Consistent error handling across all GPG key imports
2025-12-26 18:50:56 +01:00
MickLesk
5c82757c69 refactor(tools.func): use distro packages by default for stability
- fetch_and_deploy_gh_release: add validation for empty app names
  - Derives app name from repo if not provided
  - Prevents '/root/.: Is a directory' error (fixes #10342)

- setup_hwaccel: fix Intel driver app names for fetch_and_deploy_gh_release
  - Add proper app names: intel-igc-core, intel-igc-opencl, libigdgmm12, intel-opencl-icd

- setup_mariadb: use distro packages by default
  - Default: apt packages (default-mysql-server, mariadb-server)
  - Optional: USE_MARIADB_REPO=true for official MariaDB repo
  - Fixes GPG key/mirror availability issues

- setup_mysql: use distro packages by default
  - Default: apt packages (default-mysql-server, mysql-server)
  - Optional: USE_MYSQL_REPO=true for official MySQL repo
  - Keeps Debian Trixie 8.4 LTS handling when using official repo

- setup_postgresql: use distro packages by default
  - Default: apt packages (postgresql, postgresql-client)
  - Optional: USE_PGDG_REPO=true for official PGDG repo

- setup_docker: use distro packages by default
  - Default: docker.io package
  - Optional: USE_DOCKER_REPO=true for official Docker repo
  - Maintains Portainer support in both modes

This refactoring prioritizes stability by using well-tested distro
packages while maintaining the option to use official repos for
specific version requirements.
2025-12-26 18:42:48 +01:00
3 changed files with 828 additions and 226 deletions

View File

@@ -1,5 +1,5 @@
{
"generated": "2026-03-01T00:23:04Z",
"generated": "2026-03-01T18:07:06Z",
"versions": [
{
"slug": "2fauth",
@@ -116,9 +116,9 @@
{
"slug": "bentopdf",
"repo": "alam00000/bentopdf",
"version": "v2.3.3",
"version": "v2.4.0",
"pinned": false,
"date": "2026-02-27T08:40:05Z"
"date": "2026-03-01T14:25:43Z"
},
{
"slug": "beszel",
@@ -151,9 +151,9 @@
{
"slug": "booklore",
"repo": "booklore-app/BookLore",
"version": "v2.0.4",
"version": "v2.0.5",
"pinned": false,
"date": "2026-02-28T01:54:25Z"
"date": "2026-03-01T16:13:13Z"
},
{
"slug": "bookstack",
@@ -270,9 +270,9 @@
{
"slug": "databasus",
"repo": "databasus/databasus",
"version": "v3.16.3",
"version": "v3.16.4",
"pinned": false,
"date": "2026-02-25T19:57:26Z"
"date": "2026-03-01T08:20:17Z"
},
{
"slug": "dawarich",
@@ -438,9 +438,9 @@
{
"slug": "ghostfolio",
"repo": "ghostfolio/ghostfolio",
"version": "2.244.0",
"version": "2.245.0",
"pinned": false,
"date": "2026-02-28T09:51:45Z"
"date": "2026-03-01T09:09:57Z"
},
{
"slug": "gitea",
@@ -452,9 +452,9 @@
{
"slug": "gitea-mirror",
"repo": "RayLabsHQ/gitea-mirror",
"version": "v3.9.6",
"version": "v3.10.1",
"pinned": false,
"date": "2026-02-27T07:15:42Z"
"date": "2026-03-01T03:08:07Z"
},
{
"slug": "glance",
@@ -613,9 +613,9 @@
{
"slug": "jackett",
"repo": "Jackett/Jackett",
"version": "v0.24.1226",
"version": "v0.24.1234",
"pinned": false,
"date": "2026-02-28T05:58:51Z"
"date": "2026-03-01T05:55:44Z"
},
{
"slug": "jellystat",
@@ -669,16 +669,16 @@
{
"slug": "kima-hub",
"repo": "Chevron7Locked/kima-hub",
"version": "v1.5.10",
"version": "v1.6.0-rc.1",
"pinned": false,
"date": "2026-02-27T19:25:56Z"
"date": "2026-03-01T05:38:32Z"
},
{
"slug": "kimai",
"repo": "kimai/kimai",
"version": "2.50.0",
"version": "2.51.0",
"pinned": false,
"date": "2026-02-25T20:13:51Z"
"date": "2026-03-01T15:56:56Z"
},
{
"slug": "kitchenowl",
@@ -851,9 +851,9 @@
{
"slug": "mediamtx",
"repo": "bluenviron/mediamtx",
"version": "v1.16.2",
"version": "v1.16.3",
"pinned": false,
"date": "2026-02-22T17:31:41Z"
"date": "2026-03-01T15:49:12Z"
},
{
"slug": "meilisearch",
@@ -1124,9 +1124,9 @@
{
"slug": "planka",
"repo": "plankanban/planka",
"version": "v2.0.2",
"version": "v2.0.3",
"pinned": false,
"date": "2026-02-23T17:47:15Z"
"date": "2026-03-01T16:03:23Z"
},
{
"slug": "plant-it",
@@ -1404,9 +1404,9 @@
{
"slug": "slskd",
"repo": "slskd/slskd",
"version": "0.24.4",
"version": "0.24.5",
"pinned": false,
"date": "2026-02-16T16:50:17Z"
"date": "2026-03-01T04:00:42Z"
},
{
"slug": "snipeit",
@@ -1789,9 +1789,9 @@
{
"slug": "zigbee2mqtt",
"repo": "Koenkk/zigbee2mqtt",
"version": "2.8.0",
"version": "2.9.0",
"pinned": false,
"date": "2026-02-01T19:27:25Z"
"date": "2026-03-01T13:58:14Z"
},
{
"slug": "zipline",

View File

@@ -86,7 +86,6 @@ elif [[ -f /opt/dawarich/app/package.json ]]; then
$STD npm install
fi
$STD bundle exec rake assets:precompile
$STD bundle exec rails db:create
$STD bundle exec rails db:schema:load
$STD bundle exec rails db:seed || msg_warn "Database seed failed (upstream rgeo-geojson issue), app will still work"
$STD bundle exec rake data:migrate

File diff suppressed because it is too large Load Diff