Compare commits

...

71 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
020c8a76c1 Update CHANGELOG.md (#7664)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-16 00:12:10 +00:00
community-scripts-pr-app[bot]
8f738e2d26 Update versions.json (#7663)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-16 02:11:44 +02:00
community-scripts-pr-app[bot]
e5e7547eca Update CHANGELOG.md (#7662)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 21:41:51 +00:00
community-scripts-pr-app[bot]
a383aa5679 Update CHANGELOG.md (#7661)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 21:11:06 +00:00
Hugo Dantas
ce68253564 Fix IPv6 provider setting in cloudflare-ddns-install.sh (#7660) 2025-09-15 23:10:45 +02:00
community-scripts-pr-app[bot]
65e561dcbe Update versions.json (#7657)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 14:05:44 +02:00
CanbiZ
dffb291a4f OpenWrt: Refactor and increase root-partition (#7653)
* move openwrt to correct naming

* Add disk size configuration for OpenWrt VM

Introduces a DISK_SIZE variable to allow setting disk size for OpenWrt VM in both default and advanced settings. Updates VM creation logic to use the specified disk size and improves output formatting for clarity.

* Update openwrt-vm.sh

* Update openwrt-vm.sh

* Update openwrt-vm.sh

* Add newline before loading message in openwrt-vm.sh

Prepends a newline to the loading message for improved output formatting in the openwrt-vm.sh script.

* Update openwrt-vm.sh

* rename vm

* Improve OpenWrt VM network configuration logic

Refactored network interface configuration to use a loop for more robust VM status checking and command delivery. Enhanced bridge interface setup with clearer messaging and improved variable handling. Minor shell syntax improvements for consistency.

* Update openwrt-vm.sh
2025-09-15 13:17:45 +02:00
community-scripts-pr-app[bot]
f3bcb3211c Update CHANGELOG.md (#7655)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 09:20:31 +00:00
community-scripts-pr-app[bot]
7c22fe5f46 Update CHANGELOG.md (#7654)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 09:19:59 +00:00
CanbiZ
600e739005 Refactor pv installation into ensure_pv function (#7642)
Moved pv installation logic into a reusable ensure_pv function in both haos-vm.sh and umbrel-os-vm.sh. This improves code clarity and avoids duplicate code for checking and installing the pv package.
2025-09-15 11:19:52 +02:00
CanbiZ
31be78878f Wikijs: Bump Node.js version to 22 (#7643)
* Update Node.js version to 22 in installer script

* Update wikijs.sh
2025-09-15 11:19:32 +02:00
community-scripts-pr-app[bot]
e47d62d575 Update .app files (#7651)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-15 10:50:08 +02:00
community-scripts-pr-app[bot]
ec58d6c622 Update CHANGELOG.md (#7652)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 08:43:48 +00:00
community-scripts-pr-app[bot]
bac2b6eade Update CHANGELOG.md (#7650)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 08:43:29 +00:00
community-scripts-pr-app[bot]
bb289203c6 Update date in json (#7649)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-15 08:43:22 +00:00
push-app-to-main[bot]
fe97056d19 SigNoz (#7648)
* 'Add new script'

* Change application name from 'signoz' to 'SigNoz'

* Update signoz-install.sh

* Update signoz-install.sh

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-09-15 10:42:57 +02:00
community-scripts-pr-app[bot]
65ba9192d9 Update CHANGELOG.md (#7647)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 07:54:59 +00:00
community-scripts-pr-app[bot]
8a096b9e6e Update CHANGELOG.md (#7646)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 07:54:43 +00:00
community-scripts-pr-app[bot]
1c6efa528b Update date in json (#7645)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-15 07:54:41 +00:00
push-app-to-main[bot]
89c3410f6f 'Add new script' (#7644)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-09-15 09:54:23 +02:00
community-scripts-pr-app[bot]
34b1d70762 Update CHANGELOG.md (#7639)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 00:14:24 +00:00
community-scripts-pr-app[bot]
1860847153 Update versions.json (#7638)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 02:14:01 +02:00
community-scripts-pr-app[bot]
58905bf94d Update versions.json (#7633)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-14 14:04:51 +02:00
community-scripts-pr-app[bot]
7d1788a079 Update CHANGELOG.md (#7630)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-14 00:13:26 +00:00
community-scripts-pr-app[bot]
83e04257d9 Update versions.json (#7629)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-14 02:13:05 +02:00
community-scripts-pr-app[bot]
11c33e34d2 Update CHANGELOG.md (#7628)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 23:12:13 +00:00
Chris
52df77cab5 Palmr: hotfix #7622 (#7625) 2025-09-14 01:11:54 +02:00
community-scripts-pr-app[bot]
17f6264a03 Update CHANGELOG.md (#7627)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 20:07:39 +00:00
Jonathan Wukitsch
9463b0b808 fix: tagline grammar (#7621) 2025-09-13 22:07:19 +02:00
community-scripts-pr-app[bot]
eba83f3848 Update CHANGELOG.md (#7626)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 19:44:12 +00:00
Tobias
e3f6ea73c3 pdm: refactor for beta version (#7619)
* pdm: refactor for beta version

* pdm: refactor for beta and deb13 preparation
2025-09-13 21:43:53 +02:00
community-scripts-pr-app[bot]
06247e742c Update CHANGELOG.md (#7623)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 17:41:10 +00:00
Tobias
4606782d6b ollama: fix: ccurl continue on interrupts (#7620) 2025-09-13 19:40:46 +02:00
community-scripts-pr-app[bot]
a988acf2d5 Update versions.json (#7618)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 14:04:49 +02:00
community-scripts-pr-app[bot]
5f44007372 Update CHANGELOG.md (#7612)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 07:20:42 +00:00
Chris
8b87272e38 Immich: bump to v1.142.0 (#7594)
* Immich: cleanup

- removing some redundant/unused stuff
- restoring proper output suppression for machine-learning build
- add more messages during custom library build

* Immich: bump to v1.142.0
2025-09-13 09:20:22 +02:00
community-scripts-pr-app[bot]
ceccf08f69 Update CHANGELOG.md (#7611)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 07:12:24 +00:00
Jonathan Wukitsch
5a80cd7e02 fix: grammar/capitalization for links and taglines (#7609)
* fix: grammar/capitalization for links and taglines

* fix: update number of total scripts
2025-09-13 09:11:59 +02:00
community-scripts-pr-app[bot]
d617a49766 Update CHANGELOG.md (#7608)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 00:12:34 +00:00
community-scripts-pr-app[bot]
7c0d79c115 Update versions.json (#7607)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 02:12:13 +02:00
community-scripts-pr-app[bot]
0d4a508543 Update CHANGELOG.md (#7606)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 19:28:52 +00:00
CanbiZ
f979dd2277 [core]: add fallback if mariadb upstream unreachable (#7599) 2025-09-12 21:28:28 +02:00
community-scripts-pr-app[bot]
87de220511 Update CHANGELOG.md (#7605)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 18:49:50 +00:00
Slaviša Arežina
481e70b0aa Increase resources (#7600) 2025-09-12 20:49:25 +02:00
community-scripts-pr-app[bot]
6c3a16e579 Update CHANGELOG.md (#7604)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 18:21:43 +00:00
community-scripts-pr-app[bot]
394f91c994 Update CHANGELOG.md (#7603)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 18:21:19 +00:00
community-scripts-pr-app[bot]
63a268d6c5 Update date in json (#7602)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-12 18:21:16 +00:00
push-app-to-main[bot]
9ee6e23a59 Stylus (#7588)
* 'Add new script'

* Update stylus.sh

* Update stylus-install.sh

* Update stylus.json

* fix stylus update

* cleanup

---------

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 <47820557+MickLesk@users.noreply.github.com>
2025-09-12 20:20:58 +02:00
community-scripts-pr-app[bot]
eceb1cd53c Update CHANGELOG.md (#7601)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 18:20:30 +00:00
rell3k
719c55655d Update post-pve-install.sh (#7598)
Create directory if it doesn't exist.
2025-09-12 20:20:06 +02:00
community-scripts-pr-app[bot]
aeb15c7ea1 Update CHANGELOG.md (#7592)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 12:08:11 +00:00
community-scripts-pr-app[bot]
0c7a366782 Update date in json (#7591)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-12 12:07:51 +00:00
push-app-to-main[bot]
93a3a572d4 uhf (#7589)
* 'Add new script'

* Update uhf.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>
2025-09-12 14:07:30 +02:00
community-scripts-pr-app[bot]
8b2645a529 Update versions.json (#7590)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 14:06:23 +02:00
community-scripts-pr-app[bot]
b72e132699 Update CHANGELOG.md (#7587)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 10:30:23 +00:00
webmogul1
f4df8e2ccc Update openwebui.sh (#7582) 2025-09-12 12:30:00 +02:00
community-scripts-pr-app[bot]
f03f004226 Update CHANGELOG.md (#7584)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 00:13:59 +00:00
community-scripts-pr-app[bot]
b13c840bda Update versions.json (#7583)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 02:13:39 +02:00
community-scripts-pr-app[bot]
ce90647bda Update CHANGELOG.md (#7581)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 19:04:00 +00:00
push-app-to-main[bot]
164e487090 telegraf (#7576) 2025-09-11 21:03:34 +02:00
community-scripts-pr-app[bot]
a4660adedd Update CHANGELOG.md (#7580)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 16:47:46 +00:00
Siyuan Gao
9352eec854 Fix frontend url (#7578) 2025-09-11 18:47:21 +02:00
community-scripts-pr-app[bot]
4478f8f6e0 Update versions.json (#7574)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 14:05:43 +02:00
community-scripts-pr-app[bot]
d69cbcd941 Update CHANGELOG.md (#7573)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 12:01:38 +00:00
Bram Suurd
affcfd06cf Add margin-bottom to Most Viewed Scripts header (#7572) 2025-09-11 14:01:14 +02:00
community-scripts-pr-app[bot]
b94b088c19 Update CHANGELOG.md (#7571)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 11:15:36 +00:00
dvino
5385382a88 post-pve-install mobile nag fix (#7567) 2025-09-11 13:15:07 +02:00
community-scripts-pr-app[bot]
d06ad37a22 Update CHANGELOG.md (#7570)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 10:44:37 +00:00
Slaviša Arežina
72c7d4199b Sort functions (#7569) 2025-09-11 12:44:13 +02:00
community-scripts-pr-app[bot]
2e75ced83f Update CHANGELOG.md (#7568)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 09:49:40 +00:00
Burrito
9a28ce0263 alpine-install: switch to using GitHub to fetch tools when using GitHub (#7566) 2025-09-11 11:49:14 +02:00
48 changed files with 3048 additions and 1902 deletions

View File

@@ -10,8 +10,88 @@
> [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-09-16
## 2025-09-15
### 🆕 New Scripts
- SigNoz ([#7648](https://github.com/community-scripts/ProxmoxVE/pull/7648))
- Scraparr ([#7644](https://github.com/community-scripts/ProxmoxVE/pull/7644))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- vm: move pv installation into ensure_pv function [@MickLesk](https://github.com/MickLesk) ([#7642](https://github.com/community-scripts/ProxmoxVE/pull/7642))
- Cloudflare-DDNS: Fix the IP6_PROVIDER variable [@hugodantas](https://github.com/hugodantas) ([#7660](https://github.com/community-scripts/ProxmoxVE/pull/7660))
- Wikijs: Bump Node.js version to 22 [@MickLesk](https://github.com/MickLesk) ([#7643](https://github.com/community-scripts/ProxmoxVE/pull/7643))
## 2025-09-14
## 2025-09-13
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Palmr: hotfix #7622 [@vhsdream](https://github.com/vhsdream) ([#7625](https://github.com/community-scripts/ProxmoxVE/pull/7625))
- ollama: fix: ccurl continue on interrupts [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7620](https://github.com/community-scripts/ProxmoxVE/pull/7620))
- #### 🔧 Refactor
- pdm: refactor for beta version [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7619](https://github.com/community-scripts/ProxmoxVE/pull/7619))
- Immich: bump to v1.142.0 [@vhsdream](https://github.com/vhsdream) ([#7594](https://github.com/community-scripts/ProxmoxVE/pull/7594))
### 🌐 Website
- fix: tagline grammar [@jonathanwuki](https://github.com/jonathanwuki) ([#7621](https://github.com/community-scripts/ProxmoxVE/pull/7621))
- fix: grammar/capitalization for links and taglines [@jonathanwuki](https://github.com/jonathanwuki) ([#7609](https://github.com/community-scripts/ProxmoxVE/pull/7609))
## 2025-09-12
### 🆕 New Scripts
- Stylus ([#7588](https://github.com/community-scripts/ProxmoxVE/pull/7588))
- UHF ([#7589](https://github.com/community-scripts/ProxmoxVE/pull/7589))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Tweak: post-pve-install: create folder if Not exist [@JVKeller](https://github.com/JVKeller) ([#7598](https://github.com/community-scripts/ProxmoxVE/pull/7598))
- Update openwebui.sh [@webmogul1](https://github.com/webmogul1) ([#7582](https://github.com/community-scripts/ProxmoxVE/pull/7582))
- #### ✨ New Features
- [core]: add fallback if mariadb upstream unreachable [@MickLesk](https://github.com/MickLesk) ([#7599](https://github.com/community-scripts/ProxmoxVE/pull/7599))
- ESPHome: Increase default disk size [@tremor021](https://github.com/tremor021) ([#7600](https://github.com/community-scripts/ProxmoxVE/pull/7600))
## 2025-09-11
### 🆕 New Scripts
- telegraf ([#7576](https://github.com/community-scripts/ProxmoxVE/pull/7576))
### 🚀 Updated Scripts
- [core] Sort tools.func functions alphabeticaly [@tremor021](https://github.com/tremor021) ([#7569](https://github.com/community-scripts/ProxmoxVE/pull/7569))
- mobile subscription nag fix [@dvino](https://github.com/dvino) ([#7567](https://github.com/community-scripts/ProxmoxVE/pull/7567))
- #### 🐞 Bug Fixes
- alpine-install: switch to using GitHub to fetch tools when using GitHub [@burritosoftware](https://github.com/burritosoftware) ([#7566](https://github.com/community-scripts/ProxmoxVE/pull/7566))
### 🌐 Website
- #### 🐞 Bug Fixes
- Add margin-bottom to Most Viewed Scripts header to unifi UI [@BramSuurdje](https://github.com/BramSuurdje) ([#7572](https://github.com/community-scripts/ProxmoxVE/pull/7572))
- #### 📝 Script Information
- Fix frontend url [@r1cebank](https://github.com/r1cebank) ([#7578](https://github.com/community-scripts/ProxmoxVE/pull/7578))
## 2025-09-10
### 🆕 New Scripts

View File

@@ -9,7 +9,7 @@ APP="ESPHome"
var_tags="${var_tags:-automation}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"

6
ct/headers/scraparr Normal file
View File

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

6
ct/headers/signoz Normal file
View File

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

6
ct/headers/stylus Normal file
View File

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

6
ct/headers/telegraf Normal file
View File

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

6
ct/headers/uhf Normal file
View File

@@ -0,0 +1,6 @@
__ ____ ________
/ / / / / / / ____/
/ / / / /_/ / /_
/ /_/ / __ / __/
\____/_/ /_/_/

View File

@@ -61,7 +61,7 @@ function update_script() {
done
msg_ok "Image-processing libraries up to date"
fi
RELEASE="1.141.1"
RELEASE="1.142.0"
if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then
msg_info "Stopping Services"
systemctl stop immich-web
@@ -160,15 +160,14 @@ EOF
cd "$SRC_DIR"/machine-learning
mkdir -p "$ML_DIR"
export VIRTUAL_ENV="${ML_DIR}"/ml-venv
$STD /usr/local/bin/uv venv "$VIRTUAL_ENV"
if [[ -f ~/.openvino ]]; then
msg_info "Updating HW-accelerated machine-learning"
/usr/local/bin/uv -q sync --extra openvino --no-cache --active
$STD /usr/local/bin/uv sync --extra openvino --no-cache --active
patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so"
msg_ok "Updated HW-accelerated machine-learning"
else
msg_info "Updating machine-learning"
/usr/local/bin/uv -q sync --extra cpu --no-cache --active
$STD /usr/local/bin/uv sync --extra cpu --no-cache --active
msg_ok "Updated machine-learning"
fi
cd "$SRC_DIR"
@@ -208,7 +207,7 @@ function compile_libjxl() {
JPEGLI_LIBJPEG_LIBRARY_VERSION="62.3.0"
# : "${LIBJXL_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libjxl.json)}"
: "${LIBJXL_REVISION:=794a5dcf0d54f9f0b20d288a12e87afb91d20dfc}"
if [[ "${update:-}" ]] || [[ "$LIBJXL_REVISION" != "$(grep 'libjxl' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
if [[ "$LIBJXL_REVISION" != "$(grep 'libjxl' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
msg_info "Recompiling libjxl"
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
$STD git clone https://github.com/libjxl/libjxl.git "$SOURCE"
@@ -289,7 +288,7 @@ function compile_libraw() {
local update
# : "${LIBRAW_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libraw.json)}"
: "${LIBRAW_REVISION:=09bea31181b43e97959ee5452d91e5bc66365f1f}"
if [[ "${update:-}" ]] || [[ "$LIBRAW_REVISION" != "$(grep 'libraw' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
if [[ "$LIBRAW_REVISION" != "$(grep 'libraw' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
msg_info "Recompiling libraw"
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
$STD git clone https://github.com/libraw/libraw.git "$SOURCE"
@@ -311,7 +310,7 @@ function compile_imagemagick() {
SOURCE=$SOURCE_DIR/imagemagick
# : "${IMAGEMAGICK_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/imagemagick.json)}"
: "${IMAGEMAGICK_REVISION:=8289a3388a085ad5ae81aa6812f21554bdfd54f2}"
if [[ "${update:-}" ]] || [[ "$IMAGEMAGICK_REVISION" != "$(grep 'imagemagick' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
if [[ "$IMAGEMAGICK_REVISION" != "$(grep 'imagemagick' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
msg_info "Recompiling ImageMagick"
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
$STD git clone https://github.com/ImageMagick/ImageMagick.git "$SOURCE"
@@ -332,7 +331,7 @@ function compile_libvips() {
SOURCE=$SOURCE_DIR/libvips
# : "${LIBVIPS_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libvips.json)}"
: "${LIBVIPS_REVISION:=8fa37a64547e392d3808eed8d72adab7e02b3d00}"
if [[ "${update:-}" ]] || [[ "$LIBVIPS_REVISION" != "$(grep 'libvips' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
if [[ "$LIBVIPS_REVISION" != "$(grep 'libvips' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
msg_info "Recompiling libvips"
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
$STD git clone https://github.com/libvips/libvips.git "$SOURCE"

View File

@@ -36,7 +36,7 @@ function update_script() {
msg_ok "Services Stopped"
TMP_TAR=$(mktemp --suffix=.tgz)
curl -fL# -o "${TMP_TAR}" "https://github.com/ollama/ollama/releases/download/${RELEASE}/ollama-linux-amd64.tgz"
curl -fL# -C - -o "${TMP_TAR}" "https://github.com/ollama/ollama/releases/download/${RELEASE}/ollama-linux-amd64.tgz"
msg_info "Updating Ollama to ${RELEASE}"
rm -rf /usr/local/lib/ollama
rm -rf /usr/local/bin/ollama

View File

@@ -33,11 +33,17 @@ function update_script() {
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 "Stopping Service"
systemctl stop ollama
msg_ok "Stopped Service"
curl -fsSLO https://ollama.com/download/ollama-linux-amd64.tgz
rm -rf /usr/lib/ollama
rm -rf /usr/bin/ollama
curl -fsSLO https://ollama.com/download/ollama-linux-amd64.tgz
tar -C /usr -xzf ollama-linux-amd64.tgz
rm -rf ollama-linux-amd64.tgz
msg_info "Starting Service"
systemctl start ollama
msg_info "Started Service"
msg_ok "Ollama updated to version $RELEASE"
else
msg_ok "Ollama is already up to date."

View File

@@ -33,6 +33,7 @@ function update_script() {
msg_ok "Stopped Services"
cp /opt/palmr/apps/server/.env /opt/palmr.env
rm -rf /opt/palmr
fetch_and_deploy_gh_release "Palmr" "kyantech/Palmr" "tarball" "latest" "/opt/palmr"
PNPM="$(jq -r '.packageManager' /opt/palmr/package.json)"

View File

@@ -27,6 +27,16 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
if grep -q 'Debian GNU/Linux 12' /etc/os-release && [ -f /etc/apt/sources.list.d/proxmox-release-bookworm.list ] && [ -f /etc/apt/sources.list.d/pdm-test.list ]; then
msg_info "Updating outdated outdated source formats"
echo "deb [signed-by=/usr/share/keyrings/proxmox-archive-keyring.gpg] http://download.proxmox.com/debian/pdm bookworm pdm-test" > /etc/apt/sources.list.d/pdm-test.list
curl -fsSL https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg -o /usr/share/keyrings/proxmox-archive-keyring.gpg
rm -f /etc/apt/keyrings/proxmox-release-bookworm.gpg /etc/apt/sources.list.d/proxmox-release-bookworm.list
$STD apt-get update
msg_ok "Updated old sources"
fi
msg_info "Updating $APP LXC"
$STD apt-get update
$STD apt-get -y upgrade
@@ -41,4 +51,4 @@ 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}:8443${CL}"
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8443${CL}"

63
ct/scraparr.sh Normal file
View File

@@ -0,0 +1,63 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: JasonGreenC
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/thecfu/scraparr
APP="Scraparr"
var_tags="${var_tags:-arr;monitoring}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
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/scraparr/ ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "scraparr" "thecfu/scraparr"; then
msg_info "Stopping Services"
systemctl stop scraparr
msg_ok "Services Stopped"
PYTHON_VERSION="3.12" setup_uv
fetch_and_deploy_gh_release "scrappar" "thecfu/scraparr" "tarball" "latest" "/opt/scraparr"
msg_info "Updating Scraparr"
cd /opt/scraparr
$STD uv venv /opt/scraparr/.venv
$STD /opt/scraparr/.venv/bin/python -m ensurepip --upgrade
$STD /opt/scraparr/.venv/bin/python -m pip install --upgrade pip
$STD /opt/scraparr/.venv/bin/python -m pip install -r /opt/scraparr/src/scraparr/requirements.txt
chmod -R 755 /opt/scraparr
msg_ok "Updated Scraparr"
msg_info "Starting Services"
systemctl start scraparr
msg_ok "Services Started"
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}:7100${CL}"

63
ct/signoz.sh Normal file
View File

@@ -0,0 +1,63 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://signoz.io/
APP="SigNoz"
var_tags="${var_tags:-notes}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-20}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
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/signoz ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "signoz" "SigNoz/signoz"; then
msg_info "Stopping Services"
systemctl stop signoz
systemctl stop signoz-otel-collector
msg_ok "Stopped Services"
fetch_and_deploy_gh_release "signoz" "SigNoz/signoz" "prebuild" "latest" "/opt/signoz" "signoz-community_linux_amd64.tar.gz"
fetch_and_deploy_gh_release "signoz-otel-collector" "SigNoz/signoz-otel-collector" "prebuild" "latest" "/opt/signoz-otel-collector" "signoz-otel-collector_linux_amd64.tar.gz"
fetch_and_deploy_gh_release "signoz-schema-migrator" "SigNoz/signoz-otel-collector" "prebuild" "latest" "/opt/signoz-schema-migrator" "signoz-schema-migrator_linux_amd64.tar.gz"
msg_info "Updating ${APP}"
cd /opt/signoz-schema-migrator/bin
$STD ./signoz-schema-migrator sync --dsn="tcp://localhost:9000?password=" --replication=true --up=
$STD ./signoz-schema-migrator async --dsn="tcp://localhost:9000?password=" --replication=true --up=
msg_ok "Updated $APP"
msg_info "Starting Services"
systemctl start signoz-otel-collector
systemctl start signoz
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}:8080${CL}"

54
ct/stylus.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-2025 community-scripts ORG
# Author: luismco
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/mmastrac/stylus
APP="Stylus"
var_tags="${var_tags:-network}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
var_fuse="${var_fuse:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/stylus ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "stylus" "mmastrac/stylus"; then
msg_info "Stopping $APP"
systemctl stop stylus
msg_ok "Stopped $APP"
fetch_and_deploy_gh_release "stylus" "mmastrac/stylus" "singlefile" "latest" "/usr/bin/" "*_linux_amd64"
msg_info "Starting $APP"
systemctl start stylus
msg_ok "Started $APP"
msg_ok "Update Successful"
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}"

52
ct/telegraf.sh Normal file
View File

@@ -0,0 +1,52 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: CrazyWolf13
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/influxdata/telegraf
APP="telegraf"
var_tags="${var_tags:-collector;metrics}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
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/telegraf/telegraf.conf ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Stopping $APP"
systemctl stop telegraf
msg_ok "Stopped $APP"
msg_info "Updating $APP"
$STD apt-get update
$STD apt-get upgrade telegraf -y
msg_ok "Updated $APP"
msg_info "Starting $APP"
systemctl start telegraf
msg_ok "Started $APP"
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}"

63
ct/uhf.sh Normal file
View File

@@ -0,0 +1,63 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: zackwithak13
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.uhfapp.com/server
APP="UHF"
var_tags="${var_tags:-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:-12}"
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/uhf-server ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "uhf-server" "swapplications/uhf-server-dist"; then
msg_info "Stopping Service"
systemctl stop uhf-server
msg_ok "Stopped Service"
msg_info "Updating ${APP} LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated ${APP} LXC"
fetch_and_deploy_gh_release "comskip" "swapplications/comskip" "prebuild" "latest" "/opt/comskip" "comskip-x64-*.zip"
fetch_and_deploy_gh_release "uhf-server" "swapplications/uhf-server-dist" "prebuild" "latest" "/opt/uhf-server" "UHF.Server-linux-x64-*.zip"
msg_info "Starting Service"
systemctl start uhf-server
msg_ok "Started Service"
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
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}:7568${CL}"

View File

@@ -27,7 +27,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
NODE_VERSION="22" NODE_MODULE="yarn@latest,node-gyp" setup_nodejs
if check_for_gh_release "wikijs" "requarks/wiki"; then
msg_info "Verifying whether ${APP}' new release is v3.x+ and current install uses SQLite."
SQLITE_INSTALL=$([ -f /opt/wikijs/db.sqlite ] && echo "true" || echo "false")

View File

@@ -21,7 +21,7 @@
"resources": {
"cpu": 2,
"ram": 1024,
"hdd": 4,
"hdd": 10,
"os": "debian",
"version": "12"
}

View File

@@ -1,6 +1,6 @@
{
"name": "OpenWrt",
"slug": "openwrt",
"slug": "openwrt-vm",
"categories": [
4,
2
@@ -18,7 +18,7 @@
"install_methods": [
{
"type": "default",
"script": "vm/openwrt.sh",
"script": "vm/openwrt-vm.sh",
"resources": {
"cpu": 1,
"ram": 256,

View File

@@ -17,7 +17,7 @@
"install_methods": [
{
"type": "default",
"script": "ct/resilio-sync.sh",
"script": "ct/resiliosync.sh",
"resources": {
"cpu": 2,
"ram": 2048,

View File

@@ -0,0 +1,40 @@
{
"name": "Scraparr",
"slug": "scraparr",
"categories": [
14
],
"date_created": "2025-09-15",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 7100,
"documentation": "https://github.com/thecfu/scraparr/blob/main/README.md",
"website": "https://github.com/thecfu/scraparr",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/scraparr-dark.svg",
"config_path": "/scraparr/config/config.yaml",
"description": "Scraparr is a Prometheus exporter for the *arr suite (Sonarr, Radarr, Lidarr, etc.). It provides metrics that can be scraped by Prometheus to monitor and visualize the health and performance of your *arr applications.",
"install_methods": [
{
"type": "default",
"script": "ct/scraparr.sh",
"resources": {
"cpu": 2,
"ram": 1024,
"hdd": 4,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Edit config file then restart the scraparr service: `systemctl restart scraparr`",
"type": "info"
}
]
}

View File

@@ -0,0 +1,40 @@
{
"name": "SigNoz",
"slug": "signoz",
"categories": [
9
],
"date_created": "2025-09-15",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8080,
"documentation": "https://signoz.io/docs/introduction/",
"config_path": "/opt/signoz/conf/systemd.env",
"website": "https://signoz.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/signoz.webp",
"description": "SigNoz is an open-source Datadog or New Relic alternative. Get APM, logs, traces, metrics, exceptions, & alerts in a single tool.",
"install_methods": [
{
"type": "default",
"script": "ct/signoz.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 20,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "The first user you register will be the admin user.",
"type": "info"
}
]
}

View File

@@ -0,0 +1,35 @@
{
"name": "Stylus",
"slug": "stylus",
"categories": [
4
],
"date_created": "2025-09-12",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8000,
"documentation": "https://mmastrac.github.io/stylus/",
"website": "https://github.com/mmastrac/stylus",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/stylus.webp",
"config_path": "/opt/stylus/config.yaml",
"description": "Stylus (style + status) is a lightweight status page for infrastructure and networks. Configure a set of bash scripts that test the various parts of your infrastructure, set up visualizations with minimal configuration, and Stylus will generate you a dashboard for your system.",
"install_methods": [
{
"type": "default",
"script": "ct/stylus.sh",
"resources": {
"cpu": 1,
"ram": 1024,
"hdd": 2,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -0,0 +1,40 @@
{
"name": "Telegraf",
"slug": "telegraf",
"categories": [
9
],
"date_created": "2025-09-11",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": "https://docs.influxdata.com/telegraf/v1/",
"config_path": "/etc/telegraf/telegraf.conf",
"website": "https://github.com/influxdata/telegraf",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/telegraf.webp",
"description": "Telegraf collects and sends time series data from databases, systems, and IoT sensors. It has no external dependencies, is easy to install, and requires minimal memory.",
"install_methods": [
{
"type": "default",
"script": "ct/telegraf.sh",
"resources": {
"cpu": 1,
"ram": 1024,
"hdd": 4,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Make sure to configure an output for the telegraf config and start the service with `systemctl start telegraf`.",
"type": "info"
}
]
}

View File

@@ -0,0 +1,35 @@
{
"name": "UHF Server",
"slug": "uhf",
"categories": [
13
],
"date_created": "2025-09-12",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 7568,
"documentation": "https://www.uhfapp.com/server",
"website": "https://www.uhfapp.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/uhf.webp",
"config_path": "/etc/uhf-server/",
"description": "UHF Server is a powerful companion app that lets you seamlessly schedule and record your favorite shows from the UHF app.",
"install_methods": [
{
"type": "default",
"script": "ct/uhf.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 8,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -1,48 +1,108 @@
[
{
"name": "wizarrrr/wizarr",
"version": "v2025.9.2",
"date": "2025-09-10T22:36:54Z"
"name": "coder/code-server",
"version": "v4.104.0",
"date": "2025-09-15T22:24:49Z"
},
{
"name": "rcourtman/Pulse",
"version": "v4.14.0",
"date": "2025-09-05T18:28:28Z"
"name": "fallenbagel/jellyseerr",
"version": "preview-debug-plex-watchlist",
"date": "2025-09-15T21:39:34Z"
},
{
"name": "cross-seed/cross-seed",
"version": "v6.13.3",
"date": "2025-09-08T21:45:15Z"
"name": "Paymenter/Paymenter",
"version": "v1.3.4",
"date": "2025-09-15T20:48:02Z"
},
{
"name": "esphome/esphome",
"version": "2025.8.4",
"date": "2025-09-10T05:03:47Z"
"name": "rabbitmq/rabbitmq-server",
"version": "v4.1.4",
"date": "2025-09-02T14:26:24Z"
},
{
"name": "TandoorRecipes/recipes",
"version": "2.2.0",
"date": "2025-09-10T18:36:56Z"
"name": "Cleanuparr/Cleanuparr",
"version": "v2.3.0",
"date": "2025-09-15T19:21:41Z"
},
{
"name": "Kozea/Radicale",
"version": "v3.5.6",
"date": "2025-09-15T18:43:31Z"
},
{
"name": "apache/tika",
"version": "3.2.0",
"date": "2025-09-15T18:03:08Z"
},
{
"name": "FlareSolverr/FlareSolverr",
"version": "v3.4.1",
"date": "2025-09-15T18:01:24Z"
},
{
"name": "booklore-app/booklore",
"version": "v1.3.1",
"date": "2025-09-15T17:51:55Z"
},
{
"name": "ellite/Wallos",
"version": "v4.3.0",
"date": "2025-09-15T17:34:48Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.4.0",
"date": "2025-09-13T16:38:21Z"
},
{
"name": "Brandawg93/PeaNUT",
"version": "v5.15.0",
"date": "2025-09-15T17:25:58Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.24.28",
"date": "2025-09-10T16:58:36Z"
"version": "v1.25.9",
"date": "2025-09-15T17:23:29Z"
},
{
"name": "YunoHost/yunohost",
"version": "debian/12.1.22",
"date": "2025-09-10T16:40:32Z"
"name": "immich-app/immich",
"version": "v1.142.1",
"date": "2025-09-15T17:08:25Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-mdx@11.9.1",
"date": "2025-09-10T15:26:47Z"
"name": "jhuckaby/Cronicle",
"version": "v0.9.92",
"date": "2025-09-15T16:32:40Z"
},
{
"name": "FlowiseAI/Flowise",
"version": "flowise@3.0.7",
"date": "2025-09-15T16:08:09Z"
},
{
"name": "Dolibarr/dolibarr",
"version": "22.0.1",
"date": "2025-09-15T16:01:02Z"
},
{
"name": "linuxserver/Heimdall",
"version": "v2.7.5",
"date": "2025-09-10T15:16:49Z"
"version": "v2.7.6",
"date": "2025-09-15T15:50:44Z"
},
{
"name": "goauthentik/authentik",
"version": "version/2025.8.2",
"date": "2025-09-15T15:48:12Z"
},
{
"name": "mongodb/mongo",
"version": "r8.0.14",
"date": "2025-09-15T15:39:18Z"
},
{
"name": "usememos/memos",
"version": "v0.25.1",
"date": "2025-09-15T14:57:30Z"
},
{
"name": "nzbgetcom/nzbget",
@@ -50,9 +110,289 @@
"date": "2025-09-01T09:47:06Z"
},
{
"name": "mongodb/mongo",
"version": "r7.0.25-alpha0",
"date": "2025-09-10T12:13:38Z"
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.66",
"date": "2025-09-15T13:39:52Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.109.2",
"date": "2025-09-03T07:50:21Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-core@15.7.12",
"date": "2025-09-15T12:37:01Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.50.13",
"date": "2025-09-15T11:52:07Z"
},
{
"name": "VictoriaMetrics/VictoriaMetrics",
"version": "pmm-6401-v1.126.0",
"date": "2025-09-15T11:32:31Z"
},
{
"name": "meilisearch/meilisearch",
"version": "latest",
"date": "2025-09-15T11:12:14Z"
},
{
"name": "zitadel/zitadel",
"version": "v4.2.0",
"date": "2025-09-15T09:29:55Z"
},
{
"name": "authelia/authelia",
"version": "v4.39.10",
"date": "2025-09-15T09:11:13Z"
},
{
"name": "emqx/emqx",
"version": "e5.8.6-hotfix2",
"date": "2025-09-15T08:31:12Z"
},
{
"name": "Checkmk/checkmk",
"version": "v2.4.0p12-rc1",
"date": "2025-09-15T07:21:11Z"
},
{
"name": "esphome/esphome",
"version": "2025.8.4",
"date": "2025-09-10T05:03:47Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.23.23",
"date": "2025-09-15T05:57:33Z"
},
{
"name": "mealie-recipes/mealie",
"version": "v3.2.1",
"date": "2025-09-15T03:45:31Z"
},
{
"name": "Prowlarr/Prowlarr",
"version": "v2.0.5.5160",
"date": "2025-08-23T21:23:11Z"
},
{
"name": "cross-seed/cross-seed",
"version": "v6.13.3",
"date": "2025-09-08T21:45:15Z"
},
{
"name": "9001/copyparty",
"version": "v1.19.9",
"date": "2025-09-15T00:54:27Z"
},
{
"name": "crafty-controller/crafty-4",
"version": "v4.5.4",
"date": "2025-09-15T00:49:53Z"
},
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-09-15T00:27:09Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v3.6.2",
"date": "2025-07-17T12:08:03Z"
},
{
"name": "inventree/InvenTree",
"version": "1.0.0",
"date": "2025-09-14T23:37:56Z"
},
{
"name": "moghtech/komodo",
"version": "v1.19.4",
"date": "2025-09-14T19:51:50Z"
},
{
"name": "ErsatzTV/ErsatzTV",
"version": "v25.6.0",
"date": "2025-09-14T17:55:21Z"
},
{
"name": "Lidarr/Lidarr",
"version": "v2.13.3.4711",
"date": "2025-08-28T20:06:24Z"
},
{
"name": "karakeep-app/karakeep",
"version": "cli/v0.27.1",
"date": "2025-09-14T14:48:48Z"
},
{
"name": "docmost/docmost",
"version": "v0.23.1",
"date": "2025-09-14T14:31:45Z"
},
{
"name": "semaphoreui/semaphore",
"version": "v2.17.0-beta2",
"date": "2025-09-14T14:08:27Z"
},
{
"name": "intri-in/manage-my-damn-life-nextjs",
"version": "v0.8.1",
"date": "2025-09-14T06:45:23Z"
},
{
"name": "Luligu/matterbridge",
"version": "3.2.7",
"date": "2025-09-14T06:35:13Z"
},
{
"name": "gtsteffaniak/filebrowser",
"version": "v0.8.5-beta",
"date": "2025-09-13T22:53:30Z"
},
{
"name": "Ombi-app/Ombi",
"version": "v4.47.1",
"date": "2025-01-05T21:14:23Z"
},
{
"name": "home-assistant/core",
"version": "2025.9.3",
"date": "2025-09-13T12:44:37Z"
},
{
"name": "gotify/server",
"version": "v2.7.2",
"date": "2025-09-13T12:11:38Z"
},
{
"name": "wizarrrr/wizarr",
"version": "v2025.9.3",
"date": "2025-09-13T11:44:41Z"
},
{
"name": "syncthing/syncthing",
"version": "v2.0.9",
"date": "2025-09-13T09:37:24Z"
},
{
"name": "documenso/documenso",
"version": "v1.12.4",
"date": "2025-09-13T08:08:55Z"
},
{
"name": "ollama/ollama",
"version": "v0.11.11-rc3",
"date": "2025-09-12T23:40:14Z"
},
{
"name": "YunoHost/yunohost",
"version": "debian/12.1.23",
"date": "2025-09-12T22:15:47Z"
},
{
"name": "chrisvel/tududi",
"version": "v0.82-rc2",
"date": "2025-09-12T09:59:30Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.37.0",
"date": "2025-09-12T19:19:14Z"
},
{
"name": "keycloak/keycloak",
"version": "26.3.4",
"date": "2025-09-12T13:28:51Z"
},
{
"name": "cloudreve/cloudreve",
"version": "4.8.0",
"date": "2025-09-12T09:48:11Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w37-4.13.0",
"date": "2025-09-10T15:46:01Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.2",
"date": "2025-06-26T22:08:00Z"
},
{
"name": "mattermost/mattermost",
"version": "server/public/v0.1.19",
"date": "2025-09-11T22:57:26Z"
},
{
"name": "go-vikunja/vikunja",
"version": "v1.0.0-rc0",
"date": "2025-08-17T18:47:15Z"
},
{
"name": "tailscale/tailscale",
"version": "v1.88.1",
"date": "2025-09-11T22:19:51Z"
},
{
"name": "influxdata/influxdb",
"version": "v3.4.2",
"date": "2025-09-11T20:43:23Z"
},
{
"name": "HabitRPG/habitica",
"version": "v5.41.0",
"date": "2025-09-11T19:46:20Z"
},
{
"name": "zerotier/ZeroTierOne",
"version": "1.16.0",
"date": "2025-09-11T18:01:57Z"
},
{
"name": "Threadfin/Threadfin",
"version": "1.2.37",
"date": "2025-09-11T16:13:41Z"
},
{
"name": "prometheus/prometheus",
"version": "v0.306.0-rc.1",
"date": "2025-09-11T13:37:41Z"
},
{
"name": "rcourtman/Pulse",
"version": "v4.14.0",
"date": "2025-09-05T18:28:28Z"
},
{
"name": "bunkerity/bunkerweb",
"version": "v1.6.4",
"date": "2025-08-18T20:22:07Z"
},
{
"name": "cockpit-project/cockpit",
"version": "345.2",
"date": "2025-09-11T09:06:44Z"
},
{
"name": "NLnetLabs/unbound",
"version": "release-1.24.0rc1",
"date": "2025-09-11T07:05:16Z"
},
{
"name": "go-gitea/gitea",
"version": "v1.24.6",
"date": "2025-09-11T04:20:27Z"
},
{
"name": "TandoorRecipes/recipes",
"version": "2.2.0",
"date": "2025-09-10T18:36:56Z"
},
{
"name": "aceberg/WatchYourLAN",
@@ -69,56 +409,6 @@
"version": "v0.6.28",
"date": "2025-09-10T10:53:42Z"
},
{
"name": "mattermost/mattermost",
"version": "v10.5.11",
"date": "2025-09-10T07:28:51Z"
},
{
"name": "cockpit-project/cockpit",
"version": "345.1",
"date": "2025-09-10T07:10:55Z"
},
{
"name": "zitadel/zitadel",
"version": "v4.1.3",
"date": "2025-09-08T13:36:08Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.2451",
"date": "2025-09-10T05:43:17Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.3.2",
"date": "2025-08-19T04:08:36Z"
},
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-09-10T00:27:10Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v3.6.2",
"date": "2025-07-17T12:08:03Z"
},
{
"name": "authelia/authelia",
"version": "v4.39.9",
"date": "2025-09-09T22:48:24Z"
},
{
"name": "keycloak/keycloak",
"version": "26.0.15",
"date": "2025-08-27T12:12:03Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.2",
"date": "2025-06-26T22:08:00Z"
},
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.527",
@@ -139,11 +429,6 @@
"version": "v1.5.1",
"date": "2025-09-09T16:56:49Z"
},
{
"name": "chrisvel/tududi",
"version": "v0.81",
"date": "2025-09-09T14:06:41Z"
},
{
"name": "element-hq/synapse",
"version": "v1.138.0",
@@ -184,41 +469,6 @@
"version": "v4.3.1",
"date": "2025-09-08T22:26:23Z"
},
{
"name": "HabitRPG/habitica",
"version": "v5.40.2",
"date": "2025-09-08T20:59:44Z"
},
{
"name": "zerotier/ZeroTierOne",
"version": "1.16.0",
"date": "2025-09-08T20:17:36Z"
},
{
"name": "booklore-app/booklore",
"version": "v1.2.1",
"date": "2025-09-08T19:31:07Z"
},
{
"name": "fallenbagel/jellyseerr",
"version": "preview-OIDC",
"date": "2025-09-08T18:08:15Z"
},
{
"name": "immich-app/immich",
"version": "v1.141.1",
"date": "2025-09-08T17:15:33Z"
},
{
"name": "Paymenter/Paymenter",
"version": "v1.3.1",
"date": "2025-09-08T15:26:01Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.109.2",
"date": "2025-09-03T07:50:21Z"
},
{
"name": "apache/tomcat",
"version": "10.1.46",
@@ -244,16 +494,6 @@
"version": "v1.66.1",
"date": "2025-09-08T10:49:03Z"
},
{
"name": "meilisearch/meilisearch",
"version": "latest",
"date": "2025-09-08T10:03:11Z"
},
{
"name": "syncthing/syncthing",
"version": "v2.0.8",
"date": "2025-09-08T08:07:18Z"
},
{
"name": "webmin/webmin",
"version": "2.501",
@@ -264,86 +504,31 @@
"version": "v2.18.4",
"date": "2025-09-07T23:57:32Z"
},
{
"name": "9001/copyparty",
"version": "v1.19.8",
"date": "2025-09-07T23:36:42Z"
},
{
"name": "minio/minio",
"version": "RELEASE.2025-09-07T16-13-09Z",
"date": "2025-09-07T18:53:04Z"
},
{
"name": "karakeep-app/karakeep",
"version": "sdk/v0.27.0",
"date": "2025-09-07T17:49:04Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.50.12",
"date": "2025-09-07T14:16:07Z"
},
{
"name": "runtipi/runtipi",
"version": "nightly",
"date": "2025-09-07T12:25:06Z"
},
{
"name": "semaphoreui/semaphore",
"version": "v2.17.0-beta1",
"date": "2025-09-07T08:56:50Z"
},
{
"name": "Radarr/Radarr",
"version": "v5.27.5.10198",
"date": "2025-09-03T12:08:43Z"
},
{
"name": "Prowlarr/Prowlarr",
"version": "v2.0.5.5160",
"date": "2025-08-23T21:23:11Z"
},
{
"name": "pocketbase/pocketbase",
"version": "v0.30.0",
"date": "2025-09-07T05:25:44Z"
},
{
"name": "Lidarr/Lidarr",
"version": "v2.13.3.4711",
"date": "2025-08-28T20:06:24Z"
},
{
"name": "bunkerity/bunkerweb",
"version": "v1.6.4",
"date": "2025-08-18T20:22:07Z"
},
{
"name": "Luligu/matterbridge",
"version": "3.2.6",
"date": "2025-09-06T07:50:15Z"
},
{
"name": "forgejo/forgejo",
"version": "v12.0.3",
"date": "2025-09-06T07:01:44Z"
},
{
"name": "moghtech/komodo",
"version": "v1.19.3",
"date": "2025-09-05T21:32:38Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.36.1",
"date": "2025-09-05T21:14:40Z"
},
{
"name": "gtsteffaniak/filebrowser",
"version": "v0.8.4-beta",
"date": "2025-09-05T19:34:44Z"
},
{
"name": "Stirling-Tools/Stirling-PDF",
"version": "v1.3.2",
@@ -354,16 +539,6 @@
"version": "v0.12.7",
"date": "2025-09-05T18:11:36Z"
},
{
"name": "Brandawg93/PeaNUT",
"version": "v5.14.2",
"date": "2025-09-05T17:24:12Z"
},
{
"name": "home-assistant/core",
"version": "2025.9.1",
"date": "2025-09-05T11:15:21Z"
},
{
"name": "CrazyWolf13/streamlink-webui",
"version": "0.6",
@@ -374,16 +549,6 @@
"version": "2.0.0-beta.2-temp",
"date": "2025-03-28T08:45:58Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w36-4.13.0",
"date": "2025-09-01T11:40:11Z"
},
{
"name": "docmost/docmost",
"version": "v0.23.0",
"date": "2025-09-04T22:40:29Z"
},
{
"name": "pelican-dev/panel",
"version": "v1.0.0-beta25",
@@ -394,21 +559,6 @@
"version": "v1.0.0-beta17",
"date": "2025-09-04T21:30:14Z"
},
{
"name": "Cleanuparr/Cleanuparr",
"version": "v2.2.3",
"date": "2025-09-04T19:24:39Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.65",
"date": "2025-08-20T14:02:28Z"
},
{
"name": "ollama/ollama",
"version": "v0.11.10",
"date": "2025-09-04T17:27:40Z"
},
{
"name": "NodeBB/NodeBB",
"version": "v4.5.1",
@@ -434,11 +584,6 @@
"version": "v0.15.1",
"date": "2025-09-04T10:37:23Z"
},
{
"name": "emqx/emqx",
"version": "v5.8.8",
"date": "2025-09-04T08:35:36Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3-beta.10",
@@ -454,11 +599,6 @@
"version": "2.1.1",
"date": "2025-06-14T17:45:06Z"
},
{
"name": "VictoriaMetrics/VictoriaMetrics",
"version": "pmm-6401-v1.125.1",
"date": "2025-09-03T20:17:18Z"
},
{
"name": "Graylog2/graylog2-server",
"version": "6.1.15",
@@ -469,46 +609,16 @@
"version": "5.26.12",
"date": "2025-09-03T12:03:22Z"
},
{
"name": "Checkmk/checkmk",
"version": "v2.4.0p11",
"date": "2025-09-03T09:58:14Z"
},
{
"name": "apache/cassandra",
"version": "cassandra-4.1.10",
"date": "2025-09-03T08:46:02Z"
},
{
"name": "crafty-controller/crafty-4",
"version": "v4.5.3",
"date": "2025-09-02T23:52:26Z"
},
{
"name": "netbox-community/netbox",
"version": "v4.4.0",
"date": "2025-09-02T17:04:25Z"
},
{
"name": "rabbitmq/rabbitmq-server",
"version": "v4.1.4",
"date": "2025-09-02T14:26:24Z"
},
{
"name": "Dolibarr/dolibarr",
"version": "22.0.1",
"date": "2025-09-02T10:29:08Z"
},
{
"name": "cloudreve/cloudreve",
"version": "4.7.0",
"date": "2025-09-02T06:02:43Z"
},
{
"name": "ErsatzTV/ErsatzTV",
"version": "v25.5.0",
"date": "2025-09-02T01:00:11Z"
},
{
"name": "postgres/postgres",
"version": "REL_18_RC1",
@@ -554,11 +664,6 @@
"version": "v1.7.3",
"date": "2025-08-31T15:59:43Z"
},
{
"name": "jhuckaby/Cronicle",
"version": "v0.9.91",
"date": "2025-08-30T21:49:57Z"
},
{
"name": "silverbulletmd/silverbullet",
"version": "2.0.0",
@@ -594,16 +699,6 @@
"version": "v25.07.2",
"date": "2025-08-28T16:46:05Z"
},
{
"name": "Threadfin/Threadfin",
"version": "1.2.37",
"date": "2025-08-28T16:25:55Z"
},
{
"name": "influxdata/influxdb",
"version": "v3.4.1",
"date": "2025-08-28T13:56:00Z"
},
{
"name": "garethgeorge/backrest",
"version": "v1.9.2",
@@ -624,26 +719,11 @@
"version": "v11.2.1",
"date": "2025-08-27T15:19:02Z"
},
{
"name": "documenso/documenso",
"version": "v1.12.2-rc.6",
"date": "2025-08-26T01:17:43Z"
},
{
"name": "coder/code-server",
"version": "v4.103.2",
"date": "2025-08-25T23:30:54Z"
},
{
"name": "advplyr/audiobookshelf",
"version": "v2.29.0",
"date": "2025-08-25T22:43:20Z"
},
{
"name": "mealie-recipes/mealie",
"version": "v3.1.2",
"date": "2025-08-25T18:00:52Z"
},
{
"name": "sabnzbd/sabnzbd",
"version": "4.5.3",
@@ -654,21 +734,11 @@
"version": "7.4.2",
"date": "2025-08-25T12:38:14Z"
},
{
"name": "FlareSolverr/FlareSolverr",
"version": "v3.4.0",
"date": "2025-08-25T03:22:00Z"
},
{
"name": "plexguide/Huntarr.io",
"version": "8.2.10",
"date": "2025-08-25T01:26:55Z"
},
{
"name": "Ombi-app/Ombi",
"version": "v4.47.1",
"date": "2025-01-05T21:14:23Z"
},
{
"name": "wavelog/wavelog",
"version": "2.1",
@@ -684,41 +754,21 @@
"version": "v0.21.0",
"date": "2025-08-23T18:33:53Z"
},
{
"name": "prometheus/prometheus",
"version": "v0.306.0-rc.0",
"date": "2025-08-21T13:31:03Z"
},
{
"name": "caddyserver/caddy",
"version": "v2.10.2",
"date": "2025-08-23T03:10:31Z"
},
{
"name": "tailscale/tailscale",
"version": "v1.86.5",
"date": "2025-08-22T17:13:13Z"
},
{
"name": "rclone/rclone",
"version": "v1.71.0",
"date": "2025-08-22T16:41:23Z"
},
{
"name": "goauthentik/authentik",
"version": "version/2025.8.1",
"date": "2025-08-22T14:55:30Z"
},
{
"name": "lazy-media/Reactive-Resume",
"version": "v1.2.4",
"date": "2025-08-22T07:40:01Z"
},
{
"name": "Kozea/Radicale",
"version": "v3.5.5",
"date": "2025-08-22T06:57:33Z"
},
{
"name": "traccar/traccar",
"version": "v6.9.1",
@@ -789,11 +839,6 @@
"version": "deluge-2.2.1.dev0",
"date": "2025-08-17T20:22:28Z"
},
{
"name": "go-vikunja/vikunja",
"version": "v1.0.0-rc0",
"date": "2025-08-17T18:47:15Z"
},
{
"name": "matze/wastebin",
"version": "3.3.0",
@@ -804,11 +849,6 @@
"version": "v0.8.3",
"date": "2025-08-17T06:24:54Z"
},
{
"name": "intri-in/manage-my-damn-life-nextjs",
"version": "v0.8.0-release",
"date": "2025-08-15T06:19:12Z"
},
{
"name": "jellyfin/jellyfin",
"version": "v10.10.7",
@@ -819,16 +859,6 @@
"version": "v2.2.1",
"date": "2025-08-13T19:49:01Z"
},
{
"name": "go-gitea/gitea",
"version": "v1.24.5",
"date": "2025-08-13T16:35:52Z"
},
{
"name": "ellite/Wallos",
"version": "v4.1.1",
"date": "2025-08-13T11:58:04Z"
},
{
"name": "requarks/wiki",
"version": "v2.5.308",
@@ -839,11 +869,6 @@
"version": "v1.14.0",
"date": "2025-08-12T13:58:46Z"
},
{
"name": "FlowiseAI/Flowise",
"version": "flowise@3.0.5",
"date": "2025-08-11T13:01:45Z"
},
{
"name": "slskd/slskd",
"version": "0.23.2",
@@ -859,11 +884,6 @@
"version": "2.38.0",
"date": "2025-08-08T21:47:19Z"
},
{
"name": "apache/tika",
"version": "3.2.2",
"date": "2025-08-08T03:40:40Z"
},
{
"name": "MariaDB/server",
"version": "mariadb-12.0.2",
@@ -989,16 +1009,6 @@
"version": "v0.22.0",
"date": "2025-07-17T06:35:43Z"
},
{
"name": "usememos/memos",
"version": "v0.25.0",
"date": "2025-07-16T14:57:02Z"
},
{
"name": "NLnetLabs/unbound",
"version": "release-1.23.1",
"date": "2025-07-16T09:20:27Z"
},
{
"name": "sbondCo/Watcharr",
"version": "v2.1.1",
@@ -1089,11 +1099,6 @@
"version": "v3.0.7",
"date": "2025-06-22T17:49:29Z"
},
{
"name": "inventree/InvenTree",
"version": "0.17.14",
"date": "2025-06-21T23:43:04Z"
},
{
"name": "Sonarr/Sonarr",
"version": "v4.0.15.2941",
@@ -1204,11 +1209,6 @@
"version": "3.5.0",
"date": "2025-05-05T16:28:24Z"
},
{
"name": "gotify/server",
"version": "v2.6.3",
"date": "2025-04-27T09:05:42Z"
},
{
"name": "TechnitiumSoftware/DnsServer",
"version": "v13.6.0",

View File

@@ -17,7 +17,7 @@ const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = {
title: "Proxmox VE Helper-Scripts",
description:
"The official website for the Proxmox VE Helper-Scripts (Community) Repository. Featuring over 300+ scripts to help you manage your Proxmox VE environment.",
"The official website for the Proxmox VE Helper-Scripts (Community) repository. Featuring over 300+ scripts to help you manage your Proxmox Virtual Environment.",
applicationName: "Proxmox VE Helper-Scripts",
generator: "Next.js",
referrer: "origin-when-cross-origin",
@@ -57,7 +57,7 @@ export const metadata: Metadata = {
openGraph: {
title: "Proxmox VE Helper-Scripts",
description:
"The official website for the Proxmox VE Helper-Scripts (Community) Repository. Featuring over 300+ scripts to help you manage your Proxmox VE environment.",
"The official website for the Proxmox VE Helper-Scripts (Community) repository. Featuring over 300+ scripts to help you manage your Proxmox Virtual Environment.",
url: `https://community-scripts.github.io/${basePath}/`,
siteName: "Proxmox VE Helper-Scripts",
images: [
@@ -76,7 +76,7 @@ export const metadata: Metadata = {
title: "Proxmox VE Helper-Scripts",
creator: "@BramSuurdje",
description:
"The official website for the Proxmox VE Helper-Scripts (Community) Repository. Featuring over 300+ scripts to help you manage your Proxmox VE environment.",
"The official website for the Proxmox VE Helper-Scripts (Community) repository. Featuring over 300+ scripts to help you manage your Proxmox Virtual Environment.",
images: [`https://community-scripts.github.io/${basePath}/defaultimg.png`],
},
manifest: "/manifest.webmanifest",

View File

@@ -11,7 +11,7 @@ export default function manifest(): MetadataRoute.Manifest {
name: "Proxmox VE Helper-Scripts",
short_name: "Proxmox VE Helper-Scripts",
description:
"A Re-designed Front-end for the Proxmox VE Helper-Scripts Repository. Featuring over 200+ scripts to help you manage your Proxmox VE environment.",
"A redesigned front-end for the Proxmox VE Helper-Scripts repository. Featuring over 300+ scripts to help you manage your Proxmox Virtual Environment.",
theme_color: "#030712",
background_color: "#030712",
display: "standalone",

View File

@@ -113,8 +113,8 @@ export default function Page() {
<p>
With 300+ scripts to help you manage your
{" "}
<b>Proxmox VE environment</b>
. Whether you&#39;re a seasoned
<b>Proxmox VE</b>
, whether you&#39;re a seasoned
user or a newcomer, we&#39;ve got you covered.
</p>
</div>

View File

@@ -143,7 +143,7 @@ export function MostViewedScripts({ items }: { items: Category[] }) {
<div className="">
{mostViewedScripts.length > 0 && (
<>
<h2 className="text-lg font-semibold">Most Viewed Scripts</h2>
<h2 className="text-lg font-semibold mb-1">Most Viewed Scripts</h2>
</>
)}
<div className="min-w flex w-full flex-row flex-wrap gap-4">

View File

@@ -10,9 +10,9 @@ export const basePath = process.env.BASE_PATH || "";
export const navbarLinks = [
{
href: `https://github.com/community-scripts/${basePath}`,
event: "Github",
event: "GitHub",
icon: <FaGithub className="h-4 w-4" />,
text: "Github",
text: "GitHub",
},
{
href: `https://discord.gg/2wvnMDgdnU`,
@@ -22,9 +22,9 @@ export const navbarLinks = [
},
{
href: `https://github.com/community-scripts/${basePath}/blob/main/CHANGELOG.md`,
event: "Change Log",
event: "Changelog",
icon: <Scroll className="h-4 w-4" />,
text: "Change Log",
text: "Changelog",
mobileHidden: true,
},
{

View File

@@ -41,7 +41,7 @@ while true; do
read -rp "${TAB3}Enable IPv6 support? (y/n): " answer
case "$answer" in
[Yy]*)
var_cf_ip6_provider="auto"
var_cf_ip6_provider="cloudflare.trace"
break
;;
[Nn]*)

View File

@@ -155,7 +155,6 @@ msg_ok "Packages from Testing Repo Installed"
$STD sudo -u postgres psql -c "ALTER DATABASE postgres REFRESH COLLATION VERSION;"
$STD sudo -u postgres psql -c "ALTER DATABASE $DB_NAME REFRESH COLLATION VERSION;"
msg_info "Compiling Custom Photo-processing Library (extreme patience)"
LD_LIBRARY_PATH=/usr/local/lib
export LD_RUN_PATH=/usr/local/lib
STAGING_DIR=/opt/staging
@@ -165,6 +164,7 @@ SOURCE_DIR=${STAGING_DIR}/image-source
$STD git clone -b main "$BASE_REPO" "$BASE_DIR"
mkdir -p "$SOURCE_DIR"
msg_info "(1/5) Compiling libjxl"
cd "$STAGING_DIR"
SOURCE=${SOURCE_DIR}/libjxl
JPEGLI_LIBJPEG_LIBRARY_SOVERSION="62"
@@ -203,7 +203,9 @@ ldconfig /usr/local/lib
$STD make clean
cd "$STAGING_DIR"
rm -rf "$SOURCE"/{build,third_party}
msg_ok "(1/5) Compiled libjxl"
msg_info "(2/5) Compiling libheif"
SOURCE=${SOURCE_DIR}/libheif
# : "${LIBHEIF_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libheif.json)}"
: "${LIBHEIF_REVISION:=35dad50a9145332a7bfdf1ff6aef6801fb613d68}"
@@ -227,7 +229,9 @@ ldconfig /usr/local/lib
$STD make clean
cd "$STAGING_DIR"
rm -rf "$SOURCE"/build
msg_ok "(2/5) Compiled libheif"
msg_info "(3/5) Compiling libraw"
SOURCE=${SOURCE_DIR}/libraw
# : "${LIBRAW_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libraw.json)}"
: "${LIBRAW_REVISION:=09bea31181b43e97959ee5452d91e5bc66365f1f}"
@@ -241,7 +245,9 @@ $STD make install
ldconfig /usr/local/lib
$STD make clean
cd "$STAGING_DIR"
msg_ok "(3/5) Compiled libraw"
msg_info "(4/5) Compiling imagemagick"
SOURCE=$SOURCE_DIR/imagemagick
# : "${IMAGEMAGICK_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/imagemagick.json)}"
: "${IMAGEMAGICK_REVISION:=8289a3388a085ad5ae81aa6812f21554bdfd54f2}"
@@ -254,7 +260,9 @@ $STD make install
ldconfig /usr/local/lib
$STD make clean
cd "$STAGING_DIR"
msg_ok "(4/5) Compiled imagemagick"
msg_info "(5/5) Compiling libvips"
SOURCE=$SOURCE_DIR/libvips
# : "${LIBVIPS_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libvips.json)}"
: "${LIBVIPS_REVISION:=8fa37a64547e392d3808eed8d72adab7e02b3d00}"
@@ -267,6 +275,7 @@ $STD ninja install
ldconfig /usr/local/lib
cd "$STAGING_DIR"
rm -rf "$SOURCE"/build
msg_ok "(5/5) Compiled libvips"
{
echo "imagemagick: $IMAGEMAGICK_REVISION"
echo "libheif: $LIBHEIF_REVISION"
@@ -274,7 +283,7 @@ rm -rf "$SOURCE"/build
echo "libraw: $LIBRAW_REVISION"
echo "libvips: $LIBVIPS_REVISION"
} >~/.immich_library_revisions
msg_ok "Custom Photo-processing Library Compiled"
msg_ok "Custom Photo-processing Libraries Compiled Successfully"
INSTALL_DIR="/opt/${APPLICATION}"
UPLOAD_DIR="${INSTALL_DIR}/upload"
@@ -285,9 +294,9 @@ GEO_DIR="${INSTALL_DIR}/geodata"
mkdir -p "$INSTALL_DIR"
mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${INSTALL_DIR}"/cache}
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.141.1" "$SRC_DIR"
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.142.0" "$SRC_DIR"
msg_info "Installing ${APPLICATION} (more patience please)"
msg_info "Installing ${APPLICATION} (patience)"
cd "$SRC_DIR"/server
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
@@ -319,15 +328,14 @@ msg_ok "Installed Immich Server and Web Components"
cd "$SRC_DIR"/machine-learning
mkdir -p "$ML_DIR"
export VIRTUAL_ENV="${ML_DIR}/ml-venv"
$STD uv venv "$VIRTUAL_ENV"
if [[ -f ~/.openvino ]]; then
msg_info "Installing HW-accelerated machine-learning"
uv -q sync --extra openvino --no-cache --active
$STD uv sync --extra openvino --no-cache --active
patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so"
msg_ok "Installed HW-accelerated machine-learning"
else
msg_info "Installing machine-learning"
uv -q sync --extra cpu --no-cache --active
$STD uv sync --extra cpu --no-cache --active
msg_ok "Installed machine-learning"
fi
cd "$SRC_DIR"

View File

@@ -51,7 +51,7 @@ mkdir -p $OLLAMA_INSTALL_DIR
OLLAMA_URL="https://github.com/ollama/ollama/releases/download/${RELEASE}/ollama-linux-amd64.tgz"
TMP_TAR="/tmp/ollama.tgz"
echo -e "\n"
if curl -fL# -o "$TMP_TAR" "$OLLAMA_URL"; then
if curl -fL# -C - -o "$TMP_TAR" "$OLLAMA_URL"; then
if tar -xzf "$TMP_TAR" -C "$OLLAMA_INSTALL_DIR"; then
ln -sf "$OLLAMA_INSTALL_DIR/bin/ollama" "$BINDIR/ollama"
echo "${RELEASE}" >/opt/Ollama_version.txt

View File

@@ -14,12 +14,14 @@ network_check
update_os
msg_info "Installing Proxmox Datacenter Manager"
curl -fsSL https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg | gpg --dearmor -o /etc/apt/keyrings/proxmox-release-bookworm.gpg
echo "deb [signed-by=/etc/apt/keyrings/proxmox-release-bookworm.gpg] http://download.proxmox.com/debian/pdm bookworm pdm-test " >/etc/apt/sources.list.d/proxmox-release-bookworm.list
curl -fsSL https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg -o /usr/share/keyrings/proxmox-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/proxmox-archive-keyring.gpg] http://download.proxmox.com/debian/pdm bookworm pdm-test " >/etc/apt/sources.list.d/pdm-test.list
$STD apt-get update
$STD apt-get install -y \
proxmox-datacenter-manager \
proxmox-datacenter-manager-ui
DEBIAN_FRONTEND=noninteractive
$STD apt-get -o Dpkg::Options::="--force-confdef" \
-o Dpkg::Options::="--force-confold" \
install -y proxmox-datacenter-manager \
proxmox-datacenter-manager-ui
msg_ok "Installed Proxmox Datacenter Manager"
motd_ssh

View File

@@ -0,0 +1,56 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: JasonGreenC
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/thecfu/scraparr
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
PYTHON_VERSION="3.13" setup_uv
fetch_and_deploy_gh_release "scrappar" "thecfu/scraparr" "tarball" "latest" "/opt/scraparr"
msg_info "Installing Scraparr"
cd /opt/scraparr
$STD uv venv /opt/scraparr/.venv
$STD /opt/scraparr/.venv/bin/python -m ensurepip --upgrade
$STD /opt/scraparr/.venv/bin/python -m pip install --upgrade pip
$STD /opt/scraparr/.venv/bin/python -m pip install -r /opt/scraparr/src/scraparr/requirements.txt
chmod -R 755 /opt/scraparr
mkdir -p /scraparr/config
mv /opt/scraparr/config.yaml /scraparr/config/config.yaml
chmod -R 755 /scraparr
msg_ok "Installed Scraparr"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/scraparr.service
[Unit]
Description=Scraparr
Wants=network-online.target
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/scraparr/src
ExecStart=/opt/scraparr/.venv/bin/python -m scraparr.scraparr
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now scraparr
msg_ok "Configured Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

262
install/signoz-install.sh Normal file
View File

@@ -0,0 +1,262 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://signoz.io/
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
apt-transport-https \
ca-certificates
msg_ok "Installed Dependencies"
JAVA_VERSION="21" setup_java
msg_info "Setting up ClickHouse"
curl -fsSL "https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key" | gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg arch=amd64] https://packages.clickhouse.com/deb stable main" >/etc/apt/sources.list.d/clickhouse.list
$STD apt-get update
export DEBIAN_FRONTEND=noninteractive
$STD apt-get install -y clickhouse-server clickhouse-client
msg_ok "Setup ClickHouse"
msg_info "Setting up Zookeeper"
curl -fsSL "https://dlcdn.apache.org/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz" -o "$HOME/zookeeper.tar.gz"
tar -xzf "$HOME/zookeeper.tar.gz" -C "$HOME"
mkdir -p /opt/zookeeper
mkdir -p /var/lib/zookeeper
mkdir -p /var/log/zookeeper
cp -r ~/apache-zookeeper-3.8.4-bin/* /opt/zookeeper
cat <<EOF >/opt/zookeeper/conf/zoo.cfg
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
admin.serverPort=3181
EOF
cat <<EOF >/opt/zookeeper/conf/zoo.env
ZOO_LOG_DIR=/var/log/zookeeper
EOF
cat <<EOF >/etc/systemd/system/zookeeper.service
[Unit]
Description=Zookeeper
Documentation=http://zookeeper.apache.org
[Service]
EnvironmentFile=/opt/zookeeper/conf/zoo.env
Type=forking
WorkingDirectory=/opt/zookeeper
ExecStart=/opt/zookeeper/bin/zkServer.sh start /opt/zookeeper/conf/zoo.cfg
ExecStop=/opt/zookeeper/bin/zkServer.sh stop /opt/zookeeper/conf/zoo.cfg
ExecReload=/opt/zookeeper/bin/zkServer.sh restart /opt/zookeeper/conf/zoo.cfg
TimeoutSec=30
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now zookeeper
msg_ok "Setup Zookeeper"
msg_info "Configuring ClickHouse"
cat <<EOF >/etc/clickhouse-server/config.d/cluster.xml
<clickhouse replace="true">
<distributed_ddl>
<path>/clickhouse/task_queue/ddl</path>
</distributed_ddl>
<remote_servers>
<cluster>
<shard>
<replica>
<host>127.0.0.1</host>
<port>9000</port>
</replica>
</shard>
</cluster>
</remote_servers>
<zookeeper>
<node>
<host>127.0.0.1</host>
<port>2181</port>
</node>
</zookeeper>
<macros>
<shard>01</shard>
<replica>01</replica>
</macros>
</clickhouse>
EOF
systemctl enable -q --now clickhouse-server
msg_ok "Configured ClickHouse"
fetch_and_deploy_gh_release "signoz-schema-migrator" "SigNoz/signoz-otel-collector" "prebuild" "latest" "/opt/signoz-schema-migrator" "signoz-schema-migrator_linux_amd64.tar.gz"
msg_info "Running ClickHouse migrations"
cd /opt/signoz-schema-migrator/bin
$STD ./signoz-schema-migrator sync --dsn="tcp://localhost:9000?password=" --replication=true --up=
$STD ./signoz-schema-migrator async --dsn="tcp://localhost:9000?password=" --replication=true --up=
msg_ok "ClickHouse Migrations Completed"
fetch_and_deploy_gh_release "signoz" "SigNoz/signoz" "prebuild" "latest" "/opt/signoz" "signoz-community_linux_amd64.tar.gz"
msg_info "Setting up SigNoz"
mkdir -p /var/lib/signoz
cat <<EOF >/opt/signoz/conf/systemd.env
SIGNOZ_INSTRUMENTATION_LOGS_LEVEL=info
INVITE_EMAIL_TEMPLATE=/opt/signoz/templates/invitation_email_template.html
SIGNOZ_SQLSTORE_SQLITE_PATH=/var/lib/signoz/signoz.db
SIGNOZ_WEB_ENABLED=true
SIGNOZ_WEB_DIRECTORY=/opt/signoz/web
SIGNOZ_JWT_SECRET=secret
SIGNOZ_ALERTMANAGER_PROVIDER=signoz
SIGNOZ_TELEMETRYSTORE_PROVIDER=clickhouse
SIGNOZ_TELEMETRYSTORE_CLICKHOUSE_DSN=tcp://localhost:9000?password=
DOT_METRICS_ENABLED=true
EOF
cat <<EOF >/etc/systemd/system/signoz.service
[Unit]
Description=SigNoz
Documentation=https://signoz.io/docs
After=clickhouse-server.service
[Service]
Type=simple
KillMode=mixed
Restart=on-failure
WorkingDirectory=/opt/signoz
EnvironmentFile=/opt/signoz/conf/systemd.env
ExecStart=/opt/signoz/bin/signoz server
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now signoz
msg_ok "Setup Signoz"
fetch_and_deploy_gh_release "signoz-otel-collector" "SigNoz/signoz-otel-collector" "prebuild" "latest" "/opt/signoz-otel-collector" "signoz-otel-collector_linux_amd64.tar.gz"
msg_info "Setting up SigNoz OTel Collector"
mkdir -p /var/lib/signoz-otel-collector
cat <<EOF >/opt/signoz-otel-collector/conf/config.yaml
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
max_recv_msg_size_mib: 16
http:
endpoint: 0.0.0.0:4318
jaeger:
protocols:
grpc:
endpoint: 0.0.0.0:14250
thrift_http:
endpoint: 0.0.0.0:14268
httplogreceiver/heroku:
endpoint: 0.0.0.0:8081
source: heroku
httplogreceiver/json:
endpoint: 0.0.0.0:8082
source: json
processors:
batch:
send_batch_size: 50000
timeout: 1s
signozspanmetrics/delta:
metrics_exporter: signozclickhousemetrics
latency_histogram_buckets: [100us, 1ms, 2ms, 6ms, 10ms, 50ms, 100ms, 250ms, 500ms, 1000ms, 1400ms, 2000ms, 5s, 10s, 20s, 40s, 60s]
dimensions_cache_size: 100000
dimensions:
- name: service.namespace
default: default
- name: deployment.environment
default: default
- name: signoz.collector.id
aggregation_temporality: AGGREGATION_TEMPORALITY_DELTA
extensions:
health_check:
endpoint: 0.0.0.0:13133
zpages:
endpoint: localhost:55679
pprof:
endpoint: localhost:1777
exporters:
clickhousetraces:
datasource: tcp://localhost:9000/signoz_traces?password=
use_new_schema: true
signozclickhousemetrics:
dsn: tcp://localhost:9000/signoz_metrics?password=
timeout: 45s
clickhouselogsexporter:
dsn: tcp://localhost:9000/signoz_logs?password=
timeout: 10s
use_new_schema: true
metadataexporter:
dsn: tcp://localhost:9000/signoz_metadata?password=
timeout: 10s
tenant_id: default
cache:
provider: in_memory
service:
telemetry:
logs:
encoding: json
extensions: [health_check, zpages, pprof]
pipelines:
traces:
receivers: [otlp, jaeger]
processors: [signozspanmetrics/delta, batch]
exporters: [clickhousetraces, metadataexporter]
metrics:
receivers: [otlp]
processors: [batch]
exporters: [metadataexporter, signozclickhousemetrics]
logs:
receivers: [otlp, httplogreceiver/heroku, httplogreceiver/json]
processors: [batch]
exporters: [clickhouselogsexporter, metadataexporter]
EOF
cat <<EOF >/opt/signoz-otel-collector/conf/opamp.yaml
server_endpoint: ws://127.0.0.1:4320/v1/opamp
EOF
cat <<EOF >/etc/systemd/system/signoz-otel-collector.service
[Unit]
Description=SigNoz OTel Collector
Documentation=https://signoz.io/docs
After=clickhouse-server.service
[Service]
Type=simple
KillMode=mixed
Restart=on-failure
WorkingDirectory=/opt/signoz-otel-collector
ExecStart=/opt/signoz-otel-collector/bin/signoz-otel-collector --config=/opt/signoz-otel-collector/conf/config.yaml --manager-config=/opt/signoz-otel-collector/conf/opamp.yaml --copy-path=/var/lib/signoz-otel-collector/config.yaml
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now signoz-otel-collector
motd_ssh
customize
msg_info "Cleaning up"
rm -rf ~/zookeeper.tar.gz
rm -rf ~/apache-zookeeper-3.8.4-bin
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

46
install/stylus-install.sh Normal file
View File

@@ -0,0 +1,46 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: luismco
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/mmastrac/stylus
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
fetch_and_deploy_gh_release "stylus" "mmastrac/stylus" "singlefile" "latest" "/usr/bin/" "*_linux_amd64"
msg_info "Configuring Stylus"
$STD stylus init /opt/stylus/
msg_ok "Configured Stylus"
msg_info "Creating service"
cat <<EOF >/etc/systemd/system/stylus.service
[Unit]
Description=Stylus Service
After=network.target
[Service]
Type=simple
ExecStart=stylus run /opt/stylus/
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now stylus
msg_ok "Created service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned up"

View File

@@ -0,0 +1,39 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: CrazyWolf13
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/influxdata/telegraf
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Adding Telegraf key and repository"
curl -fsSL -O https://repos.influxdata.com/influxdata-archive.key
gpg --show-keys --with-fingerprint --with-colons ./influxdata-archive.key 2>&1 \
| grep -q '^fpr:\+24C975CBA61A024EE1B631787C3D57159FC2F927:$' \
&& cat influxdata-archive.key \
| gpg --dearmor \
| tee /etc/apt/keyrings/influxdata-archive.gpg > /dev/null \
&& echo 'deb [signed-by=/etc/apt/keyrings/influxdata-archive.gpg] https://repos.influxdata.com/debian stable main' \
| tee /etc/apt/sources.list.d/influxdata.list > /dev/null
msg_ok "Added Telegraf Repository"
msg_info "Installing Telegraf"
$STD apt-get update
$STD apt-get install telegraf -y
msg_ok "Installed Telegraf"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
rm /influxdata-archive.key
msg_ok "Cleaned"

58
install/uhf-install.sh Normal file
View File

@@ -0,0 +1,58 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: zackwithak13
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.uhfapp.com/server
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt install -y ffmpeg
msg_ok "Installed Dependencies"
msg_info "Setting Up UHF Server Environment"
mkdir -p /etc/uhf-server
mkdir -p /var/lib/uhf-server/data
mkdir -p /var/lib/uhf-server/recordings
cat <<EOF >/etc/uhf-server/.env
API_HOST=0.0.0.0
API_PORT=7568
RECORDINGS_DIR=/var/lib/uhf-server/recordings
DB_PATH=/var/lib/uhf-server/data/db.json
LOG_LEVEL=INFO
EOF
msg_ok "Set Up UHF Server Environment"
fetch_and_deploy_gh_release "comskip" "swapplications/comskip" "prebuild" "latest" "/opt/comskip" "comskip-x64-*.zip"
fetch_and_deploy_gh_release "uhf-server" "swapplications/uhf-server-dist" "prebuild" "latest" "/opt/uhf-server" "UHF.Server-linux-x64-*.zip"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/uhf-server.service
[Unit]
Description=UHF Server service
After=syslog.target network-online.target
[Service]
Type=simple
WorkingDirectory=/opt/uhf-server
EnvironmentFile=/etc/uhf-server/.env
ExecStart=/opt/uhf-server/uhf-server
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now uhf-server
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -18,7 +18,7 @@ $STD apt-get install -y \
git
msg_ok "Installed Dependencies"
NODE_VERSION="20" NODE_MODULE="yarn@latest,node-gyp" setup_nodejs
NODE_VERSION="22" NODE_MODULE="yarn@latest,node-gyp" setup_nodejs
PG_VERSION="17" setup_postgresql
fetch_and_deploy_gh_release "wikijs" "requarks/wiki" "prebuild" "latest" "/opt/wikijs" "wiki-js.tar.gz"

View File

@@ -82,7 +82,7 @@ network_check() {
update_os() {
msg_info "Updating Container OS"
$STD apk -U upgrade
source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/tools.func)
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/tools.func)
msg_ok "Updated Container OS"
}

File diff suppressed because it is too large Load Diff

View File

@@ -515,6 +515,7 @@ post_routines_common() {
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58
msg_info "Disabling subscription nag"
# Create external script, this is needed because DPkg::Post-Invoke is fidly with quote interpretation
mkdir -p /usr/local/bin
cat >/usr/local/bin/pve-remove-nag.sh <<'EOF'
#!/bin/sh
WEB_JS=/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
@@ -530,14 +531,26 @@ if [ -f "$MOBILE_TPL" ] && ! grep -q "$MARKER" "$MOBILE_TPL"; then
printf "%s\n" \
"$MARKER" \
"<script>" \
" function watchAndRemoveDialog() {" \
" const observer = new MutationObserver(() => {" \
" const dialog = document.querySelector('dialog[aria-label=\"No valid subscription\"]');" \
" if (dialog) { dialog.remove(); console.log('Removed dialog: No valid subscription'); observer.disconnect(); }" \
" function removeSubscriptionElements() {" \
" const dialogs = document.querySelectorAll('dialog.pwt-outer-dialog');" \
" dialogs.forEach(dialog => {" \
" const closeButton = dialog.querySelector('.fa-close');" \
" const exclamationIcon = dialog.querySelector('.fa-exclamation-triangle');" \
" const continueButton = dialog.querySelector('button');" \
" if (closeButton && exclamationIcon && continueButton) { dialog.remove(); console.log('Removed subscription dialog'); }" \
" });" \
" const cards = document.querySelectorAll('.pwt-card.pwt-p-2.pwt-d-flex.pwt-interactive.pwt-justify-content-center');" \
" cards.forEach(card => {" \
" const hasInteractiveElements = card.querySelector('button, input, a');" \
" const hasComplexStructure = card.querySelector('.pwt-grid, .pwt-flex, .pwt-button');" \
" if (!hasInteractiveElements && !hasComplexStructure) { card.remove(); console.log('Removed subscription card'); }" \
" });" \
" observer.observe(document.body, { childList: true, subtree: true });" \
" }" \
" setTimeout(watchAndRemoveDialog, 100);" \
" const observer = new MutationObserver(removeSubscriptionElements);" \
" observer.observe(document.body, { childList: true, subtree: true });" \
" removeSubscriptionElements();" \
" setInterval(removeSubscriptionElements, 300);" \
" setTimeout(() => {observer.disconnect();}, 10000);" \
"</script>" \
"" >> "$MOBILE_TPL"
fi

View File

@@ -205,6 +205,15 @@ function exit-script() {
exit
}
function ensure_pv() {
if ! command -v pv &>/dev/null; then
msg_info "Installing required package: pv"
apt-get update -qq &>/dev/null
apt-get install -y pv &>/dev/null
msg_ok "Installed pv"
fi
}
function default_settings() {
BRANCH="$stable"
VMID=$(get_valid_nextid)
@@ -448,8 +457,8 @@ check_root
arch_check
pve_check
ssh_check
ensure_pv
start_script
post_to_api_vm
msg_info "Validating Storage"
@@ -505,10 +514,6 @@ else
msg_ok "Using cached image ${CL}${BL}$(basename "$CACHE_FILE")${CL}"
fi
if ! command -v pv &>/dev/null; then
apt-get update -qq &>/dev/null && apt-get install -y pv &>/dev/null
fi
set -o pipefail
msg_info "Creating Home Assistant OS VM shell"
qm create "$VMID" -machine q35 -bios ovmf -agent 1 -tablet 0 -localtime 1 ${CPU_TYPE} \

View File

@@ -22,13 +22,13 @@ function header_info {
EOF
}
header_info
echo -e "Loading..."
echo -e "\n Loading..."
RANDOM_UUID="$(cat /proc/sys/kernel/random/uuid)"
METHOD=""
NSAPP="openwrt-vm"
var_os="openwrt"
var_version=" "
DISK_SIZE="0.5G"
DISK_SIZE="1G"
GEN_MAC=02:$(openssl rand -hex 5 | awk '{print toupper($0)}' | sed 's/\(..\)/\1:/g; s/.$//')
GEN_MAC_LAN=02:$(openssl rand -hex 5 | awk '{print toupper($0)}' | sed 's/\(..\)/\1:/g; s/.$//')
@@ -40,10 +40,31 @@ BGN=$(echo "\033[4;92m")
GN=$(echo "\033[1;92m")
DGN=$(echo "\033[32m")
CL=$(echo "\033[m")
BOLD=$(echo "\033[1m")
BFR="\\r\\033[K"
HOLD="-"
CM="${GN}${CL}"
CROSS="${RD}${CL}"
HOLD=" "
TAB=" "
CM="${TAB}✔️${TAB}${CL}"
CROSS="${TAB}✖️${TAB}${CL}"
INFO="${TAB}💡${TAB}${CL}"
OS="${TAB}🖥️${TAB}${CL}"
CONTAINERTYPE="${TAB}📦${TAB}${CL}"
DISKSIZE="${TAB}💾${TAB}${CL}"
CPUCORE="${TAB}🧠${TAB}${CL}"
RAMSIZE="${TAB}🛠️${TAB}${CL}"
CONTAINERID="${TAB}🆔${TAB}${CL}"
HOSTNAME="${TAB}🏠${TAB}${CL}"
BRIDGE="${TAB}🌉${TAB}${CL}"
GATEWAY="${TAB}🌐${TAB}${CL}"
DEFAULT="${TAB}⚙️${TAB}${CL}"
MACADDRESS="${TAB}🔗${TAB}${CL}"
VLANTAG="${TAB}🏷️${TAB}${CL}"
CREATING="${TAB}🚀${TAB}${CL}"
ADVANCED="${TAB}🧩${TAB}${CL}"
CLOUD="${TAB}☁️${TAB}${CL}"
set -Eeo pipefail
trap 'error_handler $LINENO "$BASH_COMMAND"' ERR
trap cleanup EXIT
@@ -248,35 +269,30 @@ function exit-script() {
function default_settings() {
VMID=$(get_valid_nextid)
HN=openwrt
HN="openwrt"
CORE_COUNT="1"
RAM_SIZE="256"
BRG="vmbr0"
VLAN=""
LAN_BRG="vmbr0"
MAC=$GEN_MAC
LAN_MAC=$GEN_MAC_LAN
LAN_BRG="vmbr0"
VLAN=""
LAN_VLAN=",tag=999"
LAN_IP_ADDR="192.168.1.1"
LAN_NETMASK="255.255.255.0"
LAN_VLAN=",tag=999"
MTU=""
START_VM="yes"
METHOD="default"
echo -e "${DGN}Using Virtual Machine ID: ${BGN}${VMID}${CL}"
echo -e "${DGN}Using Hostname: ${BGN}${HN}${CL}"
echo -e "${DGN}Allocated Cores: ${BGN}${CORE_COUNT}${CL}"
echo -e "${DGN}Allocated RAM: ${BGN}${RAM_SIZE}${CL}"
echo -e "${DGN}Using WAN Bridge: ${BGN}${BRG}${CL}"
echo -e "${DGN}Using WAN VLAN: ${BGN}Default${CL}"
echo -e "${DGN}Using WAN MAC Address: ${BGN}${MAC}${CL}"
echo -e "${DGN}Using LAN MAC Address: ${BGN}${LAN_MAC}${CL}"
echo -e "${DGN}Using LAN Bridge: ${BGN}${LAN_BRG}${CL}"
echo -e "${DGN}Using LAN VLAN: ${BGN}999${CL}"
echo -e "${DGN}Using LAN IP Address: ${BGN}${LAN_IP_ADDR}${CL}"
echo -e "${DGN}Using LAN NETMASK: ${BGN}${LAN_NETMASK}${CL}"
echo -e "${DGN}Using Interface MTU Size: ${BGN}Default${CL}"
echo -e "${DGN}Start VM when completed: ${BGN}yes${CL}"
echo -e "${BL}Creating a OpenWrt VM using the above default settings${CL}"
DISK_SIZE="1G"
echo -e "${CONTAINERID}${BOLD}${DGN}VMID: ${BGN}${VMID}${CL}"
echo -e "${HOSTNAME}${BOLD}${DGN}Hostname: ${BGN}${HN}${CL}"
echo -e "${CPUCORE}${BOLD}${DGN}CPU Cores: ${BGN}${CORE_COUNT}${CL}"
echo -e "${RAMSIZE}${BOLD}${DGN}RAM: ${BGN}${RAM_SIZE}${CL}"
echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE}${CL}"
echo -e "${BRIDGE}${BOLD}${DGN}WAN Bridge: ${BGN}${BRG}${CL}"
echo -e "${BRIDGE}${BOLD}${DGN}LAN Bridge: ${BGN}${LAN_BRG}${CL}"
echo -e "${MACADDRESS}${BOLD}${DGN}WAN MAC: ${BGN}${MAC}${CL}"
echo -e "${MACADDRESS}${BOLD}${DGN}LAN MAC: ${BGN}${LAN_MAC}${CL}"
}
function advanced_settings() {
@@ -328,6 +344,17 @@ function advanced_settings() {
exit-script
fi
if DISK_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" \
--inputbox "Set Disk Size in GiB (e.g., 1, 2, 4)" 8 58 "1" \
--title "DISK SIZE" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
if [[ "$DISK_SIZE" =~ ^[0-9]+$ ]]; then
DISK_SIZE="${DISK_SIZE}G"
fi
echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE}${CL}"
else
exit-script
fi
if BRG=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a WAN Bridge" 8 58 vmbr0 --title "WAN BRIDGE" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
if [ -z $BRG ]; then
BRG="vmbr0"
@@ -491,47 +518,39 @@ response=$(curl -fsSL https://openwrt.org)
stableversion=$(echo "$response" | sed -n 's/.*Current stable release - OpenWrt \([0-9.]\+\).*/\1/p' | head -n 1)
URL="https://downloads.openwrt.org/releases/$stableversion/targets/x86/64/openwrt-$stableversion-x86-64-generic-ext4-combined.img.gz"
sleep 2
msg_ok "${CL}${BL}${URL}${CL}"
curl -f#SL -o "$(basename "$URL")" "$URL"
echo -en "\e[1A\e[0K"
FILE=$(basename $URL)
FILE=$(basename "$URL")
msg_ok "Downloaded ${CL}${BL}$FILE${CL}"
gunzip -f $FILE >/dev/null 2>/dev/null || true
NEWFILE="${FILE%.*}"
FILE="$NEWFILE"
mv $FILE ${FILE%.*}
qemu-img resize -f raw ${FILE%.*} 512M >/dev/null 2>/dev/null
msg_ok "Extracted & Resized OpenWrt Disk Image ${CL}${BL}$FILE${CL}"
STORAGE_TYPE=$(pvesm status -storage $STORAGE | awk 'NR>1 {print $2}')
case $STORAGE_TYPE in
nfs | dir)
DISK_EXT=".qcow2"
DISK_REF="$VMID/"
DISK_IMPORT="-format qcow2"
;;
btrfs)
DISK_EXT=".raw"
DISK_REF="$VMID/"
DISK_IMPORT="-format raw"
;;
esac
for i in {0,1}; do
disk="DISK$i"
eval DISK${i}=vm-${VMID}-disk-${i}${DISK_EXT:-}
eval DISK${i}_REF=${STORAGE}:${DISK_REF:-}${!disk}
done
gunzip -f "$FILE" >/dev/null 2>&1 || true
FILE="${FILE%.*}"
msg_ok "Extracted OpenWrt Disk Image ${CL}${BL}$FILE${CL}"
msg_info "Creating OpenWrt VM"
qm create $VMID -cores $CORE_COUNT -memory $RAM_SIZE -name $HN \
qm create "$VMID" -cores "$CORE_COUNT" -memory "$RAM_SIZE" -name "$HN" \
-onboot 1 -ostype l26 -scsihw virtio-scsi-pci --tablet 0
pvesm alloc $STORAGE $VMID $DISK0 4M 1>&/dev/null
qm importdisk $VMID ${FILE%.*} $STORAGE ${DISK_IMPORT:-} 1>&/dev/null
qm set $VMID \
-efidisk0 ${DISK0_REF},efitype=4m,size=4M \
-scsi0 ${DISK1_REF},size=512M \
pvesm alloc "$STORAGE" "$VMID" "vm-$VMID-disk-0" 4M >/dev/null
IMPORT_OUT="$(qm importdisk "$VMID" "$FILE" "$STORAGE" --format raw 2>&1 || true)"
DISK_REF="$(printf '%s\n' "$IMPORT_OUT" | sed -n "s/.*successfully imported disk '\([^']\+\)'.*/\1/p")"
if [[ -z "$DISK_REF" ]]; then
DISK_REF="$(pvesm list "$STORAGE" | awk -v id="$VMID" '$1 ~ ("vm-"id"-disk-") {print $1}' | sort | tail -n1)"
fi
if [[ -z "$DISK_REF" ]]; then
msg_error "Unable to determine imported disk reference."
echo "$IMPORT_OUT"
exit 1
fi
qm set "$VMID" \
-efidisk0 "${STORAGE}:0,efitype=4m,size=4M" \
-scsi0 "${DISK_REF},size=${DISK_SIZE}" \
-boot order=scsi0 \
-tags community-script >/dev/null
msg_ok "Attached disk (${DISK_SIZE})"
DESCRIPTION=$(
cat <<EOF
@@ -570,36 +589,45 @@ msg_info "OpenWrt is being started in order to configure the network interfaces.
qm start $VMID
sleep 15
msg_ok "Network interfaces are being configured as OpenWrt initiates."
send_line_to_vm ""
send_line_to_vm "uci delete network.@device[0]"
send_line_to_vm "uci set network.wan=interface"
send_line_to_vm "uci set network.wan.device=eth1"
send_line_to_vm "uci set network.wan.proto=dhcp"
send_line_to_vm "uci delete network.lan"
send_line_to_vm "uci set network.lan=interface"
send_line_to_vm "uci set network.lan.device=eth0"
send_line_to_vm "uci set network.lan.proto=static"
send_line_to_vm "uci set network.lan.ipaddr=${LAN_IP_ADDR}"
send_line_to_vm "uci set network.lan.netmask=${LAN_NETMASK}"
send_line_to_vm "uci commit"
send_line_to_vm "halt"
msg_ok "Network interfaces have been successfully configured."
until qm status $VMID | grep -q "stopped"; do
for _ in {1..30}; do
if qm status "$VMID" | grep -q "stopped"; then break; fi
send_line_to_vm ""
send_line_to_vm "uci delete network.@device[0]"
send_line_to_vm "uci set network.wan=interface"
send_line_to_vm "uci set network.wan.device=eth1"
send_line_to_vm "uci set network.wan.proto=dhcp"
send_line_to_vm "uci delete network.lan"
send_line_to_vm "uci set network.lan=interface"
send_line_to_vm "uci set network.lan.device=eth0"
send_line_to_vm "uci set network.lan.proto=static"
send_line_to_vm "uci set network.lan.ipaddr=${LAN_IP_ADDR}"
send_line_to_vm "uci set network.lan.netmask=${LAN_NETMASK}"
send_line_to_vm "uci commit"
send_line_to_vm "halt"
done
msg_ok "Network interfaces configured in OpenWrt"
msg_info "Waiting for OpenWrt to shut down..."
until qm status "$VMID" | grep -q "stopped"; do
sleep 2
done
msg_info "Bridge interfaces are being added."
qm set $VMID \
-net0 virtio,bridge=${LAN_BRG},macaddr=${LAN_MAC}${LAN_VLAN}${MTU} \
-net1 virtio,bridge=${BRG},macaddr=${MAC}${VLAN}${MTU} >/dev/null 2>/dev/null
msg_ok "Bridge interfaces have been successfully added."
if [ "$START_VM" == "yes" ]; then
msg_ok "OpenWrt has shut down"
msg_info "Adding bridge interfaces on Proxmox side"
qm set "$VMID" \
-net0 virtio,bridge="${LAN_BRG}",macaddr="${LAN_MAC}${LAN_VLAN}${MTU}" \
-net1 virtio,bridge="${BRG}",macaddr="${MAC}${VLAN}${MTU}" >/dev/null
msg_ok "Bridge interfaces added"
if [ "$START_VM" = "yes" ]; then
msg_info "Starting OpenWrt VM"
qm start $VMID
qm start "$VMID"
msg_ok "Started OpenWrt VM"
fi
VLAN_FINISH=""
if [ "$VLAN" == "" ] && [ "$VLAN2" != "999" ]; then
if [ -z "$VLAN" ] && [ "$VLAN2" != "999" ]; then
VLAN_FINISH=" Please remember to adjust the VLAN tags to suit your network."
fi
post_update_to_api "done" "none"
msg_ok "Completed Successfully!\n${VLAN_FINISH}"
msg_ok "Completed Successfully!${VLAN_FINISH:+\n$VLAN_FINISH}"

View File

@@ -201,6 +201,15 @@ function exit-script() {
exit
}
function ensure_pv() {
if ! command -v pv &>/dev/null; then
msg_info "Installing required package: pv"
apt-get update -qq &>/dev/null
apt-get install -y pv &>/dev/null
msg_ok "Installed pv"
fi
}
function default_settings() {
VMID=$(get_valid_nextid)
MACHINE="q35"
@@ -432,6 +441,7 @@ check_root
arch_check
pve_check
ssh_check
ensure_pv
start_script
msg_info "Validating Storage"
@@ -472,10 +482,6 @@ else
msg_ok "Using cached Umbrel OS image"
fi
if ! command -v pv &>/dev/null; then
apt-get update -qq &>/dev/null && apt-get install -y pv &>/dev/null
fi
set -o pipefail
qm create "$VMID" -machine q35 -bios ovmf -agent 1 -tablet 0 -localtime 1 ${CPU_TYPE} \
-cores "$CORE_COUNT" -memory "$RAM_SIZE" -name "$HN" -tags community-script \