mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-02-05 12:53:27 +01:00
Compare commits
1 Commits
add-script
...
MickLesk-p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
732a3646d7 |
310
.github/changelogs/2026/01.md
generated
vendored
310
.github/changelogs/2026/01.md
generated
vendored
@@ -1,156 +1,14 @@
|
||||
## 2026-01-31
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- shelfmark ([#11371](https://github.com/community-scripts/ProxmoxVE/pull/11371))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- fix: yubal: add git [@CrazyWolf13](https://github.com/CrazyWolf13) ([#11394](https://github.com/community-scripts/ProxmoxVE/pull/11394))
|
||||
|
||||
## 2026-01-30
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- languagetool ([#11370](https://github.com/community-scripts/ProxmoxVE/pull/11370))
|
||||
- Ampache ([#11369](https://github.com/community-scripts/ProxmoxVE/pull/11369))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Refactor: remove redundant PHP_MODULE entries in several scripts [@MickLesk](https://github.com/MickLesk) ([#11362](https://github.com/community-scripts/ProxmoxVE/pull/11362))
|
||||
- Refactor: Koillection [@MickLesk](https://github.com/MickLesk) ([#11361](https://github.com/community-scripts/ProxmoxVE/pull/11361))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- core: meilisearch - add data migration for version upgrades [@MickLesk](https://github.com/MickLesk) ([#11356](https://github.com/community-scripts/ProxmoxVE/pull/11356))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- [tools] Add `fetch_and_deploy_from_url()` [@tremor021](https://github.com/tremor021) ([#11376](https://github.com/community-scripts/ProxmoxVE/pull/11376))
|
||||
- core: php - improve module handling and prevent installation failures [@MickLesk](https://github.com/MickLesk) ([#11358](https://github.com/community-scripts/ProxmoxVE/pull/11358))
|
||||
|
||||
## 2026-01-29
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Alpine-Valkey [@MickLesk](https://github.com/MickLesk) ([#11320](https://github.com/community-scripts/ProxmoxVE/pull/11320))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Immich: Pin version to 2.5.2 [@vhsdream](https://github.com/vhsdream) ([#11335](https://github.com/community-scripts/ProxmoxVE/pull/11335))
|
||||
- Kollection: Update to php 8.5 [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#11315](https://github.com/community-scripts/ProxmoxVE/pull/11315))
|
||||
- Notifiarr: change installation check from apt to systemd service [@MickLesk](https://github.com/MickLesk) ([#11319](https://github.com/community-scripts/ProxmoxVE/pull/11319))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- [FEAT] Immich: Enable Maintenance Mode before update [@vhsdream](https://github.com/vhsdream) ([#11342](https://github.com/community-scripts/ProxmoxVE/pull/11342))
|
||||
- jellyfin: add logrotate instead of reducing log level [@MickLesk](https://github.com/MickLesk) ([#11326](https://github.com/community-scripts/ProxmoxVE/pull/11326))
|
||||
- core: Add config file handling options | Fix Vikunja update with interactive overwrite [@MickLesk](https://github.com/MickLesk) ([#11317](https://github.com/community-scripts/ProxmoxVE/pull/11317))
|
||||
- Immich: v2.5.0 [@vhsdream](https://github.com/vhsdream) ([#11240](https://github.com/community-scripts/ProxmoxVE/pull/11240))
|
||||
|
||||
- #### 💥 Breaking Changes
|
||||
|
||||
- fix: vikunja v1 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#11308](https://github.com/community-scripts/ProxmoxVE/pull/11308))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Refactor: Byparr [@vhsdream](https://github.com/vhsdream) ([#11338](https://github.com/community-scripts/ProxmoxVE/pull/11338))
|
||||
- cloudflare: Remove deprecated DNS-over-HTTPS proxy option [@MickLesk](https://github.com/MickLesk) ([#11068](https://github.com/community-scripts/ProxmoxVE/pull/11068))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- build.func: Replace storage variable with searchdomain variable [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#11322](https://github.com/community-scripts/ProxmoxVE/pull/11322))
|
||||
|
||||
### 📂 Github
|
||||
|
||||
- Add workflow to lock closed issues [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#11316](https://github.com/community-scripts/ProxmoxVE/pull/11316))
|
||||
|
||||
## 2026-01-28
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- nodecast-tv ([#11287](https://github.com/community-scripts/ProxmoxVE/pull/11287))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Ubuntu 25.04 VM - Change default start from yes to no [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#11292](https://github.com/community-scripts/ProxmoxVE/pull/11292))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- various scripts: use setup_meilisearch function [@MickLesk](https://github.com/MickLesk) ([#11259](https://github.com/community-scripts/ProxmoxVE/pull/11259))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Refactor: NPMPlus / Default Login [@MickLesk](https://github.com/MickLesk) ([#11262](https://github.com/community-scripts/ProxmoxVE/pull/11262))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- core: sed patch for ram [@lavacano](https://github.com/lavacano) ([#11285](https://github.com/community-scripts/ProxmoxVE/pull/11285))
|
||||
- Fix installer loop caused by invalid whiptail menu separator [@Mesteriis](https://github.com/Mesteriis) ([#11237](https://github.com/community-scripts/ProxmoxVE/pull/11237))
|
||||
- core: fix Debian 13 LXC template root ownership bug [@MickLesk](https://github.com/MickLesk) ([#11277](https://github.com/community-scripts/ProxmoxVE/pull/11277))
|
||||
- tools.func: prevent systemd-tmpfiles failure in unprivileged LXC during deb install [@MickLesk](https://github.com/MickLesk) ([#11271](https://github.com/community-scripts/ProxmoxVE/pull/11271))
|
||||
- tools.func: fix php "wait_for" hint [@MickLesk](https://github.com/MickLesk) ([#11254](https://github.com/community-scripts/ProxmoxVE/pull/11254))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- core: update dynamic values in LXC profile on update_motd_ip [@MickLesk](https://github.com/MickLesk) ([#11268](https://github.com/community-scripts/ProxmoxVE/pull/11268))
|
||||
- tools.func: add new function - setup_meilisearch [@MickLesk](https://github.com/MickLesk) ([#11258](https://github.com/community-scripts/ProxmoxVE/pull/11258))
|
||||
|
||||
### 📂 Github
|
||||
|
||||
- github: add GitHub-based versions.json updater [@MickLesk](https://github.com/MickLesk) ([#10021](https://github.com/community-scripts/ProxmoxVE/pull/10021))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Frontend: use github-versions.json for version display [@MickLesk](https://github.com/MickLesk) ([#11281](https://github.com/community-scripts/ProxmoxVE/pull/11281))
|
||||
|
||||
- #### 📝 Script Information
|
||||
|
||||
- fix: homarr: conf location [@CrazyWolf13](https://github.com/CrazyWolf13) ([#11253](https://github.com/community-scripts/ProxmoxVE/pull/11253))
|
||||
|
||||
## 2026-01-27
|
||||
## 2026-01-27
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- [FIX] Jotty: backup and restore custom config [@vhsdream](https://github.com/vhsdream) ([#11212](https://github.com/community-scripts/ProxmoxVE/pull/11212))
|
||||
- Immich: update libraw [@vhsdream](https://github.com/vhsdream) ([#11233](https://github.com/community-scripts/ProxmoxVE/pull/11233))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- grist: enable optional enterprise features toggle [@MickLesk](https://github.com/MickLesk) ([#11239](https://github.com/community-scripts/ProxmoxVE/pull/11239))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Termix: use nginx.conf from upstream repo [@MickLesk](https://github.com/MickLesk) ([#11228](https://github.com/community-scripts/ProxmoxVE/pull/11228))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- feat: add NVIDIA driver install prompt for GPU-enabled containers [@devdecrux](https://github.com/devdecrux) ([#11184](https://github.com/community-scripts/ProxmoxVE/pull/11184))
|
||||
|
||||
### 📚 Documentation
|
||||
|
||||
- doc setup_deb822_repo arg order [@chrnie](https://github.com/chrnie) ([#11215](https://github.com/community-scripts/ProxmoxVE/pull/11215))
|
||||
- changelog: archive old entries to year/month files [@MickLesk](https://github.com/MickLesk) ([#11225](https://github.com/community-scripts/ProxmoxVE/pull/11225))
|
||||
|
||||
## 2026-01-26
|
||||
|
||||
@@ -242,7 +100,7 @@
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Tracearr ([#11079](https://github.com/community-scripts/ProxmoxVE/pull/11079))
|
||||
- Dawarich ([#11075](https://github.com/community-scripts/ProxmoxVE/pull/11075))
|
||||
- Dawarich ([#11075](https://github.com/community-scripts/ProxmoxVE/pull/11075))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
@@ -392,7 +250,7 @@
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Termix ([#10887](https://github.com/community-scripts/ProxmoxVE/pull/10887))
|
||||
- ThingsBoard ([#10904](https://github.com/community-scripts/ProxmoxVE/pull/10904))
|
||||
- ThingsBoard ([#10904](https://github.com/community-scripts/ProxmoxVE/pull/10904))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
@@ -461,7 +319,7 @@
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Flatnotes ([#10857](https://github.com/community-scripts/ProxmoxVE/pull/10857))
|
||||
- Unifi OS Server ([#10856](https://github.com/community-scripts/ProxmoxVE/pull/10856))
|
||||
- Unifi OS Server ([#10856](https://github.com/community-scripts/ProxmoxVE/pull/10856))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
@@ -527,7 +385,7 @@
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Investbrain ([#10774](https://github.com/community-scripts/ProxmoxVE/pull/10774))
|
||||
- Fladder ([#10768](https://github.com/community-scripts/ProxmoxVE/pull/10768))
|
||||
- Fladder ([#10768](https://github.com/community-scripts/ProxmoxVE/pull/10768))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
@@ -716,7 +574,7 @@
|
||||
### 📚 Documentation
|
||||
|
||||
- [gh] New Script template update [@tremor021](https://github.com/tremor021) ([#10607](https://github.com/community-scripts/ProxmoxVE/pull/10607))
|
||||
- chore: bump copyright to 2026 - happy new year [@CrazyWolf13](https://github.com/CrazyWolf13) ([#10585](https://github.com/community-scripts/ProxmoxVE/pull/10585))
|
||||
- chore: bump copyright to 2026 - happy new year [@CrazyWolf13](https://github.com/CrazyWolf13) ([#10585](https://github.com/community-scripts/ProxmoxVE/pull/10585))
|
||||
|
||||
### 📂 Github
|
||||
|
||||
@@ -797,7 +655,7 @@
|
||||
### ❔ Uncategorized
|
||||
|
||||
- Wireguard: Update WGDashboard notes URL to the new link [@tremor021](https://github.com/tremor021) ([#10496](https://github.com/community-scripts/ProxmoxVE/pull/10496))
|
||||
- InvoiceNinja: Update database credentias information [@tremor021](https://github.com/tremor021) ([#10497](https://github.com/community-scripts/ProxmoxVE/pull/10497))
|
||||
- InvoiceNinja: Update database credentias information [@tremor021](https://github.com/tremor021) ([#10497](https://github.com/community-scripts/ProxmoxVE/pull/10497))
|
||||
|
||||
## 2026-01-02
|
||||
|
||||
@@ -826,3 +684,157 @@
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Fix MariaDB runtime directory persistence on container reboot [@Copilot](https://github.com/Copilot) ([#10468](https://github.com/community-scripts/ProxmoxVE/pull/10468))
|
||||
|
||||
|
||||
## 2026-01-31
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- shelfmark ([#11371](https://github.com/community-scripts/ProxmoxVE/pull/11371))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- fix: yubal: add git [@CrazyWolf13](https://github.com/CrazyWolf13) ([#11394](https://github.com/community-scripts/ProxmoxVE/pull/11394))
|
||||
|
||||
## 2026-01-30
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- languagetool ([#11370](https://github.com/community-scripts/ProxmoxVE/pull/11370))
|
||||
- Ampache ([#11369](https://github.com/community-scripts/ProxmoxVE/pull/11369))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Refactor: remove redundant PHP_MODULE entries in several scripts [@MickLesk](https://github.com/MickLesk) ([#11362](https://github.com/community-scripts/ProxmoxVE/pull/11362))
|
||||
- Refactor: Koillection [@MickLesk](https://github.com/MickLesk) ([#11361](https://github.com/community-scripts/ProxmoxVE/pull/11361))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- core: meilisearch - add data migration for version upgrades [@MickLesk](https://github.com/MickLesk) ([#11356](https://github.com/community-scripts/ProxmoxVE/pull/11356))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- [tools] Add `fetch_and_deploy_from_url()` [@tremor021](https://github.com/tremor021) ([#11376](https://github.com/community-scripts/ProxmoxVE/pull/11376))
|
||||
- core: php - improve module handling and prevent installation failures [@MickLesk](https://github.com/MickLesk) ([#11358](https://github.com/community-scripts/ProxmoxVE/pull/11358))
|
||||
|
||||
## 2026-01-29
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Alpine-Valkey [@MickLesk](https://github.com/MickLesk) ([#11320](https://github.com/community-scripts/ProxmoxVE/pull/11320))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Immich: Pin version to 2.5.2 [@vhsdream](https://github.com/vhsdream) ([#11335](https://github.com/community-scripts/ProxmoxVE/pull/11335))
|
||||
- Kollection: Update to php 8.5 [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#11315](https://github.com/community-scripts/ProxmoxVE/pull/11315))
|
||||
- Notifiarr: change installation check from apt to systemd service [@MickLesk](https://github.com/MickLesk) ([#11319](https://github.com/community-scripts/ProxmoxVE/pull/11319))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- [FEAT] Immich: Enable Maintenance Mode before update [@vhsdream](https://github.com/vhsdream) ([#11342](https://github.com/community-scripts/ProxmoxVE/pull/11342))
|
||||
- jellyfin: add logrotate instead of reducing log level [@MickLesk](https://github.com/MickLesk) ([#11326](https://github.com/community-scripts/ProxmoxVE/pull/11326))
|
||||
- core: Add config file handling options | Fix Vikunja update with interactive overwrite [@MickLesk](https://github.com/MickLesk) ([#11317](https://github.com/community-scripts/ProxmoxVE/pull/11317))
|
||||
- Immich: v2.5.0 [@vhsdream](https://github.com/vhsdream) ([#11240](https://github.com/community-scripts/ProxmoxVE/pull/11240))
|
||||
|
||||
- #### 💥 Breaking Changes
|
||||
|
||||
- fix: vikunja v1 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#11308](https://github.com/community-scripts/ProxmoxVE/pull/11308))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Refactor: Byparr [@vhsdream](https://github.com/vhsdream) ([#11338](https://github.com/community-scripts/ProxmoxVE/pull/11338))
|
||||
- cloudflare: Remove deprecated DNS-over-HTTPS proxy option [@MickLesk](https://github.com/MickLesk) ([#11068](https://github.com/community-scripts/ProxmoxVE/pull/11068))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- build.func: Replace storage variable with searchdomain variable [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#11322](https://github.com/community-scripts/ProxmoxVE/pull/11322))
|
||||
|
||||
### 📂 Github
|
||||
|
||||
- Add workflow to lock closed issues [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#11316](https://github.com/community-scripts/ProxmoxVE/pull/11316))
|
||||
|
||||
## 2026-01-28
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- nodecast-tv ([#11287](https://github.com/community-scripts/ProxmoxVE/pull/11287))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Ubuntu 25.04 VM - Change default start from yes to no [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#11292](https://github.com/community-scripts/ProxmoxVE/pull/11292))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- various scripts: use setup_meilisearch function [@MickLesk](https://github.com/MickLesk) ([#11259](https://github.com/community-scripts/ProxmoxVE/pull/11259))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Refactor: NPMPlus / Default Login [@MickLesk](https://github.com/MickLesk) ([#11262](https://github.com/community-scripts/ProxmoxVE/pull/11262))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- core: sed patch for ram [@lavacano](https://github.com/lavacano) ([#11285](https://github.com/community-scripts/ProxmoxVE/pull/11285))
|
||||
- Fix installer loop caused by invalid whiptail menu separator [@Mesteriis](https://github.com/Mesteriis) ([#11237](https://github.com/community-scripts/ProxmoxVE/pull/11237))
|
||||
- core: fix Debian 13 LXC template root ownership bug [@MickLesk](https://github.com/MickLesk) ([#11277](https://github.com/community-scripts/ProxmoxVE/pull/11277))
|
||||
- tools.func: prevent systemd-tmpfiles failure in unprivileged LXC during deb install [@MickLesk](https://github.com/MickLesk) ([#11271](https://github.com/community-scripts/ProxmoxVE/pull/11271))
|
||||
- tools.func: fix php "wait_for" hint [@MickLesk](https://github.com/MickLesk) ([#11254](https://github.com/community-scripts/ProxmoxVE/pull/11254))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- core: update dynamic values in LXC profile on update_motd_ip [@MickLesk](https://github.com/MickLesk) ([#11268](https://github.com/community-scripts/ProxmoxVE/pull/11268))
|
||||
- tools.func: add new function - setup_meilisearch [@MickLesk](https://github.com/MickLesk) ([#11258](https://github.com/community-scripts/ProxmoxVE/pull/11258))
|
||||
|
||||
### 📂 Github
|
||||
|
||||
- github: add GitHub-based versions.json updater [@MickLesk](https://github.com/MickLesk) ([#10021](https://github.com/community-scripts/ProxmoxVE/pull/10021))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Frontend: use github-versions.json for version display [@MickLesk](https://github.com/MickLesk) ([#11281](https://github.com/community-scripts/ProxmoxVE/pull/11281))
|
||||
|
||||
- #### 📝 Script Information
|
||||
|
||||
- fix: homarr: conf location [@CrazyWolf13](https://github.com/CrazyWolf13) ([#11253](https://github.com/community-scripts/ProxmoxVE/pull/11253))
|
||||
|
||||
## 2026-01-27
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Immich: update libraw [@vhsdream](https://github.com/vhsdream) ([#11233](https://github.com/community-scripts/ProxmoxVE/pull/11233))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- grist: enable optional enterprise features toggle [@MickLesk](https://github.com/MickLesk) ([#11239](https://github.com/community-scripts/ProxmoxVE/pull/11239))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Termix: use nginx.conf from upstream repo [@MickLesk](https://github.com/MickLesk) ([#11228](https://github.com/community-scripts/ProxmoxVE/pull/11228))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- feat: add NVIDIA driver install prompt for GPU-enabled containers [@devdecrux](https://github.com/devdecrux) ([#11184](https://github.com/community-scripts/ProxmoxVE/pull/11184))
|
||||
|
||||
### 📚 Documentation
|
||||
|
||||
- doc setup_deb822_repo arg order [@chrnie](https://github.com/chrnie) ([#11215](https://github.com/community-scripts/ProxmoxVE/pull/11215))
|
||||
- changelog: archive old entries to year/month files [@MickLesk](https://github.com/MickLesk) ([#11225](https://github.com/community-scripts/ProxmoxVE/pull/11225))
|
||||
121
.github/changelogs/2026/02.md
generated
vendored
121
.github/changelogs/2026/02.md
generated
vendored
@@ -1,121 +0,0 @@
|
||||
## 2026-02-04
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Wishlist ([#11527](https://github.com/community-scripts/ProxmoxVE/pull/11527))
|
||||
- WriteFreely ([#11524](https://github.com/community-scripts/ProxmoxVE/pull/11524))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- core: create vm-core.func from dev [@MickLesk](https://github.com/MickLesk) ([#11528](https://github.com/community-scripts/ProxmoxVE/pull/11528))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- fix(frontend): implement weighted search scoring for command menu [@ls-root](https://github.com/ls-root) ([#11534](https://github.com/community-scripts/ProxmoxVE/pull/11534))
|
||||
|
||||
## 2026-02-03
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Wealthfolio ([#11511](https://github.com/community-scripts/ProxmoxVE/pull/11511))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- [FIX] Shelfmark: unpin Chromium version [@vhsdream](https://github.com/vhsdream) ([#11505](https://github.com/community-scripts/ProxmoxVE/pull/11505))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- [FEAT] Scanopy: automatically update integrated daemon [@vhsdream](https://github.com/vhsdream) ([#11506](https://github.com/community-scripts/ProxmoxVE/pull/11506))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- [FIX] tools.func: trim spaces in app_lc when checking for gh release [@vhsdream](https://github.com/vhsdream) ([#11512](https://github.com/community-scripts/ProxmoxVE/pull/11512))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- fix(frontend): decouple table pagination from summary fetching [@ls-root](https://github.com/ls-root) ([#11495](https://github.com/community-scripts/ProxmoxVE/pull/11495))
|
||||
|
||||
## 2026-02-02
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- rustypaste | Alpine-rustypaste ([#11457](https://github.com/community-scripts/ProxmoxVE/pull/11457))
|
||||
- KitchenOwl ([#11453](https://github.com/community-scripts/ProxmoxVE/pull/11453))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Grist: Update dependencies [@tremor021](https://github.com/tremor021) ([#11489](https://github.com/community-scripts/ProxmoxVE/pull/11489))
|
||||
- Allow "downgrade" of libigdgmm12 [@vhsdream](https://github.com/vhsdream) ([#11478](https://github.com/community-scripts/ProxmoxVE/pull/11478))
|
||||
- Disable NPM install and update due to OpenResty SHA-1 signature issues [@MickLesk](https://github.com/MickLesk) ([#11471](https://github.com/community-scripts/ProxmoxVE/pull/11471))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Refactor: Forgejo & readeck - migrate to codeberg functions [@MickLesk](https://github.com/MickLesk) ([#11460](https://github.com/community-scripts/ProxmoxVE/pull/11460))
|
||||
|
||||
- #### 💥 Breaking Changes
|
||||
|
||||
- [FIX] Scanopy: remove daemon build [@vhsdream](https://github.com/vhsdream) ([#11444](https://github.com/community-scripts/ProxmoxVE/pull/11444))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Refactor: Vaultwarden [@MickLesk](https://github.com/MickLesk) ([#11445](https://github.com/community-scripts/ProxmoxVE/pull/11445))
|
||||
- various scripts: use ensure_dependencies instead of apt [@MickLesk](https://github.com/MickLesk) ([#11463](https://github.com/community-scripts/ProxmoxVE/pull/11463))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- cleanup(frontend): remove unused /category-view route [@ls-root](https://github.com/ls-root) ([#11461](https://github.com/community-scripts/ProxmoxVE/pull/11461))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- feat(frontend): preview tab [@ls-root](https://github.com/ls-root) ([#11475](https://github.com/community-scripts/ProxmoxVE/pull/11475))
|
||||
|
||||
## 2026-02-01
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- fix headers [@CrazyWolf13](https://github.com/CrazyWolf13) ([#11422](https://github.com/community-scripts/ProxmoxVE/pull/11422))
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- 2fauth: export PHP_VERSION for nginx config [@MickLesk](https://github.com/MickLesk) ([#11441](https://github.com/community-scripts/ProxmoxVE/pull/11441))
|
||||
- Prometheus Paperless NGX Exporter: Set correct binary path in systemd unit file [@andygrunwald](https://github.com/andygrunwald) ([#11438](https://github.com/community-scripts/ProxmoxVE/pull/11438))
|
||||
- tracearr: install/update new prestart script from upstream [@durzo](https://github.com/durzo) ([#11433](https://github.com/community-scripts/ProxmoxVE/pull/11433))
|
||||
- n8n: Fix dependencies [@tremor021](https://github.com/tremor021) ([#11429](https://github.com/community-scripts/ProxmoxVE/pull/11429))
|
||||
- [Hotfix] Bunkerweb update [@vhsdream](https://github.com/vhsdream) ([#11402](https://github.com/community-scripts/ProxmoxVE/pull/11402))
|
||||
- [Hotfix] Immich: revert healthcheck feature [@vhsdream](https://github.com/vhsdream) ([#11427](https://github.com/community-scripts/ProxmoxVE/pull/11427))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- tools.func: add codeberg functions & autocaliweb: migrate from GitHub to Codeberg [@MickLesk](https://github.com/MickLesk) ([#11440](https://github.com/community-scripts/ProxmoxVE/pull/11440))
|
||||
- Immich Refactor #2 [@vhsdream](https://github.com/vhsdream) ([#11375](https://github.com/community-scripts/ProxmoxVE/pull/11375))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- WordPress: Refactor [@tremor021](https://github.com/tremor021) ([#11408](https://github.com/community-scripts/ProxmoxVE/pull/11408))
|
||||
- Refactor: Whisparr [@tremor021](https://github.com/tremor021) ([#11411](https://github.com/community-scripts/ProxmoxVE/pull/11411))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- [tools]: Update `fetch_and_deply_from_url()` [@tremor021](https://github.com/tremor021) ([#11410](https://github.com/community-scripts/ProxmoxVE/pull/11410))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- feat(frontend): implement UX refinements and syntax highlighting [@ls-root](https://github.com/ls-root) ([#11423](https://github.com/community-scripts/ProxmoxVE/pull/11423))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- feat(frontend): add contribution CTA to empty search state [@ls-root](https://github.com/ls-root) ([#11412](https://github.com/community-scripts/ProxmoxVE/pull/11412))
|
||||
97
.github/workflows/changelog-archive.yml
generated
vendored
97
.github/workflows/changelog-archive.yml
generated
vendored
@@ -54,9 +54,8 @@ jobs:
|
||||
|
||||
console.log(`Cutoff date: ${cutoffDate.toISOString().split('T')[0]}`);
|
||||
|
||||
// Read changelog and normalize line endings
|
||||
let content = await fs.readFile(CHANGELOG_PATH, 'utf-8');
|
||||
content = content.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
|
||||
// Read changelog
|
||||
const content = await fs.readFile(CHANGELOG_PATH, 'utf-8');
|
||||
const lines = content.split('\n');
|
||||
|
||||
// Parse entries
|
||||
@@ -67,39 +66,9 @@ jobs:
|
||||
let currentDate = null;
|
||||
let currentContent = [];
|
||||
let inHeader = true;
|
||||
let inOldHistory = false;
|
||||
let historyDetailsDepth = 0;
|
||||
|
||||
for (let i = 0; i < lines.length; i++) {
|
||||
const line = lines[i];
|
||||
for (const line of lines) {
|
||||
const match = line.match(datePattern);
|
||||
|
||||
// Detect the start of History section: <details> followed by line with 📜 History
|
||||
if (inHeader && !inOldHistory && line.trim() === '<details>') {
|
||||
// Look ahead to see if this is the History section
|
||||
const nextLine = lines[i + 1] || '';
|
||||
if (nextLine.includes('📜 History')) {
|
||||
inOldHistory = true;
|
||||
historyDetailsDepth = 1;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// Track nested details tags to find the end of History section
|
||||
if (inOldHistory) {
|
||||
if (line.trim() === '<details>') {
|
||||
historyDetailsDepth++;
|
||||
}
|
||||
if (line.trim() === '</details>') {
|
||||
historyDetailsDepth--;
|
||||
if (historyDetailsDepth === 0) {
|
||||
// We've closed the main History details tag
|
||||
inOldHistory = false;
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (match) {
|
||||
inHeader = false;
|
||||
|
||||
@@ -179,55 +148,30 @@ jobs:
|
||||
let existingContent = '';
|
||||
try {
|
||||
existingContent = await fs.readFile(monthPath, 'utf-8');
|
||||
// Normalize line endings to prevent regex issues
|
||||
existingContent = existingContent.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
|
||||
} catch (e) {
|
||||
// File doesn't exist
|
||||
}
|
||||
|
||||
// Parse existing entries into a Map (date -> content) for deduplication
|
||||
const allEntries = new Map();
|
||||
|
||||
// Helper function to parse entries from content
|
||||
const parseEntries = (content) => {
|
||||
const entries = new Map();
|
||||
const parts = content.split(/(?=^## \d{4}-\d{2}-\d{2}$)/m);
|
||||
for (const part of parts) {
|
||||
const trimmed = part.trim();
|
||||
if (!trimmed) continue;
|
||||
const dateMatch = trimmed.match(/^## (\d{4}-\d{2}-\d{2})/);
|
||||
if (dateMatch) {
|
||||
entries.set(dateMatch[1], trimmed);
|
||||
}
|
||||
}
|
||||
return entries;
|
||||
};
|
||||
|
||||
// Parse existing content
|
||||
if (existingContent) {
|
||||
const existingEntries = parseEntries(existingContent);
|
||||
for (const [date, content] of existingEntries) {
|
||||
allEntries.set(date, content);
|
||||
}
|
||||
// Merge new entries with existing (avoid duplicates)
|
||||
const existingDates = new Set();
|
||||
const existingDatePattern = /^## (\d{4}-\d{2}-\d{2})$/gm;
|
||||
let match;
|
||||
while ((match = existingDatePattern.exec(existingContent)) !== null) {
|
||||
existingDates.add(match[1]);
|
||||
}
|
||||
|
||||
// Add new entries (existing entries take precedence to avoid overwriting)
|
||||
let addedCount = 0;
|
||||
for (const entry of archiveData[year][month]) {
|
||||
const newEntries = archiveData[year][month].filter(entry => {
|
||||
const dateMatch = entry.match(/^## (\d{4}-\d{2}-\d{2})/);
|
||||
if (dateMatch && !allEntries.has(dateMatch[1])) {
|
||||
allEntries.set(dateMatch[1], entry.trim());
|
||||
addedCount++;
|
||||
}
|
||||
}
|
||||
return dateMatch && !existingDates.has(dateMatch[1]);
|
||||
});
|
||||
|
||||
// Sort entries by date (newest first) and write
|
||||
const sortedDates = [...allEntries.keys()].sort().reverse();
|
||||
const sortedContent = sortedDates.map(date => allEntries.get(date)).join('\n\n');
|
||||
|
||||
if (addedCount > 0 || !existingContent) {
|
||||
await fs.writeFile(monthPath, sortedContent + '\n', 'utf-8');
|
||||
console.log(`Updated: ${monthPath} (${allEntries.size} total entries, +${addedCount} new)`);
|
||||
if (newEntries.length > 0) {
|
||||
const allContent = existingContent
|
||||
? existingContent + '\n\n' + newEntries.join('\n\n')
|
||||
: newEntries.join('\n\n');
|
||||
|
||||
await fs.writeFile(monthPath, allContent, 'utf-8');
|
||||
console.log(`Updated: ${monthPath} (+${newEntries.length} entries)`);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -274,8 +218,7 @@ jobs:
|
||||
// Count entries in month file
|
||||
let entryCount = 0;
|
||||
try {
|
||||
let monthContent = await fs.readFile(monthPath, 'utf-8');
|
||||
monthContent = monthContent.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
|
||||
const monthContent = await fs.readFile(monthPath, 'utf-8');
|
||||
entryCount = (monthContent.match(/^## \d{4}-\d{2}-\d{2}$/gm) || []).length;
|
||||
} catch (e) {
|
||||
entryCount = (archiveData[year]?.[month] || []).length;
|
||||
|
||||
466
CHANGELOG.md
466
CHANGELOG.md
@@ -21,14 +21,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
|
||||
<details>
|
||||
<summary><h4>February (4 entries)</h4></summary>
|
||||
|
||||
[View February 2026 Changelog](.github/changelogs/2026/02.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>January (31 entries)</h4></summary>
|
||||
<summary><h4>January - 27 entries</h4></summary>
|
||||
|
||||
[View January 2026 Changelog](.github/changelogs/2026/01.md)
|
||||
|
||||
@@ -398,24 +391,392 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
<summary><h2>📜 History</h2></summary>
|
||||
|
||||
|
||||
<details>
|
||||
<summary><h3>2026</h3></summary>
|
||||
|
||||
|
||||
<details>
|
||||
<summary><h4>January (31 entries)</h4></summary>
|
||||
|
||||
[View January 2026 Changelog](.github/changelogs/2026/01.md)
|
||||
|
||||
</details>
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h3>2025</h3></summary>
|
||||
|
||||
|
||||
<details>
|
||||
<summary><h4>December (31 entries)</h4></summary>
|
||||
|
||||
[View December 2025 Changelog](.github/changelogs/2025/12.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>November (29 entries)</h4></summary>
|
||||
|
||||
[View November 2025 Changelog](.github/changelogs/2025/11.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>October (30 entries)</h4></summary>
|
||||
|
||||
[View October 2025 Changelog](.github/changelogs/2025/10.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>September (29 entries)</h4></summary>
|
||||
|
||||
[View September 2025 Changelog](.github/changelogs/2025/09.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>August (30 entries)</h4></summary>
|
||||
|
||||
[View August 2025 Changelog](.github/changelogs/2025/08.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>July (29 entries)</h4></summary>
|
||||
|
||||
[View July 2025 Changelog](.github/changelogs/2025/07.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>June (29 entries)</h4></summary>
|
||||
|
||||
[View June 2025 Changelog](.github/changelogs/2025/06.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>May (30 entries)</h4></summary>
|
||||
|
||||
[View May 2025 Changelog](.github/changelogs/2025/05.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>April (25 entries)</h4></summary>
|
||||
|
||||
[View April 2025 Changelog](.github/changelogs/2025/04.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>March (30 entries)</h4></summary>
|
||||
|
||||
[View March 2025 Changelog](.github/changelogs/2025/03.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>February (26 entries)</h4></summary>
|
||||
|
||||
[View February 2025 Changelog](.github/changelogs/2025/02.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>January (27 entries)</h4></summary>
|
||||
|
||||
[View January 2025 Changelog](.github/changelogs/2025/01.md)
|
||||
|
||||
</details>
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h3>2024</h3></summary>
|
||||
|
||||
|
||||
<details>
|
||||
<summary><h4>December (22 entries)</h4></summary>
|
||||
|
||||
[View December 2024 Changelog](.github/changelogs/2024/12.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>November (15 entries)</h4></summary>
|
||||
|
||||
[View November 2024 Changelog](.github/changelogs/2024/11.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>October (9 entries)</h4></summary>
|
||||
|
||||
[View October 2024 Changelog](.github/changelogs/2024/10.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>September (1 entries)</h4></summary>
|
||||
|
||||
[View September 2024 Changelog](.github/changelogs/2024/09.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>August (2 entries)</h4></summary>
|
||||
|
||||
[View August 2024 Changelog](.github/changelogs/2024/08.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>July (0 entries)</h4></summary>
|
||||
|
||||
[View July 2024 Changelog](.github/changelogs/2024/07.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>June (8 entries)</h4></summary>
|
||||
|
||||
[View June 2024 Changelog](.github/changelogs/2024/06.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>May (16 entries)</h4></summary>
|
||||
|
||||
[View May 2024 Changelog](.github/changelogs/2024/05.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>April (14 entries)</h4></summary>
|
||||
|
||||
[View April 2024 Changelog](.github/changelogs/2024/04.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>March (5 entries)</h4></summary>
|
||||
|
||||
[View March 2024 Changelog](.github/changelogs/2024/03.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>February (9 entries)</h4></summary>
|
||||
|
||||
[View February 2024 Changelog](.github/changelogs/2024/02.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>January (9 entries)</h4></summary>
|
||||
|
||||
[View January 2024 Changelog](.github/changelogs/2024/01.md)
|
||||
|
||||
</details>
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h3>2023</h3></summary>
|
||||
|
||||
|
||||
<details>
|
||||
<summary><h4>December (3 entries)</h4></summary>
|
||||
|
||||
[View December 2023 Changelog](.github/changelogs/2023/12.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>November (3 entries)</h4></summary>
|
||||
|
||||
[View November 2023 Changelog](.github/changelogs/2023/11.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>October (7 entries)</h4></summary>
|
||||
|
||||
[View October 2023 Changelog](.github/changelogs/2023/10.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>September (10 entries)</h4></summary>
|
||||
|
||||
[View September 2023 Changelog](.github/changelogs/2023/09.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>August (7 entries)</h4></summary>
|
||||
|
||||
[View August 2023 Changelog](.github/changelogs/2023/08.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>July (5 entries)</h4></summary>
|
||||
|
||||
[View July 2023 Changelog](.github/changelogs/2023/07.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>June (5 entries)</h4></summary>
|
||||
|
||||
[View June 2023 Changelog](.github/changelogs/2023/06.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>May (8 entries)</h4></summary>
|
||||
|
||||
[View May 2023 Changelog](.github/changelogs/2023/05.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>April (8 entries)</h4></summary>
|
||||
|
||||
[View April 2023 Changelog](.github/changelogs/2023/04.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>March (8 entries)</h4></summary>
|
||||
|
||||
[View March 2023 Changelog](.github/changelogs/2023/03.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>February (6 entries)</h4></summary>
|
||||
|
||||
[View February 2023 Changelog](.github/changelogs/2023/02.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>January (15 entries)</h4></summary>
|
||||
|
||||
[View January 2023 Changelog](.github/changelogs/2023/01.md)
|
||||
|
||||
</details>
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h3>2022</h3></summary>
|
||||
|
||||
|
||||
<details>
|
||||
<summary><h4>December (7 entries)</h4></summary>
|
||||
|
||||
[View December 2022 Changelog](.github/changelogs/2022/12.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>November (7 entries)</h4></summary>
|
||||
|
||||
[View November 2022 Changelog](.github/changelogs/2022/11.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>October (2 entries)</h4></summary>
|
||||
|
||||
[View October 2022 Changelog](.github/changelogs/2022/10.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>September (9 entries)</h4></summary>
|
||||
|
||||
[View September 2022 Changelog](.github/changelogs/2022/09.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>August (7 entries)</h4></summary>
|
||||
|
||||
[View August 2022 Changelog](.github/changelogs/2022/08.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>July (10 entries)</h4></summary>
|
||||
|
||||
[View July 2022 Changelog](.github/changelogs/2022/07.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>June (1 entries)</h4></summary>
|
||||
|
||||
[View June 2022 Changelog](.github/changelogs/2022/06.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>May (8 entries)</h4></summary>
|
||||
|
||||
[View May 2022 Changelog](.github/changelogs/2022/05.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>April (13 entries)</h4></summary>
|
||||
|
||||
[View April 2022 Changelog](.github/changelogs/2022/04.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>March (20 entries)</h4></summary>
|
||||
|
||||
[View March 2022 Changelog](.github/changelogs/2022/03.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>February (15 entries)</h4></summary>
|
||||
|
||||
[View February 2022 Changelog](.github/changelogs/2022/02.md)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><h4>January (3 entries)</h4></summary>
|
||||
|
||||
[View January 2022 Changelog](.github/changelogs/2022/01.md)
|
||||
|
||||
</details>
|
||||
|
||||
</details>
|
||||
|
||||
</details>
|
||||
|
||||
## 2026-02-04
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Wishlist ([#11527](https://github.com/community-scripts/ProxmoxVE/pull/11527))
|
||||
- WriteFreely ([#11524](https://github.com/community-scripts/ProxmoxVE/pull/11524))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- core: create vm-core.func from dev [@MickLesk](https://github.com/MickLesk) ([#11528](https://github.com/community-scripts/ProxmoxVE/pull/11528))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- fix(frontend): implement weighted search scoring for command menu [@ls-root](https://github.com/ls-root) ([#11534](https://github.com/community-scripts/ProxmoxVE/pull/11534))
|
||||
- writefreely ([#11524](https://github.com/community-scripts/ProxmoxVE/pull/11524))
|
||||
|
||||
## 2026-02-03
|
||||
|
||||
@@ -1270,3 +1631,64 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Refactor: IP-Tag (Multiple IP / Performance / Execution Time) [@MickLesk](https://github.com/MickLesk) ([#10558](https://github.com/community-scripts/ProxmoxVE/pull/10558))
|
||||
|
||||
## 2026-01-04
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- PocketID: Update PocketID for 2.x [@tremor021](https://github.com/tremor021) ([#10506](https://github.com/community-scripts/ProxmoxVE/pull/10506))
|
||||
- fix: reitti: nginx [@CrazyWolf13](https://github.com/CrazyWolf13) ([#10511](https://github.com/community-scripts/ProxmoxVE/pull/10511))
|
||||
- MagicMirror: bump to nodejs 24 [@MickLesk](https://github.com/MickLesk) ([#10534](https://github.com/community-scripts/ProxmoxVE/pull/10534))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Refactor: SFTPGo [@tremor021](https://github.com/tremor021) ([#10518](https://github.com/community-scripts/ProxmoxVE/pull/10518))
|
||||
- Refactor: Pelican Wings [@tremor021](https://github.com/tremor021) ([#10517](https://github.com/community-scripts/ProxmoxVE/pull/10517))
|
||||
- Refactor: Pelican Panel [@tremor021](https://github.com/tremor021) ([#10516](https://github.com/community-scripts/ProxmoxVE/pull/10516))
|
||||
- Refactor: Audiobookshelf [@tremor021](https://github.com/tremor021) ([#10519](https://github.com/community-scripts/ProxmoxVE/pull/10519))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Export IPV6_METHOD to trigger verb_ip6() function [@remz1337](https://github.com/remz1337) ([#10538](https://github.com/community-scripts/ProxmoxVE/pull/10538))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### 📝 Script Information
|
||||
|
||||
- Prowlarr: Update config_path [@tremor021](https://github.com/tremor021) ([#10504](https://github.com/community-scripts/ProxmoxVE/pull/10504))
|
||||
|
||||
## 2026-01-03
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Fix ownership and permissions for InvoiceNinja setup [@twinzdragonz](https://github.com/twinzdragonz) ([#10298](https://github.com/community-scripts/ProxmoxVE/pull/10298))
|
||||
- Fix headscale Caddyfile to pass non-API URLs [@IlyaSemenov](https://github.com/IlyaSemenov) ([#10493](https://github.com/community-scripts/ProxmoxVE/pull/10493))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- [core]: Preserve log files [@tremor021](https://github.com/tremor021) ([#10509](https://github.com/community-scripts/ProxmoxVE/pull/10509))
|
||||
|
||||
### ❔ Uncategorized
|
||||
|
||||
- Wireguard: Update WGDashboard notes URL to the new link [@tremor021](https://github.com/tremor021) ([#10496](https://github.com/community-scripts/ProxmoxVE/pull/10496))
|
||||
- InvoiceNinja: Update database credentias information [@tremor021](https://github.com/tremor021) ([#10497](https://github.com/community-scripts/ProxmoxVE/pull/10497))
|
||||
|
||||
## 2026-01-02
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Fix Intel Level Zero package conflict on Debian 13 [@Copilot](https://github.com/Copilot) ([#10467](https://github.com/community-scripts/ProxmoxVE/pull/10467))
|
||||
|
||||
### ❔ Uncategorized
|
||||
|
||||
- Extend guidance for changing the immich upload location for #10447 [@jshprentz](https://github.com/jshprentz) ([#10475](https://github.com/community-scripts/ProxmoxVE/pull/10475))
|
||||
@@ -1,6 +0,0 @@
|
||||
_ ___ __ ___ __
|
||||
| | / (_)____/ /_ / (_)____/ /_
|
||||
| | /| / / / ___/ __ \/ / / ___/ __/
|
||||
| |/ |/ / (__ ) / / / / (__ ) /_
|
||||
|__/|__/_/____/_/ /_/_/_/____/\__/
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2026 community-scripts ORG
|
||||
# Author: pfassina
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/openclaw/openclaw
|
||||
|
||||
APP="OpenClaw"
|
||||
var_tags="${var_tags:-ai-assistant;chatops}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -f /etc/systemd/system/openclaw.service ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop openclaw
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
NODE_VERSION="22" NODE_MODULE="openclaw" setup_nodejs
|
||||
msg_info "Starting Service"
|
||||
systemctl start openclaw
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated successfully!"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Run 'openclaw onboard' inside the container to complete setup${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:18789${CL}"
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2026 community-scripts ORG
|
||||
# Author: Dunky13
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/cmintey/wishlist
|
||||
|
||||
APP="Wishlist"
|
||||
var_tags="${var_tags:-sharing}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-5}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/wishlist ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
if check_for_gh_release "wishlist" "cmintey/wishlist"; then
|
||||
NODE_VERSION="24" NODE_MODULE="pnpm" setup_nodejs
|
||||
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop wishlist
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Creating Backup"
|
||||
mkdir -p /opt/wishlist-backup
|
||||
cp /opt/wishlist/.env /opt/wishlist-backup/.env
|
||||
cp -a /opt/wishlist/uploads /opt/wishlist-backup
|
||||
cp -a /opt/wishlist/data /opt/wishlist-backup
|
||||
msg_ok "Created Backup"
|
||||
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "wishlist" "cmintey/wishlist" "tarball"
|
||||
LATEST_APP_VERSION=$(get_latest_github_release "cmintey/wishlist")
|
||||
|
||||
msg_info "Updating Wishlist"
|
||||
cd /opt/wishlist
|
||||
$STD pnpm install
|
||||
$STD pnpm svelte-kit sync
|
||||
$STD pnpm prisma generate
|
||||
sed -i 's|/usr/src/app/|/opt/wishlist/|g' $(grep -rl '/usr/src/app/' /opt/wishlist)
|
||||
export VERSION="v${LATEST_APP_VERSION}"
|
||||
export SHA="v${LATEST_APP_VERSION}"
|
||||
$STD pnpm run build
|
||||
$STD pnpm prune --prod
|
||||
chmod +x /opt/wishlist/entrypoint.sh
|
||||
|
||||
msg_info "Restoring Backup"
|
||||
cp /opt/wishlist-backup/.env /opt/wishlist/.env
|
||||
cp -a /opt/wishlist-backup/uploads /opt/wishlist
|
||||
cp -a /opt/wishlist-backup/data /opt/wishlist
|
||||
rm -rf /opt/wishlist-backup
|
||||
msg_ok "Restored Backup"
|
||||
|
||||
msg_ok "Updated Wishlist"
|
||||
msg_info "Starting Service"
|
||||
systemctl start wishlist
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated successfully!"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3280${CL}"
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"generated": "2026-02-04T12:11:53Z",
|
||||
"generated": "2026-02-04T06:18:03Z",
|
||||
"versions": [
|
||||
{
|
||||
"slug": "2fauth",
|
||||
@@ -515,9 +515,9 @@
|
||||
{
|
||||
"slug": "huntarr",
|
||||
"repo": "plexguide/Huntarr.io",
|
||||
"version": "9.1.11",
|
||||
"version": "9.1.9.1",
|
||||
"pinned": false,
|
||||
"date": "2026-02-04T11:30:25Z"
|
||||
"date": "2026-02-04T01:08:22Z"
|
||||
},
|
||||
{
|
||||
"slug": "inspircd",
|
||||
@@ -1562,13 +1562,6 @@
|
||||
"pinned": false,
|
||||
"date": "2026-01-08T09:50:00Z"
|
||||
},
|
||||
{
|
||||
"slug": "wishlist",
|
||||
"repo": "cmintey/wishlist",
|
||||
"version": "v0.59.0",
|
||||
"pinned": false,
|
||||
"date": "2026-01-19T16:42:14Z"
|
||||
},
|
||||
{
|
||||
"slug": "wizarr",
|
||||
"repo": "wizarrrr/wizarr",
|
||||
@@ -1576,13 +1569,6 @@
|
||||
"pinned": false,
|
||||
"date": "2025-12-09T14:30:23Z"
|
||||
},
|
||||
{
|
||||
"slug": "writefreely",
|
||||
"repo": "writefreely/writefreely",
|
||||
"version": "v0.16.0",
|
||||
"pinned": false,
|
||||
"date": "2025-08-29T19:30:02Z"
|
||||
},
|
||||
{
|
||||
"slug": "yt-dlp-webui",
|
||||
"repo": "marcopiovanello/yt-dlp-web-ui",
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
{
|
||||
"name": "OpenClaw",
|
||||
"slug": "openclaw",
|
||||
"categories": [
|
||||
22,
|
||||
20
|
||||
],
|
||||
"date_created": "2026-02-03",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 18789,
|
||||
"documentation": "https://docs.openclaw.ai",
|
||||
"website": "https://openclaw.ai",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/openclaw.webp",
|
||||
"config_path": "/root/.openclaw/openclaw.json",
|
||||
"description": "OpenClaw is a personal AI assistant that runs locally and integrates with messaging platforms like WhatsApp, Telegram, Discord, and Slack.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/openclaw.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 4,
|
||||
"os": "debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "After installation, run 'openclaw onboard' inside the container to configure AI providers.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "After onboarding, start the gateway with 'systemctl start openclaw'.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "The Control UI requires a secure context (HTTPS or localhost). Either use a reverse proxy with HTTPS, or connect via SSH port forwarding: ssh -L 18789:localhost:18789 root@<container-ip>, then open http://localhost:18789 in your browser.",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
{
|
||||
"name": "Wishlist",
|
||||
"slug": "wishlist",
|
||||
"categories": [
|
||||
12
|
||||
],
|
||||
"date_created": "2026-02-04",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 3280,
|
||||
"documentation": "https://github.com/cmintey/wishlist/blob/main/README.md#getting-started",
|
||||
"config_path": "/opt/wishlist/.env",
|
||||
"website": "https://github.com/cmintey/wishlist",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cmintey-wishlist.webp",
|
||||
"description": "Wishlist is a self-hosted wishlist application that you can share with your friends and family. You no longer have to wonder what to get your family for the holidays, simply check their wishlist and claim any available item!",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/wishlist.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 5,
|
||||
"os": "Debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
}
|
||||
@@ -23,34 +23,6 @@ import { Button } from "./ui/button";
|
||||
import { Badge } from "./ui/badge";
|
||||
import Link from "next/link";
|
||||
|
||||
function search(scripts: Script[], query: string): Script[] {
|
||||
const queryLower = query.toLowerCase().trim();
|
||||
const searchWords = queryLower.split(/\s+/).filter(Boolean);
|
||||
|
||||
return scripts
|
||||
.map(script => {
|
||||
const nameLower = script.name.toLowerCase();
|
||||
const descriptionLower = (script.description || "").toLowerCase();
|
||||
|
||||
let score = 0;
|
||||
|
||||
for (const word of searchWords) {
|
||||
if (nameLower.includes(word)) {
|
||||
score += 10;
|
||||
}
|
||||
if (descriptionLower.includes(word)) {
|
||||
score += 5;
|
||||
}
|
||||
}
|
||||
|
||||
return { script, score };
|
||||
})
|
||||
.filter(({ score }) => score > 0)
|
||||
.sort((a, b) => b.score - a.score)
|
||||
.slice(0, 20)
|
||||
.map(({ script }) => script);
|
||||
}
|
||||
|
||||
export function formattedBadge(type: string) {
|
||||
switch (type) {
|
||||
case "vm":
|
||||
@@ -79,11 +51,9 @@ function getRandomScript(categories: Category[], previouslySelected: Set<string>
|
||||
}
|
||||
|
||||
function CommandMenu() {
|
||||
const [query, setQuery] = React.useState("");
|
||||
const [open, setOpen] = React.useState(false);
|
||||
const [links, setLinks] = React.useState<Category[]>([]);
|
||||
const [isLoading, setIsLoading] = React.useState(false);
|
||||
const [results, setResults] = React.useState<Script[]>([]);
|
||||
const [selectedScripts, setSelectedScripts] = React.useState<Set<string>>(new Set());
|
||||
const router = useRouter();
|
||||
|
||||
@@ -100,27 +70,6 @@ function CommandMenu() {
|
||||
});
|
||||
};
|
||||
|
||||
React.useEffect(() => {
|
||||
if (query.trim() === "") {
|
||||
fetchSortedCategories();
|
||||
}
|
||||
else {
|
||||
const scriptMap = new Map<string, Script>();
|
||||
|
||||
for (const category of links) {
|
||||
for (const script of category.scripts || []) {
|
||||
if (!scriptMap.has(script.slug)) {
|
||||
scriptMap.set(script.slug, script);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const uniqueScripts = Array.from(scriptMap.values());
|
||||
const filteredResults = search(uniqueScripts, query);
|
||||
setResults(filteredResults);
|
||||
}
|
||||
}, [query]);
|
||||
|
||||
React.useEffect(() => {
|
||||
const handleKeyDown = (e: KeyboardEvent) => {
|
||||
if (e.key === "k" && (e.metaKey || e.ctrlKey)) {
|
||||
@@ -248,20 +197,20 @@ function CommandMenu() {
|
||||
|
||||
<CommandDialog
|
||||
open={open}
|
||||
onOpenChange={(open) => {
|
||||
setOpen(open);
|
||||
if (open) {
|
||||
setQuery("");
|
||||
setResults([]);
|
||||
}
|
||||
onOpenChange={setOpen}
|
||||
filter={(value: string, search: string) => {
|
||||
const searchLower = search.toLowerCase().trim();
|
||||
if (!searchLower)
|
||||
return 1;
|
||||
const valueLower = value.toLowerCase();
|
||||
const searchWords = searchLower.split(/\s+/).filter(Boolean);
|
||||
// All search words must appear somewhere in the value (name + description)
|
||||
const allWordsMatch = searchWords.every((word: string) => valueLower.includes(word));
|
||||
return allWordsMatch ? 1 : 0;
|
||||
}}
|
||||
>
|
||||
<DialogTitle className="sr-only">Search scripts</DialogTitle>
|
||||
<CommandInput
|
||||
placeholder="Search for a script..."
|
||||
onValueChange={setQuery}
|
||||
value={query}
|
||||
/>
|
||||
<CommandInput placeholder="Search for a script..." />
|
||||
<CommandList>
|
||||
<CommandEmpty>
|
||||
{isLoading ? (
|
||||
@@ -284,10 +233,9 @@ function CommandMenu() {
|
||||
</div>
|
||||
)}
|
||||
</CommandEmpty>
|
||||
|
||||
{results.length > 0 ? (
|
||||
<CommandGroup heading="Search Results">
|
||||
{results.map(script => (
|
||||
{Object.entries(uniqueScriptsByCategory).map(([categoryName, scripts]) => (
|
||||
<CommandGroup key={`category:${categoryName}`} heading={categoryName}>
|
||||
{scripts.map(script => (
|
||||
<CommandItem
|
||||
key={`script:${script.slug}`}
|
||||
value={`${script.name} ${script.type} ${script.description || ""}`}
|
||||
@@ -320,44 +268,7 @@ function CommandMenu() {
|
||||
</CommandItem>
|
||||
))}
|
||||
</CommandGroup>
|
||||
) : ( // When no search results, show all scripts grouped by category
|
||||
Object.entries(uniqueScriptsByCategory).map(([categoryName, scripts]) => (
|
||||
<CommandGroup key={`category:${categoryName}`} heading={categoryName}>
|
||||
{scripts.map(script => (
|
||||
<CommandItem
|
||||
key={`script:${script.slug}`}
|
||||
value={`${script.name} ${script.type} ${script.description || ""}`}
|
||||
onSelect={() => {
|
||||
setOpen(false);
|
||||
router.push(`/scripts?id=${script.slug}`);
|
||||
}}
|
||||
tabIndex={0}
|
||||
aria-label={`Open script ${script.name}`}
|
||||
onKeyDown={(e) => {
|
||||
if (e.key === "Enter" || e.key === " ") {
|
||||
setOpen(false);
|
||||
router.push(`/scripts?id=${script.slug}`);
|
||||
}
|
||||
}}
|
||||
>
|
||||
<div className="flex gap-2" onClick={() => setOpen(false)}>
|
||||
<Image
|
||||
src={script.logo || `/${basePath}/logo.png`}
|
||||
onError={e => ((e.currentTarget as HTMLImageElement).src = `/${basePath}/logo.png`)}
|
||||
unoptimized
|
||||
width={16}
|
||||
height={16}
|
||||
alt=""
|
||||
className="h-5 w-5"
|
||||
/>
|
||||
<span>{script.name}</span>
|
||||
<span>{formattedBadge(script.type)}</span>
|
||||
</div>
|
||||
</CommandItem>
|
||||
))}
|
||||
</CommandGroup>
|
||||
))
|
||||
)}
|
||||
))}
|
||||
</CommandList>
|
||||
</CommandDialog>
|
||||
</>
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2026 community-scripts ORG
|
||||
# Author: pfassina
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/openclaw/openclaw
|
||||
|
||||
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 git
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
NODE_VERSION="22" NODE_MODULE="openclaw" setup_nodejs
|
||||
|
||||
msg_info "Setup OpenClaw"
|
||||
mkdir -p /root/.openclaw
|
||||
cat <<CONF >/root/.openclaw/openclaw.json
|
||||
{
|
||||
"gateway": {
|
||||
"bind": "lan",
|
||||
"port": 18789
|
||||
}
|
||||
}
|
||||
CONF
|
||||
msg_ok "Setup OpenClaw"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/openclaw.service
|
||||
[Unit]
|
||||
Description=OpenClaw Gateway
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/openclaw gateway --allow-unconfigured --port 18789 --bind lan
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
Environment=NODE_ENV=production
|
||||
Environment=PATH=/usr/bin:/usr/local/bin:/bin
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable -q openclaw
|
||||
msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2026 community-scripts ORG
|
||||
# Author: Dunky13
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/cmintey/wishlist
|
||||
|
||||
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 \
|
||||
build-essential \
|
||||
openssl \
|
||||
caddy
|
||||
msg_ok "Installed dependencies"
|
||||
|
||||
NODE_VERSION="24" NODE_MODULE="pnpm" setup_nodejs
|
||||
fetch_and_deploy_gh_release "wishlist" "cmintey/wishlist" "tarball"
|
||||
LATEST_APP_VERSION=$(get_latest_github_release "cmintey/wishlist")
|
||||
|
||||
msg_info "Installing Wishlist"
|
||||
cd /opt/wishlist
|
||||
cp .env.example .env
|
||||
sed -i "s|^ORIGIN=.*|ORIGIN=http://${LOCAL_IP}:3280|" /opt/wishlist/.env
|
||||
echo "" >>/opt/wishlist/.env
|
||||
echo "NODE_ENV=production" >>/opt/wishlist/.env
|
||||
$STD pnpm install
|
||||
$STD pnpm svelte-kit sync
|
||||
$STD pnpm prisma generate
|
||||
sed -i 's|/usr/src/app/|/opt/wishlist/|g' $(grep -rl '/usr/src/app/' /opt/wishlist)
|
||||
export VERSION="v${LATEST_APP_VERSION}"
|
||||
export SHA="v${LATEST_APP_VERSION}"
|
||||
$STD pnpm run build
|
||||
$STD pnpm prune --prod
|
||||
chmod +x /opt/wishlist/entrypoint.sh
|
||||
mkdir -p /opt/wishlist/uploads
|
||||
mkdir -p /opt/wishlist/data
|
||||
msg_ok "Installed Wishlist"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/wishlist.service
|
||||
[Unit]
|
||||
Description=Wishlist Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=/opt/wishlist
|
||||
EnvironmentFile=/opt/wishlist/.env
|
||||
ExecStart=/usr/bin/env sh -c './entrypoint.sh'
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable -q --now wishlist
|
||||
msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
Reference in New Issue
Block a user