Compare commits

...

255 Commits

Author SHA1 Message Date
MickLesk
089555dd9e Setup Node v22 and build SoulSync WebUI
Install and use Node.js v22 during both install and update flows, and build the WebUI. Adds NODE_VERSION="22" setup_nodejs to install/soulsync-install.sh and ct/soulsync.sh, and runs npm ci and npm run build in /opt/soulsync/webui during install/update so the front-end assets are compiled. Existing Python venv and service restart logic remain unchanged.
2026-05-22 08:09:41 +02:00
community-scripts-pr-app[bot]
2c9f6c5305 Update CHANGELOG.md (#14637)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-22 05:46:42 +00:00
Atahan Kucuk
bc43c262a8 fix: make LXC banner OS detection dynamic via /etc/os-release (#14269)
* fix: derive LXC banner OS from os-release

Read os-release at login time for the generated LXC banner so OS display stays accurate after template changes or in-place upgrades. Prefer PRETTY_NAME with safe fallbacks to NAME, template defaults, and Unknown OS while preserving existing banner formatting.

Co-authored-by: Cursor <cursoragent@cursor.com>

* refactor: simplify dynamic LXC banner OS resolution

Reduce banner OS rendering to a minimal runtime os-release read with PRETTY_NAME/NAME fallbacks and Unknown OS default. Remove redundant OS rewrites from update_motd_ip now that OS display is resolved dynamically at login.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-22 07:46:18 +02:00
community-scripts-pr-app[bot]
0e00444cb9 Update CHANGELOG.md (#14633)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-21 21:07:46 +00:00
Romain PINSOLLE
9d0c174de1 snowshare: use mv instead of cp for uploads backup to prevent disk fill (#14558)
* snowshare: use mv instead of cp for uploads backup to prevent disk fill

Replaces cp -a with mv when backing up and restoring /opt/snowshare/uploads
during updates. cp -a duplicated the entire uploads directory on each update,
which could fill the disk on instances with large uploads and left stale
backup directories accumulating across failed updates. mv is atomic on the
same filesystem and avoids any data duplication. Also clears any leftover
backup directory before the move to prevent nesting on interrupted updates.

Refs TuroYT/snowshare#258

* snowshare: use UPLOAD_DIR env to persist uploads outside install dir

Set UPLOAD_DIR=/opt/snowshare_data in the env file so uploads live
outside /opt/snowshare and survive CLEAN_INSTALL updates without any
backup/restore step. Existing installations are migrated on first
update by moving uploads to the new location and appending UPLOAD_DIR
to the env file, making the change non-breaking.
2026-05-21 23:07:16 +02:00
community-scripts-pr-app[bot]
60d1998765 Update CHANGELOG.md (#14627)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-21 17:05:26 +00:00
CanbiZ (MickLesk)
1cdfdea583 Proxmox VE 9.2 support (#14624) 2026-05-21 19:04:47 +02:00
community-scripts-pr-app[bot]
878b09f5ec Update CHANGELOG.md (#14620)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-21 10:29:23 +00:00
w-gitops
c17d376aae Technitium DNS: download release before stopping the service on update (#14616)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 12:28:46 +02:00
community-scripts-pr-app[bot]
d80d0fb285 Update CHANGELOG.md (#14611)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-20 17:20:52 +00:00
CanbiZ (MickLesk)
62b4b5f260 Profilarr v2: Update and Refactor whole Script (#14584) 2026-05-20 19:19:08 +02:00
MickLesk
56c97cdf80 typo 2026-05-20 15:53:29 +02:00
MickLesk
9ac2eda0bb flowise add sqlite dep for newer version 2026-05-20 15:51:14 +02:00
MickLesk
f2266d8f53 flowise add pnpm global-bin-dir 2026-05-20 15:42:54 +02:00
community-scripts-pr-app[bot]
d6af82ff60 Update CHANGELOG.md (#14608)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-20 12:34:57 +00:00
Michel Roegl-Brunner
d38c5ceb56 Update mylar3 to point to new Repo (#14606)
* Move mylar3 to new repo

* change form variabel to hardcoded
2026-05-20 14:34:22 +02:00
community-scripts-pr-app[bot]
c5aaf72c9b Update CHANGELOG.md (#14599)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-20 05:34:33 +00:00
Slaviša Arežina
f0b1afca69 Ollama: Fix for latest version (#14596)
* fix

* oops

* Also in openwebui

* removed unused .ollama file
2026-05-20 07:34:03 +02:00
community-scripts-pr-app[bot]
3b142e5dc9 Update CHANGELOG.md (#14595)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-19 21:43:05 +00:00
Slaviša Arežina
b8822e9123 Refactor (#14594) 2026-05-19 23:42:26 +02:00
community-scripts-pr-app[bot]
a6533d2f2c Update CHANGELOG.md (#14593)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-19 21:33:35 +00:00
Slaviša Arežina
b65bd1a8cb Update SSL certificate paths in espconnect-install.sh (#14591) 2026-05-19 23:33:12 +02:00
community-scripts-pr-app[bot]
2944aa9100 Update CHANGELOG.md (#14588)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-19 06:51:09 +00:00
push-app-to-main[bot]
afa59595f0 Add lobehub (ct) (#14441)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-05-19 08:50:45 +02:00
community-scripts-pr-app[bot]
ff4a9d423b Update CHANGELOG.md (#14587)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-19 06:50:23 +00:00
CanbiZ (MickLesk)
59d4ab70c3 ReactiveResume: set correct WorkingDirectory for systemd service (#14579)
* fix(reactive-resume): set correct WorkingDirectory for systemd service

* fix(reactive-resume): update WorkingDirectory in service for existing installs
2026-05-19 08:49:54 +02:00
community-scripts-pr-app[bot]
7ecb1eb305 Update CHANGELOG.md (#14586)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-19 06:35:17 +00:00
CanbiZ (MickLesk)
7076d03ab3 Sparkyfitness: add missing nginx template variable substitutions (#14578)
* fix(sparkyfitness): add missing nginx template variable substitutions

* fix(sparkyfitness): regenerate nginx config during updates for existing installs
2026-05-19 08:34:52 +02:00
CanbiZ (MickLesk)
c874324f06 Wanderer: include dev dependencies during build (#14577)
* fix(wanderer): include dev dependencies during build

* fix(wanderer): remove --omit=dev from update script to allow npm run build
2026-05-19 08:34:28 +02:00
community-scripts-pr-app[bot]
0cab1f7f89 Update CHANGELOG.md (#14585)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-19 06:24:57 +00:00
Michel Roegl-Brunner
f7432990cf Update nodejs Versions (#14582)
* Move fumadocs to node 24 per there package.json requirements

* Move papra to node 26 per there .nvmrc file

* Move zipline to node 24 as per there Dockerfile
2026-05-19 08:24:28 +02:00
community-scripts-pr-app[bot]
39e67bc874 Update CHANGELOG.md (#14583)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-19 06:21:31 +00:00
CanbiZ (MickLesk)
4ffa551202 fix(whisparr): switch from nightly to stable GitHub release (#14581) 2026-05-19 08:21:07 +02:00
community-scripts-pr-app[bot]
0374da39f7 Update CHANGELOG.md (#14570)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-18 18:05:03 +00:00
push-app-to-main[bot]
ade578edad ESPconnect (#14444)
* Add espconnect (ct)

* update source

* Update author attribution in espconnect.sh

* Modify author info and remove SSL certificate creation

Updated author information in the script and removed self-signed certificate generation.

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-05-18 20:04:19 +02:00
community-scripts-pr-app[bot]
c33dd2ae39 Update CHANGELOG.md (#14569)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-18 18:02:29 +00:00
CanbiZ (MickLesk)
3a5f4454e6 Pangolin: bump to 1.18.4, fix missing statusHistory migration (#14566)
* feat(pangolin): bump to 1.18.4, fix missing statusHistory migration

* fix(pangolin): remove redundant msg_info in migration check
2026-05-18 20:01:55 +02:00
community-scripts-pr-app[bot]
c9d0196fee Update CHANGELOG.md (#14563)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-18 15:07:14 +00:00
push-app-to-main[bot]
404463be21 degoog (#14533)
* Add degoog (ct)

* Update degoog.sh

* fix

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-05-18 17:06:40 +02:00
community-scripts-pr-app[bot]
5dc2b090d9 Update CHANGELOG.md (#14562)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-18 14:44:17 +00:00
Tom Frenzel
1c216fc582 Bichon: Support v1 migration (#14524) 2026-05-18 16:43:44 +02:00
community-scripts-pr-app[bot]
1e795835fc Update CHANGELOG.md (#14561)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-18 13:57:24 +00:00
community-scripts-pr-app[bot]
e234f411c7 Update CHANGELOG.md (#14560)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-18 13:53:31 +00:00
push-app-to-main[bot]
89025c9f28 Add webtrees (ct) (#14532)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-05-18 15:52:58 +02:00
community-scripts-pr-app[bot]
3b308af40a Update CHANGELOG.md (#14550)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-17 18:32:39 +00:00
Alicia Sykes
1a93de8674 dashy: fix yarn-missing on update and back up full user-data (#14548) 2026-05-17 20:32:12 +02:00
MickLesk
ebf755031b fix: set HOME=/root for rbenv installs to prevent path mismatch
When running in certain LXC environments (e.g. systems with desktop
packages or non-en locales), the HOME variable may resolve to '/'
instead of '/root'. rbenv installs to $HOME/.rbenv, so if HOME is
wrong it ends up in /.rbenv while all service files and PATH exports
hardcode /root/.rbenv, causing 'env: ruby: No such file or directory'.

Explicitly set HOME=/root for all setup_ruby calls that run as root,
and replace all $HOME/.rbenv references in PATH exports and install
steps with /root/.rbenv literals.

Affected scripts:
- ct/sure.sh + install/sure-install.sh (fixes #14479)
- ct/dawarich.sh + install/dawarich-install.sh
- ct/docuseal.sh + install/docuseal-install.sh

Also add TimeoutStartSec=300 to sure.service so db:prepare on first
start does not get killed by the default 90s systemd timeout.
2026-05-17 20:27:13 +02:00
community-scripts-pr-app[bot]
131a9d60f1 Update CHANGELOG.md (#14546)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-17 12:02:20 +00:00
CanbiZ (MickLesk)
f7a69ac92d tools.func: replace max-time with speed-limit stall detection in curl_download (#14545)
* tools.func: replace max-time with speed-limit stall detection in curl_download

* Refactor curl_download function for improved readability and remove unnecessary whitespace
2026-05-17 14:01:56 +02:00
community-scripts-pr-app[bot]
8f1c4a27a6 Update CHANGELOG.md (#14538)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-17 00:18:57 +00:00
community-scripts-pr-app[bot]
16cc639e1e Archive old changelog entries (#14537)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-17 00:18:35 +00:00
community-scripts-pr-app[bot]
168894e6a9 Update CHANGELOG.md (#14534)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-16 21:32:29 +00:00
CanbiZ (MickLesk)
2a86c7e54e Homelable: replace passlib with bcrypt for password hashing (#14530) 2026-05-16 23:32:05 +02:00
community-scripts-pr-app[bot]
f16db2d515 Update CHANGELOG.md (#14531)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-16 20:59:37 +00:00
Tobias
cf56af0834 dashy: fix restore (#14527) 2026-05-16 22:59:14 +02:00
community-scripts-pr-app[bot]
b05fd7889b Update CHANGELOG.md (#14519)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-16 10:03:46 +00:00
thieneret
369f901308 Update authentik version to 2026.2.3 (#14517) 2026-05-16 12:03:21 +02:00
community-scripts-pr-app[bot]
0d47f336b0 Update CHANGELOG.md (#14518)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-16 08:25:15 +00:00
Elie DELPIERRE
15377bb283 Update Tinyauth source URL in installation script (#14483)
* Update Tinyauth source URL in installation script

* fix(tinyauth): update Tinyauth repo in ct script

* fix(tinyauth-alpine): update repo

oops forgot the alpine script

---------

Co-authored-by: Sam Heinz <sam@samheinz.com>
2026-05-16 10:24:53 +02:00
community-scripts-pr-app[bot]
6f4cb4e9c9 Update CHANGELOG.md (#14514)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-16 03:33:33 +00:00
Slaviša Arežina
b707d6c05b Excalidraw: Fix build (#14509) 2026-05-16 13:33:11 +10:00
community-scripts-pr-app[bot]
1b285e9b6f Update CHANGELOG.md (#14508)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-15 22:46:15 +00:00
CanbiZ (MickLesk)
38b664fa85 Ollama/OpenWebUI: use fetch_and_deploy_gh_release and check_for_gh_release from tools.func (#14501) 2026-05-16 00:45:51 +02:00
community-scripts-pr-app[bot]
e8b9d40b92 Update CHANGELOG.md (#14507)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-15 22:45:34 +00:00
CanbiZ (MickLesk)
3b3ab1b8f9 OPNsense: replace undefined msg_warn with inline echo in alloc retry (#14500) 2026-05-16 00:45:10 +02:00
community-scripts-pr-app[bot]
6b60624b2d Update CHANGELOG.md (#14506)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-15 22:44:50 +00:00
CanbiZ (MickLesk)
df37781e9a SearXNG: enable JSON format by default for API integrations (#14498) 2026-05-16 00:44:47 +02:00
CanbiZ (MickLesk)
2448723d19 build.func: fall back to silent mode when no TTY or whiptail unavailable (#14497) 2026-05-16 00:44:27 +02:00
community-scripts-pr-app[bot]
cfd9a8132b Update CHANGELOG.md (#14505)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-15 22:44:10 +00:00
CanbiZ (MickLesk)
02f5589ff5 Checkmk: detect OMD version suffix dynamically on update (#14496) 2026-05-16 00:43:48 +02:00
community-scripts-pr-app[bot]
e68ea29996 Update CHANGELOG.md (#14485)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-14 18:19:03 +00:00
push-app-to-main[bot]
79926030ae CLIProxyAPI (#14443)
* Add cliproxyapi (ct)

* Fix success message capitalization in cliproxyapi.sh

* Update CLIProxyAPI installation script

Generate random management password and API key for CLIProxyAPI configuration.

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-05-14 20:18:34 +02:00
community-scripts-pr-app[bot]
4fde0c0427 Update CHANGELOG.md (#14476)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-13 20:16:50 +00:00
CanbiZ (MickLesk)
0a81ff53fd tools.func: encode GitHub tag, refine pin logic, add Codeberg (#14473)
* Encode GitHub tag, refine pin logic, add Codeberg

Encode pinned GitHub tag slashes for API requests and avoid stripping a leading 'v' unless followed by a digit. Refactor pinned-version handling to match clean tags to raw tags, report missing pins, and set CHECK_UPDATE_RELEASE/messages appropriately. Add a new check_for_codeberg_release function to query Codeberg releases (uses jq, DNS check, handles legacy migration, pinned/latest comparison) so updates can be detected from Codeberg-hosted repos.

* Update tools.func
2026-05-13 22:16:13 +02:00
community-scripts-pr-app[bot]
cd5816b263 Update CHANGELOG.md (#14472)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-13 14:18:20 +00:00
Michel Roegl-Brunner
d18d473583 Fixes #14435, Broken Manifold update (#14468) 2026-05-13 16:17:37 +02:00
community-scripts-pr-app[bot]
af529716b1 Update CHANGELOG.md (#14467)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-13 11:04:07 +00:00
community-scripts-pr-app[bot]
2c950db3ac Update CHANGELOG.md (#14466)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-13 11:03:37 +00:00
Slaviša Arežina
904f0bdd3c fix update (#14465) 2026-05-13 13:03:26 +02:00
CanbiZ (MickLesk)
de08fc45d4 fix(reactive-resume): fix PDF generation timeout in LXC containers (#14278) (#14416)
Two changes to resolve Puppeteer waitForFunction timeout (5000ms exceeded):

1. Use 127.0.0.1 instead of localhost for PRINTER_ENDPOINT to avoid
   potential IPv6 resolution issues in LXC containers where 'localhost'
   may resolve to ::1 while Chromium only listens on 127.0.0.1.

2. Add --no-zygote flag to the chromium-printer service. In LXC
   containers the Zygote process (used by Chrome for process forking)
   can fail silently, causing Puppeteer page rendering to hang until
   the printer timeout is exceeded.
2026-05-13 13:03:09 +02:00
community-scripts-pr-app[bot]
9e009c1dfd Update CHANGELOG.md (#14464)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-13 09:28:53 +00:00
James Myatt
03ca1543d9 (calibre-web) Add --no-sandbox for PDF conversion (#14461) 2026-05-13 11:28:17 +02:00
community-scripts-pr-app[bot]
dd5ddb2b40 Update CHANGELOG.md (#14458)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-12 19:23:35 +00:00
push-app-to-main[bot]
34edee92b2 Add docuseal (ct) (#14445)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-05-12 21:23:07 +02:00
community-scripts-pr-app[bot]
355826a528 Update CHANGELOG.md (#14457)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-12 19:22:34 +00:00
push-app-to-main[bot]
a4bfe6a8e2 Authentik (#14440)
* Add authentik (ct)

* fix space

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2026-05-12 21:22:07 +02:00
MickLesk
506c729667 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVE 2026-05-12 21:19:52 +02:00
MickLesk
9aee7bcbf4 Update Nginx configuration management in termix.sh to remove old service files and restart Nginx 2026-05-12 21:19:49 +02:00
community-scripts-pr-app[bot]
251df84840 Update CHANGELOG.md (#14456)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-12 18:36:29 +00:00
Tobias
5a1053fe08 misc: bump node versions (#14447)
* excalidraw: bump node

* excalidraw: bump node

* termix: bump node

* termix: bump node

* trek: bump node

* trek: bump node

* wallabag: bump node

* wallabag: bump node

* wikijs: bump node

* wikijs: bump node
2026-05-12 20:35:59 +02:00
MickLesk
757acde352 Fix Nginx configuration and service management in termix-install.sh 2026-05-12 20:18:26 +02:00
CanbiZ (MickLesk)
1c7a925b31 termix hotfix nogroup 2026-05-12 19:39:09 +02:00
community-scripts-pr-app[bot]
ce12ac0f71 Update CHANGELOG.md (#14453)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-12 15:26:34 +00:00
community-scripts-pr-app[bot]
8d706791ea Update CHANGELOG.md (#14452)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-12 15:25:58 +00:00
Chris
3edaa3e3f2 OpenCloud: bump version to 6.2.0 (#14451) 2026-05-12 17:25:23 +02:00
community-scripts-pr-app[bot]
ad343c78cb Update CHANGELOG.md (#14436)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-12 06:17:29 +00:00
Luca Comellini
f4d50cac1a Save Omada version (#14433) 2026-05-12 08:17:04 +02:00
community-scripts-pr-app[bot]
7b1c510b53 Update CHANGELOG.md (#14431)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-11 21:22:05 +00:00
push-app-to-main[bot]
0a38dabb59 Lychee (#14424)
* Add lychee (ct)

* Apply suggestion from @tremor021

* Apply suggestion from @tremor021

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2026-05-11 23:21:32 +02:00
community-scripts-pr-app[bot]
e332d74536 Update CHANGELOG.md (#14429)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-11 20:05:03 +00:00
community-scripts-pr-app[bot]
c0c34cc4c8 Update CHANGELOG.md (#14428)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-11 20:04:52 +00:00
community-scripts-pr-app[bot]
a30c5f9ed4 Update CHANGELOG.md (#14427)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-11 20:04:30 +00:00
CanbiZ (MickLesk)
41590d777e Termix: fix nginx pid path and log paths on update (#) (#14419)
- Replace outdated 'pid /app/nginx' deletion with proper replacement
  of 'pid /tmp/nginx/nginx.pid;' -> 'pid /run/nginx.pid;'
- Add sed to redirect error_log from /tmp/nginx/ to /var/log/nginx/
- Add sed to redirect access_log from /tmp/nginx/ to /var/log/nginx/

Fixes: nginx: open() '/tmp/nginx/nginx.pid' failed (2: No such file or directory)
2026-05-11 22:04:26 +02:00
community-scripts-pr-app[bot]
a04983674a Update CHANGELOG.md (#14426)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-11 20:04:17 +00:00
CanbiZ (MickLesk)
07abb105d0 Nginxproxymanager: restore NPM nginx.conf after OpenResty rebuid (#14421)
When OpenResty is rebuilt via 'make install', it overwrites
/usr/local/openresty/nginx/conf/nginx.conf with the stock OpenResty
default config, dropping all NPM-specific include directives. This
causes port 81 to stop listening and conf.d configs to be ignored.

After the build, restore the NPM nginx.conf from the deployed source,
re-apply daemon/include-path patches, then apply user/pid fixes.
2026-05-11 22:04:04 +02:00
CanbiZ (MickLesk)
b15e84e2ba Cronmaster: fix unexpected EOF in update_cronmaster script (#14420)
The heredoc used <<EOF (unquoted), causing the \ inside it
to be executed during installation. This embedded the entire cronmaster.sh
source (~250 lines) into the update script, which contained backtick-style
constructs that caused 'unexpected EOF while looking for matching backtick'
at line 44 when the update script was later run.

Use <<'EOF' so the literal \ text is written to the file.
2026-05-11 22:03:46 +02:00
community-scripts-pr-app[bot]
2fddbd9c67 Update CHANGELOG.md (#14425)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-11 20:03:41 +00:00
CanbiZ (MickLesk)
b6c78b7ff0 feat(investbrain): add commented reverse proxy config hints to .env (#14418) (#14422) 2026-05-11 22:03:14 +02:00
community-scripts-pr-app[bot]
1abf0f8b6d Update CHANGELOG.md (#14417)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-11 18:25:46 +00:00
Tobias
e05f2d94b4 fix: qbittorrent-exporter for 5.2 (#14403)
* fix: qbittorrent-exporter for 5.2

* Adjust API key input prompt indentation

* fix: tabs
2026-05-11 20:25:20 +02:00
community-scripts-pr-app[bot]
8b57c42cb4 Update CHANGELOG.md (#14408)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-11 13:55:20 +00:00
CanbiZ (MickLesk)
ebaa526560 core: support optional POST_INSTALL_SCRIPT (var_post_install_script) hook (#14160) 2026-05-11 15:54:38 +02:00
community-scripts-pr-app[bot]
bd6117eb6a Update CHANGELOG.md (#14400)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-11 08:18:12 +00:00
push-app-to-main[bot]
26c94d8613 solidtime (#14392)
* Add solidtime (ct)

* Fix Caddy configuration message placement

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-05-11 10:17:50 +02:00
push-app-to-main[bot]
9dddf45a89 shlink (#14393)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-05-11 10:17:34 +02:00
community-scripts-pr-app[bot]
e3b7f01056 Update CHANGELOG.md (#14395)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-10 21:28:51 +00:00
Tobias
8b387313cf refactor: webcheck (#14391)
* refactor: webcheck

* Update GitHub repository reference in web-check.sh
2026-05-10 23:28:27 +02:00
community-scripts-pr-app[bot]
806c68df91 Update CHANGELOG.md (#14390)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-10 19:34:42 +00:00
Luca Comellini
3352c8a63e Save Beszel version (#14389) 2026-05-10 21:34:19 +02:00
community-scripts-pr-app[bot]
5c9facd1f1 Update CHANGELOG.md (#14388)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-10 18:05:27 +00:00
Slaviša Arežina
5be86d4fdf pin pnpm version (#14386) 2026-05-10 20:05:03 +02:00
community-scripts-pr-app[bot]
719cbca50f Update CHANGELOG.md (#14383)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-10 14:25:10 +00:00
CanbiZ (MickLesk)
d7b0c2f4c6 karakeep: Fix SERVER_VERSION update (#14378) 2026-05-10 16:24:40 +02:00
community-scripts-pr-app[bot]
86280881b4 Update CHANGELOG.md (#14379)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-10 07:43:56 +00:00
Slaviša Arežina
a2c2c0ff09 inspIRCd: Fix service not autostarting (#14368)
* fix not autostarting

* fix
2026-05-10 09:43:33 +02:00
community-scripts-pr-app[bot]
2b11d05e7d Update CHANGELOG.md (#14375)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-10 00:17:39 +00:00
community-scripts-pr-app[bot]
28311987ae Archive old changelog entries (#14374)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-10 00:17:15 +00:00
community-scripts-pr-app[bot]
ae3b3eb3de Update CHANGELOG.md (#14373)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-09 21:44:28 +00:00
CanbiZ (MickLesk)
6217669d66 FlowiseAI: Migrate to pnpm (#14344) 2026-05-09 23:44:04 +02:00
community-scripts-pr-app[bot]
a13b28e714 Update CHANGELOG.md (#14364)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-09 11:47:27 +00:00
runnylogan
e0c7fa3295 fix(termix-install.sh): add tmpfiles.d persistence and systemd PIDFile path (#14350) 2026-05-09 13:47:07 +02:00
community-scripts-pr-app[bot]
f07c463c88 Update CHANGELOG.md (#14359)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-09 06:54:08 +00:00
Luca Comellini
7b7aecef02 Purge openresty (#14353) 2026-05-09 08:53:43 +02:00
community-scripts-pr-app[bot]
24d7b943e9 Update CHANGELOG.md (#14358)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-09 06:21:05 +00:00
CanbiZ (MickLesk)
36f8e1f320 ERPNext: start bench Redis services before bench new-site (#14343) 2026-05-09 08:20:34 +02:00
community-scripts-pr-app[bot]
90a8b450ed Update CHANGELOG.md (#14357)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-09 06:18:42 +00:00
Luca Comellini
409c0aad1b Check for release for Sonarr (#14354) 2026-05-09 08:18:13 +02:00
community-scripts-pr-app[bot]
d3cdf27a77 Update CHANGELOG.md (#14356)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-09 06:02:26 +00:00
Chris
c09ac3fb31 [Hotfix]Jotty: use absolute path when creating data dir (#14355) 2026-05-09 08:02:03 +02:00
community-scripts-pr-app[bot]
e39ce3285f Update CHANGELOG.md (#14348)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-08 21:33:15 +00:00
CanbiZ (MickLesk)
d996b5a719 fix(tools.func): fix meilisearch import-dump background process handling (#14341) 2026-05-08 23:32:48 +02:00
community-scripts-pr-app[bot]
3f445acf9a Update CHANGELOG.md (#14347)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-08 21:32:44 +00:00
CanbiZ (MickLesk)
90bc1ae1e5 fix(wishlist): pin pnpm to v10 to match engine requirements (#14342) 2026-05-08 23:32:18 +02:00
community-scripts-pr-app[bot]
83575e5972 Update CHANGELOG.md (#14345)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-08 19:53:26 +00:00
Letter N
6329ad7fa2 oops (#14328) 2026-05-08 21:52:53 +02:00
community-scripts-pr-app[bot]
a450266925 Update CHANGELOG.md (#14332)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-08 13:39:55 +00:00
CanbiZ (MickLesk)
02eaf288bf tools.func: add setup_nltk as new function (#14314) 2026-05-08 15:39:20 +02:00
community-scripts-pr-app[bot]
24fbf24c6d Update CHANGELOG.md (#14326)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-08 06:33:32 +00:00
Sergi
001bd8bf93 fix(homepage): fix ERR_PNPM_IGNORED_BUILDS error (#14315) 2026-05-08 08:32:59 +02:00
community-scripts-pr-app[bot]
03bd701926 Update CHANGELOG.md (#14325)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-08 06:29:54 +00:00
community-scripts-pr-app[bot]
61f3e32827 Update CHANGELOG.md (#14324)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-08 06:29:43 +00:00
CanbiZ (MickLesk)
a3844707ad Move threadfin-app to /opt/threadfin
Move the threadfin-app to the correct directory after deployment.
2026-05-08 08:29:33 +02:00
CanbiZ (MickLesk)
91fe10ec4b Move threadfin-app to /opt/threadfin
Move the threadfin-app to the correct directory after deployment.
2026-05-08 08:29:13 +02:00
community-scripts-pr-app[bot]
cd21d98854 Update CHANGELOG.md (#14321)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-07 21:56:30 +00:00
CanbiZ (MickLesk)
cb7d9037fb termix: create /tmp/nginx before nginx -t (#14312) 2026-05-07 23:56:00 +02:00
community-scripts-pr-app[bot]
cd314ddb3f Update CHANGELOG.md (#14319)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-07 20:11:04 +00:00
community-scripts-pr-app[bot]
45b9103657 Update CHANGELOG.md (#14318)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-07 20:10:50 +00:00
community-scripts-pr-app[bot]
8a6655b7d1 Update CHANGELOG.md (#14317)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-07 20:10:33 +00:00
Slaviša Arežina
32a4239f28 start service (#14311) 2026-05-07 22:10:28 +02:00
community-scripts-pr-app[bot]
1fc7368ff9 Update CHANGELOG.md (#14316)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-07 20:10:22 +00:00
CanbiZ (MickLesk)
9d9d763e63 netbird-lxc: fix installation check (#14309) 2026-05-07 22:10:06 +02:00
CanbiZ (MickLesk)
28ae38e502 databasus: Backup and secure configuration file (#14308) 2026-05-07 22:09:45 +02:00
community-scripts-pr-app[bot]
be2e3a4a3a Update CHANGELOG.md (#14304)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-07 13:53:57 +00:00
CanbiZ (MickLesk)
3c02868add update-apps: some improvements (#14275)
* feat(update-apps): add var_continue_on_error and TERM=dumb fix

- Add var_continue_on_error=yes to skip failed containers instead
  of aborting all remaining updates. Useful for cron/unattended runs
  where one disabled or broken script should not stop others.
  Containers with backup still attempt restore on failure regardless.

- Set TERM=dumb when running pct exec to prevent whiptail from
  hanging when no TTY is available (e.g. cron jobs redirecting
  stdout/stderr). This causes whiptail to fail-fast instead of
  blocking indefinitely.

- Add var_continue_on_error to export_config_json, --help output,
  and usage examples (cron-style invocation example added).

* feat(update-apps): add var_dry_run to check updates without applying

Adds dry-run mode (var_dry_run=yes) that reports available updates for
all selected containers without modifying anything:

- Extracts GitHub source repo from the ct script header (# Source:)
- Resolves the version file name from check_for_gh_release app arg
- Reads current installed version from ~/.appname inside the container
- Queries GitHub API /releases/latest for comparison
- Outputs color-coded status: up-to-date (green), update available (yellow),
  or unknown (blue/yellow with reason)

Non-GitHub sources (Codeberg, custom URLs) are skipped with a notice.
Resource scaling is suppressed entirely during dry-run.

Example usage:
  var_container=all_running var_skip_confirm=yes var_dry_run=yes \
    bash -c "$(curl -fsSL .../update-apps.sh)"

* fix(update-apps): dry-run uses check_for_gh_release args, not Source header

The # Source: header can point to a different repo than what
check_for_gh_release actually queries (e.g. RustDesk uses
lejianwen fork, not official rustdesk repo).

Now parse both app name and source repo directly from the
check_for_gh_release call in the ct script:
  check_for_gh_release "appname" "owner/repo"

Also fix $HOME/.appname path expansion in pct exec context.

* fix issue on clear()

* feat(update-apps): add no-op clear wrapper to PATH for update scripts

Co-authored-by: Copilot <copilot@github.com>

* feat(update-apps): enhance error handling for unattended mode in resource checks

Co-authored-by: Copilot <copilot@github.com>

* feat(update-apps): implement structured logging and summary report for updates

Co-authored-by: Copilot <copilot@github.com>

* fix log issue

Co-authored-by: Copilot <copilot@github.com>

* feat(update-apps): enhance dry-run functionality and logging for container updates

Co-authored-by: Copilot <copilot@github.com>

* feat(update-apps): add dry-run completion message for better user feedback

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
2026-05-07 15:53:22 +02:00
community-scripts-pr-app[bot]
07cd4c0c3e Update CHANGELOG.md (#14299)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-07 12:03:24 +00:00
Michel Roegl-Brunner
f11edd21c9 Remove: LiteLLM (#14294) 2026-05-07 14:02:45 +02:00
community-scripts-pr-app[bot]
9fc822d936 Update CHANGELOG.md (#14298)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-07 11:24:42 +00:00
CanbiZ (MickLesk)
bf1c32ace8 pangolin: bump version to 1.18.3 (#14297)
* pangolin: bump version to 1.18.3

* Update PANGOLIN_VERSION to 1.18.3
2026-05-07 13:24:07 +02:00
community-scripts-pr-app[bot]
611021ae8c Update CHANGELOG.md (#14293)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-07 08:45:52 +00:00
CanbiZ (MickLesk)
12eb19ae4c vm: update disk image URL for Ubuntu 25.04 (#14290) 2026-05-07 10:45:21 +02:00
community-scripts-pr-app[bot]
c8dc0cffe0 Update CHANGELOG.md (#14284)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-06 11:11:31 +00:00
community-scripts-pr-app[bot]
95c7628362 Update CHANGELOG.md (#14283)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-06 11:11:06 +00:00
CanbiZ (MickLesk)
50b3c3ae7f fix(adguardhome-sync): replace ifconfig with hostname -I for IP detection (#14273)
ifconfig is not available on modern Debian systems (net-tools not
installed by default). Replace with hostname -I which is available
everywhere, with ip addr as fallback.

Fixes: #14257
2026-05-06 13:10:58 +02:00
CanbiZ (MickLesk)
752fff3c8f fix(pelican-panel): create backup subdirectory before copying storage (#14274)
The update script tried to cp into /opt/backup/storage/app/ before
the directory existed, causing a 'Not a directory' error when
/opt/backup was previously a file or the subdirs were missing.
Add mkdir -p to ensure the target directory exists.

Fixes: #14268
2026-05-06 13:10:35 +02:00
community-scripts-pr-app[bot]
129e221664 Update CHANGELOG.md (#14282)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-06 11:09:30 +00:00
CanbiZ (MickLesk)
21c064464a fix(rustdeskserver): remove redundant else with undefined RELEASE variable (#14272)
The check_for_gh_release function already prints its own 'No update
available' message when the app is up to date. The else block using
${RELEASE} was redundant and caused an empty version string to be shown
(e.g. 'already at v').

Fixes: #14267
2026-05-06 13:09:05 +02:00
community-scripts-pr-app[bot]
6317e7a867 Update CHANGELOG.md (#14280)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-06 08:49:03 +00:00
push-app-to-main[bot]
739e0aa41e Hoodik (#14279)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-05-06 10:48:30 +02:00
community-scripts-pr-app[bot]
a3e147cf20 Update CHANGELOG.md (#14270)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-05 19:06:04 +00:00
Donovan
4e9352572f Fix container count message in update-apps.sh (#14265)
Trivial update that corrects displayed container count by dividing by 3 (pct list displays 3 columns for each container)
2026-05-05 21:05:31 +02:00
community-scripts-pr-app[bot]
686657e8ec Update CHANGELOG.md (#14261)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-05 06:47:05 +00:00
push-app-to-main[bot]
9b8302cba0 LibreChat (#14247)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-05-05 08:46:40 +02:00
community-scripts-pr-app[bot]
5a6392d95f Update CHANGELOG.md (#14260)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-05 06:34:49 +00:00
push-app-to-main[bot]
160c198731 Matomo (#14248)
* Add matomo (ct)

* Remove flatten_matomo_layout function

Removed the flatten_matomo_layout function and its calls.

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-05-05 08:34:24 +02:00
community-scripts-pr-app[bot]
b91ec6f7bc Update CHANGELOG.md (#14259)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-05 06:34:10 +00:00
push-app-to-main[bot]
a7ddc3502b Storyteller (#14122)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2026-05-05 08:33:46 +02:00
community-scripts-pr-app[bot]
9bf64f60b9 Update CHANGELOG.md (#14254)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-04 20:19:39 +00:00
Copilot
559cfff56a Databasus: move .env to filesystem root so service starts correctly (#14252)
* Initial plan

* Fix Databasus .env file location so service starts correctly

Agent-Logs-Url: https://github.com/community-scripts/ProxmoxVE/sessions/5b4ddcc8-18a3-49b4-9281-b14c712ebb7f

Co-authored-by: MickLesk <47820557+MickLesk@users.noreply.github.com>

* fix(databasus): update service EnvironmentFile path in update_script

Agent-Logs-Url: https://github.com/community-scripts/ProxmoxVE/sessions/b4dcde99-e021-40ce-bdbd-3afc224ab6d4

Co-authored-by: MickLesk <47820557+MickLesk@users.noreply.github.com>

* fix(databasus): only patch service EnvironmentFile if not already updated

Agent-Logs-Url: https://github.com/community-scripts/ProxmoxVE/sessions/47c48b0f-1527-4b9c-a6f5-74c789e79785

Co-authored-by: MickLesk <47820557+MickLesk@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MickLesk <47820557+MickLesk@users.noreply.github.com>
2026-05-04 22:19:14 +02:00
community-scripts-pr-app[bot]
b353063720 Update CHANGELOG.md (#14253)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-04 20:14:29 +00:00
CanbiZ (MickLesk)
26b41d74ee tools.func get_latest_gh_tag - add pagination to find prefixed tags beyond first 50 (#14241)
Co-authored-by: MickLesk <mickey.leskowitz@levelbuild.com>
2026-05-04 22:13:49 +02:00
community-scripts-pr-app[bot]
812f8ed1c7 Update CHANGELOG.md (#14250)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-04 18:32:54 +00:00
CanbiZ (MickLesk)
75c5aa3d5d tools.func: add GitLab release check/fetch/deploy helpers (#14242) 2026-05-04 20:32:15 +02:00
MickLesk
12e7cb1777 fix(databasus): disable corepack download prompt to prevent install hang 2026-05-04 19:16:39 +02:00
community-scripts-pr-app[bot]
7f9e1ce4d8 Update CHANGELOG.md (#14245)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-04 16:35:42 +00:00
CanbiZ (MickLesk)
d118f101d8 Databasus: update mongo-tools fallback to 100.16.1 and use now pnpm instead of npm ci (#14240)
Co-authored-by: MickLesk <mickey.leskowitz@levelbuild.com>
2026-05-04 18:35:02 +02:00
community-scripts-pr-app[bot]
03a44a8c9c Update CHANGELOG.md (#14230)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-03 20:38:54 +00:00
CanbiZ (MickLesk)
08b1398e7b Refactor: PeaNUT for v6 (#14224) 2026-05-03 22:38:30 +02:00
community-scripts-pr-app[bot]
dca3fb40a8 Update CHANGELOG.md (#14229)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-03 20:36:20 +00:00
Michael Oultram
37eafa199d core: fix validate_bridge function (#14206) 2026-05-03 22:35:53 +02:00
community-scripts-pr-app[bot]
6729fa2a87 Update CHANGELOG.md (#14228)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-03 20:30:48 +00:00
CanbiZ (MickLesk)
cd6bd154d9 fix(pangolin): pin version, drop manual SQL, use upstream migrator (#14223) 2026-05-03 22:30:21 +02:00
community-scripts-pr-app[bot]
92f2079a79 Update CHANGELOG.md (#14227)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-03 20:30:03 +00:00
CanbiZ (MickLesk)
683231127c fix(pbs/pve): guard sed against missing /etc/apt/sources.list (#14222) 2026-05-03 22:29:40 +02:00
community-scripts-pr-app[bot]
7733ac2806 Update CHANGELOG.md (#14226)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-03 20:29:32 +00:00
Tom Frenzel
1d83725249 Hortusfox: fix update issues (#14214) 2026-05-03 22:29:06 +02:00
community-scripts-pr-app[bot]
980fa9fbb0 Update CHANGELOG.md (#14209)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-03 00:16:03 +00:00
community-scripts-pr-app[bot]
01d6df5903 Archive old changelog entries (#14208)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-03 00:15:35 +00:00
community-scripts-pr-app[bot]
3fce87b1d0 Update CHANGELOG.md (#14205)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 22:18:01 +00:00
community-scripts-pr-app[bot]
f4a96e8b4d Update CHANGELOG.md (#14203)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 21:59:33 +00:00
Michel Roegl-Brunner
4d163aa8f8 Revert "tools.func: add GitLab release check/fetch/deploy helpers (#14133)" (#14202)
This reverts commit 9503db319c.
2026-05-02 23:59:09 +02:00
community-scripts-pr-app[bot]
ec059f44ad Update CHANGELOG.md (#14197)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 21:44:59 +00:00
push-app-to-main[bot]
52bed128f0 Add protonmail-bridge (ct) (#14136) 2026-05-02 23:44:36 +02:00
community-scripts-pr-app[bot]
ca409fc06b Update CHANGELOG.md (#14196)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 21:43:50 +00:00
CanbiZ (MickLesk)
9503db319c tools.func: add GitLab release check/fetch/deploy helpers (#14133) 2026-05-02 23:43:26 +02:00
community-scripts-pr-app[bot]
d56fa7ab50 Update CHANGELOG.md (#14191)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 17:00:51 +00:00
community-scripts-pr-app[bot]
d4fd89931f Update CHANGELOG.md (#14190)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 17:00:42 +00:00
community-scripts-pr-app[bot]
5b7d65ce5c Update CHANGELOG.md (#14189)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 17:00:30 +00:00
Slaviša Arežina
7e3d3d2cf4 Nagios: Ping fix (#14186) 2026-05-02 19:00:19 +02:00
push-app-to-main[bot]
2714d9fae4 Tube Archivist (#14123)
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-05-02 19:00:06 +02:00
community-scripts-pr-app[bot]
7af8e907e4 Update CHANGELOG.md (#14183)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 11:41:07 +00:00
CanbiZ (MickLesk)
0190f4e7f1 opnsense-vm: retry pvesm alloc on transient zfs 'got timeout' errors (#14157) 2026-05-02 13:40:49 +02:00
community-scripts-pr-app[bot]
87fa14afaf Update CHANGELOG.md (#14182)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 11:40:44 +00:00
community-scripts-pr-app[bot]
546de16ef6 Update CHANGELOG.md (#14181)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 11:40:34 +00:00
CanbiZ (MickLesk)
553925b8cc ImmichFrame: keep dotnet-sdk installed so update can run dotnet publish (#14158) 2026-05-02 13:40:14 +02:00
community-scripts-pr-app[bot]
7fd0b9f35b Update CHANGELOG.md (#14180)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 11:40:12 +00:00
Chris
6b8a606375 Use UV sync for shelfmark backend build; update to Python 3.14 (#14170) 2026-05-02 13:39:48 +02:00
community-scripts-pr-app[bot]
9033793a66 Update CHANGELOG.md (#14179)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 10:07:08 +00:00
community-scripts-pr-app[bot]
ccc0ff7a2f Update CHANGELOG.md (#14178)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 10:06:59 +00:00
community-scripts-pr-app[bot]
218fd9060e Update CHANGELOG.md (#14177)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 10:06:41 +00:00
CanbiZ (MickLesk)
a48d400da5 alpine: remove deb/ubuntu-only resource & storage checks from update-script (#14166) 2026-05-02 12:06:37 +02:00
community-scripts-pr-app[bot]
208d34d7a6 Update CHANGELOG.md (#14176)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 10:06:29 +00:00
CanbiZ (MickLesk)
9578c6fa91 core: prompt to also run installed addon update scripts (…/bin/update_*) after update_script (#14162) 2026-05-02 12:06:16 +02:00
community-scripts-pr-app[bot]
a7bcd44ae6 Update CHANGELOG.md (#14175)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-02 10:06:02 +00:00
CanbiZ (MickLesk)
289708cc10 Threadfin: use 'threadfin-app' as app name to avoid version-file clash (#14159) 2026-05-02 12:05:37 +02:00
community-scripts-pr-app[bot]
86293fda1b Update CHANGELOG.md (#14168)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-01 21:07:56 +00:00
Joerg Heinemann
cf391086e5 Step ca update (#14058)
* Patch for step-ca.sh

Patch for making $STD happy (/usr/bin/step is a symlink to /usr/bin/step-cli)

* Refactor step-ca installation script

Refactor step-ca installation script to improve configuration and template handling.

- Carve out step-ca-admin.sh
- Patch for making $STD happy (/usr/bin/step is a symlink to /usr/bin/step-cli)
- Define enhanced x509 CA and Certificate Templates
- Configure CA Provisioners, DB and CRL settings
- Generate Root CA Certificate and Key
   - Validity: 219168h (~25 Years)
   - maxPathLen: 1 (Root -> Intermediate -> Leaf) => Only one Intermediate CA allowed below Root CA
   - Active revocation on Intermediate CA and Leaf Certificates by the usage of build-in Certificate Revocation List (CRL)
- Generate Intermediate CA Certificate Bundle and Key
   - Validity: 175368h (~20 Years)
   - maxPathLen: 0 (Root -> Intermediate -> Leaf) => Intermediate CA is only allowed to issue Leaf Certificates
   - Active revocation on Leaf Certificates by the usage of build-in Certificate Revocation List (CRL)
   - Bundle: Certificate Chain (including Root CA Certificate)

* Update source URL in step-ca.sh script
2026-05-01 23:07:30 +02:00
community-scripts-pr-app[bot]
bc72ce83ce Update CHANGELOG.md (#14167)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-01 20:48:14 +00:00
push-app-to-main[bot]
9eee1a7f95 SoulSync (#14124)
* Add soulsync (ct)

* Update pip install command to use requirements.txt

* Update soulsync.sh

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2026-05-01 22:47:49 +02:00
community-scripts-pr-app[bot]
ecd1e29df5 Update CHANGELOG.md (#14165)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-01 20:44:53 +00:00
push-app-to-main[bot]
b556b5f8c6 Teable (#14125)
* Add teable (ct)

* Apply suggestion from @tremor021

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2026-05-01 22:44:29 +02:00
community-scripts-pr-app[bot]
0dbee93410 Update CHANGELOG.md (#14156)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-01 19:00:34 +00:00
community-scripts-pr-app[bot]
1a7d1da029 Update CHANGELOG.md (#14155)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-01 19:00:08 +00:00
Kurt Anderson
f6ccf8be5e paperless-ngx: refresh NLTK data on update (#14144) 2026-05-01 21:00:05 +02:00
Letter N
ec81640d67 do not delete the public storage!!! (#14145) 2026-05-01 20:59:38 +02:00
Slaviša Arežina
03a301d736 update dependencies (#14152) 2026-05-01 20:59:10 +02:00
community-scripts-pr-app[bot]
be81d6255e Update CHANGELOG.md (#14139)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-30 17:17:23 +00:00
CanbiZ (MickLesk)
c9da2daec2 alpine-docker: install openssl as core dependency | alpine-komodo: check & install openssl if missing (#14134)
* fix(alpine-docker): install openssl as core dependency

* fix(komodo): ensure openssl is available on Alpine before generating secrets
2026-04-30 19:16:52 +02:00
community-scripts-pr-app[bot]
9015023e8c Update CHANGELOG.md (#14138)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-30 16:10:48 +00:00
CanbiZ (MickLesk)
e2a51d4941 Update source references to Codeberg in Endurain scripts (#14128) 2026-04-30 18:10:18 +02:00
community-scripts-pr-app[bot]
b4e0bb0686 Update CHANGELOG.md (#14135)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-30 12:17:04 +00:00
push-app-to-main[bot]
1109fe4b0d Nagios (#14126)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-04-30 14:16:39 +02:00
community-scripts-pr-app[bot]
a2daf7347f Update CHANGELOG.md (#14132)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-30 11:35:18 +00:00
Slaviša Arežina
564aaf5a9c tools.func: Manage minor versions for MongoDB 8.x (#14131) 2026-04-30 13:34:45 +02:00
community-scripts-pr-app[bot]
2edb231375 Update CHANGELOG.md (#14129)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-30 09:49:34 +00:00
push-app-to-main[bot]
e395e0d8ff Neko (#14121)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-04-30 11:48:58 +02:00
210 changed files with 7819 additions and 1385 deletions

107
.github/changelogs/2026/04.md generated vendored
View File

@@ -1,3 +1,110 @@
## 2026-04-30
### 🆕 New Scripts
- Nagios ([#14126](https://github.com/community-scripts/ProxmoxVE/pull/14126))
- Neko ([#14121](https://github.com/community-scripts/ProxmoxVE/pull/14121))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- alpine-docker: install openssl as core dependency | alpine-komodo: check & install openssl if missing [@MickLesk](https://github.com/MickLesk) ([#14134](https://github.com/community-scripts/ProxmoxVE/pull/14134))
- endurain: update source references to Codeberg [@MickLesk](https://github.com/MickLesk) ([#14128](https://github.com/community-scripts/ProxmoxVE/pull/14128))
### 💾 Core
- #### 🔧 Refactor
- tools.func: Manage minor versions for MongoDB 8.x [@tremor021](https://github.com/tremor021) ([#14131](https://github.com/community-scripts/ProxmoxVE/pull/14131))
## 2026-04-29
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- GrayLog: MongoDB update to 8.2.x [@tremor021](https://github.com/tremor021) ([#14114](https://github.com/community-scripts/ProxmoxVE/pull/14114))
- Graylog: Better information in the log file [@tremor021](https://github.com/tremor021) ([#14110](https://github.com/community-scripts/ProxmoxVE/pull/14110))
- #### 🔧 Refactor
- Refactor: checkMK [@MickLesk](https://github.com/MickLesk) ([#14105](https://github.com/community-scripts/ProxmoxVE/pull/14105))
- PatchMon: Unpin release [@tremor021](https://github.com/tremor021) ([#14097](https://github.com/community-scripts/ProxmoxVE/pull/14097))
### 💾 Core
- #### 🔧 Refactor
- core: add guidance when storage lacks rootdir support [@MickLesk](https://github.com/MickLesk) ([#14108](https://github.com/community-scripts/ProxmoxVE/pull/14108))
## 2026-04-28
### 🆕 New Scripts
- StoryBook ([#14081](https://github.com/community-scripts/ProxmoxVE/pull/14081))
- CoreDNS ([#14082](https://github.com/community-scripts/ProxmoxVE/pull/14082))
### 🚀 Updated Scripts
- Fix Dawarich Install/Update [@Jerry1098](https://github.com/Jerry1098) ([#14078](https://github.com/community-scripts/ProxmoxVE/pull/14078))
- #### ✨ New Features
- PatchMon Version 2.0.2 Script update [@9technologygroup](https://github.com/9technologygroup) ([#14095](https://github.com/community-scripts/ProxmoxVE/pull/14095))
## 2026-04-27
### 🚀 Updated Scripts
- Add pamUsername column to userOrgs table [@JVKeller](https://github.com/JVKeller) ([#14075](https://github.com/community-scripts/ProxmoxVE/pull/14075))
- #### 🐞 Bug Fixes
- Dawarich: run db:migrate before assets:precompile [@MickLesk](https://github.com/MickLesk) ([#14051](https://github.com/community-scripts/ProxmoxVE/pull/14051))
- TechnitiumDNS: always install .NET 10 if not already present [@MickLesk](https://github.com/MickLesk) ([#14049](https://github.com/community-scripts/ProxmoxVE/pull/14049))
- #### 💥 Breaking Changes
- PatchMon: v2.0.0 migration [@vhsdream](https://github.com/vhsdream) ([#14015](https://github.com/community-scripts/ProxmoxVE/pull/14015))
### 💾 Core
- #### 🔧 Refactor
- Update build.func - fixed spelling mistake [@m1ckywill](https://github.com/m1ckywill) ([#14047](https://github.com/community-scripts/ProxmoxVE/pull/14047))
### 🧰 Tools
- #### 🐞 Bug Fixes
- update-lxcs/apps: avoid pct exec on containers mid-shutdown [@MickLesk](https://github.com/MickLesk) ([#14050](https://github.com/community-scripts/ProxmoxVE/pull/14050))
- #### ✨ New Features
- Add patchmon-agent report execution in update script [@heinemannj](https://github.com/heinemannj) ([#14054](https://github.com/community-scripts/ProxmoxVE/pull/14054))
## 2026-04-26
### 🆕 New Scripts
- TREK ([#14017](https://github.com/community-scripts/ProxmoxVE/pull/14017))
### 🚀 Updated Scripts
- fix(2fauth): handle stale backup directory on update [@omertahaoztop](https://github.com/omertahaoztop) ([#14018](https://github.com/community-scripts/ProxmoxVE/pull/14018))
- #### 🐞 Bug Fixes
- Increase Frigate default CPU cores from 4 to 8 [@MickLesk](https://github.com/MickLesk) ([#14039](https://github.com/community-scripts/ProxmoxVE/pull/14039))
- Technitium DNS: Ensure directories exist before running service [@tremor021](https://github.com/tremor021) ([#14030](https://github.com/community-scripts/ProxmoxVE/pull/14030))
### 💾 Core
- #### 🐞 Bug Fixes
- core: Correct deb822 repository flat path detection [@MickLesk](https://github.com/MickLesk) ([#14037](https://github.com/community-scripts/ProxmoxVE/pull/14037))
## 2026-04-25
### 🚀 Updated Scripts

298
.github/changelogs/2026/05.md generated vendored Normal file
View File

@@ -0,0 +1,298 @@
## 2026-05-16
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Homelable: replace passlib with bcrypt for password hashing [@MickLesk](https://github.com/MickLesk) ([#14530](https://github.com/community-scripts/ProxmoxVE/pull/14530))
- dashy: fix: restore [@CrazyWolf13](https://github.com/CrazyWolf13) ([#14527](https://github.com/community-scripts/ProxmoxVE/pull/14527))
- Update Tinyauth source URL in installation script [@MehrunesSky](https://github.com/MehrunesSky) ([#14483](https://github.com/community-scripts/ProxmoxVE/pull/14483))
- Excalidraw: Fix build [@tremor021](https://github.com/tremor021) ([#14509](https://github.com/community-scripts/ProxmoxVE/pull/14509))
- #### ✨ New Features
- Update authentik version to 2026.2.3 [@thieneret](https://github.com/thieneret) ([#14517](https://github.com/community-scripts/ProxmoxVE/pull/14517))
## 2026-05-15
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- OPNsense: replace undefined msg_warn with inline echo in alloc retry [@MickLesk](https://github.com/MickLesk) ([#14500](https://github.com/community-scripts/ProxmoxVE/pull/14500))
- Checkmk: detect OMD version suffix dynamically on update [@MickLesk](https://github.com/MickLesk) ([#14496](https://github.com/community-scripts/ProxmoxVE/pull/14496))
- #### ✨ New Features
- SearXNG: enable JSON format by default for API integrations [@MickLesk](https://github.com/MickLesk) ([#14498](https://github.com/community-scripts/ProxmoxVE/pull/14498))
- #### 🔧 Refactor
- Refactor: Ollama use tools.func [@MickLesk](https://github.com/MickLesk) ([#14501](https://github.com/community-scripts/ProxmoxVE/pull/14501))
### 💾 Core
- #### 🐞 Bug Fixes
- core: fall back to silent mode when no TTY or whiptail unavailable [@MickLesk](https://github.com/MickLesk) ([#14497](https://github.com/community-scripts/ProxmoxVE/pull/14497))
## 2026-05-14
### 🆕 New Scripts
- CLIProxyAPI ([#14443](https://github.com/community-scripts/ProxmoxVE/pull/14443))
## 2026-05-13
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Fix: Broken Manifold update [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14468](https://github.com/community-scripts/ProxmoxVE/pull/14468))
- SoulSync: Fix update function [@tremor021](https://github.com/tremor021) ([#14465](https://github.com/community-scripts/ProxmoxVE/pull/14465))
- Reactive-Resume: fix PDF generation timeout in LXC containers [@MickLesk](https://github.com/MickLesk) ([#14416](https://github.com/community-scripts/ProxmoxVE/pull/14416))
- (calibre-web) Add --no-sandbox for PDF conversion [@jamesmyatt](https://github.com/jamesmyatt) ([#14461](https://github.com/community-scripts/ProxmoxVE/pull/14461))
### 💾 Core
- #### 🔧 Refactor
- tools.func: encode GitHub tag, refine pin logic, add Codeberg [@MickLesk](https://github.com/MickLesk) ([#14473](https://github.com/community-scripts/ProxmoxVE/pull/14473))
## 2026-05-12
### 🆕 New Scripts
- DocuSeal ([#14445](https://github.com/community-scripts/ProxmoxVE/pull/14445))
- Authentik ([#14440](https://github.com/community-scripts/ProxmoxVE/pull/14440))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Save Omada version [@lucacome](https://github.com/lucacome) ([#14433](https://github.com/community-scripts/ProxmoxVE/pull/14433))
- #### ✨ New Features
- OpenCloud: bump version to 6.2.0 [@vhsdream](https://github.com/vhsdream) ([#14451](https://github.com/community-scripts/ProxmoxVE/pull/14451))
- #### 🔧 Refactor
- misc: bump node versions [@CrazyWolf13](https://github.com/CrazyWolf13) ([#14447](https://github.com/community-scripts/ProxmoxVE/pull/14447))
## 2026-05-11
### 🆕 New Scripts
- Lychee ([#14424](https://github.com/community-scripts/ProxmoxVE/pull/14424))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Termix: fix nginx pid path and log paths on update (#) [@MickLesk](https://github.com/MickLesk) ([#14419](https://github.com/community-scripts/ProxmoxVE/pull/14419))
- Nginxproxymanager: restore NPM nginx.conf after OpenResty rebuid [@MickLesk](https://github.com/MickLesk) ([#14421](https://github.com/community-scripts/ProxmoxVE/pull/14421))
- #### 🔧 Refactor
- InvestBrain: add commented reverse proxy config hints to .env [@MickLesk](https://github.com/MickLesk) ([#14422](https://github.com/community-scripts/ProxmoxVE/pull/14422))
### 🧰 Tools
- #### 🐞 Bug Fixes
- Cronmaster: fix unexpected EOF in update_cronmaster script [@MickLesk](https://github.com/MickLesk) ([#14420](https://github.com/community-scripts/ProxmoxVE/pull/14420))
## 2026-05-10
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Save Beszel version [@lucacome](https://github.com/lucacome) ([#14389](https://github.com/community-scripts/ProxmoxVE/pull/14389))
- karakeep: Fix SERVER_VERSION update [@MickLesk](https://github.com/MickLesk) ([#14378](https://github.com/community-scripts/ProxmoxVE/pull/14378))
- inspIRCd: Fix service not autostarting [@tremor021](https://github.com/tremor021) ([#14368](https://github.com/community-scripts/ProxmoxVE/pull/14368))
- #### 🔧 Refactor
- refactor: webcheck [@CrazyWolf13](https://github.com/CrazyWolf13) ([#14391](https://github.com/community-scripts/ProxmoxVE/pull/14391))
### 💾 Core
- #### 🐞 Bug Fixes
- [tools.func]: Pin `pnpm` version [@tremor021](https://github.com/tremor021) ([#14386](https://github.com/community-scripts/ProxmoxVE/pull/14386))
## 2026-05-09
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- FlowiseAI: Migrate to pnpm [@MickLesk](https://github.com/MickLesk) ([#14344](https://github.com/community-scripts/ProxmoxVE/pull/14344))
- Purge openresty [@lucacome](https://github.com/lucacome) ([#14353](https://github.com/community-scripts/ProxmoxVE/pull/14353))
- Check for release for Sonarr [@lucacome](https://github.com/lucacome) ([#14354](https://github.com/community-scripts/ProxmoxVE/pull/14354))
- fix(termix-install.sh): add tmpfiles.d persistence and systemd PIDFile path [@runnylogan](https://github.com/runnylogan) ([#14350](https://github.com/community-scripts/ProxmoxVE/pull/14350))
- ERPNext: start bench Redis services before bench new-site [@MickLesk](https://github.com/MickLesk) ([#14343](https://github.com/community-scripts/ProxmoxVE/pull/14343))
- [Hotfix]Jotty: use absolute path when creating data dir [@vhsdream](https://github.com/vhsdream) ([#14355](https://github.com/community-scripts/ProxmoxVE/pull/14355))
## 2026-05-08
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- wishlist: pin pnpm to v10 to match engine requirements [@MickLesk](https://github.com/MickLesk) ([#14342](https://github.com/community-scripts/ProxmoxVE/pull/14342))
- [pelican] fix env copy regression [@LetterN](https://github.com/LetterN) ([#14328](https://github.com/community-scripts/ProxmoxVE/pull/14328))
- fix(homepage): fix ERR_PNPM_IGNORED_BUILDS error [@Sergih28](https://github.com/Sergih28) ([#14315](https://github.com/community-scripts/ProxmoxVE/pull/14315))
- #### ✨ New Features
- tools.func: add setup_nltk as new function [@MickLesk](https://github.com/MickLesk) ([#14314](https://github.com/community-scripts/ProxmoxVE/pull/14314))
### 💾 Core
- #### 🐞 Bug Fixes
- tools.func: fix meilisearch import-dump background process handling [@MickLesk](https://github.com/MickLesk) ([#14341](https://github.com/community-scripts/ProxmoxVE/pull/14341))
## 2026-05-07
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- termix: create /tmp/nginx before nginx -t [@MickLesk](https://github.com/MickLesk) ([#14312](https://github.com/community-scripts/ProxmoxVE/pull/14312))
- The Lounge: Fix service not starting automaticaly [@tremor021](https://github.com/tremor021) ([#14311](https://github.com/community-scripts/ProxmoxVE/pull/14311))
- netbird-lxc: fix installation check [@MickLesk](https://github.com/MickLesk) ([#14309](https://github.com/community-scripts/ProxmoxVE/pull/14309))
- databasus: Backup and secure configuration file [@MickLesk](https://github.com/MickLesk) ([#14308](https://github.com/community-scripts/ProxmoxVE/pull/14308))
- vm: update disk image URL for Ubuntu 25.04 [@MickLesk](https://github.com/MickLesk) ([#14290](https://github.com/community-scripts/ProxmoxVE/pull/14290))
- #### ✨ New Features
- pangolin: bump version to 1.18.3 [@MickLesk](https://github.com/MickLesk) ([#14297](https://github.com/community-scripts/ProxmoxVE/pull/14297))
### 🗑️ Deleted Scripts
- Remove: LiteLLM [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14294](https://github.com/community-scripts/ProxmoxVE/pull/14294))
### 💾 Core
- #### ✨ New Features
- update-apps: some improvements [@MickLesk](https://github.com/MickLesk) ([#14275](https://github.com/community-scripts/ProxmoxVE/pull/14275))
## 2026-05-06
### 🆕 New Scripts
- Hoodik ([#14279](https://github.com/community-scripts/ProxmoxVE/pull/14279))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Pelican-Panel: create backup subdirectory before copying storage [@MickLesk](https://github.com/MickLesk) ([#14274](https://github.com/community-scripts/ProxmoxVE/pull/14274))
- Rustdeskserver: remove redundant else with undefined RELEASE var [@MickLesk](https://github.com/MickLesk) ([#14272](https://github.com/community-scripts/ProxmoxVE/pull/14272))
### 🧰 Tools
- #### 🔧 Refactor
- AdguardHome-Sync replace ifconfig with hostname -I for IP detection [@MickLesk](https://github.com/MickLesk) ([#14273](https://github.com/community-scripts/ProxmoxVE/pull/14273))
## 2026-05-05
### 🆕 New Scripts
- LibreChat ([#14247](https://github.com/community-scripts/ProxmoxVE/pull/14247))
- Matomo ([#14248](https://github.com/community-scripts/ProxmoxVE/pull/14248))
- Storyteller ([#14122](https://github.com/community-scripts/ProxmoxVE/pull/14122))
### 🧰 Tools
- Fix container count message in update-apps.sh [@Quotacious](https://github.com/Quotacious) ([#14265](https://github.com/community-scripts/ProxmoxVE/pull/14265))
## 2026-05-04
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Databasus: move .env to filesystem root so service starts correctly [@Copilot](https://github.com/Copilot) ([#14252](https://github.com/community-scripts/ProxmoxVE/pull/14252))
- Databasus: update mongo-tools fallback to 100.16.1 and use now pnpm instead of npm ci [@MickLesk](https://github.com/MickLesk) ([#14240](https://github.com/community-scripts/ProxmoxVE/pull/14240))
### 💾 Core
- #### ✨ New Features
- tools.func get_latest_gh_tag - add pagination to find prefixed tags beyond first 50 [@MickLesk](https://github.com/MickLesk) ([#14241](https://github.com/community-scripts/ProxmoxVE/pull/14241))
- tools.func: add GitLab release check/fetch/deploy helpers [@MickLesk](https://github.com/MickLesk) ([#14242](https://github.com/community-scripts/ProxmoxVE/pull/14242))
## 2026-05-03
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Hortusfox: fix update issues [@tomfrenzel](https://github.com/tomfrenzel) ([#14214](https://github.com/community-scripts/ProxmoxVE/pull/14214))
- #### ✨ New Features
- Refactor: PeaNUT for v6 [@MickLesk](https://github.com/MickLesk) ([#14224](https://github.com/community-scripts/ProxmoxVE/pull/14224))
- pangolin: pin version, drop manual SQL, use upstream migrator [@MickLesk](https://github.com/MickLesk) ([#14223](https://github.com/community-scripts/ProxmoxVE/pull/14223))
### 💾 Core
- #### 🐞 Bug Fixes
- core: fix validate_bridge function [@MichaelOultram](https://github.com/MichaelOultram) ([#14206](https://github.com/community-scripts/ProxmoxVE/pull/14206))
### 🧰 Tools
- #### 🐞 Bug Fixes
- pve/pbs scripts: guard sed against missing /etc/apt/sources.list [@MickLesk](https://github.com/MickLesk) ([#14222](https://github.com/community-scripts/ProxmoxVE/pull/14222))
## 2026-05-02
### 🆕 New Scripts
- protonmail-bridge ([#14136](https://github.com/community-scripts/ProxmoxVE/pull/14136))
- Tube Archivist ([#14123](https://github.com/community-scripts/ProxmoxVE/pull/14123))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Nagios: Ping fix [@tremor021](https://github.com/tremor021) ([#14186](https://github.com/community-scripts/ProxmoxVE/pull/14186))
- opnsense-vm: retry pvesm alloc on transient zfs 'got timeout' errors [@MickLesk](https://github.com/MickLesk) ([#14157](https://github.com/community-scripts/ProxmoxVE/pull/14157))
- ImmichFrame: fix update by reinstalling dotnet-sdk before publish [@MickLesk](https://github.com/MickLesk) ([#14158](https://github.com/community-scripts/ProxmoxVE/pull/14158))
- [FIX]ShelfMark: Use UV sync for shelfmark backend build; update to Python 3.14 [@vhsdream](https://github.com/vhsdream) ([#14170](https://github.com/community-scripts/ProxmoxVE/pull/14170))
- alpine: remove deb/ubuntu-only resource & storage checks from update-script [@MickLesk](https://github.com/MickLesk) ([#14166](https://github.com/community-scripts/ProxmoxVE/pull/14166))
- Threadfin: use 'threadfin-app' as app name to avoid version-file clash [@MickLesk](https://github.com/MickLesk) ([#14159](https://github.com/community-scripts/ProxmoxVE/pull/14159))
### 💾 Core
- #### ✨ New Features
- core: prompt to also run installed addon update scripts (…/bin/update_*) after update_script [@MickLesk](https://github.com/MickLesk) ([#14162](https://github.com/community-scripts/ProxmoxVE/pull/14162))
## 2026-05-01
### 🆕 New Scripts
- SoulSync ([#14124](https://github.com/community-scripts/ProxmoxVE/pull/14124))
- Teable ([#14125](https://github.com/community-scripts/ProxmoxVE/pull/14125))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Step ca update [@heinemannj](https://github.com/heinemannj) ([#14058](https://github.com/community-scripts/ProxmoxVE/pull/14058))
- paperless-ngx: refresh NLTK data on update [@kurtislanderson](https://github.com/kurtislanderson) ([#14144](https://github.com/community-scripts/ProxmoxVE/pull/14144))
- [Pelican Panel] stop deleting the public storage [@LetterN](https://github.com/LetterN) ([#14145](https://github.com/community-scripts/ProxmoxVE/pull/14145))
- #### 🔧 Refactor
- Mail-Archiver: update dependencies [@tremor021](https://github.com/tremor021) ([#14152](https://github.com/community-scripts/ProxmoxVE/pull/14152))

View File

@@ -38,6 +38,15 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
@@ -57,7 +66,14 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
<details>
<summary><h4>April (25 entries)</h4></summary>
<summary><h4>May (16 entries)</h4></summary>
[View May 2026 Changelog](.github/changelogs/2026/05.md)
</details>
<details>
<summary><h4>April (30 entries)</h4></summary>
[View April 2026 Changelog](.github/changelogs/2026/04.md)
@@ -448,6 +464,411 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
</details>
## 2026-05-22
### 💾 Core
- #### 🐞 Bug Fixes
- fix: make LXC banner OS detection dynamic via /etc/os-release [@atahan99](https://github.com/atahan99) ([#14269](https://github.com/community-scripts/ProxmoxVE/pull/14269))
## 2026-05-21
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- snowshare: use mv instead of cp for uploads backup to prevent disk fill [@TuroYT](https://github.com/TuroYT) ([#14558](https://github.com/community-scripts/ProxmoxVE/pull/14558))
- Technitium DNS: download release before stopping the service on update [@w-gitops](https://github.com/w-gitops) ([#14616](https://github.com/community-scripts/ProxmoxVE/pull/14616))
- #### ✨ New Features
- Proxmox VE 9.2 support [@MickLesk](https://github.com/MickLesk) ([#14624](https://github.com/community-scripts/ProxmoxVE/pull/14624))
## 2026-05-20
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Update mylar3 to point to new Repo [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14606](https://github.com/community-scripts/ProxmoxVE/pull/14606))
- Ollama: Fix for latest version [@tremor021](https://github.com/tremor021) ([#14596](https://github.com/community-scripts/ProxmoxVE/pull/14596))
- #### ✨ New Features
- Profilarr v2: Update and Refactor whole Script [@MickLesk](https://github.com/MickLesk) ([#14584](https://github.com/community-scripts/ProxmoxVE/pull/14584))
## 2026-05-19
### 🆕 New Scripts
- LobeHub ([#14441](https://github.com/community-scripts/ProxmoxVE/pull/14441))
### 🚀 Updated Scripts
- Update nodejs Versions [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14582](https://github.com/community-scripts/ProxmoxVE/pull/14582))
- #### 🐞 Bug Fixes
- ESPConnect: Fix paths to SSL certificates [@tremor021](https://github.com/tremor021) ([#14591](https://github.com/community-scripts/ProxmoxVE/pull/14591))
- ReactiveResume: set correct WorkingDirectory for systemd service [@MickLesk](https://github.com/MickLesk) ([#14579](https://github.com/community-scripts/ProxmoxVE/pull/14579))
- Sparkyfitness: add missing nginx template variable substitutions [@MickLesk](https://github.com/MickLesk) ([#14578](https://github.com/community-scripts/ProxmoxVE/pull/14578))
- Wanderer: include dev dependencies during build [@MickLesk](https://github.com/MickLesk) ([#14577](https://github.com/community-scripts/ProxmoxVE/pull/14577))
- Whisparr: switch from nightly to stable GitHub release [@MickLesk](https://github.com/MickLesk) ([#14581](https://github.com/community-scripts/ProxmoxVE/pull/14581))
- #### 🔧 Refactor
- Refactor: SonarQube [@tremor021](https://github.com/tremor021) ([#14594](https://github.com/community-scripts/ProxmoxVE/pull/14594))
## 2026-05-18
### 🆕 New Scripts
- ESPconnect ([#14444](https://github.com/community-scripts/ProxmoxVE/pull/14444))
- degoog ([#14533](https://github.com/community-scripts/ProxmoxVE/pull/14533))
- Webtrees ([#14532](https://github.com/community-scripts/ProxmoxVE/pull/14532))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Bichon: Support v1 migration [@tomfrenzel](https://github.com/tomfrenzel) ([#14524](https://github.com/community-scripts/ProxmoxVE/pull/14524))
- #### ✨ New Features
- Pangolin: bump to 1.18.4, fix missing statusHistory migration [@MickLesk](https://github.com/MickLesk) ([#14566](https://github.com/community-scripts/ProxmoxVE/pull/14566))
## 2026-05-17
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- dashy: fix yarn-missing on update and back up full user-data [@lissy93](https://github.com/lissy93) ([#14548](https://github.com/community-scripts/ProxmoxVE/pull/14548))
- #### ✨ New Features
- tools.func: replace max-time with speed-limit stall detection in curl_download [@MickLesk](https://github.com/MickLesk) ([#14545](https://github.com/community-scripts/ProxmoxVE/pull/14545))
## 2026-05-16
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Homelable: replace passlib with bcrypt for password hashing [@MickLesk](https://github.com/MickLesk) ([#14530](https://github.com/community-scripts/ProxmoxVE/pull/14530))
- dashy: fix: restore [@CrazyWolf13](https://github.com/CrazyWolf13) ([#14527](https://github.com/community-scripts/ProxmoxVE/pull/14527))
- Update Tinyauth source URL in installation script [@MehrunesSky](https://github.com/MehrunesSky) ([#14483](https://github.com/community-scripts/ProxmoxVE/pull/14483))
- Excalidraw: Fix build [@tremor021](https://github.com/tremor021) ([#14509](https://github.com/community-scripts/ProxmoxVE/pull/14509))
- #### ✨ New Features
- Update authentik version to 2026.2.3 [@thieneret](https://github.com/thieneret) ([#14517](https://github.com/community-scripts/ProxmoxVE/pull/14517))
## 2026-05-15
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- OPNsense: replace undefined msg_warn with inline echo in alloc retry [@MickLesk](https://github.com/MickLesk) ([#14500](https://github.com/community-scripts/ProxmoxVE/pull/14500))
- Checkmk: detect OMD version suffix dynamically on update [@MickLesk](https://github.com/MickLesk) ([#14496](https://github.com/community-scripts/ProxmoxVE/pull/14496))
- #### ✨ New Features
- SearXNG: enable JSON format by default for API integrations [@MickLesk](https://github.com/MickLesk) ([#14498](https://github.com/community-scripts/ProxmoxVE/pull/14498))
- #### 🔧 Refactor
- Refactor: Ollama use tools.func [@MickLesk](https://github.com/MickLesk) ([#14501](https://github.com/community-scripts/ProxmoxVE/pull/14501))
### 💾 Core
- #### 🐞 Bug Fixes
- core: fall back to silent mode when no TTY or whiptail unavailable [@MickLesk](https://github.com/MickLesk) ([#14497](https://github.com/community-scripts/ProxmoxVE/pull/14497))
## 2026-05-14
### 🆕 New Scripts
- CLIProxyAPI ([#14443](https://github.com/community-scripts/ProxmoxVE/pull/14443))
## 2026-05-13
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Fix: Broken Manifold update [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14468](https://github.com/community-scripts/ProxmoxVE/pull/14468))
- SoulSync: Fix update function [@tremor021](https://github.com/tremor021) ([#14465](https://github.com/community-scripts/ProxmoxVE/pull/14465))
- Reactive-Resume: fix PDF generation timeout in LXC containers [@MickLesk](https://github.com/MickLesk) ([#14416](https://github.com/community-scripts/ProxmoxVE/pull/14416))
- (calibre-web) Add --no-sandbox for PDF conversion [@jamesmyatt](https://github.com/jamesmyatt) ([#14461](https://github.com/community-scripts/ProxmoxVE/pull/14461))
### 💾 Core
- #### 🔧 Refactor
- tools.func: encode GitHub tag, refine pin logic, add Codeberg [@MickLesk](https://github.com/MickLesk) ([#14473](https://github.com/community-scripts/ProxmoxVE/pull/14473))
## 2026-05-12
### 🆕 New Scripts
- DocuSeal ([#14445](https://github.com/community-scripts/ProxmoxVE/pull/14445))
- Authentik ([#14440](https://github.com/community-scripts/ProxmoxVE/pull/14440))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Save Omada version [@lucacome](https://github.com/lucacome) ([#14433](https://github.com/community-scripts/ProxmoxVE/pull/14433))
- #### ✨ New Features
- OpenCloud: bump version to 6.2.0 [@vhsdream](https://github.com/vhsdream) ([#14451](https://github.com/community-scripts/ProxmoxVE/pull/14451))
- #### 🔧 Refactor
- misc: bump node versions [@CrazyWolf13](https://github.com/CrazyWolf13) ([#14447](https://github.com/community-scripts/ProxmoxVE/pull/14447))
## 2026-05-11
### 🆕 New Scripts
- Lychee ([#14424](https://github.com/community-scripts/ProxmoxVE/pull/14424))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Termix: fix nginx pid path and log paths on update (#) [@MickLesk](https://github.com/MickLesk) ([#14419](https://github.com/community-scripts/ProxmoxVE/pull/14419))
- Nginxproxymanager: restore NPM nginx.conf after OpenResty rebuid [@MickLesk](https://github.com/MickLesk) ([#14421](https://github.com/community-scripts/ProxmoxVE/pull/14421))
- #### 🔧 Refactor
- InvestBrain: add commented reverse proxy config hints to .env [@MickLesk](https://github.com/MickLesk) ([#14422](https://github.com/community-scripts/ProxmoxVE/pull/14422))
### 🧰 Tools
- #### 🐞 Bug Fixes
- Cronmaster: fix unexpected EOF in update_cronmaster script [@MickLesk](https://github.com/MickLesk) ([#14420](https://github.com/community-scripts/ProxmoxVE/pull/14420))
## 2026-05-10
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Save Beszel version [@lucacome](https://github.com/lucacome) ([#14389](https://github.com/community-scripts/ProxmoxVE/pull/14389))
- karakeep: Fix SERVER_VERSION update [@MickLesk](https://github.com/MickLesk) ([#14378](https://github.com/community-scripts/ProxmoxVE/pull/14378))
- inspIRCd: Fix service not autostarting [@tremor021](https://github.com/tremor021) ([#14368](https://github.com/community-scripts/ProxmoxVE/pull/14368))
- #### 🔧 Refactor
- refactor: webcheck [@CrazyWolf13](https://github.com/CrazyWolf13) ([#14391](https://github.com/community-scripts/ProxmoxVE/pull/14391))
### 💾 Core
- #### 🐞 Bug Fixes
- [tools.func]: Pin `pnpm` version [@tremor021](https://github.com/tremor021) ([#14386](https://github.com/community-scripts/ProxmoxVE/pull/14386))
## 2026-05-09
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- FlowiseAI: Migrate to pnpm [@MickLesk](https://github.com/MickLesk) ([#14344](https://github.com/community-scripts/ProxmoxVE/pull/14344))
- Purge openresty [@lucacome](https://github.com/lucacome) ([#14353](https://github.com/community-scripts/ProxmoxVE/pull/14353))
- Check for release for Sonarr [@lucacome](https://github.com/lucacome) ([#14354](https://github.com/community-scripts/ProxmoxVE/pull/14354))
- fix(termix-install.sh): add tmpfiles.d persistence and systemd PIDFile path [@runnylogan](https://github.com/runnylogan) ([#14350](https://github.com/community-scripts/ProxmoxVE/pull/14350))
- ERPNext: start bench Redis services before bench new-site [@MickLesk](https://github.com/MickLesk) ([#14343](https://github.com/community-scripts/ProxmoxVE/pull/14343))
- [Hotfix]Jotty: use absolute path when creating data dir [@vhsdream](https://github.com/vhsdream) ([#14355](https://github.com/community-scripts/ProxmoxVE/pull/14355))
## 2026-05-08
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- wishlist: pin pnpm to v10 to match engine requirements [@MickLesk](https://github.com/MickLesk) ([#14342](https://github.com/community-scripts/ProxmoxVE/pull/14342))
- [pelican] fix env copy regression [@LetterN](https://github.com/LetterN) ([#14328](https://github.com/community-scripts/ProxmoxVE/pull/14328))
- fix(homepage): fix ERR_PNPM_IGNORED_BUILDS error [@Sergih28](https://github.com/Sergih28) ([#14315](https://github.com/community-scripts/ProxmoxVE/pull/14315))
- #### ✨ New Features
- tools.func: add setup_nltk as new function [@MickLesk](https://github.com/MickLesk) ([#14314](https://github.com/community-scripts/ProxmoxVE/pull/14314))
### 💾 Core
- #### 🐞 Bug Fixes
- tools.func: fix meilisearch import-dump background process handling [@MickLesk](https://github.com/MickLesk) ([#14341](https://github.com/community-scripts/ProxmoxVE/pull/14341))
## 2026-05-07
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- termix: create /tmp/nginx before nginx -t [@MickLesk](https://github.com/MickLesk) ([#14312](https://github.com/community-scripts/ProxmoxVE/pull/14312))
- The Lounge: Fix service not starting automaticaly [@tremor021](https://github.com/tremor021) ([#14311](https://github.com/community-scripts/ProxmoxVE/pull/14311))
- netbird-lxc: fix installation check [@MickLesk](https://github.com/MickLesk) ([#14309](https://github.com/community-scripts/ProxmoxVE/pull/14309))
- databasus: Backup and secure configuration file [@MickLesk](https://github.com/MickLesk) ([#14308](https://github.com/community-scripts/ProxmoxVE/pull/14308))
- vm: update disk image URL for Ubuntu 25.04 [@MickLesk](https://github.com/MickLesk) ([#14290](https://github.com/community-scripts/ProxmoxVE/pull/14290))
- #### ✨ New Features
- pangolin: bump version to 1.18.3 [@MickLesk](https://github.com/MickLesk) ([#14297](https://github.com/community-scripts/ProxmoxVE/pull/14297))
### 🗑️ Deleted Scripts
- Remove: LiteLLM [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14294](https://github.com/community-scripts/ProxmoxVE/pull/14294))
### 💾 Core
- #### ✨ New Features
- update-apps: some improvements [@MickLesk](https://github.com/MickLesk) ([#14275](https://github.com/community-scripts/ProxmoxVE/pull/14275))
## 2026-05-06
### 🆕 New Scripts
- Hoodik ([#14279](https://github.com/community-scripts/ProxmoxVE/pull/14279))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Pelican-Panel: create backup subdirectory before copying storage [@MickLesk](https://github.com/MickLesk) ([#14274](https://github.com/community-scripts/ProxmoxVE/pull/14274))
- Rustdeskserver: remove redundant else with undefined RELEASE var [@MickLesk](https://github.com/MickLesk) ([#14272](https://github.com/community-scripts/ProxmoxVE/pull/14272))
### 🧰 Tools
- #### 🔧 Refactor
- AdguardHome-Sync replace ifconfig with hostname -I for IP detection [@MickLesk](https://github.com/MickLesk) ([#14273](https://github.com/community-scripts/ProxmoxVE/pull/14273))
## 2026-05-05
### 🆕 New Scripts
- LibreChat ([#14247](https://github.com/community-scripts/ProxmoxVE/pull/14247))
- Matomo ([#14248](https://github.com/community-scripts/ProxmoxVE/pull/14248))
- Storyteller ([#14122](https://github.com/community-scripts/ProxmoxVE/pull/14122))
### 🧰 Tools
- Fix container count message in update-apps.sh [@Quotacious](https://github.com/Quotacious) ([#14265](https://github.com/community-scripts/ProxmoxVE/pull/14265))
## 2026-05-04
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Databasus: move .env to filesystem root so service starts correctly [@Copilot](https://github.com/Copilot) ([#14252](https://github.com/community-scripts/ProxmoxVE/pull/14252))
- Databasus: update mongo-tools fallback to 100.16.1 and use now pnpm instead of npm ci [@MickLesk](https://github.com/MickLesk) ([#14240](https://github.com/community-scripts/ProxmoxVE/pull/14240))
### 💾 Core
- #### ✨ New Features
- tools.func get_latest_gh_tag - add pagination to find prefixed tags beyond first 50 [@MickLesk](https://github.com/MickLesk) ([#14241](https://github.com/community-scripts/ProxmoxVE/pull/14241))
- tools.func: add GitLab release check/fetch/deploy helpers [@MickLesk](https://github.com/MickLesk) ([#14242](https://github.com/community-scripts/ProxmoxVE/pull/14242))
## 2026-05-03
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Hortusfox: fix update issues [@tomfrenzel](https://github.com/tomfrenzel) ([#14214](https://github.com/community-scripts/ProxmoxVE/pull/14214))
- #### ✨ New Features
- Refactor: PeaNUT for v6 [@MickLesk](https://github.com/MickLesk) ([#14224](https://github.com/community-scripts/ProxmoxVE/pull/14224))
- pangolin: pin version, drop manual SQL, use upstream migrator [@MickLesk](https://github.com/MickLesk) ([#14223](https://github.com/community-scripts/ProxmoxVE/pull/14223))
### 💾 Core
- #### 🐞 Bug Fixes
- core: fix validate_bridge function [@MichaelOultram](https://github.com/MichaelOultram) ([#14206](https://github.com/community-scripts/ProxmoxVE/pull/14206))
### 🧰 Tools
- #### 🐞 Bug Fixes
- pve/pbs scripts: guard sed against missing /etc/apt/sources.list [@MickLesk](https://github.com/MickLesk) ([#14222](https://github.com/community-scripts/ProxmoxVE/pull/14222))
## 2026-05-02
### 🆕 New Scripts
- protonmail-bridge ([#14136](https://github.com/community-scripts/ProxmoxVE/pull/14136))
- Tube Archivist ([#14123](https://github.com/community-scripts/ProxmoxVE/pull/14123))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Nagios: Ping fix [@tremor021](https://github.com/tremor021) ([#14186](https://github.com/community-scripts/ProxmoxVE/pull/14186))
- opnsense-vm: retry pvesm alloc on transient zfs 'got timeout' errors [@MickLesk](https://github.com/MickLesk) ([#14157](https://github.com/community-scripts/ProxmoxVE/pull/14157))
- ImmichFrame: fix update by reinstalling dotnet-sdk before publish [@MickLesk](https://github.com/MickLesk) ([#14158](https://github.com/community-scripts/ProxmoxVE/pull/14158))
- [FIX]ShelfMark: Use UV sync for shelfmark backend build; update to Python 3.14 [@vhsdream](https://github.com/vhsdream) ([#14170](https://github.com/community-scripts/ProxmoxVE/pull/14170))
- alpine: remove deb/ubuntu-only resource & storage checks from update-script [@MickLesk](https://github.com/MickLesk) ([#14166](https://github.com/community-scripts/ProxmoxVE/pull/14166))
- Threadfin: use 'threadfin-app' as app name to avoid version-file clash [@MickLesk](https://github.com/MickLesk) ([#14159](https://github.com/community-scripts/ProxmoxVE/pull/14159))
### 💾 Core
- #### ✨ New Features
- core: prompt to also run installed addon update scripts (…/bin/update_*) after update_script [@MickLesk](https://github.com/MickLesk) ([#14162](https://github.com/community-scripts/ProxmoxVE/pull/14162))
## 2026-05-01
### 🆕 New Scripts
- SoulSync ([#14124](https://github.com/community-scripts/ProxmoxVE/pull/14124))
- Teable ([#14125](https://github.com/community-scripts/ProxmoxVE/pull/14125))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Step ca update [@heinemannj](https://github.com/heinemannj) ([#14058](https://github.com/community-scripts/ProxmoxVE/pull/14058))
- paperless-ngx: refresh NLTK data on update [@kurtislanderson](https://github.com/kurtislanderson) ([#14144](https://github.com/community-scripts/ProxmoxVE/pull/14144))
- [Pelican Panel] stop deleting the public storage [@LetterN](https://github.com/LetterN) ([#14145](https://github.com/community-scripts/ProxmoxVE/pull/14145))
- #### 🔧 Refactor
- Mail-Archiver: update dependencies [@tremor021](https://github.com/tremor021) ([#14152](https://github.com/community-scripts/ProxmoxVE/pull/14152))
## 2026-04-30
### 🆕 New Scripts
- Nagios ([#14126](https://github.com/community-scripts/ProxmoxVE/pull/14126))
- Neko ([#14121](https://github.com/community-scripts/ProxmoxVE/pull/14121))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- alpine-docker: install openssl as core dependency | alpine-komodo: check & install openssl if missing [@MickLesk](https://github.com/MickLesk) ([#14134](https://github.com/community-scripts/ProxmoxVE/pull/14134))
- endurain: update source references to Codeberg [@MickLesk](https://github.com/MickLesk) ([#14128](https://github.com/community-scripts/ProxmoxVE/pull/14128))
### 💾 Core
- #### 🔧 Refactor
- tools.func: Manage minor versions for MongoDB 8.x [@tremor021](https://github.com/tremor021) ([#14131](https://github.com/community-scripts/ProxmoxVE/pull/14131))
## 2026-04-29
### 🚀 Updated Scripts
@@ -721,380 +1142,4 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
- #### 🔧 Refactor
- core: fix some pct create issues (telemetry) + cleanup [@MickLesk](https://github.com/MickLesk) ([#13810](https://github.com/community-scripts/ProxmoxVE/pull/13810))
## 2026-04-16
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Add pnpm as a dependency to ghost-cli install [@YourFavoriteKyle](https://github.com/YourFavoriteKyle) ([#13789](https://github.com/community-scripts/ProxmoxVE/pull/13789))
### 💾 Core
- #### ✨ New Features
- core: wire ENABLE_MKNOD and ALLOW_MOUNT_FS into LXC features [@MickLesk](https://github.com/MickLesk) ([#13796](https://github.com/community-scripts/ProxmoxVE/pull/13796))
## 2026-04-15
### 🆕 New Scripts
- iGotify ([#13773](https://github.com/community-scripts/ProxmoxVE/pull/13773))
- GitHub-Runner ([#13709](https://github.com/community-scripts/ProxmoxVE/pull/13709))
- Revert "Remove low-install-count CT scripts and installers (#13570)" [@CrazyWolf13](https://github.com/CrazyWolf13) ([#13752](https://github.com/community-scripts/ProxmoxVE/pull/13752))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- [alpine-nextcloud] Update Nginx MIME types to support .mjs files [@GuiltyFox](https://github.com/GuiltyFox) ([#13771](https://github.com/community-scripts/ProxmoxVE/pull/13771))
- Domain Monitor: Fix file ownership after update [@tremor021](https://github.com/tremor021) ([#13759](https://github.com/community-scripts/ProxmoxVE/pull/13759))
- #### 💥 Breaking Changes
- Reitti: refactor scripts for v4 - remove RabbitMQ and Photon [@MickLesk](https://github.com/MickLesk) ([#13728](https://github.com/community-scripts/ProxmoxVE/pull/13728))
- #### 🔧 Refactor
- Semaphore: add BoltDB to SQLite migration [@tremor021](https://github.com/tremor021) ([#13779](https://github.com/community-scripts/ProxmoxVE/pull/13779))
### 📚 Documentation
- cleanup: remove docs/, update README & CONTRIBUTING, fix repo config [@MickLesk](https://github.com/MickLesk) ([#13770](https://github.com/community-scripts/ProxmoxVE/pull/13770))
## 2026-04-14
### 🚀 Updated Scripts
- Immich: Pin photo-processing library revisions [@vhsdream](https://github.com/vhsdream) ([#13748](https://github.com/community-scripts/ProxmoxVE/pull/13748))
- #### 🐞 Bug Fixes
- BentoPDF: Nginx fixes [@tremor021](https://github.com/tremor021) ([#13741](https://github.com/community-scripts/ProxmoxVE/pull/13741))
- Zerobyte: add git to dependencies to fix bun install failure [@Copilot](https://github.com/Copilot) ([#13721](https://github.com/community-scripts/ProxmoxVE/pull/13721))
- alpine-nextcloud-install: do not use deprecated nginx config [@AlexanderStein](https://github.com/AlexanderStein) ([#13726](https://github.com/community-scripts/ProxmoxVE/pull/13726))
- #### ✨ New Features
- Mealie: support v3.15+ Nuxt 4 migration [@MickLesk](https://github.com/MickLesk) ([#13731](https://github.com/community-scripts/ProxmoxVE/pull/13731))
- #### 🔧 Refactor
- Lyrion: correct service name and version file in update script [@MickLesk](https://github.com/MickLesk) ([#13734](https://github.com/community-scripts/ProxmoxVE/pull/13734))
- Changedetection: move env vars from service file to .env [@tremor021](https://github.com/tremor021) ([#13732](https://github.com/community-scripts/ProxmoxVE/pull/13732))
## 2026-04-13
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Slskd: Remove stale Soularr lock file on startup and redirect logs to stderr [@MickLesk](https://github.com/MickLesk) ([#13669](https://github.com/community-scripts/ProxmoxVE/pull/13669))
- Bambuddy: preserve database and archive on update [@Copilot](https://github.com/Copilot) ([#13706](https://github.com/community-scripts/ProxmoxVE/pull/13706))
- #### ✨ New Features
- Immich: Pin version to 2.7.5 [@vhsdream](https://github.com/vhsdream) ([#13715](https://github.com/community-scripts/ProxmoxVE/pull/13715))
- Bytestash: auto backup/restore data on update [@MickLesk](https://github.com/MickLesk) ([#13707](https://github.com/community-scripts/ProxmoxVE/pull/13707))
- OpenCloud: pin version to 6.0.0 [@vhsdream](https://github.com/vhsdream) ([#13691](https://github.com/community-scripts/ProxmoxVE/pull/13691))
- #### 💥 Breaking Changes
- Mealie: pin version to v3.14.0 in install and update scripts [@Copilot](https://github.com/Copilot) ([#13724](https://github.com/community-scripts/ProxmoxVE/pull/13724))
- #### 🔧 Refactor
- core: remove unused TEMP_DIR mktemp leak in build_container / clean sonarqube [@MickLesk](https://github.com/MickLesk) ([#13708](https://github.com/community-scripts/ProxmoxVE/pull/13708))
## 2026-04-12
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Alpine-Wakapi: Remove container checks in update_script function [@MickLesk](https://github.com/MickLesk) ([#13694](https://github.com/community-scripts/ProxmoxVE/pull/13694))
- #### 🔧 Refactor
- IronClaw: Install keychain dependencies and launch in a DBus session [@MickLesk](https://github.com/MickLesk) ([#13692](https://github.com/community-scripts/ProxmoxVE/pull/13692))
- MeTube: Allow pnpm build scripts to fix ERR_PNPM_IGNORED_BUILDS [@MickLesk](https://github.com/MickLesk) ([#13668](https://github.com/community-scripts/ProxmoxVE/pull/13668))
## 2026-04-11
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Immich: Ensure newline before appending IMMICH_HELMET_FILE to .env [@MickLesk](https://github.com/MickLesk) ([#13667](https://github.com/community-scripts/ProxmoxVE/pull/13667))
- #### ✨ New Features
- BentoPDF: replace http-server with nginx to fix WASM initialization timeout [@MickLesk](https://github.com/MickLesk) ([#13625](https://github.com/community-scripts/ProxmoxVE/pull/13625))
- Element Synapse: Add MatrixRTC configuration for Element Call support [@MickLesk](https://github.com/MickLesk) ([#13665](https://github.com/community-scripts/ProxmoxVE/pull/13665))
- RomM: Use ROMM_BASE_PATH from .env for symlinks and nginx config [@MickLesk](https://github.com/MickLesk) ([#13666](https://github.com/community-scripts/ProxmoxVE/pull/13666))
- Immich: Pin version to 2.7.4 [@vhsdream](https://github.com/vhsdream) ([#13661](https://github.com/community-scripts/ProxmoxVE/pull/13661))
- #### 🔧 Refactor
- Crafty Controller: Wait for credentials file instead of fixed sleep [@MickLesk](https://github.com/MickLesk) ([#13670](https://github.com/community-scripts/ProxmoxVE/pull/13670))
- Refactor: Alpine-Wakapi [@tremor021](https://github.com/tremor021) ([#13656](https://github.com/community-scripts/ProxmoxVE/pull/13656))
## 2026-04-10
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- fix: ensure trailing newline in redis.conf before appending bind directive [@Copilot](https://github.com/Copilot) ([#13647](https://github.com/community-scripts/ProxmoxVE/pull/13647))
- #### ✨ New Features
- Immich: Pin version to 2.7.3 [@vhsdream](https://github.com/vhsdream) ([#13631](https://github.com/community-scripts/ProxmoxVE/pull/13631))
- Homarr: bind Redis to localhost only [@MickLesk](https://github.com/MickLesk) ([#13552](https://github.com/community-scripts/ProxmoxVE/pull/13552))
### 💾 Core
- #### 🐞 Bug Fixes
- tools.func: prevent script crash when entering GitHub token after rate limit [@MickLesk](https://github.com/MickLesk) ([#13638](https://github.com/community-scripts/ProxmoxVE/pull/13638))
### 🧰 Tools
- #### 🔧 Refactor
- addons: Filebrowser & Filebrowser-Quantum get warning if host install [@MickLesk](https://github.com/MickLesk) ([#13639](https://github.com/community-scripts/ProxmoxVE/pull/13639))
## 2026-04-09
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- boostack: add: git [@CrazyWolf13](https://github.com/CrazyWolf13) ([#13620](https://github.com/community-scripts/ProxmoxVE/pull/13620))
- #### ✨ New Features
- Update OPNsense version from 25.7 to 26.1 [@tdn131](https://github.com/tdn131) ([#13626](https://github.com/community-scripts/ProxmoxVE/pull/13626))
- CheckMK: Bump Default OS to 13 (trixie) + dynamic codename + fix RELEASE-Tag Fetching [@MickLesk](https://github.com/MickLesk) ([#13610](https://github.com/community-scripts/ProxmoxVE/pull/13610))
## 2026-04-08
### 🆕 New Scripts
- IronClaw | Alpine-IronClaw ([#13591](https://github.com/community-scripts/ProxmoxVE/pull/13591))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- immich: disable upgrade-insecure-requests CSP directive [@MickLesk](https://github.com/MickLesk) ([#13600](https://github.com/community-scripts/ProxmoxVE/pull/13600))
- Immich: v2.7.2 [@vhsdream](https://github.com/vhsdream) ([#13579](https://github.com/community-scripts/ProxmoxVE/pull/13579))
- Update flaresolverr-install.sh [@maztheman](https://github.com/maztheman) ([#13584](https://github.com/community-scripts/ProxmoxVE/pull/13584))
- #### ✨ New Features
- bambuddy: add mkdir before data restore & add ffmpeg dependency [@MickLesk](https://github.com/MickLesk) ([#13601](https://github.com/community-scripts/ProxmoxVE/pull/13601))
- #### 🔧 Refactor
- feat: update UHF Server script to use setup_ffmpeg [@zackwithak13](https://github.com/zackwithak13) ([#13564](https://github.com/community-scripts/ProxmoxVE/pull/13564))
### 💾 Core
- #### ✨ New Features
- core: add script page badges to descriptions | change donate URL [@MickLesk](https://github.com/MickLesk) ([#13596](https://github.com/community-scripts/ProxmoxVE/pull/13596))
## 2026-04-07
### 🗑️ Deleted Scripts
- Remove low-install-count CT scripts and installers [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#13570](https://github.com/community-scripts/ProxmoxVE/pull/13570))
### 💾 Core
- #### ✨ New Features
- core: improve resilience for top Proxmox error codes (209, 215, 118, 206) [@MickLesk](https://github.com/MickLesk) ([#13575](https://github.com/community-scripts/ProxmoxVE/pull/13575))
## 2026-04-06
### 🆕 New Scripts
- OpenThread Border Router ([#13536](https://github.com/community-scripts/ProxmoxVE/pull/13536))
- Homelable ([#13539](https://github.com/community-scripts/ProxmoxVE/pull/13539))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Papra: check env before copy [@MickLesk](https://github.com/MickLesk) ([#13553](https://github.com/community-scripts/ProxmoxVE/pull/13553))
- changedetection: fix: typing_extensions error [@CrazyWolf13](https://github.com/CrazyWolf13) ([#13548](https://github.com/community-scripts/ProxmoxVE/pull/13548))
- kasm: fix: fetch latest version [@CrazyWolf13](https://github.com/CrazyWolf13) ([#13547](https://github.com/community-scripts/ProxmoxVE/pull/13547))
## 2026-04-05
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Grist: remove install:ee step (private repo, not needed for grist-core) [@MickLesk](https://github.com/MickLesk) ([#13526](https://github.com/community-scripts/ProxmoxVE/pull/13526))
- Nginx Proxy Manager: ensure /tmp/nginx/body exists via openresty service [@MickLesk](https://github.com/MickLesk) ([#13528](https://github.com/community-scripts/ProxmoxVE/pull/13528))
- MotionEye: run as root to enable SMB share support [@MickLesk](https://github.com/MickLesk) ([#13527](https://github.com/community-scripts/ProxmoxVE/pull/13527))
### 💾 Core
- #### 🔧 Refactor
- core: silent() function - use return instead of exit to allow || true error handling [@MickLesk](https://github.com/MickLesk) ([#13529](https://github.com/community-scripts/ProxmoxVE/pull/13529))
## 2026-04-04
### 🧰 Tools
- #### 🐞 Bug Fixes
- komodo: set `PERIPHERY_CORE_PUBLIC_KEYS` to default value if absent [@4ndv](https://github.com/4ndv) ([#13519](https://github.com/community-scripts/ProxmoxVE/pull/13519))
## 2026-04-03
### 🆕 New Scripts
- netboot.xyz ([#13480](https://github.com/community-scripts/ProxmoxVE/pull/13480))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- OpenWRT-VM: use poweroff instead of halt to properly stop VM [@MickLesk](https://github.com/MickLesk) ([#13504](https://github.com/community-scripts/ProxmoxVE/pull/13504))
- NginxProxyManager: fix openresty restart by setting user root before reload [@MickLesk](https://github.com/MickLesk) ([#13500](https://github.com/community-scripts/ProxmoxVE/pull/13500))
- #### ✨ New Features
- Crafty Controller: add Java 25 for Minecraft 1.26.1+ [@MickLesk](https://github.com/MickLesk) ([#13502](https://github.com/community-scripts/ProxmoxVE/pull/13502))
- Wealthfolio: update to v3.2.1 and Node.js 24 [@afadil](https://github.com/afadil) ([#13486](https://github.com/community-scripts/ProxmoxVE/pull/13486))
### 💾 Core
- #### 🐞 Bug Fixes
- core.func: prevent profile.d scripts from aborting on non-zero exit [@MickLesk](https://github.com/MickLesk) ([#13503](https://github.com/community-scripts/ProxmoxVE/pull/13503))
- #### ✨ New Features
- APT Proxy: Support full URLs (http/https with custom ports) [@MickLesk](https://github.com/MickLesk) ([#13474](https://github.com/community-scripts/ProxmoxVE/pull/13474))
### 🧰 Tools
- #### 🐞 Bug Fixes
- PVE LXC-Updater: pipe apt list through cat to prevent pager hang [@MickLesk](https://github.com/MickLesk) ([#13501](https://github.com/community-scripts/ProxmoxVE/pull/13501))
## 2026-04-02
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Grist: Guard backup restore for empty docs/db files [@MickLesk](https://github.com/MickLesk) ([#13472](https://github.com/community-scripts/ProxmoxVE/pull/13472))
- fix(zigbee2mqtt): suppress grep error when pnpm-workspace.yaml is absent on update [@Copilot](https://github.com/Copilot) ([#13476](https://github.com/community-scripts/ProxmoxVE/pull/13476))
### 🧰 Tools
- #### 🐞 Bug Fixes
- Cron LXC Updater: Add full PATH for cron environment [@MickLesk](https://github.com/MickLesk) ([#13473](https://github.com/community-scripts/ProxmoxVE/pull/13473))
## 2026-04-01
### 🆕 New Scripts
- DrawDB ([#13454](https://github.com/community-scripts/ProxmoxVE/pull/13454))
### 🧰 Tools
- #### 🐞 Bug Fixes
- Filebrowser: make noauth setup use correct database [@MickLesk](https://github.com/MickLesk) ([#13457](https://github.com/community-scripts/ProxmoxVE/pull/13457))
## 2026-03-31
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Graylog: set vm.max_map_count on host for OpenSearch [@MickLesk](https://github.com/MickLesk) ([#13441](https://github.com/community-scripts/ProxmoxVE/pull/13441))
- Koillection: ensure newline before appending to .env.local [@MickLesk](https://github.com/MickLesk) ([#13440](https://github.com/community-scripts/ProxmoxVE/pull/13440))
### 💾 Core
- #### 🔧 Refactor
- core: skip empty gateway value in network config [@MickLesk](https://github.com/MickLesk) ([#13442](https://github.com/community-scripts/ProxmoxVE/pull/13442))
## 2026-03-30
### 🆕 New Scripts
- Bambuddy ([#13411](https://github.com/community-scripts/ProxmoxVE/pull/13411))
### 🚀 Updated Scripts
- #### 💥 Breaking Changes
- Rename: BirdNET > BirdNET-Go [@MickLesk](https://github.com/MickLesk) ([#13410](https://github.com/community-scripts/ProxmoxVE/pull/13410))
## 2026-03-29
### 🆕 New Scripts
- YOURLS ([#13379](https://github.com/community-scripts/ProxmoxVE/pull/13379))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- fix(victoriametrics): use jq to filter releases [@Joery-M](https://github.com/Joery-M) ([#13393](https://github.com/community-scripts/ProxmoxVE/pull/13393))
- Ollama: add error handling for Intel GPG key imports [@MickLesk](https://github.com/MickLesk) ([#13397](https://github.com/community-scripts/ProxmoxVE/pull/13397))
- Immich: ignore Redis connection error on maintenance mode disable [@MickLesk](https://github.com/MickLesk) ([#13398](https://github.com/community-scripts/ProxmoxVE/pull/13398))
- NPM: unmask openresty after migration from package [@MickLesk](https://github.com/MickLesk) ([#13399](https://github.com/community-scripts/ProxmoxVE/pull/13399))
## 2026-03-28
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Fix: Update gokapi binary name for v2.2.4+ and add migration step [@krazos](https://github.com/krazos) ([#13377](https://github.com/community-scripts/ProxmoxVE/pull/13377))
- Fix: update gokapi asset matching for v2.2.4+ naming convention [@krazos](https://github.com/krazos) ([#13369](https://github.com/community-scripts/ProxmoxVE/pull/13369))
- Tandoor Recipes: Add missing env variable [@tremor021](https://github.com/tremor021) ([#13365](https://github.com/community-scripts/ProxmoxVE/pull/13365))
- #### ✨ New Features
- FileFlows: add option to install Node [@tremor021](https://github.com/tremor021) ([#13368](https://github.com/community-scripts/ProxmoxVE/pull/13368))
## 2026-03-27
### 🆕 New Scripts
- Matter-Server ([#13355](https://github.com/community-scripts/ProxmoxVE/pull/13355))
- GeoPulse ([#13320](https://github.com/community-scripts/ProxmoxVE/pull/13320))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- RevealJS: Switch from gulp to vite [@tremor021](https://github.com/tremor021) ([#13336](https://github.com/community-scripts/ProxmoxVE/pull/13336))
- #### ✨ New Features
- Dispatcharr add custom Postgres port support for upgrade [@MickLesk](https://github.com/MickLesk) ([#13347](https://github.com/community-scripts/ProxmoxVE/pull/13347))
- Immich: bump to v2.6.3 [@MickLesk](https://github.com/MickLesk) ([#13324](https://github.com/community-scripts/ProxmoxVE/pull/13324))
### 🧰 Tools
- #### ✨ New Features
- Refactor/Feature-Bump/Security: Update-Cron-LXCs (Now Local Mode!) [@MickLesk](https://github.com/MickLesk) ([#13339](https://github.com/community-scripts/ProxmoxVE/pull/13339))
- core: fix some pct create issues (telemetry) + cleanup [@MickLesk](https://github.com/MickLesk) ([#13810](https://github.com/community-scripts/ProxmoxVE/pull/13810))

View File

@@ -30,7 +30,7 @@ The collection covers hundreds of services across categories like home automatio
| Component | Details |
| -------------- | ------------------------------------------------ |
| **Proxmox VE** | Version 8.4, 9.0, or 9.1 |
| **Proxmox VE** | Version 8.4, 9.0, 9.1, or 9.2 |
| **Host OS** | Proxmox VE (Debian-based) |
| **Access** | Root shell access on the Proxmox host |
| **Network** | Internet connection required during installation |

View File

@@ -6,6 +6,7 @@ This project currently supports the following versions of Proxmox VE (PVE):
| Version | Supported |
| ------- | ------------------ |
| 9.2.x | :white_check_mark: |
| 9.1.x | :white_check_mark: |
| 9.0.x | :white_check_mark: |
| 8.4.x | :white_check_mark: |

View File

@@ -21,8 +21,6 @@ catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /usr/local/bin/ironclaw ]]; then
msg_error "No ${APP} Installation Found!"

View File

@@ -22,8 +22,6 @@ catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /etc/ntfy ]]; then
msg_error "No ${APP} Installation Found!"
exit

View File

@@ -21,7 +21,6 @@ catch_errors
function update_script() {
header_info
check_container_resources
if [[ ! -d /opt/redlib ]]; then
msg_error "No ${APP} Installation Found!"

View File

@@ -21,8 +21,6 @@ catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if ! apk info -e rustypaste >/dev/null 2>&1; then
msg_error "No ${APP} Installation Found!"

View File

@@ -3,7 +3,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
# Copyright (c) 2021-2026 community-scripts ORG
# Author: Slaviša Arežina (tremor021) | Co-Author: Stavros (steveiliop56)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/steveiliop56/tinyauth
# Source: https://github.com/tinyauthapp/tinyauth
APP="Alpine-Tinyauth"
var_tags="${var_tags:-alpine;auth}"
@@ -29,7 +29,7 @@ function update_script() {
$STD apk -U upgrade
msg_ok "Updated packages"
RELEASE=$(curl -s https://api.github.com/repos/steveiliop56/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
RELEASE=$(curl -s https://api.github.com/repos/tinyauthapp/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [ "${RELEASE}" != "$(cat ~/.tinyauth 2>/dev/null)" ] || [ ! -f ~/.tinyauth ]; then
msg_info "Stopping Service"
$STD service tinyauth stop
@@ -51,7 +51,7 @@ function update_script() {
msg_info "Updating Tinyauth"
rm -f /opt/tinyauth/tinyauth
curl -fsSL "https://github.com/steveiliop56/tinyauth/releases/download/v${RELEASE}/tinyauth-amd64" -o /opt/tinyauth/tinyauth
curl -fsSL "https://github.com/tinyauthapp/tinyauth/releases/download/v${RELEASE}/tinyauth-amd64" -o /opt/tinyauth/tinyauth
chmod +x /opt/tinyauth/tinyauth
echo "${RELEASE}" >~/.tinyauth
msg_ok "Updated Tinyauth"

View File

@@ -89,7 +89,7 @@ function update_script() {
# Auth JDBC follows server version
msg_info "Updating Guacamole Auth JDBC"
rm -f /etc/guacamole/extensions/guacamole-auth-jdbc-mysql-*.jar
curl -fsSL "https://downloads.apache.org/guacamole/${LATEST_SERVER}/binary/guacamole-auth-jdbc-${LATEST_SERVER}.tar.gz" -o "/tmp/guacamole-auth-jdbc.tar.gz"
curl_download "/tmp/guacamole-auth-jdbc.tar.gz" "https://downloads.apache.org/guacamole/${LATEST_SERVER}/binary/guacamole-auth-jdbc-${LATEST_SERVER}.tar.gz"
$STD tar -xf /tmp/guacamole-auth-jdbc.tar.gz -C /tmp
mv /tmp/guacamole-auth-jdbc-"${LATEST_SERVER}"/mysql/guacamole-auth-jdbc-mysql-"${LATEST_SERVER}".jar /etc/guacamole/extensions/
echo "${LATEST_SERVER}" >~/.guacamole_auth_jdbc
@@ -101,7 +101,7 @@ function update_script() {
# Update Guacamole Client
if [[ "$CURRENT_CLIENT" != "$LATEST_CLIENT" ]]; then
msg_info "Updating Guacamole Client (${CURRENT_CLIENT}${LATEST_CLIENT})"
curl -fsSL "https://downloads.apache.org/guacamole/${LATEST_CLIENT}/binary/guacamole-${LATEST_CLIENT}.war" -o "/opt/apache-guacamole/tomcat9/webapps/guacamole.war"
curl_download "/opt/apache-guacamole/tomcat9/webapps/guacamole.war" "https://downloads.apache.org/guacamole/${LATEST_CLIENT}/binary/guacamole-${LATEST_CLIENT}.war"
echo "${LATEST_CLIENT}" >~/.guacamole_client
msg_ok "Updated Guacamole Client"
else
@@ -111,7 +111,7 @@ function update_script() {
# Update MySQL Connector
if [[ "$CURRENT_MYSQL_CONNECTOR" != "$LATEST_MYSQL_CONNECTOR" ]]; then
msg_info "Updating MySQL Connector (${CURRENT_MYSQL_CONNECTOR}${LATEST_MYSQL_CONNECTOR})"
curl -fsSL "https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/${LATEST_MYSQL_CONNECTOR}/mysql-connector-j-${LATEST_MYSQL_CONNECTOR}.jar" -o "/etc/guacamole/lib/mysql-connector-j.jar"
curl_download "/etc/guacamole/lib/mysql-connector-j.jar" "https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/${LATEST_MYSQL_CONNECTOR}/mysql-connector-j-${LATEST_MYSQL_CONNECTOR}.jar"
echo "${LATEST_MYSQL_CONNECTOR}" >~/.guacamole_mysql_connector
msg_ok "Updated MySQL Connector"
else
@@ -148,7 +148,7 @@ function update_script() {
if [[ -f /etc/guacamole/extensions/guacamole-auth-totp-*.jar ]]; then
msg_info "Updating TOTP Extension"
rm -f /etc/guacamole/extensions/guacamole-auth-totp-*.jar
curl -fsSL "https://downloads.apache.org/guacamole/${LATEST_SERVER}/binary/guacamole-auth-totp-${LATEST_SERVER}.tar.gz" -o "/tmp/guacamole-auth-totp.tar.gz"
curl_download "/tmp/guacamole-auth-totp.tar.gz" "https://downloads.apache.org/guacamole/${LATEST_SERVER}/binary/guacamole-auth-totp-${LATEST_SERVER}.tar.gz"
$STD tar -xf /tmp/guacamole-auth-totp.tar.gz -C /tmp
mv /tmp/guacamole-auth-totp-"${LATEST_SERVER}"/guacamole-auth-totp-"${LATEST_SERVER}".jar /etc/guacamole/extensions/
chmod 664 /etc/guacamole/extensions/guacamole-auth-totp-"${LATEST_SERVER}".jar
@@ -160,7 +160,7 @@ function update_script() {
if [[ -f /etc/guacamole/extensions/guacamole-auth-duo-*.jar ]]; then
msg_info "Updating DUO Extension"
rm -f /etc/guacamole/extensions/guacamole-auth-duo-*.jar
curl -fsSL "https://downloads.apache.org/guacamole/${LATEST_SERVER}/binary/guacamole-auth-duo-${LATEST_SERVER}.tar.gz" -o "/tmp/guacamole-auth-duo.tar.gz"
curl_download "/tmp/guacamole-auth-duo.tar.gz" "https://downloads.apache.org/guacamole/${LATEST_SERVER}/binary/guacamole-auth-duo-${LATEST_SERVER}.tar.gz"
$STD tar -xf /tmp/guacamole-auth-duo.tar.gz -C /tmp
mv /tmp/guacamole-auth-duo-"${LATEST_SERVER}"/guacamole-auth-duo-"${LATEST_SERVER}".jar /etc/guacamole/extensions/
chmod 664 /etc/guacamole/extensions/guacamole-auth-duo-"${LATEST_SERVER}".jar
@@ -172,7 +172,7 @@ function update_script() {
if [[ -f /etc/guacamole/extensions/guacamole-auth-ldap-*.jar ]]; then
msg_info "Updating LDAP Extension"
rm -f /etc/guacamole/extensions/guacamole-auth-ldap-*.jar
curl -fsSL "https://downloads.apache.org/guacamole/${LATEST_SERVER}/binary/guacamole-auth-ldap-${LATEST_SERVER}.tar.gz" -o "/tmp/guacamole-auth-ldap.tar.gz"
curl_download "/tmp/guacamole-auth-ldap.tar.gz" "https://downloads.apache.org/guacamole/${LATEST_SERVER}/binary/guacamole-auth-ldap-${LATEST_SERVER}.tar.gz"
$STD tar -xf /tmp/guacamole-auth-ldap.tar.gz -C /tmp
mv /tmp/guacamole-auth-ldap-"${LATEST_SERVER}"/guacamole-auth-ldap-"${LATEST_SERVER}".jar /etc/guacamole/extensions/
chmod 664 /etc/guacamole/extensions/guacamole-auth-ldap-"${LATEST_SERVER}".jar
@@ -184,7 +184,7 @@ function update_script() {
if [[ -f /etc/guacamole/extensions/guacamole-auth-quickconnect-*.jar ]]; then
msg_info "Updating Quick Connect Extension"
rm -f /etc/guacamole/extensions/guacamole-auth-quickconnect-*.jar
curl -fsSL "https://downloads.apache.org/guacamole/${LATEST_SERVER}/binary/guacamole-auth-quickconnect-${LATEST_SERVER}.tar.gz" -o "/tmp/guacamole-auth-quickconnect.tar.gz"
curl_download "/tmp/guacamole-auth-quickconnect.tar.gz" "https://downloads.apache.org/guacamole/${LATEST_SERVER}/binary/guacamole-auth-quickconnect-${LATEST_SERVER}.tar.gz"
$STD tar -xf /tmp/guacamole-auth-quickconnect.tar.gz -C /tmp
mv /tmp/guacamole-auth-quickconnect-"${LATEST_SERVER}"/guacamole-auth-quickconnect-"${LATEST_SERVER}".jar /etc/guacamole/extensions/
chmod 664 /etc/guacamole/extensions/guacamole-auth-quickconnect-"${LATEST_SERVER}".jar
@@ -196,7 +196,7 @@ function update_script() {
if [[ -f /etc/guacamole/extensions/guacamole-history-recording-storage-*.jar ]]; then
msg_info "Updating History Recording Storage Extension"
rm -f /etc/guacamole/extensions/guacamole-history-recording-storage-*.jar
curl -fsSL "https://downloads.apache.org/guacamole/${LATEST_SERVER}/binary/guacamole-history-recording-storage-${LATEST_SERVER}.tar.gz" -o "/tmp/guacamole-history-recording-storage.tar.gz"
curl_download "/tmp/guacamole-history-recording-storage.tar.gz" "https://downloads.apache.org/guacamole/${LATEST_SERVER}/binary/guacamole-history-recording-storage-${LATEST_SERVER}.tar.gz"
$STD tar -xf /tmp/guacamole-history-recording-storage.tar.gz -C /tmp
mv /tmp/guacamole-history-recording-storage-"${LATEST_SERVER}"/guacamole-history-recording-storage-"${LATEST_SERVER}".jar /etc/guacamole/extensions/
chmod 664 /etc/guacamole/extensions/guacamole-history-recording-storage-"${LATEST_SERVER}".jar

155
ct/authentik.sh Normal file
View File

@@ -0,0 +1,155 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: Thieneret
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/goauthentik/authentik
APP="authentik"
var_tags="${var_tags:-auth}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-16}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/authentik ]]; then
msg_error "No authentik Installation Found!"
exit
fi
NODE_VERSION="24" setup_nodejs
setup_go
UV_PYTHON_INSTALL_DIR="/usr/local/bin" PYTHON_VERSION="3.14.3" setup_uv
setup_rust
AUTHENTIK_VERSION="version/2026.2.3"
XMLSEC_VERSION="1.3.11"
if check_for_gh_release "geoipupdate" "maxmind/geoipupdate"; then
fetch_and_deploy_gh_release "geoipupdate" "maxmind/geoipupdate" "binary"
fi
if check_for_gh_release "xmlsec" "lsh123/xmlsec" "${XMLSEC_VERSION}"; then
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "xmlsec" "lsh123/xmlsec" "tarball" "${XMLSEC_VERSION}" "/opt/xmlsec"
msg_info "Updating xmlsec"
cd /opt/xmlsec
$STD ./autogen.sh
$STD make -j $(nproc)
$STD make check
$STD make install
$STD ldconfig
msg_ok "Updated xmlsec"
fi
if check_for_gh_release "authentik" "goauthentik/authentik" "${AUTHENTIK_VERSION}"; then
msg_info "Stopping Services"
systemctl stop authentik-server authentik-worker
if [[ $(systemctl is-active authentik-ldap) == active ]]; then
systemctl stop authentik-ldap
fi
if [[ $(systemctl is-active authentik-rac) == active ]]; then
systemctl stop authentik-rac
fi
if [[ $(systemctl is-active authentik-radius) == active ]]; then
systemctl stop authentik-radius
fi
msg_ok "Stopped Services"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "authentik" "goauthentik/authentik" "tarball" "${AUTHENTIK_VERSION}" "/opt/authentik"
msg_info "Updating web"
cd /opt/authentik/web
export NODE_ENV="production"
$STD npm install
$STD npm run build
$STD npm run build:sfe
msg_ok "Updated web"
msg_info "Updating go proxy"
cd /opt/authentik
export CGO_ENABLED="1"
$STD go mod download
$STD go build -o /opt/authentik/authentik-server ./cmd/server
$STD go build -o /opt/authentik/ldap ./cmd/ldap
$STD go build -o /opt/authentik/rac ./cmd/rac
$STD go build -o /opt/authentik/radius ./cmd/radius
msg_ok "Updated go proxy"
msg_info "Updating python server"
export UV_NO_BINARY_PACKAGE="cryptography lxml python-kadmin-rs xmlsec"
export UV_COMPILE_BYTECODE="1"
export UV_LINK_MODE="copy"
export UV_NATIVE_TLS="1"
export RUSTUP_PERMIT_COPY_RENAME="true"
export UV_PYTHON_INSTALL_DIR="/usr/local/bin"
cd /opt/authentik
$STD uv sync --frozen --no-install-project --no-dev
chown -R authentik:authentik /opt/authentik
msg_ok "Updated python server"
fi
msg_info "Starting Services"
systemctl start authentik-server authentik-worker
if [[ $(systemctl is-enabled authentik-ldap) == enabled ]]; then
systemctl start authentik-ldap
fi
if [[ $(systemctl is-enabled authentik-rac) == enabled ]]; then
systemctl start authentik-rac
fi
if [[ $(systemctl is-enabled authentik-radius) == enabled ]]; then
systemctl start authentik-radius
fi
msg_ok "Started Services"
msg_ok "Updated successfully!"
exit
}
start
build_container
msg_info "Attaching data storage volume"
$STD pct stop "$CTID"
if [ "${PROTECT_CT:-}" == "1" ] || [ "${PROTECT_CT:-}" == "yes" ]; then
$STD pct set "$CTID" --protection 0
$STD pct set "$CTID" -mp0 "${CONTAINER_STORAGE}":1,mp=/opt/authentik-data,backup=1
$STD pct set "$CTID" --protection 1
else
$STD pct set "$CTID" -mp0 "${CONTAINER_STORAGE}":1,mp=/opt/authentik-data,backup=1
fi
$STD pct start "$CTID"
for i in {1..10}; do
pct status "$CTID" | grep -q "status: running" && break
sleep 1
done
$STD pct exec "$CTID" -- bash -c "mkdir -p /opt/authentik-data/{certs,media,geoip,templates}; \
cp /opt/authentik/tests/GeoLite2-ASN-Test.mmdb /opt/authentik-data/geoip/GeoLite2-ASN.mmdb; \
cp /opt/authentik/tests/GeoLite2-City-Test.mmdb /opt/authentik-data/geoip/GeoLite2-City.mmdb; \
chown authentik:authentik /opt/authentik-data; \
chown -R authentik:authentik /opt/authentik-data/{certs,media,geoip,templates}"
msg_ok "Attached data storage volume"
msg_info "Starting Services"
pct exec "$CTID" -- systemctl enable -q --now authentik-server authentik-worker
msg_ok "Started Services"
description
msg_ok "Completed successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Initial setup URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000/if/flow/initial-setup/${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000${CL}"

View File

@@ -36,7 +36,9 @@ function update_script() {
msg_info "Updating Beszel"
$STD /opt/beszel/beszel update
sleep 2 && chmod +x /opt/beszel/beszel
msg_ok "Updated Beszel"
VERSION=$(/opt/beszel/beszel -v | awk '{print $3}')
echo "${VERSION}" >$HOME/.beszel
msg_ok "Updated Beszel to ${VERSION}"
msg_info "Starting Service"
systemctl start beszel-hub

View File

@@ -28,15 +28,95 @@ function update_script() {
exit
fi
CURRENT_VERSION="unknown"
if [[ -f /root/.bichon ]]; then
CURRENT_VERSION=$(cat /root/.bichon)
fi
MIGRATE_V1=0
if [[ "$CURRENT_VERSION" == 0.* ]]; then
MIGRATE_V1=1
DISK_USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$DISK_USAGE" -gt 50 ]; then
echo -e "\n${RD}Warning: Less than 50% free storage remaining on the root disk.${CL}"
echo -e "${RD}Bichon v1 data migration temporarily duplicates data and requires free space for it.${CL}"
read -r -p "Are you sure you want to proceed with the update? (y/N): " proceed
if [[ ! "$proceed" =~ ^[Yy]$ ]]; then
msg_error "Update cancelled by user."
exit
fi
fi
RAM_TOTAL=$(free -m | awk '/^Mem:/{print $2}')
if [ "$RAM_TOTAL" -lt 2000 ]; then
echo -e "\n${RD}Warning: LXC has less than 2GB of RAM allocated (${RAM_TOTAL}MB).${CL}"
echo -e "${RD}Bichon v1 data migration consumes significant memory and may crash if insufficient.${CL}"
read -r -p "Are you sure you want to proceed with the update? (y/N): " proceed_ram
if [[ ! "$proceed_ram" =~ ^[Yy]$ ]]; then
msg_error "Update cancelled by user."
exit
fi
fi
fi
if check_for_gh_release "bichon" "rustmailer/bichon"; then
msg_info "Stopping service"
systemctl stop bichon
msg_ok "Stopped service"
cp /opt/bichon/bichon.env /tmp/bichon.env.backup
if [ "$MIGRATE_V1" -eq 1 ] && [ "$CURRENT_VERSION" != "0.3.7" ]; then
msg_info "Updating to intermediate version v0.3.7"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "bichon" "rustmailer/bichon" "prebuild" "v0.3.7" "/opt/bichon" "bichon-*-x86_64-unknown-linux-gnu.tar.gz"
cp /tmp/bichon.env.backup /opt/bichon/bichon.env
systemctl start bichon
sleep 30
systemctl stop bichon
msg_ok "Intermediate update completed"
fi
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "bichon" "rustmailer/bichon" "prebuild" "latest" "/opt/bichon" "bichon-*-x86_64-unknown-linux-gnu.tar.gz"
cp /tmp/bichon.env.backup /opt/bichon/bichon.env
if [ "$MIGRATE_V1" -eq 1 ]; then
msg_info "Running Bichon v1 Data Migration (patience)"
$STD apt install -y expect
$STD expect <<'EOF'
set timeout -1
spawn /opt/bichon/bichon-admin
expect "*Select an operation*"
send "\033\[B\r"
expect "*--bichon-root-dir*"
send "/opt/bichon-data\r"
expect "*--bichon-index-dir*"
send "\r"
expect "*--bichon-data-dir*"
send "\r"
expect "*Ready to migrate?*"
send "y"
expect "*Enter batch size*"
send "1000\r"
expect eof
catch wait
EOF
$STD apt remove --purge expect -y
$STD apt autoremove -y
msg_ok "Migration completed"
msg_info "Cleaning up legacy Bichon v0.x storage files"
rm -rf /opt/bichon-data/envelope
rm -rf /opt/bichon-data/eml
rm -f /opt/bichon-data/mailbox.db
rm -f /opt/bichon-data/meta.db
msg_ok "Cleanup completed"
msg_info "Updating Bichon service for v1"
sed -i 's|ExecStart=/opt/bichon/bichon|ExecStart=/opt/bichon/bichon-server|g; s|RestartSec=5|RestartSec=5\n\nLimitNOFILE=65536|g' /etc/systemd/system/bichon.service
systemctl daemon-reload
msg_ok "Service updated"
fi
msg_info "Starting service"
systemctl start bichon
msg_ok "Service started"

View File

@@ -33,9 +33,14 @@ function update_script() {
msg_info "Updating checkmk"
$STD omd stop monitoring
$STD omd cp monitoring monitoringbackup
curl_with_retry "https://download.checkmk.com/checkmk/${RELEASE}/check-mk-community-${RELEASE}_0.$(get_os_info codename)_amd64.deb" "/opt/checkmk.deb"
curl_download "/opt/checkmk.deb" "https://download.checkmk.com/checkmk/${RELEASE}/check-mk-community-${RELEASE}_0.$(get_os_info codename)_amd64.deb"
$STD apt install -y /opt/checkmk.deb
$STD omd --force -V ${RELEASE}.cre update --conflict=install monitoring
OMD_VERSION=$(omd versions 2>/dev/null | grep "^${RELEASE}" | awk '{print $1}')
if [[ -z "${OMD_VERSION}" ]]; then
msg_error "Could not find installed OMD version for release ${RELEASE}"
exit 1
fi
$STD omd --force -V "${OMD_VERSION}" update --conflict=install monitoring
$STD omd start monitoring
$STD omd -f rm monitoringbackup
$STD omd cleanup

55
ct/cliproxyapi.sh Normal file
View File

@@ -0,0 +1,55 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: mathiasnagler
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/router-for-me/CLIProxyAPI
APP="CLIProxyAPI"
var_tags="${var_tags:-ai;proxy}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/cliproxyapi ]]; then
msg_error "No CLIProxyAPI Installation Found!"
exit
fi
if check_for_gh_release "cliproxyapi" "router-for-me/CLIProxyAPI"; then
msg_info "Stopping CLIProxyAPI"
systemctl stop cliproxyapi
msg_ok "Stopped CLIProxyAPI"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "cliproxyapi" "router-for-me/CLIProxyAPI" "prebuild" "latest" "/opt/cliproxyapi" "CLIProxyAPI_*_linux_amd64.tar.gz"
msg_info "Starting CLIProxyAPI"
systemctl start cliproxyapi
msg_ok "Started CLIProxyAPI"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8317${CL}"

View File

@@ -23,37 +23,34 @@ function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/dashy/public/ ]]; then
if [[ ! -d /opt/dashy ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
NODE_VERSION="24" NODE_MODULE="yarn" setup_nodejs
if check_for_gh_release "dashy" "Lissy93/dashy"; then
msg_info "Stopping Service"
systemctl stop dashy
msg_ok "Stopped Service"
msg_info "Backing up conf.yml"
if [[ -f /opt/dashy/public/conf.yml ]]; then
cp -R /opt/dashy/public/conf.yml /opt/dashy_conf_backup.yml
else
cp -R /opt/dashy/user-data/conf.yml /opt/dashy_conf_backup.yml
fi
msg_ok "Backed up conf.yml"
msg_info "Backing up user-data"
rm -rf /opt/dashy_user_data_backup
cp -r /opt/dashy/user-data /opt/dashy_user_data_backup
msg_ok "Backed up user-data"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "dashy" "Lissy93/dashy" "prebuild" "latest" "/opt/dashy" "dashy-*.tar.gz"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "dashy" "lissy93/dashy" "prebuild" "latest" "/opt/dashy" "dashy-*.tar.gz"
msg_info "Updating Dashy"
cd /opt/dashy
$STD yarn install --ignore-engines --network-timeout 300000
msg_ok "Updated Dashy"
msg_info "Restoring conf.yml"
cp -R /opt/dashy_conf_backup.yml /opt/dashy/user-data
msg_ok "Restored conf.yml"
msg_info "Cleaning"
rm -rf /opt/dashy_conf_backup.yml /opt/dashy/public/conf.yml
msg_ok "Cleaned"
msg_info "Restoring user-data"
cp -r /opt/dashy_user_data_backup/. /opt/dashy/user-data/
rm -rf /opt/dashy_user_data_backup
msg_ok "Restored user-data"
msg_info "Starting Dashy"
systemctl start dashy

View File

@@ -35,7 +35,10 @@ function update_script() {
msg_ok "Stopped Databasus"
msg_info "Backing up Configuration"
cp /opt/databasus/.env /opt/databasus.env.bak
[[ ! -f /.env && -f /opt/databasus/.env ]] && cp /opt/databasus/.env /.env
chmod 600 /.env
cp /.env /opt/databasus.env.bak
chmod 600 /opt/databasus.env.bak
msg_ok "Backed up Configuration"
msg_info "Ensuring Database Clients"
@@ -46,7 +49,7 @@ function update_script() {
# Install MongoDB Database Tools via direct .deb (no APT repo for Debian 13)
if ! command -v mongodump &>/dev/null; then
[[ "$(get_os_info id)" == "ubuntu" ]] && MONGO_DIST="ubuntu2204" || MONGO_DIST="debian12"
fetch_and_deploy_from_url "https://fastdl.mongodb.org/tools/db/mongodb-database-tools-${MONGO_DIST}-x86_64-100.14.1.deb"
fetch_and_deploy_from_url "https://fastdl.mongodb.org/tools/db/mongodb-database-tools-${MONGO_DIST}-x86_64-100.16.1.deb"
fi
[[ -f /usr/bin/mongodump ]] && ln -sf /usr/bin/mongodump /usr/local/mongodb-database-tools/bin/mongodump
[[ -f /usr/bin/mongorestore ]] && ln -sf /usr/bin/mongorestore /usr/local/mongodb-database-tools/bin/mongorestore
@@ -66,9 +69,12 @@ function update_script() {
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "databasus" "databasus/databasus" "tarball" "latest" "/opt/databasus"
msg_info "Updating Databasus"
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
cd /opt/databasus/frontend
$STD npm ci
$STD npm run build
$STD corepack enable
$STD corepack prepare pnpm@latest --activate
$STD pnpm install --frozen-lockfile
$STD pnpm run build
cd /opt/databasus/backend
$STD go mod download
$STD /root/go/bin/swag init -g cmd/main.go -o swagger
@@ -81,11 +87,18 @@ function update_script() {
msg_ok "Updated Databasus"
msg_info "Restoring Configuration"
cp /opt/databasus.env.bak /opt/databasus/.env
cp /opt/databasus.env.bak /.env
rm -f /opt/databasus.env.bak
chown postgres:postgres /opt/databasus/.env
chmod 600 /.env
msg_ok "Restored Configuration"
if ! grep -q "EnvironmentFile=/.env" /etc/systemd/system/databasus.service; then
msg_info "Updating Service"
sed -i 's|EnvironmentFile=.*|EnvironmentFile=/.env|' /etc/systemd/system/databasus.service
$STD systemctl daemon-reload
msg_ok "Updated Service"
fi
msg_info "Starting Databasus"
$STD systemctl start databasus
msg_ok "Started Databasus"

View File

@@ -45,12 +45,12 @@ function update_script() {
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "dawarich" "Freika/dawarich" "tarball" "latest" "/opt/dawarich/app"
RUBY_VERSION=$(cat /opt/dawarich/app/.ruby-version 2>/dev/null || echo "3.4.6")
RUBY_VERSION=${RUBY_VERSION} RUBY_INSTALL_RAILS="false" setup_ruby
RUBY_VERSION=${RUBY_VERSION} RUBY_INSTALL_RAILS="false" HOME=/root setup_ruby
msg_info "Running Migrations"
cd /opt/dawarich/app
source /root/.profile
export PATH="/root/.rbenv/shims:/root/.rbenv/bin:$PATH"
export PATH="/root/.rbenv/shims:/root/.rbenv/bin:${PATH}"
eval "$(/root/.rbenv/bin/rbenv init - bash)"
if ! grep -q "OTP_ENCRYPTION_PRIMARY_KEY" /opt/dawarich/.env; then

73
ct/degoog.sh Normal file
View File

@@ -0,0 +1,73 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/fccview/degoog
APP="degoog"
var_tags="${var_tags:-search;privacy}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-6}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/degoog ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "degoog" "fccview/degoog"; then
msg_info "Stopping Service"
systemctl stop degoog
msg_ok "Stopped Service"
msg_info "Backing up Configuration & Data"
[[ -f /opt/degoog/.env ]] && cp /opt/degoog/.env /opt/degoog.env.bak
[[ -d /opt/degoog/data ]] && mv /opt/degoog/data /opt/degoog_data_backup
msg_ok "Backed up Configuration & Data"
if ! command -v bun >/dev/null 2>&1; then
msg_info "Installing Bun"
export BUN_INSTALL="/root/.bun"
curl -fsSL https://bun.sh/install | $STD bash
ln -sf /root/.bun/bin/bun /usr/local/bin/bun
ln -sf /root/.bun/bin/bunx /usr/local/bin/bunx
msg_ok "Installed Bun"
fi
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "degoog" "fccview/degoog" "prebuild" "latest" "/opt/degoog" "degoog_*_prebuild.tar.gz"
msg_info "Restoring Configuration & Data"
[[ -f /opt/degoog.env.bak ]] && mv /opt/degoog.env.bak /opt/degoog/.env
[[ -d /opt/degoog_data_backup ]] && mv /opt/degoog_data_backup /opt/degoog/data
msg_ok "Restored Configuration & Data"
msg_info "Starting Service"
systemctl start degoog
msg_ok "Started Service"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4444${CL}"

84
ct/docuseal.sh Normal file
View File

@@ -0,0 +1,84 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.docuseal.com/
APP="DocuSeal"
var_tags="${var_tags:-document;esignature;pdf}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/docuseal ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "docuseal" "docusealco/docuseal"; then
msg_info "Stopping Services"
systemctl stop docuseal docuseal-sidekiq
msg_ok "Stopped Services"
msg_info "Backing up Data"
cp /opt/docuseal/.env /opt/docuseal.env.bak
[[ -d /opt/docuseal/data ]] && mv /opt/docuseal/data /opt/docuseal_data.bak
msg_ok "Backed up Data"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "docuseal" "docusealco/docuseal" "tarball"
msg_info "Restoring Data"
mv /opt/docuseal.env.bak /opt/docuseal/.env
[[ -d /opt/docuseal_data.bak ]] && mv /opt/docuseal_data.bak /opt/docuseal/data
msg_ok "Restored Data"
msg_info "Building Application"
cd /opt/docuseal
export PATH="/root/.rbenv/bin:/root/.rbenv/shims:${PATH}"
eval "$(rbenv init - bash)" 2>/dev/null || true
export RAILS_ENV=production
export NODE_ENV=production
export SECRET_KEY_BASE_DUMMY=1
set -a
source /opt/docuseal/.env
set +a
$STD bundle config set --local deployment 'true'
$STD bundle config set --local without 'development:test'
$STD bundle install -j"$(nproc)"
$STD yarn install --network-timeout 1000000
$STD ./bin/shakapacker
$STD bundle exec rails db:migrate
$STD bundle exec bootsnap precompile -j 1 --gemfile app/ lib/
chown -R docuseal:docuseal /opt/docuseal
msg_ok "Built Application"
msg_info "Starting Services"
systemctl start docuseal docuseal-sidekiq
msg_ok "Started Services"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

View File

@@ -3,7 +3,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
# Copyright (c) 2021-2026 community-scripts ORG
# Author: johanngrobe
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/joaovitoriasilva/endurain
# Source: https://codeberg.org/endurain-project/endurain
APP="Endurain"
var_tags="${var_tags:-sport;social-media}"
@@ -28,7 +28,7 @@ function update_script() {
msg_error "No ${APP} installation found!"
exit 233
fi
if check_for_gh_release "endurain" "endurain-project/endurain"; then
if check_for_codeberg_release "endurain" "endurain-project/endurain"; then
msg_info "Stopping Service"
systemctl stop endurain
msg_ok "Stopped Service"
@@ -38,7 +38,7 @@ function update_script() {
cp /opt/endurain/frontend/app/dist/env.js /opt/endurain.env.js
msg_ok "Created Backup"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "endurain" "endurain-project/endurain" "tarball" "latest" "/opt/endurain"
CLEAN_INSTALL=1 fetch_and_deploy_codeberg_release "endurain" "endurain-project/endurain" "tarball" "latest" "/opt/endurain"
msg_info "Preparing Update"
cd /opt/endurain

54
ct/espconnect.sh Normal file
View File

@@ -0,0 +1,54 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: John Lombardo (programbo)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/thelastoutpostworkshop/ESPConnect
APP="ESPConnect"
var_tags="${var_tags:-iot;esp32;flash}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/espconnect ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "espconnect" "thelastoutpostworkshop/ESPConnect"; then
msg_info "Stopping Nginx"
systemctl stop nginx
msg_ok "Stopped Nginx"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "espconnect" "thelastoutpostworkshop/ESPConnect" "prebuild" "latest" "/opt/espconnect" "dist.zip"
msg_info "Starting Nginx"
systemctl start nginx
msg_ok "Started Nginx"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}${CL}"

View File

@@ -28,6 +28,9 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
NODE_VERSION="24" NODE_MODULE="yarn" setup_nodejs
if check_for_gh_release "excalidraw" "excalidraw/excalidraw"; then
msg_info "Stopping Service"
systemctl stop excalidraw
@@ -37,6 +40,7 @@ function update_script() {
msg_info "Updating Excalidraw"
cd /opt/excalidraw
$STD yarn config set ignore-engines true
$STD yarn
msg_ok "Updated Excalidraw"

View File

@@ -27,9 +27,16 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
NODE_VERSION="20" NODE_MODULE="pnpm" setup_nodejs
msg_info "Updating FlowiseAI (this may take some time)"
systemctl stop flowise
$STD npm install -g flowise --upgrade
$STD pnpm add -g flowise
if grep -q 'ExecStart=npx flowise start' /etc/systemd/system/flowise.service; then
sed -i 's|ExecStart=npx flowise start|ExecStart=flowise start|' /etc/systemd/system/flowise.service
systemctl daemon-reload
fi
systemctl start flowise
msg_ok "Updated FlowiseAI"
msg_ok "Updated successfully!"

View File

@@ -34,7 +34,7 @@ function update_script() {
exit
fi
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
NODE_VERSION="24" NODE_MODULE="pnpm@latest" setup_nodejs
PROJECT_NAME=$(</opt/fumadocs/.projectname)
PROJECT_DIR="/opt/fumadocs/${PROJECT_NAME}"
SERVICE_NAME="fumadocs_${PROJECT_NAME}.service"

6
ct/headers/authentik Normal file
View File

@@ -0,0 +1,6 @@
__ __ __ _ __
____ ___ __/ /_/ /_ ___ ____ / /_(_) /__
/ __ `/ / / / __/ __ \/ _ \/ __ \/ __/ / //_/
/ /_/ / /_/ / /_/ / / / __/ / / / /_/ / ,<
\__,_/\__,_/\__/_/ /_/\___/_/ /_/\__/_/_/|_|

6
ct/headers/cliproxyapi Normal file
View File

@@ -0,0 +1,6 @@
________ ________ ___ ____ ____
/ ____/ / / _/ __ \_________ _ ____ __/ | / __ \/ _/
/ / / / / // /_/ / ___/ __ \| |/_/ / / / /| | / /_/ // /
/ /___/ /____/ // ____/ / / /_/ /> </ /_/ / ___ |/ ____// /
\____/_____/___/_/ /_/ \____/_/|_|\__, /_/ |_/_/ /___/
/____/

6
ct/headers/degoog Normal file
View File

@@ -0,0 +1,6 @@
__
____/ /__ ____ _____ ____ ____ _
/ __ / _ \/ __ `/ __ \/ __ \/ __ `/
/ /_/ / __/ /_/ / /_/ / /_/ / /_/ /
\__,_/\___/\__, /\____/\____/\__, /
/____/ /____/

6
ct/headers/docuseal Normal file
View File

@@ -0,0 +1,6 @@
____ _____ __
/ __ \____ _______ __/ ___/___ ____ _/ /
/ / / / __ \/ ___/ / / /\__ \/ _ \/ __ `/ /
/ /_/ / /_/ / /__/ /_/ /___/ / __/ /_/ / /
/_____/\____/\___/\__,_//____/\___/\__,_/_/

6
ct/headers/espconnect Normal file
View File

@@ -0,0 +1,6 @@
___________ ____ ______ __
/ ____/ ___// __ \/ ____/___ ____ ____ ___ _____/ /_
/ __/ \__ \/ /_/ / / / __ \/ __ \/ __ \/ _ \/ ___/ __/
/ /___ ___/ / ____/ /___/ /_/ / / / / / / / __/ /__/ /_
/_____//____/_/ \____/\____/_/ /_/_/ /_/\___/\___/\__/

6
ct/headers/hoodik Normal file
View File

@@ -0,0 +1,6 @@
__ __ ___ __
/ / / /___ ____ ____/ (_) /__
/ /_/ / __ \/ __ \/ __ / / //_/
/ __ / /_/ / /_/ / /_/ / / ,<
/_/ /_/\____/\____/\__,_/_/_/|_|

6
ct/headers/librechat Normal file
View File

@@ -0,0 +1,6 @@
__ _ __ ________ __
/ / (_) /_ ________ / ____/ /_ ____ _/ /_
/ / / / __ \/ ___/ _ \/ / / __ \/ __ `/ __/
/ /___/ / /_/ / / / __/ /___/ / / / /_/ / /_
/_____/_/_.___/_/ \___/\____/_/ /_/\__,_/\__/

View File

@@ -1,6 +0,0 @@
__ _ __ __ __ __ ___
/ / (_) /____ / / / / / |/ /
/ / / / __/ _ \/ / / / / /|_/ /
/ /___/ / /_/ __/ /___/ /___/ / / /
/_____/_/\__/\___/_____/_____/_/ /_/

6
ct/headers/lobehub Normal file
View File

@@ -0,0 +1,6 @@
__ __ __ __ __
/ / ____ / /_ ___ / / / /_ __/ /_
/ / / __ \/ __ \/ _ \/ /_/ / / / / __ \
/ /___/ /_/ / /_/ / __/ __ / /_/ / /_/ /
/_____/\____/_.___/\___/_/ /_/\__,_/_.___/

6
ct/headers/lychee Normal file
View File

@@ -0,0 +1,6 @@
__ __
/ / __ _______/ /_ ___ ___
/ / / / / / ___/ __ \/ _ \/ _ \
/ /___/ /_/ / /__/ / / / __/ __/
/_____/\__, /\___/_/ /_/\___/\___/
/____/

6
ct/headers/matomo Normal file
View File

@@ -0,0 +1,6 @@
__ ___ __
/ |/ /___ _/ /_____ ____ ___ ____
/ /|_/ / __ `/ __/ __ \/ __ `__ \/ __ \
/ / / / /_/ / /_/ /_/ / / / / / / /_/ /
/_/ /_/\__,_/\__/\____/_/ /_/ /_/\____/

6
ct/headers/nagios Normal file
View File

@@ -0,0 +1,6 @@
_ __ _
/ | / /___ _____ _(_)___ _____
/ |/ / __ `/ __ `/ / __ \/ ___/
/ /| / /_/ / /_/ / / /_/ (__ )
/_/ |_/\__,_/\__, /_/\____/____/
/____/

6
ct/headers/neko Normal file
View File

@@ -0,0 +1,6 @@
_ __ __
/ | / /__ / /______
/ |/ / _ \/ //_/ __ \
/ /| / __/ ,< / /_/ /
/_/ |_/\___/_/|_|\____/

View File

@@ -0,0 +1,6 @@
____ __ __ ___ _ __ ____ _ __
/ __ \_________ / /_____ ____ / |/ /___ _(_) / / __ )_____(_)___/ /___ ____
/ /_/ / ___/ __ \/ __/ __ \/ __ \/ /|_/ / __ `/ / /_____/ __ / ___/ / __ / __ `/ _ \
/ ____/ / / /_/ / /_/ /_/ / / / / / / / /_/ / / /_____/ /_/ / / / / /_/ / /_/ / __/
/_/ /_/ \____/\__/\____/_/ /_/_/ /_/\__,_/_/_/ /_____/_/ /_/\__,_/\__, /\___/
/____/

6
ct/headers/shlink Normal file
View File

@@ -0,0 +1,6 @@
_____ __ ___ __
/ ___// /_ / (_)___ / /__
\__ \/ __ \/ / / __ \/ //_/
___/ / / / / / / / / / ,<
/____/_/ /_/_/_/_/ /_/_/|_|

6
ct/headers/solidtime Normal file
View File

@@ -0,0 +1,6 @@
_____ ___ _________
/ ___/____ / (_)___/ /_ __(_)___ ___ ___
\__ \/ __ \/ / / __ / / / / / __ `__ \/ _ \
___/ / /_/ / / / /_/ / / / / / / / / / / __/
/____/\____/_/_/\__,_/ /_/ /_/_/ /_/ /_/\___/

6
ct/headers/soulsync Normal file
View File

@@ -0,0 +1,6 @@
_____ _______
/ ___/____ __ __/ / ___/__ ______ _____
\__ \/ __ \/ / / / /\__ \/ / / / __ \/ ___/
___/ / /_/ / /_/ / /___/ / /_/ / / / / /__
/____/\____/\__,_/_//____/\__, /_/ /_/\___/
/____/

6
ct/headers/storyteller Normal file
View File

@@ -0,0 +1,6 @@
_____ __ __ ____
/ ___// /_____ _______ __/ /____ / / /__ _____
\__ \/ __/ __ \/ ___/ / / / __/ _ \/ / / _ \/ ___/
___/ / /_/ /_/ / / / /_/ / /_/ __/ / / __/ /
/____/\__/\____/_/ \__, /\__/\___/_/_/\___/_/
/____/

6
ct/headers/teable Normal file
View File

@@ -0,0 +1,6 @@
______ __ __
/_ __/__ ____ _/ /_ / /__
/ / / _ \/ __ `/ __ \/ / _ \
/ / / __/ /_/ / /_/ / / __/
/_/ \___/\__,_/_.___/_/\___/

6
ct/headers/tubearchivist Normal file
View File

@@ -0,0 +1,6 @@
______ __ ___ __ _ _ __
/_ __/_ __/ /_ ___ / | __________/ /_ (_) __(_)____/ /_
/ / / / / / __ \/ _ \ / /| | / ___/ ___/ __ \/ / | / / / ___/ __/
/ / / /_/ / /_/ / __/ / ___ |/ / / /__/ / / / /| |/ / (__ ) /_
/_/ \__,_/_.___/\___/ /_/ |_/_/ \___/_/ /_/_/ |___/_/____/\__/

6
ct/headers/webtrees Normal file
View File

@@ -0,0 +1,6 @@
_ __ __ __
| | / /__ / /_ / /_________ ___ _____
| | /| / / _ \/ __ \/ __/ ___/ _ \/ _ \/ ___/
| |/ |/ / __/ /_/ / /_/ / / __/ __(__ )
|__/|__/\___/_.___/\__/_/ \___/\___/____/

View File

@@ -54,6 +54,7 @@ function update_script() {
msg_info "Updating Homepage (Patience)"
RELEASE=$(get_latest_github_release "gethomepage/homepage")
cd /opt/homepage
echo 'onlyBuiltDependencies=*' >> .npmrc
$STD pnpm install
$STD pnpm update --no-save caniuse-lite
export NEXT_PUBLIC_VERSION="v$RELEASE"

64
ct/hoodik.sh Normal file
View File

@@ -0,0 +1,64 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/hudikhq/hoodik
APP="Hoodik"
var_tags="${var_tags:-cloud;storage}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-5}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /opt/hoodik/hoodik ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "hoodik" "hudikhq/hoodik"; then
msg_info "Stopping Service"
systemctl stop hoodik
msg_ok "Stopped Service"
msg_info "Backing up Configuration"
cp /opt/hoodik/.env /opt/hoodik.env.bak
msg_ok "Backed up Configuration"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "hoodik" "hudikhq/hoodik" "prebuild" "latest" "/opt/hoodik" "*x86_64.tar.gz"
msg_info "Restoring Configuration"
cp /opt/hoodik.env.bak /opt/hoodik/.env
rm -f /opt/hoodik.env.bak
msg_ok "Restored Configuration"
msg_info "Starting Service"
systemctl start hoodik
msg_ok "Started Service"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5443/auth/register${CL}"

View File

@@ -38,13 +38,15 @@ function update_script() {
mv /opt/hortusfox/ /opt/hortusfox-backup
msg_ok "Backed up current HortusFox installation"
fetch_and_deploy_gh_release "hortusfox" "danielbrendel/hortusfox-web" "tarball"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "hortusfox" "danielbrendel/hortusfox-web" "tarball"
msg_info "Updating HortusFox"
cd /opt/hortusfox
mv /opt/hortusfox-backup/.env /opt/hortusfox/.env
cp /opt/hortusfox-backup/.env /opt/hortusfox/.env
cp -a /opt/hortusfox-backup/public/img/. /opt/hortusfox/public/img/
export COMPOSER_ALLOW_SUPERUSER=1
$STD composer install --no-dev --optimize-autoloader
$STD php asatru migrate --no-interaction
$STD php asatru migrate:upgrade
$STD php asatru plants:attributes
$STD php asatru calendar:classes
chown -R www-data:www-data /opt/hortusfox

View File

@@ -59,6 +59,7 @@ function update_script() {
if command -v corepack >/dev/null; then
$STD corepack disable
fi
sed -i "s/^SERVER_VERSION=.*$/SERVER_VERSION=${CHECK_UPDATE_RELEASE#v}/" /etc/karakeep/karakeep.env
MODULE_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/karakeep/package.json)"
NODE_VERSION="24" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs
setup_meilisearch
@@ -83,7 +84,6 @@ function update_script() {
cd /opt/karakeep/packages/db
$STD pnpm migrate
$STD pnpm store prune
sed -i "s/^SERVER_VERSION=.*$/SERVER_VERSION=${CHECK_UPDATE_RELEASE#v}/" /etc/karakeep/karakeep.env
msg_ok "Updated Karakeep"
msg_info "Starting Services"

View File

@@ -35,7 +35,7 @@ function update_script() {
CURRENT_VERSION=$(readlink -f /opt/kasm/current | awk -F'/' '{print $4}')
KASM_VERSION=$(curl -s https://kasm.com/downloads | grep -oP '<h1[^>]*>.*?</h1>' | sed -E 's/<\/?h1[^>]*>//g' | grep -oP '\d+\.\d+\.\d+')
KASM_URL="https://kasm-static-content.s3.amazonaws.com/kasm_release_${KASM_VERSION:-var_kasm_version}.tar.gz"
# KASM_URL=$(curl -fsSL "https://www.kasm.com/downloads" | tr '\n' ' ' | grep -oE 'https://kasm-static-content[^"]*kasm_release_[0-9]+\.[0-9]+\.[0-9]+\.[a-z0-9]+\.tar\.gz' | head -n 1)
# if [[ -z "$KASM_URL" ]]; then
# SERVICE_IMAGE_URL=$(curl -fsSL "https://www.kasm.com/downloads" | tr '\n' ' ' | grep -oE 'https://kasm-static-content[^"]*kasm_release_service_images_amd64_[0-9]+\.[0-9]+\.[0-9]+\.tar\.gz' | head -n 1)
@@ -46,7 +46,7 @@ function update_script() {
# else
# KASM_VERSION=$(echo "$KASM_URL" | sed -E 's/.*kasm_release_([0-9]+\.[0-9]+\.[0-9]+).*/\1/')
# fi
if [[ -z "$KASM_VERSION" ]] || [[ -z "$KASM_URL" ]]; then
msg_error "Unable to detect latest Kasm release URL."
exit 250
@@ -56,10 +56,10 @@ function update_script() {
msg_info "Removing outdated docker-compose plugin"
[ -f ~/.docker/cli-plugins/docker-compose ] && rm -rf ~/.docker/cli-plugins/docker-compose
msg_ok "Removed outdated docker-compose plugin"
if [[ -z "$CURRENT_VERSION" ]] || [[ "$KASM_VERSION" != "$CURRENT_VERSION" ]]; then
msg_info "Updating Kasm"
cd /tmp
cd /tmp
msg_warn "WARNING: This script will run an external installer from a third-party source (https://www.kasmweb.com/)."
msg_warn "The following code is NOT maintained or audited by our repository."
@@ -71,17 +71,17 @@ function update_script() {
msg_error "Aborted by user. No changes have been made."
exit 10
fi
curl -fsSL -o "/tmp/kasm_release_${KASM_VERSION}.tar.gz" "$KASM_URL"
curl_download "/tmp/kasm_release_${KASM_VERSION}.tar.gz" "$KASM_URL"
tar -xf "kasm_release_${KASM_VERSION}.tar.gz"
chmod +x /tmp/kasm_release/install.sh
rm -f /tmp/kasm_release_"${KASM_VERSION}".tar.gz
bash /tmp/kasm_release/upgrade.sh --proxy-port 443
rm -rf /tmp/kasm_release
msg_ok "Updated successfully!"
else
msg_ok "No update required. Kasm is already at v${KASM_VERSION}"
fi
exit
}

101
ct/librechat.sh Normal file
View File

@@ -0,0 +1,101 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/danny-avila/LibreChat
APP="LibreChat"
var_tags="${var_tags:-ai;chat}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-6144}"
var_disk="${var_disk:-20}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/librechat ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_tag "librechat" "danny-avila/LibreChat" "v"; then
msg_info "Stopping Services"
systemctl stop librechat rag-api
msg_ok "Stopped Services"
msg_info "Backing up Configuration"
cp /opt/librechat/.env /opt/librechat.env.bak
msg_ok "Backed up Configuration"
CLEAN_INSTALL=1 fetch_and_deploy_gh_tag "librechat" "danny-avila/LibreChat"
msg_info "Installing Dependencies"
cd /opt/librechat
$STD npm ci
msg_ok "Installed Dependencies"
msg_info "Building Frontend"
$STD npm run frontend
$STD npm prune --production
$STD npm cache clean --force
msg_ok "Built Frontend"
msg_info "Restoring Configuration"
cp /opt/librechat.env.bak /opt/librechat/.env
rm -f /opt/librechat.env.bak
msg_ok "Restored Configuration"
msg_info "Starting Services"
systemctl start rag-api librechat
msg_ok "Started Services"
msg_ok "Updated LibreChat Successfully!"
fi
if check_for_gh_release "rag-api" "danny-avila/rag_api"; then
msg_info "Stopping RAG API"
systemctl stop rag-api
msg_ok "Stopped RAG API"
msg_info "Backing up RAG API Configuration"
cp /opt/rag-api/.env /opt/rag-api.env.bak
msg_ok "Backed up RAG API Configuration"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "rag-api" "danny-avila/rag_api" "tarball"
msg_info "Updating RAG API Dependencies"
cd /opt/rag-api
$STD .venv/bin/pip install -r requirements.lite.txt
msg_ok "Updated RAG API Dependencies"
msg_info "Restoring RAG API Configuration"
cp /opt/rag-api.env.bak /opt/rag-api/.env
rm -f /opt/rag-api.env.bak
msg_ok "Restored RAG API Configuration"
msg_info "Starting RAG API"
systemctl start rag-api
msg_ok "Started RAG API"
msg_ok "Updated RAG API Successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3080${CL}"

View File

@@ -1,67 +0,0 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: stout01
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/BerriAI/litellm
APP="LiteLLM"
var_tags="${var_tags:-ai;interface}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/systemd/system/litellm.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Stopping Service"
systemctl stop litellm
msg_ok "Stopped Service"
VENV_PATH="/opt/litellm/.venv"
PYTHON_VERSION="3.13" USE_UVX="YES" setup_uv
msg_info "Updating LiteLLM"
$STD "$VENV_PATH/bin/python" -m pip install --upgrade litellm[proxy] prisma
$STD "$VENV_PATH/bin/prisma" generate
msg_ok "LiteLLM updated"
msg_info "Updating DB Schema"
$STD /opt/litellm/.venv/bin/litellm --config /opt/litellm/litellm.yaml --use_prisma_db_push --skip_server_startup
msg_ok "DB Schema Updated"
msg_info "Updating Service"
sed -i 's|ExecStart=uv --directory=/opt/litellm run litellm|ExecStart=/opt/litellm/.venv/bin/litellm|' /etc/systemd/system/litellm.service
systemctl daemon-reload
msg_ok "Updated Service"
msg_info "Starting Service"
systemctl start litellm
msg_ok "Started Service"
msg_ok "Updated successfully!"
exit
}
start
build_container
description
msg_ok "Completed successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4000${CL}"

77
ct/lobehub.sh Normal file
View File

@@ -0,0 +1,77 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/lobehub/lobehub
APP="LobeHub"
var_tags="${var_tags:-ai;chat}"
var_cpu="${var_cpu:-6}"
var_ram="${var_ram:-10240}"
var_disk="${var_disk:-15}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/lobehub ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "lobehub" "lobehub/lobehub"; then
msg_info "Stopping Services"
systemctl stop lobehub
msg_ok "Stopped Services"
msg_info "Backing up Data"
cp /opt/lobehub/.env /opt/lobehub.env.bak
msg_ok "Backed up Data"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "lobehub" "lobehub/lobehub" "tarball"
msg_info "Restoring Configuration"
cp /opt/lobehub.env.bak /opt/lobehub/.env
rm -f /opt/lobehub.env.bak
msg_ok "Restored Configuration"
msg_info "Building Application"
cd /opt/lobehub
export NODE_OPTIONS="--max-old-space-size=8192"
$STD pnpm install
$STD pnpm run build:docker
unset NODE_OPTIONS
msg_ok "Built Application"
msg_info "Running Database Migrations"
cd /opt/lobehub
set -a && source /opt/lobehub/.env && set +a
$STD node /opt/lobehub/.next/standalone/docker.cjs
msg_ok "Ran Database Migrations"
msg_info "Starting Services"
systemctl start lobehub
msg_ok "Started Services"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3210${CL}"

73
ct/lychee.sh Normal file
View File

@@ -0,0 +1,73 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/LycheeOrg/Lychee
APP="Lychee"
var_tags="${var_tags:-media;photos;gallery}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/lychee ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "lychee" "LycheeOrg/Lychee"; then
msg_info "Stopping Services"
systemctl stop caddy
msg_ok "Stopped Services"
msg_info "Backing up Data"
cp /opt/lychee/.env /opt/lychee.env.bak
cp -r /opt/lychee/storage /opt/lychee_storage_backup
msg_ok "Backed up Data"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "lychee" "LycheeOrg/Lychee" "prebuild" "latest" "/opt/lychee" "Lychee.zip"
msg_info "Restoring Data"
cp /opt/lychee.env.bak /opt/lychee/.env
rm -f /opt/lychee.env.bak
cp -r /opt/lychee_storage_backup/. /opt/lychee/storage
rm -rf /opt/lychee_storage_backup
msg_ok "Restored Data"
msg_info "Updating Application"
cd /opt/lychee
$STD php artisan migrate --force
$STD php artisan optimize:clear
chmod -R 775 /opt/lychee/storage /opt/lychee/bootstrap/cache
msg_ok "Updated Application"
msg_info "Starting Services"
systemctl start caddy
msg_ok "Started Services"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"

View File

@@ -28,6 +28,8 @@ function update_script() {
exit
fi
ensure_dependencies libgssapi-krb5-2
if check_for_gh_release "mail-archiver" "s1t5/mail-archiver"; then
msg_info "Stopping Mail-Archiver"
systemctl stop mail-archiver

View File

@@ -55,9 +55,20 @@ function update_script() {
RUBY_VERSION=${RUBY_INSTALL_VERSION} RUBY_INSTALL_RAILS="true" HOME=/home/manyfold setup_ruby
msg_info "Installing Manyfold"
msg_info "Restoring Data"
rm -rf /opt/manyfold/app/{storage,tmp,config/credentials.yml.enc,config/master.key}
cp -r /opt/manyfold_storage_backup /opt/manyfold/app/storage 2>/dev/null || true
cp -r /opt/manyfold_tmp_backup /opt/manyfold/app/tmp 2>/dev/null || true
cp /opt/manyfold_credentials.yml.enc /opt/manyfold/app/config/credentials.yml.enc 2>/dev/null || true
cp /opt/manyfold_master.key /opt/manyfold/app/config/master.key 2>/dev/null || true
chown -R manyfold:manyfold {/home/manyfold,/opt/manyfold}
chown -R manyfold:manyfold /opt/manyfold
chown -R manyfold:manyfold /opt/manyfold/app/storage /opt/manyfold/app/tmp /opt/manyfold/app/config
rm -rf /opt/manyfold_storage_backup /opt/manyfold_tmp_backup /opt/manyfold_credentials.yml.enc /opt/manyfold_master.key
msg_ok "Restored Data"
msg_info "Installing Manyfold"
$STD npm install --global corepack
$STD corepack enable yarn
sudo -u manyfold bash -c '
source /opt/manyfold/.env
@@ -66,7 +77,6 @@ function update_script() {
cd /opt/manyfold/app
gem install bundler sidekiq foreman
bundle install
corepack enable yarn
corepack prepare '"$YARN_VERSION"' --activate
corepack use '"$YARN_VERSION"'
bin/rails db:migrate
@@ -74,16 +84,6 @@ function update_script() {
'
msg_ok "Installed Manyfold"
msg_info "Restoring Data"
rm -rf /opt/manyfold/app/{storage,tmp,config/credentials.yml.enc,config/master.key}
cp -r /opt/manyfold_storage_backup /opt/manyfold/app/storage 2>/dev/null || true
cp -r /opt/manyfold_tmp_backup /opt/manyfold/app/tmp 2>/dev/null || true
cp /opt/manyfold_credentials.yml.enc /opt/manyfold/app/config/credentials.yml.enc 2>/dev/null || true
cp /opt/manyfold_master.key /opt/manyfold/app/config/master.key 2>/dev/null || true
chown -R manyfold:manyfold /opt/manyfold/app/storage /opt/manyfold/app/tmp /opt/manyfold/app/config
rm -rf /opt/manyfold_storage_backup /opt/manyfold_tmp_backup /opt/manyfold_credentials.yml.enc /opt/manyfold_master.key
msg_ok "Restored Data"
msg_info "Restarting Services"
source /opt/manyfold/.env
export PATH="/home/manyfold/.rbenv/shims:/home/manyfold/.rbenv/bin:$PATH"

75
ct/matomo.sh Normal file
View File

@@ -0,0 +1,75 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://matomo.org/
APP="Matomo"
var_tags="${var_tags:-analytics;tracking;privacy}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-16}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/matomo ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "matomo" "matomo-org/matomo"; then
msg_info "Stopping Services"
systemctl stop caddy
msg_ok "Stopped Services"
msg_info "Backing up Data"
[[ -f /opt/matomo/config/config.ini.php ]] && cp /opt/matomo/config/config.ini.php /opt/matomo_config.bak
[[ -d /opt/matomo/misc/user ]] && cp -r /opt/matomo/misc/user /opt/matomo_user_backup
[[ -f /root/matomo.creds ]] && cp /root/matomo.creds /opt/matomo_db_creds.bak
msg_ok "Backed up Data"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "matomo" "matomo-org/matomo" "prebuild" "latest" "/opt/matomo" "matomo-*.zip"
msg_info "Restoring Data"
if [[ -f /opt/matomo_config.bak ]]; then
mkdir -p /opt/matomo/config
cp /opt/matomo_config.bak /opt/matomo/config/config.ini.php
fi
if [[ -d /opt/matomo_user_backup ]]; then
mkdir -p /opt/matomo/misc/user
cp -r /opt/matomo_user_backup/. /opt/matomo/misc/user
fi
[[ -f /opt/matomo_db_creds.bak ]] && cp /opt/matomo_db_creds.bak /root/matomo.creds
rm -f /opt/matomo_config.bak /opt/matomo_db_creds.bak
rm -rf /opt/matomo_user_backup
chown -R www-data:www-data /opt/matomo
msg_ok "Restored Data"
msg_info "Starting Services"
systemctl start caddy
msg_ok "Started Services"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"

View File

@@ -81,11 +81,7 @@ STARTEOF
cp -r /opt/mealie/frontend/dist/* /opt/mealie/mealie/frontend/
msg_ok "Copied Frontend"
msg_info "Updating NLTK Data"
mkdir -p /nltk_data/
cd /opt/mealie
$STD uv run python -m nltk.downloader -d /nltk_data averaged_perceptron_tagger_eng
msg_ok "Updated NLTK Data"
setup_nltk "averaged_perceptron_tagger_eng" "/nltk_data"
msg_info "Starting Service"
systemctl start mealie

View File

@@ -22,12 +22,12 @@ catch_errors
function update_script() {
header_info
if [[ ! -d /opt/mylar3 ]]; then
msg_error "No ${APP} Installation Found!"
msg_error "No Mylar3 Installation Found!"
exit
fi
if check_for_gh_release "mylar3" "mylar3/mylar3"; then
fetch_and_deploy_gh_release "mylar3" "mylar3/mylar3" "tarball"
if check_for_gh_release "mylar3" "MylarComics/mylar3"; then
fetch_and_deploy_gh_release "mylar3" "MylarComics/mylar3" "tarball"
systemctl restart mylar3
msg_ok "Updated successfully!"
fi

91
ct/nagios.sh Normal file
View File

@@ -0,0 +1,91 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: CanbiZ (MickLesk)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/NagiosEnterprises/nagioscore
APP="Nagios"
var_tags="${var_tags:-monitoring;alerts;infrastructure}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-20}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /usr/local/nagios/etc/nagios.cfg ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Backing up Configuration"
cp -a /usr/local/nagios/etc /opt/nagios-etc-backup
msg_ok "Backed up Configuration"
if check_for_gh_release "nagios" "NagiosEnterprises/nagioscore"; then
msg_info "Stopping Nagios"
systemctl stop nagios
msg_ok "Stopped Nagios"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "nagios" "NagiosEnterprises/nagioscore" "tarball"
msg_info "Building Nagios Core"
cd /opt/nagios
$STD ./configure --with-httpd-conf=/etc/apache2/sites-enabled
$STD make all
$STD make install-groups-users
usermod -a -G nagios www-data
$STD make install
$STD make install-daemoninit
$STD make install-commandmode
$STD make install-webconf
$STD a2enmod rewrite
$STD a2enmod cgi
setcap cap_net_raw+p /bin/ping
msg_ok "Built Nagios Core"
msg_info "Starting Nagios"
systemctl restart apache2
systemctl start nagios
msg_ok "Started Nagios"
fi
if check_for_gh_release "nagios-plugins" "nagios-plugins/nagios-plugins"; then
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "nagios-plugins" "nagios-plugins/nagios-plugins" "tarball"
msg_info "Building Nagios Plugins"
cd /opt/nagios-plugins
$STD ./tools/setup
$STD ./configure
$STD make
$STD make install
msg_ok "Built Nagios Plugins"
fi
msg_info "Restoring Configuration"
rm -rf /usr/local/nagios/etc
cp -a /opt/nagios-etc-backup /usr/local/nagios/etc
rm -rf /opt/nagios-etc-backup
msg_ok "Restored Configuration"
msg_ok "Updated successfully!"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/nagios${CL}"

78
ct/neko.sh Normal file
View File

@@ -0,0 +1,78 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: CanbiZ (MickLesk)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://neko.m1k1o.net/
APP="Neko"
var_tags="${var_tags:-virtual-browser;webrtc;streaming}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-12}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
var_gpu="${var_gpu:-yes}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/neko ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "neko" "m1k1o/neko"; then
msg_info "Stopping Service"
systemctl stop neko
msg_ok "Stopped Service"
msg_info "Backing up Data"
cp /etc/neko/neko.yaml /opt/neko.yaml.bak
msg_ok "Backed up Data"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "neko" "m1k1o/neko" "tarball"
msg_info "Building Client"
cd /opt/neko/client
$STD npm install
$STD npm run build
cp -r /opt/neko/client/dist/* /var/www/
msg_ok "Built Client"
msg_info "Building Server"
cd /opt/neko/server
$STD ./build
cp /opt/neko/server/bin/neko /usr/bin/neko
cp -r /opt/neko/server/bin/plugins/* /etc/neko/plugins/ 2>/dev/null || true
msg_ok "Built Server"
msg_info "Restoring Data"
cp /opt/neko.yaml.bak /etc/neko/neko.yaml
rm -f /opt/neko.yaml.bak
msg_ok "Restored Data"
msg_info "Starting Service"
systemctl start neko
msg_ok "Started Service"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"

View File

@@ -25,7 +25,7 @@ function update_script() {
check_container_storage
check_container_resources
if [[ ! -f /etc/netbird/config.json ]]; then
if [[ ! -d /var/lib/netbird/ ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi

View File

@@ -28,7 +28,6 @@ function update_script() {
exit
fi
if command -v node &>/dev/null; then
CURRENT_NODE_VERSION=$(node --version | cut -d'v' -f2 | cut -d'.' -f1)
if [[ "$CURRENT_NODE_VERSION" != "22" ]]; then
@@ -48,7 +47,7 @@ function update_script() {
msg_info "Migrating from packaged OpenResty to source"
rm -f /etc/apt/trusted.gpg.d/openresty-archive-keyring.gpg /etc/apt/trusted.gpg.d/openresty.gpg
rm -f /etc/apt/sources.list.d/openresty.list /etc/apt/sources.list.d/openresty.sources
$STD apt remove -y openresty
$STD apt purge -y openresty
$STD apt autoremove -y
rm -f ~/.openresty
msg_ok "Migrated from packaged OpenResty to source"
@@ -93,6 +92,11 @@ ExecStart=/usr/local/openresty/nginx/sbin/nginx -g 'daemon off;'
[Install]
WantedBy=multi-user.target
EOF
if [ -f /opt/nginxproxymanager/docker/rootfs/etc/nginx/nginx.conf ]; then
cp /opt/nginxproxymanager/docker/rootfs/etc/nginx/nginx.conf /usr/local/openresty/nginx/conf/nginx.conf
sed -i 's+^daemon+#daemon+g' /usr/local/openresty/nginx/conf/nginx.conf
sed -i 's+include conf.d+include /etc/nginx/conf.d+g' /usr/local/openresty/nginx/conf/nginx.conf
fi
sed -i 's/user npm/user root/g; s/^pid/#pid/g' /usr/local/openresty/nginx/conf/nginx.conf
systemctl daemon-reload
systemctl unmask openresty 2>/dev/null || true

View File

@@ -27,34 +27,29 @@ function update_script() {
msg_error "No Ollama Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/ollama/ollama/releases/latest | grep "tag_name" | awk -F '"' '{print $4}')
if [[ ! -f /opt/Ollama_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/Ollama_version.txt)" ]]; then
if [[ ! -f /opt/Ollama_version.txt ]]; then
touch /opt/Ollama_version.txt
fi
[[ -f /root/.ollama ]] && rm -f /root/.ollama
if check_for_gh_release "ollama-com" "ollama/ollama"; then
ensure_dependencies zstd
msg_info "Stopping Services"
systemctl stop ollama
msg_ok "Services Stopped"
TMP_TAR=$(mktemp --suffix=.tar.zst)
curl -fL# -C - -o "${TMP_TAR}" "https://github.com/ollama/ollama/releases/download/${RELEASE}/ollama-linux-amd64.tar.zst"
msg_info "Updating Ollama to ${RELEASE}"
rm -rf /usr/local/lib/ollama
rm -rf /usr/local/bin/ollama
mkdir -p /usr/local/lib/ollama
tar --zstd -xf "${TMP_TAR}" -C /usr/local/lib/ollama
ln -sf /usr/local/lib/ollama/bin/ollama /usr/local/bin/ollama
rm -f "${TMP_TAR}"
echo "${RELEASE}" >/opt/Ollama_version.txt
msg_ok "Updated Ollama to ${RELEASE}"
OLLAMA_INSTALL_DIR="/usr/local/lib/ollama"
rm -rf "$OLLAMA_INSTALL_DIR" /usr/local/bin/ollama
mkdir -p "$OLLAMA_INSTALL_DIR"
if ! fetch_and_deploy_gh_release "ollama-com" "ollama/ollama" "prebuild" "latest" "$OLLAMA_INSTALL_DIR" "ollama-linux-amd64.tar.zst"; then
msg_error "Download or deployment failed check network connectivity and GitHub API availability"
exit 250
fi
ln -sf "$OLLAMA_INSTALL_DIR/bin/ollama" /usr/local/bin/ollama
msg_ok "Updated Ollama"
msg_info "Starting Services"
systemctl start ollama
msg_ok "Started Services"
msg_ok "Updated successfully!"
else
msg_ok "No update required. Ollama is already at ${RELEASE}"
fi
exit
}

View File

@@ -38,20 +38,32 @@ function update_script() {
JAVA_VERSION="21" setup_java
msg_info "Updating Omada Controller"
OMADA_URL=$(curl -fsSL "https://support.omadanetworks.com/en/download/software/omada-controller/" |
grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' |
head -n1)
OMADA_PKG=$(basename "$OMADA_URL")
if [ -z "$OMADA_PKG" ]; then
msg_error "Could not retrieve Omada package server may be down."
exit
OMADA_PKG=$(basename "${OMADA_URL}")
VERSION=$(sed -n 's/.*_v\([0-9.]*\)_.*_\([0-9]\{14\}\)\.deb$/\1-\2/p' <<<"${OMADA_PKG}")
CURRENT_VERSION=$(cat $HOME/.omada 2>/dev/null || echo "0")
if dpkg --compare-versions "${VERSION}" gt "${CURRENT_VERSION}"; then
msg_info "Updating Omada Controller"
if [ -z "${OMADA_PKG}" ]; then
msg_error "Could not retrieve Omada package server may be down."
exit
fi
curl -fsSL "${OMADA_URL}" -o "${OMADA_PKG}"
export DEBIAN_FRONTEND=noninteractive
$STD dpkg -i "${OMADA_PKG}"
rm -f "${OMADA_PKG}"
echo "${VERSION}" >$HOME/.omada
msg_ok "Updated Omada Controller to ${VERSION}"
msg_ok "Updated successfully!"
else
msg_ok "No update available: ${APP} (${CURRENT_VERSION})"
fi
curl -fsSL "$OMADA_URL" -o "$OMADA_PKG"
export DEBIAN_FRONTEND=noninteractive
$STD dpkg -i "$OMADA_PKG"
rm -f "$OMADA_PKG"
msg_ok "Updated successfully!"
exit
}

View File

@@ -29,7 +29,7 @@ function update_script() {
exit
fi
RELEASE="v6.1.0"
RELEASE="v6.2.0"
if check_for_gh_release "OpenCloud" "opencloud-eu/opencloud" "${RELEASE}" "each release is tested individually before the version is updated. Please do not open issues for this"; then
msg_info "Stopping services"
systemctl stop opencloud opencloud-wopi

View File

@@ -26,6 +26,7 @@ function update_script() {
check_container_resources
ensure_dependencies zstd build-essential libmariadb-dev
[[ -f /root/.ollama ]] && rm -f /root/.ollama
if [[ -d /opt/open-webui ]]; then
msg_warn "Legacy installation detected — migrating to uv based install..."
@@ -91,37 +92,22 @@ EOF
if [ -x "/usr/bin/ollama" ]; then
msg_info "Checking for Ollama Update"
OLLAMA_VERSION=$(ollama -v | awk '{print $NF}')
RELEASE=$(curl -s https://api.github.com/repos/ollama/ollama/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}')
if [ "$OLLAMA_VERSION" != "$RELEASE" ]; then
msg_info "Ollama update available: v$OLLAMA_VERSION -> v$RELEASE"
msg_info "Downloading Ollama v$RELEASE \n"
curl -fS#LO https://github.com/ollama/ollama/releases/download/v${RELEASE}/ollama-linux-amd64.tar.zst
msg_ok "Download Complete"
if check_for_gh_release "ollama-com" "ollama/ollama"; then
msg_info "Stopping Ollama Service"
systemctl stop ollama
msg_ok "Stopped Service"
if [ -f "ollama-linux-amd64.tar.zst" ]; then
msg_info "Stopping Ollama Service"
systemctl stop ollama
msg_ok "Stopped Service"
msg_info "Installing Ollama"
rm -rf /usr/lib/ollama
rm -rf /usr/bin/ollama
tar --zstd -C /usr -xf ollama-linux-amd64.tar.zst
rm -rf ollama-linux-amd64.tar.zst
msg_ok "Installed Ollama"
msg_info "Starting Ollama Service"
systemctl start ollama
msg_ok "Started Service"
msg_ok "Ollama updated to version $RELEASE"
rm -rf /usr/lib/ollama /usr/bin/ollama
if ! fetch_and_deploy_gh_release "ollama-com" "ollama/ollama" "prebuild" "latest" "/usr/lib/ollama" "ollama-linux-amd64.tar.zst"; then
msg_error "Ollama download or deployment failed check network connectivity and GitHub API availability"
else
msg_error "Ollama download failed. Aborting update."
ln -sf /usr/lib/ollama/bin/ollama /usr/bin/ollama
msg_ok "Updated Ollama to ${CHECK_UPDATE_RELEASE}"
fi
else
msg_ok "Ollama is already up to date."
msg_info "Starting Ollama Service"
systemctl start ollama
msg_ok "Started Service"
fi
fi

View File

@@ -6,6 +6,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
# Source: https://pangolin.net/ | Github: https://github.com/fosrl/pangolin
APP="Pangolin"
PANGOLIN_VERSION="${PANGOLIN_VERSION:-1.18.4}"
var_tags="${var_tags:-proxy}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
@@ -33,7 +34,7 @@ function update_script() {
NODE_VERSION="24" setup_nodejs
if check_for_gh_release "pangolin" "fosrl/pangolin"; then
if check_for_gh_release "pangolin" "fosrl/pangolin" "$PANGOLIN_VERSION" "Pinned to a tested release because Pangolin's schema changes have repeatedly broken unattended updates. To try a newer version at your own risk, run: 'export PANGOLIN_VERSION=<tag>' and re-run update. If it breaks, please open an issue at https://github.com/community-scripts/ProxmoxVE/issues with the error log."; then
msg_info "Stopping Service"
systemctl stop pangolin
systemctl stop gerbil
@@ -41,9 +42,13 @@ function update_script() {
msg_info "Creating backup"
tar -czf /opt/pangolin_config_backup.tar.gz -C /opt/pangolin config
if [[ -f /opt/pangolin/config/db/db.sqlite ]]; then
cp -a /opt/pangolin/config/db/db.sqlite \
"/opt/pangolin/config/db/db.sqlite.pre-${PANGOLIN_VERSION}-$(date +%Y%m%d-%H%M%S).bak"
fi
msg_ok "Created backup"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "pangolin" "fosrl/pangolin" "tarball"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "pangolin" "fosrl/pangolin" "tarball" "$PANGOLIN_VERSION"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gerbil" "fosrl/gerbil" "singlefile" "latest" "/usr/bin" "gerbil_linux_amd64"
msg_info "Updating Pangolin"
@@ -67,36 +72,22 @@ function update_script() {
rm -f /opt/pangolin_config_backup.tar.gz
msg_ok "Restored config"
msg_info "Running database migrations"
cd /opt/pangolin
# Pre-apply potentially destructive schema changes safely so drizzle-kit
# does not recreate tables (which would delete all rows).
local DB="/opt/pangolin/config/db/db.sqlite"
if [[ -f "$DB" ]]; then
sqlite3 "$DB" "ALTER TABLE 'orgs' ADD COLUMN 'settingsLogRetentionDaysConnection' integer DEFAULT 0 NOT NULL;" 2>/dev/null || true
sqlite3 "$DB" "ALTER TABLE 'clientSitesAssociationsCache' ADD COLUMN 'isJitMode' integer DEFAULT 0 NOT NULL;" 2>/dev/null || true
sqlite3 "$DB" "ALTER TABLE 'userOrgs' ADD COLUMN 'pamUsername' text;" 2>/dev/null || true
# Create new role-mapping tables and migrate data before drizzle-kit
# drops the roleId columns from userOrgs and userInvites.
sqlite3 "$DB" "CREATE TABLE IF NOT EXISTS 'userOrgRoles' (
'userId' text NOT NULL REFERENCES 'user'('id') ON DELETE CASCADE,
'orgId' text NOT NULL REFERENCES 'orgs'('orgId') ON DELETE CASCADE,
'roleId' integer NOT NULL REFERENCES 'roles'('roleId') ON DELETE CASCADE,
UNIQUE('userId', 'orgId', 'roleId')
);" 2>/dev/null || true
sqlite3 "$DB" "INSERT OR IGNORE INTO 'userOrgRoles' (userId, orgId, roleId) SELECT userId, orgId, roleId FROM 'userOrgs' WHERE roleId IS NOT NULL;" 2>/dev/null || true
sqlite3 "$DB" "CREATE TABLE IF NOT EXISTS 'userInviteRoles' (
'inviteId' text NOT NULL REFERENCES 'userInvites'('inviteId') ON DELETE CASCADE,
'roleId' integer NOT NULL REFERENCES 'roles'('roleId') ON DELETE CASCADE,
PRIMARY KEY('inviteId', 'roleId')
);" 2>/dev/null || true
sqlite3 "$DB" "INSERT OR IGNORE INTO 'userInviteRoles' (inviteId, roleId) SELECT inviteId, roleId FROM 'userInvites' WHERE roleId IS NOT NULL;" 2>/dev/null || true
if ! grep -q '^ExecStartPre=/usr/bin/node dist/migrations.mjs' /etc/systemd/system/pangolin.service 2>/dev/null; then
msg_info "Adding migration step to pangolin.service"
sed -i '/^ExecStart=\/usr\/bin\/node --enable-source-maps dist\/server.mjs/i ExecStartPre=/usr/bin/node dist/migrations.mjs' /etc/systemd/system/pangolin.service
systemctl daemon-reload
msg_ok "Updated pangolin.service"
fi
ENVIRONMENT=prod $STD npx drizzle-kit push --force --config drizzle.sqlite.config.ts
msg_info "Running database migrations"
cd /opt/pangolin
SQLITE_DB="/opt/pangolin/config/db/db.sqlite"
if [[ -f "$SQLITE_DB" ]]; then
if ! sqlite3 "$SQLITE_DB" ".tables" 2>/dev/null | tr ' ' '\n' | grep -qx "statusHistory"; then
sqlite3 "$SQLITE_DB" "DELETE FROM versionMigrations;" 2>/dev/null || true
fi
fi
ENVIRONMENT=prod $STD node dist/migrations.mjs
msg_ok "Ran database migrations"
msg_info "Updating Badger plugin version"

View File

@@ -164,6 +164,8 @@ function update_script() {
fi
fi
setup_nltk "snowball_data stopwords punkt_tab" "/usr/share/nltk_data"
msg_info "Starting all Paperless-ngx Services"
systemctl start paperless-consumer paperless-webserver paperless-scheduler paperless-task-queue
sleep 1

View File

@@ -42,6 +42,9 @@ function update_script() {
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "papra" "papra-hq/papra" "tarball"
pnpm_version=$(grep -oP '"packageManager":\s*"pnpm@\K[^"]+' /opt/papra/package.json)
NODE_VERSION="26" NODE_MODULE="pnpm@$pnpm_version" setup_nodejs
msg_info "Building Application"
cd /opt/papra
if [[ -f /opt/papra_env.bak ]]; then

View File

@@ -45,6 +45,33 @@ function update_script() {
msg_ok "Fixed entrypoint"
fi
if [[ ! -f /etc/peanut/peanut.env ]]; then
msg_info "Migrating service to EnvironmentFile"
mkdir -p /etc/peanut
cat <<EOF >/etc/peanut/peanut.env
NODE_ENV=production
#WEB_HOST=0.0.0.0
#WEB_PORT=8080
#NUT_HOST=localhost
#NUT_PORT=3493
# Disable auth entirely:
#AUTH_DISABLED=true
# Bootstrap initial account on first start (ignored afterwards):
#WEB_USERNAME=admin
#WEB_PASSWORD=changeme
EOF
chmod 600 /etc/peanut/peanut.env
sed -i '/^Environment=/d' /etc/systemd/system/peanut.service
if ! grep -q '^EnvironmentFile=/etc/peanut/peanut.env' /etc/systemd/system/peanut.service; then
sed -i '/^Type=simple/a EnvironmentFile=/etc/peanut/peanut.env' /etc/systemd/system/peanut.service
fi
systemctl daemon-reload
msg_ok "Migrated to /etc/peanut/peanut.env"
fi
msg_info "Updating PeaNUT"
cd /opt/peanut
$STD pnpm i

View File

@@ -45,15 +45,23 @@ function update_script() {
$STD php artisan down
msg_ok "Stopped Service"
cp -r /opt/pelican-panel/.env /opt/
mkdir -p /opt/backup
cp -a /opt/pelican-panel/.env /opt/backup
mkdir -p /opt/backup/storage/app/
cp -a /opt/pelican-panel/storage/app/public /opt/backup/storage/app/
SQLITE_INSTALL=$(ls /opt/pelican-panel/database/*.sqlite 1>/dev/null 2>&1 && echo "true" || echo "false")
$SQLITE_INSTALL && cp -r /opt/pelican-panel/database/*.sqlite /opt/
rm -rf * .*
$SQLITE_INSTALL && cp -r /opt/pelican-panel/database/*.sqlite /opt/backup
find /opt/pelican-panel -mindepth 1 -maxdepth 1 ! -name 'backup' ! -name 'plugins' -exec rm -rf {} +
fetch_and_deploy_gh_release "pelican-panel" "pelican-dev/panel" "prebuild" "latest" "/opt/pelican-panel" "panel.tar.gz"
msg_info "Updating Pelican Panel"
mv /opt/.env /opt/pelican-panel/
$SQLITE_INSTALL && mv /opt/*.sqlite /opt/pelican-panel/database/
cp -a /opt/backup/.env /opt/pelican-panel/
$SQLITE_INSTALL && mv /opt/backup/*.sqlite /opt/pelican-panel/database/
cp -a /opt/backup/storage/app/public /opt/pelican-panel/storage/app/
$STD composer install --no-dev --optimize-autoloader --no-interaction
$STD php artisan p:environment:setup
$STD php artisan view:clear

View File

@@ -9,7 +9,7 @@ APP="Profilarr"
var_tags="${var_tags:-arr;radarr;sonarr;config}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_disk="${var_disk:-7}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
@@ -29,43 +29,71 @@ function update_script() {
exit
fi
if [[ -d /opt/profilarr/backend ]]; then
msg_error "Profilarr v1 detected!"
echo -e "\nProfilarr v2 is a complete rewrite and is NOT compatible with v1."
echo -e "There is no migration path. Please create a new LXC container for v2.\n"
exit
fi
if check_for_gh_release "deno" "denoland/deno"; then
ARCH=$(uname -m)
fetch_and_deploy_gh_release "deno" "denoland/deno" "prebuild" "latest" "/usr/local/bin" "deno-${ARCH}-unknown-linux-gnu.zip"
fi
if check_for_gh_release "profilarr" "Dictionarry-Hub/profilarr"; then
msg_info "Stopping Service"
systemctl stop profilarr
msg_ok "Stopped Service"
msg_info "Backing up Data"
if [[ -d /config ]]; then
cp -r /config /opt/profilarr_config_backup
fi
msg_ok "Backed up Data"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "profilarr" "Dictionarry-Hub/profilarr" "tarball"
PROFILARR_VERSION=$(cat ~/.profilarr)
msg_info "Installing Python Dependencies"
cd /opt/profilarr/backend
$STD uv venv --clear /opt/profilarr/backend/.venv
sed 's/==/>=/g' requirements.txt >requirements-relaxed.txt
$STD uv pip install --python /opt/profilarr/backend/.venv/bin/python -r requirements-relaxed.txt
rm -f requirements-relaxed.txt
msg_ok "Installed Python Dependencies"
msg_info "Building Profilarr v${PROFILARR_VERSION} (Patience)"
cd /opt/profilarr
cat >src/lib/shared/build.ts <<EOF
// Generated at update time. Do not hand-edit.
export type Channel = 'stable' | 'develop' | 'dev';
msg_info "Building Frontend"
if [[ -d /opt/profilarr/frontend ]]; then
cd /opt/profilarr/frontend
$STD npm install
$STD npm run build
cp -r dist /opt/profilarr/backend/app/static
fi
msg_ok "Built Frontend"
export interface BuildInfo {
readonly version: string;
readonly channel: Channel;
readonly commit: string | null;
readonly builtAt: string | null;
}
msg_info "Restoring Data"
if [[ -d /opt/profilarr_config_backup ]]; then
mkdir -p /config
cp -r /opt/profilarr_config_backup/. /config/
rm -rf /opt/profilarr_config_backup
fi
msg_ok "Restored Data"
export const build: BuildInfo = {
version: '${PROFILARR_VERSION}',
channel: 'stable',
commit: null,
builtAt: '$(date -u +"%Y-%m-%dT%H:%M:%SZ")'
};
EOF
$STD deno install --node-modules-dir
export APP_BASE_PATH=/opt/profilarr/dist/build
export VITE_CHANNEL=stable
$STD deno run -A npm:vite build
DENO_TARGET="${ARCH}-unknown-linux-gnu"
$STD deno compile \
--no-check \
--allow-net \
--allow-read \
--allow-write \
--allow-env \
--allow-ffi \
--allow-run \
--allow-sys \
--target "$DENO_TARGET" \
--output dist/build/profilarr \
dist/build/mod.ts
msg_ok "Built Profilarr"
msg_info "Updating Profilarr"
cp dist/build/profilarr /opt/profilarr/app/profilarr
cp dist/build/server.js /opt/profilarr/app/server.js
cp -r dist/build/static /opt/profilarr/app/static
chmod +x /opt/profilarr/app/profilarr
msg_ok "Updated Profilarr"
msg_info "Starting Service"
systemctl start profilarr

79
ct/protonmail-bridge.sh Normal file
View File

@@ -0,0 +1,79 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: Stephen Chin (steveonjava)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/ProtonMail/proton-bridge
APP="ProtonMail-Bridge"
var_tags="${var_tags:-mail;proton}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -x /usr/bin/protonmail-bridge ]]; then
msg_error "No ${APP} Installation Found!"
exit 1
fi
if check_for_gh_release "protonmail-bridge" "ProtonMail/proton-bridge"; then
local -a bridge_units=(
protonmail-bridge
protonmail-bridge-imap.socket
protonmail-bridge-smtp.socket
protonmail-bridge-imap-proxy
protonmail-bridge-smtp-proxy
)
local unit
declare -A was_active
for unit in "${bridge_units[@]}"; do
if systemctl is-active --quiet "$unit" 2>/dev/null; then
was_active["$unit"]=1
else
was_active["$unit"]=0
fi
done
msg_info "Stopping Services"
systemctl stop protonmail-bridge-imap.socket protonmail-bridge-smtp.socket protonmail-bridge-imap-proxy protonmail-bridge-smtp-proxy protonmail-bridge
msg_ok "Stopped Services"
fetch_and_deploy_gh_release "protonmail-bridge" "ProtonMail/proton-bridge" "binary"
if [[ -f /home/protonbridge/.protonmailbridge-initialized ]]; then
msg_info "Starting Services"
for unit in "${bridge_units[@]}"; do
if [[ "${was_active[$unit]:-0}" == "1" ]]; then
systemctl start "$unit"
fi
done
msg_ok "Started Services"
else
msg_ok "Initialization not completed. Services remain disabled."
fi
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW}One-time configuration is required before Bridge services are enabled.${CL}"
echo -e "${INFO}${YW}Run this command in the container: protonmailbridge-configure${CL}"

View File

@@ -51,6 +51,11 @@ function update_script() {
mv /opt/reactive-resume.env.bak /opt/reactive-resume/.env
msg_ok "Updated Reactive Resume"
msg_info "Updating Service"
sed -i 's|WorkingDirectory=/opt/reactive-resume$|WorkingDirectory=/opt/reactive-resume/apps/web|' /etc/systemd/system/reactive-resume.service
systemctl daemon-reload
msg_ok "Updated Service"
msg_info "Restarting services"
systemctl start chromium-printer reactive-resume
msg_ok "Restarted services"

View File

@@ -48,8 +48,6 @@ function update_script() {
msg_ok "Services started"
msg_ok "Updated successfully!"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
}

View File

@@ -30,7 +30,7 @@ function update_script() {
fi
NODE_VERSION="24" setup_nodejs
PYTHON_VERSION="3.12" setup_uv
PYTHON_VERSION="3.14" setup_uv
if check_for_gh_release "shelfmark" "calibrain/shelfmark"; then
msg_info "Stopping Service(s)"
@@ -59,6 +59,7 @@ function update_script() {
RELEASE_VERSION=$(cat "$HOME/.shelfmark")
msg_info "Updating Shelfmark"
export VIRTUAL_ENV=/opt/shelfmark/venv
sed -i "s/^RELEASE_VERSION=.*/RELEASE_VERSION=$RELEASE_VERSION/" /etc/shelfmark/.env
cd /opt/shelfmark/src/frontend
$STD npm ci
@@ -67,9 +68,10 @@ function update_script() {
cd /opt/shelfmark
$STD uv venv -c ./venv
$STD source ./venv/bin/activate
$STD uv pip install -r ./requirements-base.txt
if [[ $(sed -n '/_BYPASS=/s/[^=]*=//p' /etc/shelfmark/.env) == "true" ]] && [[ $(sed -n '/BYPASSER=/s/[^=]*=//p' /etc/shelfmark/.env) == "false" ]]; then
$STD uv pip install -r ./requirements-shelfmark.txt
$STD uv sync --active --locked --no-default-groups --extra browser
else
$STD uv sync --active --locked --no-default-groups
fi
mv /opt/start.sh.bak /opt/shelfmark/start.sh
msg_ok "Updated Shelfmark"

85
ct/shlink.sh Normal file
View File

@@ -0,0 +1,85 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://shlink.io/
APP="Shlink"
var_tags="${var_tags:-url-shortener;analytics;php}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/shlink ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "shlink" "shlinkio/shlink"; then
msg_info "Stopping Service"
systemctl stop shlink
msg_ok "Stopped Service"
msg_info "Backing up Data"
cp /opt/shlink/.env /opt/shlink.env.bak
cp -r /opt/shlink/data /opt/shlink_data_backup
msg_ok "Backed up Data"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "shlink" "shlinkio/shlink" "prebuild" "latest" "/opt/shlink" "shlink*_php8.5_dist.zip"
msg_info "Restoring Data"
cp /opt/shlink.env.bak /opt/shlink/.env
rm -f /opt/shlink.env.bak
cp -r /opt/shlink_data_backup/. /opt/shlink/data
rm -rf /opt/shlink_data_backup
msg_ok "Restored Data"
msg_info "Updating Application"
cd /opt/shlink
$STD php ./vendor/bin/rr get --no-interaction --location bin/
chmod +x bin/rr
set -a
source /opt/shlink/.env
set +a
$STD php vendor/bin/shlink-installer init --no-interaction --clear-db-cache --skip-download-geolite
msg_ok "Updated Application"
msg_info "Starting Service"
systemctl start shlink
msg_ok "Started Service"
msg_ok "Updated successfully!"
fi
if [[ -d /opt/shlink-web-client ]]; then
if check_for_gh_release "shlink-web-client" "shlinkio/shlink-web-client"; then
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "shlink-web-client" "shlinkio/shlink-web-client" "prebuild" "latest" "/opt/shlink-web-client" "shlink-web-client_*_dist.zip"
msg_ok "Updated Web Client"
fi
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access Shlink Web Client using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
echo -e "${INFO}${YW} Shlink HTTP API:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"

View File

@@ -35,16 +35,20 @@ function update_script() {
systemctl stop snowshare
msg_ok "Stopped Service"
msg_info "Backing up uploads"
[ -d /opt/snowshare/uploads ] && cp -a /opt/snowshare/uploads /opt/.snowshare_uploads_backup
msg_ok "Uploads backed up"
if ! grep -q '^UPLOAD_DIR=' /opt/snowshare.env 2>/dev/null; then
msg_info "Migrating uploads to persistent directory"
mkdir -p /opt/snowshare_data
if [ -d /opt/snowshare/uploads ] && [ -z "$(ls -A /opt/snowshare_data 2>/dev/null)" ]; then
mv /opt/snowshare/uploads/* /opt/snowshare_data/ 2>/dev/null || true
mv /opt/snowshare/uploads/.[!.]* /opt/snowshare_data/ 2>/dev/null || true
rmdir /opt/snowshare/uploads 2>/dev/null || true
fi
echo "UPLOAD_DIR=/opt/snowshare_data" >>/opt/snowshare.env
msg_ok "Migrated uploads to /opt/snowshare_data"
fi
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "snowshare" "TuroYT/snowshare" "tarball"
msg_info "Restoring uploads"
[ -d /opt/.snowshare_uploads_backup ] && rm -rf /opt/snowshare/uploads && cp -a /opt/.snowshare_uploads_backup /opt/snowshare/uploads
msg_ok "Uploads restored"
msg_info "Updating Snowshare"
cd /opt/snowshare
$STD npm ci

77
ct/solidtime.sh Normal file
View File

@@ -0,0 +1,77 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.solidtime.io/
APP="SolidTime"
var_tags="${var_tags:-time-tracking;productivity;business}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/solidtime ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "solidtime" "solidtime-io/solidtime"; then
msg_info "Stopping Services"
systemctl stop caddy
msg_ok "Stopped Services"
msg_info "Backing up Data"
cp /opt/solidtime/.env /opt/solidtime.env.bak
cp -r /opt/solidtime/storage /opt/solidtime_storage_backup
msg_ok "Backed up Data"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "solidtime" "solidtime-io/solidtime" "tarball"
msg_info "Restoring Data"
cp /opt/solidtime.env.bak /opt/solidtime/.env
rm -f /opt/solidtime.env.bak
cp -r /opt/solidtime_storage_backup/. /opt/solidtime/storage
rm -rf /opt/solidtime_storage_backup
msg_ok "Restored Data"
msg_info "Updating Application"
cd /opt/solidtime
$STD composer install --no-dev --optimize-autoloader
$STD npm install
$STD npm run build
$STD php artisan migrate --force
$STD php artisan optimize:clear
chown -R www-data:www-data /opt/solidtime
msg_ok "Updated Application"
msg_info "Starting Services"
systemctl start caddy
msg_ok "Started Services"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
echo -e "${INFO}${YW}HTTPS is not enabled by default (use domain + reverse proxy/TLS if needed).${CL}"

View File

@@ -39,13 +39,11 @@ function update_script() {
msg_ok "Created Backup"
msg_info "Updating SonarQube"
temp_file=$(mktemp)
RELEASE=$(get_latest_github_release "SonarSource/sonarqube")
curl -fsSL "https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-${RELEASE}.zip" -o $temp_file
unzip -q "$temp_file" -d /opt
rm -f "$temp_file"
mv /opt/sonarqube-${RELEASE} /opt/sonarqube
echo "${RELEASE}" > ~/.sonarqube
RELEASE=$(curl -fsSL "https://binaries.sonarsource.com/s3api?prefix=Distribution/sonarqube/sonarqube-&delimiter=/" |
grep -oP 'sonarqube-[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\.zip' |
sort -V | tail -n1)
fetch_and_deploy_from_url "https://binaries.sonarsource.com/Distribution/sonarqube/${RELEASE}" /opt/sonarqube
echo "${RELEASE}" >~/.sonarqube
msg_ok "Updated SonarQube"
msg_info "Restoring Backup"

View File

@@ -23,21 +23,24 @@ function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /var/lib/sonarr/ ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Stopping Service"
systemctl stop sonarr
msg_ok "Stopped Service"
if check_for_gh_release "Sonarr" "Sonarr/Sonarr"; then
msg_info "Stopping Service"
systemctl stop sonarr
msg_ok "Stopped Service"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "Sonarr" "Sonarr/Sonarr" "prebuild" "latest" "/opt/Sonarr" "Sonarr.main.*.linux-x64.tar.gz"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "Sonarr" "Sonarr/Sonarr" "prebuild" "latest" "/opt/Sonarr" "Sonarr.main.*.linux-x64.tar.gz"
msg_info "Starting Service"
systemctl start sonarr
msg_ok "Started Service"
msg_ok "Updated successfully!"
msg_info "Starting Service"
systemctl start sonarr
msg_ok "Started Service"
msg_ok "Updated successfully!"
fi
exit
}

76
ct/soulsync.sh Normal file
View File

@@ -0,0 +1,76 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/Nezreka/SoulSync
APP="SoulSync"
var_tags="${var_tags:-music;automation;media}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f ~/.soulsync ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
NODE_VERSION="22" setup_nodejs
if check_for_gh_release "soulsync" "Nezreka/SoulSync"; then
msg_info "Stopping Service"
systemctl stop soulsync
msg_ok "Stopped Service"
msg_info "Backing up Data"
mv /opt/soulsync/config /opt/soulsync-config.bak
mv /opt/soulsync/data /opt/soulsync-data.bak
msg_ok "Backed up Data"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "soulsync" "Nezreka/SoulSync" "tarball"
msg_info "Updating Python Dependencies"
cd /opt/soulsync
$STD uv venv --clear /opt/soulsync/.venv --python 3.11
$STD uv pip install -r requirements.txt
msg_ok "Updated Python Dependencies"
msg_info "Building WebUI"
cd /opt/soulsync/webui
$STD npm ci
$STD npm run build
msg_ok "Built WebUI"
mv /opt/soulsync-config.bak /opt/soulsync/config
mv /opt/soulsync-data.bak /opt/soulsync/data
msg_info "Starting Service"
systemctl start soulsync
msg_ok "Started Service"
msg_ok "Updated ${APP}"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8008${CL}"

View File

@@ -62,6 +62,18 @@ function update_script() {
cp -a /opt/sparkyfitness/SparkyFitnessFrontend/dist/. /var/www/sparkyfitness/
msg_ok "Updated Sparky Fitness Frontend"
msg_info "Refreshing Nginx Config"
sed \
-e 's|${SPARKY_FITNESS_SERVER_HOST}|127.0.0.1|g' \
-e 's|${SPARKY_FITNESS_SERVER_PORT}|3010|g' \
-e 's|${NGINX_LISTEN_PORT}|80|g' \
-e 's|${NGINX_ACCESS_LOG}|/var/log/nginx/sparkyfitness.access.log|g' \
-e 's|${NGINX_ERROR_LOG}|/var/log/nginx/sparkyfitness.error.log|g' \
-e 's|root /usr/share/nginx/html;|root /var/www/sparkyfitness;|g' \
-e 's|server_name localhost;|server_name _;|g' \
"/opt/sparkyfitness/docker/nginx.conf" >/etc/nginx/sites-available/sparkyfitness
msg_ok "Refreshed Nginx Config"
msg_info "Refreshing SparkyFitness Service"
cat <<EOF >/etc/systemd/system/sparkyfitness-server.service
[Unit]

View File

@@ -30,6 +30,12 @@ function update_script() {
msg_info "Updating step-ca and step-cli"
$STD apt update
$STD apt upgrade -y step-ca step-cli
# Patch for making $STD happy (/usr/bin/step is a symlink to /usr/bin/step-cli)
STEPBIN="$(which step)"
rm -f "$STEPBIN"
cp -f "$(which step-cli)" "$STEPBIN"
$STD systemctl restart step-ca
msg_ok "Updated step-ca and step-cli"

85
ct/storyteller.sh Normal file
View File

@@ -0,0 +1,85 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://gitlab.com/storyteller-platform/storyteller
APP="Storyteller"
var_tags="${var_tags:-media;ebook;audiobook}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-10240}"
var_disk="${var_disk:-20}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/storyteller ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gl_release "storyteller" "storyteller-platform/storyteller"; then
msg_info "Stopping Service"
systemctl stop storyteller
msg_ok "Stopped Service"
msg_info "Backing up Data"
cp /opt/storyteller/.env /opt/storyteller_env.bak
msg_ok "Backed up Data"
CLEAN_INSTALL=1 fetch_and_deploy_gl_release "storyteller" "storyteller-platform/storyteller" "tarball" "latest" "/opt/storyteller"
msg_info "Restoring Configuration"
mv /opt/storyteller_env.bak /opt/storyteller/.env
msg_ok "Restored Configuration"
msg_info "Rebuilding Storyteller"
cd /opt/storyteller
export NODE_OPTIONS="--max-old-space-size=4096"
$STD yarn install --network-timeout 600000
$STD gcc -g -fPIC -rdynamic -shared web/sqlite/uuid.c -o web/sqlite/uuid.c.so
export CI=1
export NODE_ENV=production
export NEXT_TELEMETRY_DISABLED=1
export SQLITE_NATIVE_BINDING=/opt/storyteller/node_modules/better-sqlite3/build/Release/better_sqlite3.node
$STD yarn workspaces foreach -Rpt --from @storyteller-platform/web --exclude @storyteller-platform/eslint run build
mkdir -p /opt/storyteller/web/.next/standalone/web/.next/static
cp -rT /opt/storyteller/web/.next/static /opt/storyteller/web/.next/standalone/web/.next/static
if [[ -d /opt/storyteller/web/public ]]; then
mkdir -p /opt/storyteller/web/.next/standalone/web/public
cp -rT /opt/storyteller/web/public /opt/storyteller/web/.next/standalone/web/public
fi
mkdir -p /opt/storyteller/web/.next/standalone/web/migrations
cp -rT /opt/storyteller/web/migrations /opt/storyteller/web/.next/standalone/web/migrations
mkdir -p /opt/storyteller/web/.next/standalone/web/sqlite
cp -rT /opt/storyteller/web/sqlite /opt/storyteller/web/.next/standalone/web/sqlite
ln -sf /opt/storyteller/.env /opt/storyteller/web/.next/standalone/web/.env
msg_ok "Rebuilt Storyteller"
msg_info "Starting Service"
systemctl start storyteller
msg_ok "Started Service"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8001${CL}"

View File

@@ -64,7 +64,7 @@ EOF
fi
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "Sure" "we-promise/sure" "tarball" "latest" "/opt/sure"
RUBY_VERSION="$(cat /opt/sure/.ruby-version)" RUBY_INSTALL_RAILS=false setup_ruby
RUBY_VERSION="$(cat /opt/sure/.ruby-version)" RUBY_INSTALL_RAILS=false HOME=/root setup_ruby
msg_info "Updating Sure"
source ~/.profile

82
ct/teable.sh Normal file
View File

@@ -0,0 +1,82 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/teableio/teable
APP="Teable"
var_tags="${var_tags:-database;no-code;spreadsheet}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-10240}"
var_disk="${var_disk:-25}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/teable ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "teable" "teableio/teable"; then
msg_info "Stopping Service"
systemctl stop teable
msg_ok "Stopped Service"
msg_info "Backing up Configuration"
cp /opt/teable/.env /opt/teable.env.bak
msg_ok "Backed up Configuration"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "teable" "teableio/teable" "tarball"
msg_info "Restoring Configuration"
mv /opt/teable.env.bak /opt/teable/.env
msg_ok "Restored Configuration"
msg_info "Rebuilding Teable"
cd /opt/teable
TEABLE_VERSION=$(cat ~/.teable)
echo "NEXT_PUBLIC_BUILD_VERSION=\"${TEABLE_VERSION}\"" >>apps/nextjs-app/.env
export HUSKY=0
export NODE_OPTIONS="--max-old-space-size=8192"
$STD pnpm install --frozen-lockfile
$STD pnpm -F @teable/db-main-prisma prisma-generate --schema ./prisma/postgres/schema.prisma
NODE_ENV=production NEXT_BUILD_ENV_TYPECHECK=false \
$STD pnpm -r --filter '!playground' run build
msg_ok "Rebuilt Teable"
msg_info "Running Database Migrations"
source /opt/teable/.env
$STD pnpm -F @teable/db-main-prisma prisma-migrate deploy --schema ./prisma/postgres/schema.prisma
msg_ok "Ran Database Migrations"
msg_info "Starting Service"
systemctl start teable
msg_ok "Started Service"
msg_ok "Updated successfully!"
else
msg_ok "No update available."
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

View File

@@ -47,10 +47,9 @@ function update_script() {
RELEASE=$(curl -fsSL https://technitium.com/dns/ | grep -oP 'Version \K[\d.]+')
if [[ ! -f ~/.technitium || ${RELEASE} != "$(cat ~/.technitium 2>/dev/null)" ]]; then
systemctl stop technitium
fetch_and_deploy_from_url "https://download.technitium.com/dns/DnsServerPortable.tar.gz" /opt/technitium/dns
echo "${RELEASE}" >~/.technitium
systemctl start technitium
systemctl restart technitium
msg_ok "Updated successfully!"
else
msg_ok "No update required. Technitium DNS is already at v${RELEASE}."

View File

@@ -29,6 +29,8 @@ function update_script() {
exit
fi
NODE_VERSION="24" setup_nodejs
if check_for_gh_tag "guacd" "apache/guacamole-server"; then
msg_info "Stopping guacd"
systemctl stop guacd 2>/dev/null || true
@@ -155,8 +157,6 @@ EOF
/opt/termix/nginx/client_body
msg_ok "Recreated Directories"
NODE_VERSION="24" setup_nodejs
msg_info "Building Frontend"
cd /opt/termix
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
@@ -199,12 +199,17 @@ EOF
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
curl -fsSL "https://raw.githubusercontent.com/Termix-SSH/Termix/main/docker/nginx.conf" -o /etc/nginx/nginx.conf
sed -i '/^master_process/d' /etc/nginx/nginx.conf
sed -i '/^pid \/app\/nginx/d' /etc/nginx/nginx.conf
sed -i 's|pid /tmp/nginx/nginx.pid;|pid /run/nginx.pid;|' /etc/nginx/nginx.conf
sed -i 's|error_log /tmp/nginx/error.log|error_log /var/log/nginx/error.log|' /etc/nginx/nginx.conf
sed -i 's|access_log /tmp/nginx/access.log|access_log /var/log/nginx/access.log|' /etc/nginx/nginx.conf
sed -i 's|/app/html|/opt/termix/html|g' /etc/nginx/nginx.conf
sed -i 's|/app/nginx|/opt/termix/nginx|g' /etc/nginx/nginx.conf
sed -i 's|listen ${PORT};|listen 80;|g' /etc/nginx/nginx.conf
nginx -t && systemctl reload nginx
rm -f /etc/systemd/system/nginx.service.d/pidfile.conf
rm -f /etc/tmpfiles.d/nginx-termix.conf
systemctl daemon-reload
nginx -t && systemctl restart nginx
msg_ok "Updated Nginx Configuration"
else
msg_warn "Nginx configuration not updated. If Termix doesn't work, restore from backup or update manually."

View File

@@ -29,12 +29,13 @@ function update_script() {
exit
fi
if check_for_gh_release "threadfin" "threadfin/threadfin"; then
if check_for_gh_release "threadfin-app" "threadfin/threadfin"; then
msg_info "Stopping Service"
systemctl stop threadfin
msg_ok "Stopped Service"
fetch_and_deploy_gh_release "threadfin" "threadfin/threadfin" "singlefile" "latest" "/opt/threadfin" "Threadfin_linux_amd64"
fetch_and_deploy_gh_release "threadfin-app" "threadfin/threadfin" "singlefile" "latest" "/opt/threadfin" "Threadfin_linux_amd64"
mv /opt/threadfin/threadfin-app /opt/threadfin/threadfin
msg_info "Starting Service"
systemctl start threadfin

View File

@@ -3,7 +3,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/steveiliop56/tinyauth
# Source: https://github.com/tinyauthapp/tinyauth
APP="Tinyauth"
var_tags="${var_tags:-auth}"
@@ -28,12 +28,12 @@ function update_script() {
exit
fi
if check_for_gh_release "tinyauth" "steveiliop56/tinyauth"; then
if check_for_gh_release "tinyauth" "tinyauthapp/tinyauth"; then
msg_info "Stopping Service"
systemctl stop tinyauth
msg_ok "Stopped Service"
fetch_and_deploy_gh_release "tinyauth" "steveiliop56/tinyauth" "singlefile" "latest" "/opt/tinyauth" "tinyauth-amd64"
fetch_and_deploy_gh_release "tinyauth" "tinyauthapp/tinyauth" "singlefile" "latest" "/opt/tinyauth" "tinyauth-amd64"
msg_info "Starting Service"
systemctl start tinyauth

View File

@@ -29,6 +29,8 @@ function update_script() {
exit
fi
NODE_VERSION="24" setup_nodejs
if check_for_gh_release "trek" "mauriceboe/TREK"; then
msg_info "Stopping Service"
systemctl stop trek

83
ct/tubearchivist.sh Normal file
View File

@@ -0,0 +1,83 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/tubearchivist/tubearchivist
APP="Tube Archivist"
var_tags="${var_tags:-media;youtube;archiving}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-6144}"
var_disk="${var_disk:-30}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/tubearchivist ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "tubearchivist" "tubearchivist/tubearchivist"; then
msg_info "Stopping Services"
systemctl stop tubearchivist tubearchivist-celery tubearchivist-beat
msg_ok "Stopped Services"
msg_info "Backing up Data"
cp /opt/tubearchivist/.env /opt/tubearchivist_env.bak
msg_ok "Backed up Data"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "tubearchivist" "tubearchivist/tubearchivist" "tarball"
msg_info "Rebuilding Tube Archivist"
cd /opt/tubearchivist/frontend
$STD npm install
$STD npm run build:deploy
mkdir -p /opt/tubearchivist/backend/static
cp -r /opt/tubearchivist/frontend/dist/* /opt/tubearchivist/backend/static/
cp /opt/tubearchivist/docker_assets/backend_start.py /opt/tubearchivist/backend/
$STD uv pip install --python /opt/tubearchivist/.venv/bin/python -r /opt/tubearchivist/backend/requirements.txt
if [[ -f /opt/tubearchivist/backend/requirements.plugins.txt ]]; then
mkdir -p /opt/yt_plugins/bgutil
$STD uv pip install --python /opt/tubearchivist/.venv/bin/python --target /opt/yt_plugins/bgutil -r /opt/tubearchivist/backend/requirements.plugins.txt
fi
msg_ok "Rebuilt Tube Archivist"
msg_info "Restoring Configuration"
mv /opt/tubearchivist_env.bak /opt/tubearchivist/.env
sed -i 's|^TA_APP_DIR=/opt/tubearchivist$|TA_APP_DIR=/opt/tubearchivist/backend|' /opt/tubearchivist/.env
sed -i 's|^TA_CACHE_DIR=/opt/tubearchivist/cache$|TA_CACHE_DIR=/cache|' /opt/tubearchivist/.env
sed -i 's|^TA_MEDIA_DIR=/opt/tubearchivist/media$|TA_MEDIA_DIR=/youtube|' /opt/tubearchivist/.env
ln -sf /opt/tubearchivist/cache /cache
ln -sf /opt/tubearchivist/media /youtube
ln -sf /opt/tubearchivist/.env /opt/tubearchivist/backend/.env
msg_ok "Restored Configuration"
msg_info "Starting Services"
systemctl start tubearchivist tubearchivist-celery tubearchivist-beat
systemctl reload nginx
msg_ok "Started Services"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}"

View File

@@ -28,7 +28,10 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
NODE_VERSION="24" setup_nodejs
setup_mariadb
if check_for_gh_release "wallabag" "wallabag/wallabag"; then
msg_info "Stopping Services"
systemctl stop nginx php8.3-fpm

View File

@@ -41,7 +41,7 @@ function update_script() {
$STD go mod tidy
$STD go build
cd /opt/wanderer/source/web
$STD npm ci --omit=dev
$STD npm ci
$STD npm run build
msg_ok "Updated wanderer"

View File

@@ -28,7 +28,7 @@ function update_script() {
exit
fi
if check_for_gh_release "web-check" "CrazyWolf13/web-check"; then
if check_for_gh_release "web-check" "Lissy93/web-check"; then
msg_info "Stopping Service"
systemctl stop web-check
msg_ok "Stopped Service"
@@ -38,7 +38,7 @@ function update_script() {
msg_ok "Created backup"
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "web-check" "CrazyWolf13/web-check" "tarball"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "web-check" "Lissy93/web-check" "tarball"
msg_info "Restoring backup"
mv /opt/.env /opt/web-check

65
ct/webtrees.sh Normal file
View File

@@ -0,0 +1,65 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: sudofly
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://webtrees.net/
APP="Webtrees"
var_tags="${var_tags:-genealogy;cms}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/webtrees ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "webtrees" "fisharebest/webtrees"; then
msg_info "Stopping Service"
PHP_VER=$(php -r 'echo PHP_MAJOR_VERSION . "." . PHP_MINOR_VERSION;')
systemctl stop caddy php${PHP_VER}-fpm
msg_ok "Stopped Service"
msg_info "Backing up Data"
cp -r /opt/webtrees/data /opt/webtrees_data_backup
msg_ok "Backed up Data"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "webtrees" "fisharebest/webtrees" "prebuild" "latest" "/opt/webtrees" "webtrees-*.zip"
msg_info "Restoring Data"
cp -r /opt/webtrees_data_backup/. /opt/webtrees/data
rm -rf /opt/webtrees_data_backup
chown -R www-data:www-data /opt/webtrees
msg_ok "Restored Data"
msg_info "Starting Service"
systemctl start caddy php${PHP_VER}-fpm
msg_ok "Started Service"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"

Some files were not shown because too many files have changed in this diff Show More