mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-03-30 14:52:59 +02:00
Compare commits
23 Commits
cron_updat
...
github-act
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
59ca4a7a0e | ||
|
|
a17e36bbcb | ||
|
|
4be8346df9 | ||
|
|
5e50b79046 | ||
|
|
30351670b7 | ||
|
|
022f177d0c | ||
|
|
46dc693c99 | ||
|
|
744097ac0d | ||
|
|
2f3d393726 | ||
|
|
1085aa5cf6 | ||
|
|
f07f7993ab | ||
|
|
45b3a62dd5 | ||
|
|
2eb259bd99 | ||
|
|
21584a7a5a | ||
|
|
0c1d6c688b | ||
|
|
9239ecf10d | ||
|
|
dc9fb678af | ||
|
|
18359679d9 | ||
|
|
6dd227859e | ||
|
|
3e5a5305f6 | ||
|
|
e72400b417 | ||
|
|
30adc4fca3 | ||
|
|
6017a124f9 |
145
.github/changelogs/2026/03.md
generated
vendored
145
.github/changelogs/2026/03.md
generated
vendored
@@ -1,3 +1,148 @@
|
||||
## 2026-03-28
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Fix: Update gokapi binary name for v2.2.4+ and add migration step [@krazos](https://github.com/krazos) ([#13377](https://github.com/community-scripts/ProxmoxVE/pull/13377))
|
||||
- Fix: update gokapi asset matching for v2.2.4+ naming convention [@krazos](https://github.com/krazos) ([#13369](https://github.com/community-scripts/ProxmoxVE/pull/13369))
|
||||
- Tandoor Recipes: Add missing env variable [@tremor021](https://github.com/tremor021) ([#13365](https://github.com/community-scripts/ProxmoxVE/pull/13365))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- FileFlows: add option to install Node [@tremor021](https://github.com/tremor021) ([#13368](https://github.com/community-scripts/ProxmoxVE/pull/13368))
|
||||
|
||||
## 2026-03-27
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Matter-Server ([#13355](https://github.com/community-scripts/ProxmoxVE/pull/13355))
|
||||
- GeoPulse ([#13320](https://github.com/community-scripts/ProxmoxVE/pull/13320))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- RevealJS: Switch from gulp to vite [@tremor021](https://github.com/tremor021) ([#13336](https://github.com/community-scripts/ProxmoxVE/pull/13336))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Dispatcharr add custom Postgres port support for upgrade [@MickLesk](https://github.com/MickLesk) ([#13347](https://github.com/community-scripts/ProxmoxVE/pull/13347))
|
||||
- Immich: bump to v2.6.3 [@MickLesk](https://github.com/MickLesk) ([#13324](https://github.com/community-scripts/ProxmoxVE/pull/13324))
|
||||
|
||||
### 🧰 Tools
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Refactor/Feature-Bump/Security: Update-Cron-LXCs (Now Local Mode!) [@MickLesk](https://github.com/MickLesk) ([#13339](https://github.com/community-scripts/ProxmoxVE/pull/13339))
|
||||
|
||||
## 2026-03-26
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- BirdNET ([#13313](https://github.com/community-scripts/ProxmoxVE/pull/13313))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Immich: Bump to 2.6.2 | use start.sh in service, ensure DB_HOSTNAME in .env | Fix Rights Issue with ZFS Shares [@MickLesk](https://github.com/MickLesk) ([#13199](https://github.com/community-scripts/ProxmoxVE/pull/13199))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- SparkyFitness: add garmin microservice as addon [@tomfrenzel](https://github.com/tomfrenzel) ([#12642](https://github.com/community-scripts/ProxmoxVE/pull/12642))
|
||||
- Frigate: bump to v0.17.1 & change build order [@MickLesk](https://github.com/MickLesk) ([#13304](https://github.com/community-scripts/ProxmoxVE/pull/13304))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- tools.func: pin npm to 11.11.0 to work around Node.js 22.22.2 regression [@MickLesk](https://github.com/MickLesk) ([#13296](https://github.com/community-scripts/ProxmoxVE/pull/13296))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- core: APT/APK Mirror Fallback for CDN Failures [@MickLesk](https://github.com/MickLesk) ([#13316](https://github.com/community-scripts/ProxmoxVE/pull/13316))
|
||||
- core/tools: replace generic return 1 exit_codes with more specific exit_codes [@MickLesk](https://github.com/MickLesk) ([#13311](https://github.com/community-scripts/ProxmoxVE/pull/13311))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- core: use /usr/bin/install to prevent function shadowing [@MickLesk](https://github.com/MickLesk) ([#13299](https://github.com/community-scripts/ProxmoxVE/pull/13299))
|
||||
|
||||
### 🧰 Tools
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- SparkyFitness-Garmin: fix app name [@tomfrenzel](https://github.com/tomfrenzel) ([#13325](https://github.com/community-scripts/ProxmoxVE/pull/13325))
|
||||
|
||||
## 2026-03-25
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Komodo v2: migrate env vars to v2 and update source [@MickLesk](https://github.com/MickLesk) ([#13262](https://github.com/community-scripts/ProxmoxVE/pull/13262))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- core: make shell command substitutions safe with || true [@MickLesk](https://github.com/MickLesk) ([#13279](https://github.com/community-scripts/ProxmoxVE/pull/13279))
|
||||
|
||||
## 2026-03-24
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Homebrew (Addon) ([#13249](https://github.com/community-scripts/ProxmoxVE/pull/13249))
|
||||
- NextExplorer ([#13252](https://github.com/community-scripts/ProxmoxVE/pull/13252))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Turnkey: modernize turnkey.sh with shared libraries [@MickLesk](https://github.com/MickLesk) ([#13242](https://github.com/community-scripts/ProxmoxVE/pull/13242))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- chore: replace helper-scripts.com with community-scripts.com [@MickLesk](https://github.com/MickLesk) ([#13244](https://github.com/community-scripts/ProxmoxVE/pull/13244))
|
||||
|
||||
### 🗑️ Deleted Scripts
|
||||
|
||||
- Remove: Booklore [@MickLesk](https://github.com/MickLesk) ([#13265](https://github.com/community-scripts/ProxmoxVE/pull/13265))
|
||||
|
||||
## 2026-03-23
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- core: harden shell scripts against injection and insecure permissions [@MickLesk](https://github.com/MickLesk) ([#13239](https://github.com/community-scripts/ProxmoxVE/pull/13239))
|
||||
|
||||
## 2026-03-22
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- versitygw ([#13180](https://github.com/community-scripts/ProxmoxVE/pull/13180))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Adventurelog: pin DRF <3.15 to fix coreapi module removal [@MickLesk](https://github.com/MickLesk) ([#13194](https://github.com/community-scripts/ProxmoxVE/pull/13194))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- ConvertX: add libreoffice-writer for ODT/document conversions [@MickLesk](https://github.com/MickLesk) ([#13196](https://github.com/community-scripts/ProxmoxVE/pull/13196))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- iSponsorblockTV: add AVX CPU check before installation [@MickLesk](https://github.com/MickLesk) ([#13197](https://github.com/community-scripts/ProxmoxVE/pull/13197))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- core: guard against empty IPv6 address in static mode [@MickLesk](https://github.com/MickLesk) ([#13195](https://github.com/community-scripts/ProxmoxVE/pull/13195))
|
||||
|
||||
## 2026-03-21
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
282
CHANGELOG.md
282
CHANGELOG.md
@@ -29,6 +29,9 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -42,7 +45,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
|
||||
<details>
|
||||
<summary><h4>March (21 entries)</h4></summary>
|
||||
<summary><h4>March (28 entries)</h4></summary>
|
||||
|
||||
[View March 2026 Changelog](.github/changelogs/2026/03.md)
|
||||
|
||||
@@ -426,14 +429,44 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
</details>
|
||||
|
||||
## 2026-03-28
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Fix: Update gokapi binary name for v2.2.4+ and add migration step [@krazos](https://github.com/krazos) ([#13377](https://github.com/community-scripts/ProxmoxVE/pull/13377))
|
||||
- Fix: update gokapi asset matching for v2.2.4+ naming convention [@krazos](https://github.com/krazos) ([#13369](https://github.com/community-scripts/ProxmoxVE/pull/13369))
|
||||
- Tandoor Recipes: Add missing env variable [@tremor021](https://github.com/tremor021) ([#13365](https://github.com/community-scripts/ProxmoxVE/pull/13365))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- FileFlows: add option to install Node [@tremor021](https://github.com/tremor021) ([#13368](https://github.com/community-scripts/ProxmoxVE/pull/13368))
|
||||
|
||||
## 2026-03-27
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Matter-Server ([#13355](https://github.com/community-scripts/ProxmoxVE/pull/13355))
|
||||
- GeoPulse ([#13320](https://github.com/community-scripts/ProxmoxVE/pull/13320))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- RevealJS: Switch from gulp to vite [@tremor021](https://github.com/tremor021) ([#13336](https://github.com/community-scripts/ProxmoxVE/pull/13336))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Dispatcharr add custom Postgres port support for upgrade [@MickLesk](https://github.com/MickLesk) ([#13347](https://github.com/community-scripts/ProxmoxVE/pull/13347))
|
||||
- Immich: bump to v2.6.3 [@MickLesk](https://github.com/MickLesk) ([#13324](https://github.com/community-scripts/ProxmoxVE/pull/13324))
|
||||
|
||||
### 🧰 Tools
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Refactor/Feature-Bump/Security: Update-Cron-LXCs (Now Local Mode!) [@MickLesk](https://github.com/MickLesk) ([#13339](https://github.com/community-scripts/ProxmoxVE/pull/13339))
|
||||
|
||||
## 2026-03-26
|
||||
|
||||
### 🆕 New Scripts
|
||||
@@ -1113,249 +1146,4 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
- #### ✨ New Features
|
||||
|
||||
- core: graceful fallback for apt-get update failures [@MickLesk](https://github.com/MickLesk) ([#12386](https://github.com/community-scripts/ProxmoxVE/pull/12386))
|
||||
- core: Improve error outputs across core functions [@MickLesk](https://github.com/MickLesk) ([#12378](https://github.com/community-scripts/ProxmoxVE/pull/12378))
|
||||
|
||||
## 2026-02-26
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Kima-Hub ([#12319](https://github.com/community-scripts/ProxmoxVE/pull/12319))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- tools.func: update glx alternatives / nvidia alternative if nvidia glx are missing [@MickLesk](https://github.com/MickLesk) ([#12372](https://github.com/community-scripts/ProxmoxVE/pull/12372))
|
||||
- hotfix: overseer version [@CrazyWolf13](https://github.com/CrazyWolf13) ([#12366](https://github.com/community-scripts/ProxmoxVE/pull/12366))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Add ffmpeg for booklore (ffprobe) [@MickLesk](https://github.com/MickLesk) ([#12371](https://github.com/community-scripts/ProxmoxVE/pull/12371))
|
||||
- [QOL] Immich: add warning regarding library compilation time [@vhsdream](https://github.com/vhsdream) ([#12345](https://github.com/community-scripts/ProxmoxVE/pull/12345))
|
||||
|
||||
### 🧰 Tools
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Improves adguardhome-sync addon when running on alpine LXCs [@Darkangeel-hd](https://github.com/Darkangeel-hd) ([#12362](https://github.com/community-scripts/ProxmoxVE/pull/12362))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Add Alpine support and improve Tailscale install [@MickLesk](https://github.com/MickLesk) ([#12370](https://github.com/community-scripts/ProxmoxVE/pull/12370))
|
||||
|
||||
### 📚 Documentation
|
||||
|
||||
- fix wrong link on contributions README.md [@Darkangeel-hd](https://github.com/Darkangeel-hd) ([#12363](https://github.com/community-scripts/ProxmoxVE/pull/12363))
|
||||
|
||||
### 📂 Github
|
||||
|
||||
- github: add workflow to autom. close unauthorized new-script PRs [@MickLesk](https://github.com/MickLesk) ([#12356](https://github.com/community-scripts/ProxmoxVE/pull/12356))
|
||||
|
||||
## 2026-02-25
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Zerobyte ([#12321](https://github.com/community-scripts/ProxmoxVE/pull/12321))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- fix: overseer migration [@CrazyWolf13](https://github.com/CrazyWolf13) ([#12340](https://github.com/community-scripts/ProxmoxVE/pull/12340))
|
||||
- add: vikunja: daemon reload [@CrazyWolf13](https://github.com/CrazyWolf13) ([#12323](https://github.com/community-scripts/ProxmoxVE/pull/12323))
|
||||
- opnsense-VM: Use ip link to verify bridge existence [@MickLesk](https://github.com/MickLesk) ([#12329](https://github.com/community-scripts/ProxmoxVE/pull/12329))
|
||||
- wger: Use $http_host for proxy Host header [@MickLesk](https://github.com/MickLesk) ([#12327](https://github.com/community-scripts/ProxmoxVE/pull/12327))
|
||||
- Passbolt: Update Nginx config `client_max_body_size` [@tremor021](https://github.com/tremor021) ([#12313](https://github.com/community-scripts/ProxmoxVE/pull/12313))
|
||||
- Zammad: configure Elasticsearch before zammad start [@MickLesk](https://github.com/MickLesk) ([#12308](https://github.com/community-scripts/ProxmoxVE/pull/12308))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- OpenProject: Various fixes [@tremor021](https://github.com/tremor021) ([#12246](https://github.com/community-scripts/ProxmoxVE/pull/12246))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Fix detection of ssh keys [@1-tempest](https://github.com/1-tempest) ([#12230](https://github.com/community-scripts/ProxmoxVE/pull/12230))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- tools.func: Improve GitHub/Codeberg API error handling and error output [@MickLesk](https://github.com/MickLesk) ([#12330](https://github.com/community-scripts/ProxmoxVE/pull/12330))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- core: remove duplicate traps, consolidate error handling and harden signal traps [@MickLesk](https://github.com/MickLesk) ([#12316](https://github.com/community-scripts/ProxmoxVE/pull/12316))
|
||||
|
||||
### 📂 Github
|
||||
|
||||
- github: improvements for node drift wf [@MickLesk](https://github.com/MickLesk) ([#12309](https://github.com/community-scripts/ProxmoxVE/pull/12309))
|
||||
|
||||
## 2026-02-24
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- several scripts: add additional github link in source [@MickLesk](https://github.com/MickLesk) ([#12282](https://github.com/community-scripts/ProxmoxVE/pull/12282))
|
||||
- adds further documentation during the installation script. [@d12rio](https://github.com/d12rio) ([#12248](https://github.com/community-scripts/ProxmoxVE/pull/12248))
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- [Fix] PatchMon: remove VITE_API_URL from frontend env [@vhsdream](https://github.com/vhsdream) ([#12294](https://github.com/community-scripts/ProxmoxVE/pull/12294))
|
||||
- fix(searxng): remove orphaned fi causing syntax error [@mark-jeffrey](https://github.com/mark-jeffrey) ([#12283](https://github.com/community-scripts/ProxmoxVE/pull/12283))
|
||||
- Refactor n8n [@MickLesk](https://github.com/MickLesk) ([#12264](https://github.com/community-scripts/ProxmoxVE/pull/12264))
|
||||
- Firefly: PHP bump [@tremor021](https://github.com/tremor021) ([#12247](https://github.com/community-scripts/ProxmoxVE/pull/12247))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Databasus: add mariadb path for mysql/mariadb backups | add mongodb database tools [@MickLesk](https://github.com/MickLesk) ([#12259](https://github.com/community-scripts/ProxmoxVE/pull/12259))
|
||||
- make searxng updateable [@shtefko](https://github.com/shtefko) ([#12207](https://github.com/community-scripts/ProxmoxVE/pull/12207))
|
||||
|
||||
- #### 💥 Breaking Changes
|
||||
|
||||
- fix: wealthfolio for v3 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#11765](https://github.com/community-scripts/ProxmoxVE/pull/11765))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- bump various scripts from Node 22 to 24 [@MickLesk](https://github.com/MickLesk) ([#12265](https://github.com/community-scripts/ProxmoxVE/pull/12265))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- core: fix broken "command not found" after err_trap [@MickLesk](https://github.com/MickLesk) ([#12280](https://github.com/community-scripts/ProxmoxVE/pull/12280))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- tools.func: add get_latest_gh_tag helper function [@MickLesk](https://github.com/MickLesk) ([#12261](https://github.com/community-scripts/ProxmoxVE/pull/12261))
|
||||
|
||||
### 🧰 Tools
|
||||
|
||||
- Arcane ([#12263](https://github.com/community-scripts/ProxmoxVE/pull/12263))
|
||||
|
||||
### 📂 Github
|
||||
|
||||
- github: add weekly Node.js version drift check workflow [@MickLesk](https://github.com/MickLesk) ([#12267](https://github.com/community-scripts/ProxmoxVE/pull/12267))
|
||||
- add: workflow to close stale PRs [@CrazyWolf13](https://github.com/CrazyWolf13) ([#12243](https://github.com/community-scripts/ProxmoxVE/pull/12243))
|
||||
|
||||
## 2026-02-23
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- SeaweedFS ([#12220](https://github.com/community-scripts/ProxmoxVE/pull/12220))
|
||||
- Sonobarr ([#12221](https://github.com/community-scripts/ProxmoxVE/pull/12221))
|
||||
- SparkyFitness ([#12185](https://github.com/community-scripts/ProxmoxVE/pull/12185))
|
||||
- Frigate v16.4 [@MickLesk](https://github.com/MickLesk) ([#11887](https://github.com/community-scripts/ProxmoxVE/pull/11887))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- memos: unpin version due new release artifacts [@MickLesk](https://github.com/MickLesk) ([#12224](https://github.com/community-scripts/ProxmoxVE/pull/12224))
|
||||
- core: Enhance signal handling, reported "status" and logs [@MickLesk](https://github.com/MickLesk) ([#12216](https://github.com/community-scripts/ProxmoxVE/pull/12216))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- booklore v2: embed frontend, bump Java to 25, remove nginx [@MickLesk](https://github.com/MickLesk) ([#12223](https://github.com/community-scripts/ProxmoxVE/pull/12223))
|
||||
|
||||
### 🗑️ Deleted Scripts
|
||||
|
||||
- Remove: Huntarr (deprecated & Security) [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#12226](https://github.com/community-scripts/ProxmoxVE/pull/12226))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- core: Improve error handling and logging for LXC builds [@MickLesk](https://github.com/MickLesk) ([#12208](https://github.com/community-scripts/ProxmoxVE/pull/12208))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- calibre-web: update default credentials [@LaevaertK](https://github.com/LaevaertK) ([#12201](https://github.com/community-scripts/ProxmoxVE/pull/12201))
|
||||
|
||||
- #### 📝 Script Information
|
||||
|
||||
- chore: update Frigate documentation and website URLs [@JohnICB](https://github.com/JohnICB) ([#12218](https://github.com/community-scripts/ProxmoxVE/pull/12218))
|
||||
|
||||
## 2026-02-22
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Gramps-Web ([#12157](https://github.com/community-scripts/ProxmoxVE/pull/12157))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- fix: Apache Guacamole - bump to Temurin JDK 17 to resolve Debian 13 (Trixie) install failure [@Copilot](https://github.com/Copilot) ([#12161](https://github.com/community-scripts/ProxmoxVE/pull/12161))
|
||||
- Docker-VM: add error handling for virt-customize finalization [@MickLesk](https://github.com/MickLesk) ([#12127](https://github.com/community-scripts/ProxmoxVE/pull/12127))
|
||||
- [Fix] Sure: add Sidekiq service [@vhsdream](https://github.com/vhsdream) ([#12186](https://github.com/community-scripts/ProxmoxVE/pull/12186))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Refactor & Bump to v2: Plex [@MickLesk](https://github.com/MickLesk) ([#12179](https://github.com/community-scripts/ProxmoxVE/pull/12179))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- karakeep: bump to node 24 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#12183](https://github.com/community-scripts/ProxmoxVE/pull/12183))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- tools.func: add GitHub API rate-limit detection and GITHUB_TOKEN support [@MickLesk](https://github.com/MickLesk) ([#12176](https://github.com/community-scripts/ProxmoxVE/pull/12176))
|
||||
|
||||
### 🧰 Tools
|
||||
|
||||
- CR*NMASTER ([#12065](https://github.com/community-scripts/ProxmoxVE/pull/12065))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Update package management commands in clean-lxcs.sh [@heinemannj](https://github.com/heinemannj) ([#12166](https://github.com/community-scripts/ProxmoxVE/pull/12166))
|
||||
|
||||
### ❔ Uncategorized
|
||||
|
||||
- calibre-web: Update logo URL [@MickLesk](https://github.com/MickLesk) ([#12178](https://github.com/community-scripts/ProxmoxVE/pull/12178))
|
||||
|
||||
## 2026-02-21
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Pangolin: restore config before db migration, use drizzle-kit push [@MickLesk](https://github.com/MickLesk) ([#12130](https://github.com/community-scripts/ProxmoxVE/pull/12130))
|
||||
- PLANKA: fix msg's [@danielalanbates](https://github.com/danielalanbates) ([#12143](https://github.com/community-scripts/ProxmoxVE/pull/12143))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### 📝 Script Information
|
||||
|
||||
- MediaManager: Update documentation URL [@tremor021](https://github.com/tremor021) ([#12154](https://github.com/community-scripts/ProxmoxVE/pull/12154))
|
||||
|
||||
## 2026-02-20
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Sure ([#12114](https://github.com/community-scripts/ProxmoxVE/pull/12114))
|
||||
- Calibre-Web ([#12115](https://github.com/community-scripts/ProxmoxVE/pull/12115))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Zammad: fix Elasticsearch JVM config and add daemon-reload [@MickLesk](https://github.com/MickLesk) ([#12125](https://github.com/community-scripts/ProxmoxVE/pull/12125))
|
||||
- Huntarr: add build-essential for native pip dependencies [@MickLesk](https://github.com/MickLesk) ([#12126](https://github.com/community-scripts/ProxmoxVE/pull/12126))
|
||||
- Dokploy: fix update function [@vhsdream](https://github.com/vhsdream) ([#12116](https://github.com/community-scripts/ProxmoxVE/pull/12116))
|
||||
|
||||
- #### 💥 Breaking Changes
|
||||
|
||||
- recyclarr: adjust paths for v8.0 breaking changes [@MickLesk](https://github.com/MickLesk) ([#12129](https://github.com/community-scripts/ProxmoxVE/pull/12129))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Planka: migrate data paths to new v2 directory structure [@MickLesk](https://github.com/MickLesk) ([#12128](https://github.com/community-scripts/ProxmoxVE/pull/12128))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### 📝 Script Information
|
||||
|
||||
- fixen broken link to dawarich documentation [@RiX012](https://github.com/RiX012) ([#12103](https://github.com/community-scripts/ProxmoxVE/pull/12103))
|
||||
- core: Improve error outputs across core functions [@MickLesk](https://github.com/MickLesk) ([#12378](https://github.com/community-scripts/ProxmoxVE/pull/12378))
|
||||
@@ -70,7 +70,7 @@ function update_script() {
|
||||
source /opt/dispatcharr/.env
|
||||
set +o allexport
|
||||
if [[ -n "$POSTGRES_DB" ]] && [[ -n "$POSTGRES_USER" ]] && [[ -n "$POSTGRES_PASSWORD" ]]; then
|
||||
PGPASSWORD=$POSTGRES_PASSWORD pg_dump -U $POSTGRES_USER -h ${POSTGRES_HOST:-localhost} $POSTGRES_DB >/tmp/dispatcharr_db_$(date +%F).sql
|
||||
PGPASSWORD=$POSTGRES_PASSWORD pg_dump -U "$POSTGRES_USER" -h "${POSTGRES_HOST:-localhost}" -p "${POSTGRES_PORT:-5432}" "$POSTGRES_DB" >/tmp/dispatcharr_db_$(date +%F).sql
|
||||
msg_info "Database backup created"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -29,11 +29,11 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
update_available=$(curl -fsSL -X 'GET' "http://localhost:19200/api/status/update-available" -H 'accept: application/json' | jq .UpdateAvailable)
|
||||
if [[ "${update_available}" == "true" ]]; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop fileflows
|
||||
systemctl stop fileflows*
|
||||
msg_info "Stopped Service"
|
||||
|
||||
msg_info "Creating Backup"
|
||||
@@ -45,7 +45,7 @@ function update_script() {
|
||||
fetch_and_deploy_from_url "https://fileflows.com/downloads/zip" "/opt/fileflows"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start fileflows
|
||||
systemctl start fileflows*
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated successfully!"
|
||||
else
|
||||
|
||||
71
ct/geopulse.sh
Normal file
71
ct/geopulse.sh
Normal file
@@ -0,0 +1,71 @@
|
||||
#!/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: CrazyWolf13
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/tess1o/geopulse
|
||||
|
||||
APP="GeoPulse"
|
||||
var_tags="${var_tags:-location;tracking;gps}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_disk="${var_disk:-8}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
|
||||
if [[ ! -f /opt/geopulse/backend/geopulse-backend ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
if check_for_gh_release "geopulse-backend" "tess1o/geopulse"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop geopulse-backend
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
if [[ "$(uname -m)" == "aarch64" ]]; then
|
||||
if grep -qi "raspberry\|bcm" /proc/cpuinfo 2>/dev/null; then
|
||||
BINARY_PATTERN="geopulse-backend-native-arm64-compat-*"
|
||||
else
|
||||
BINARY_PATTERN="geopulse-backend-native-arm64-[!c]*"
|
||||
fi
|
||||
else
|
||||
if grep -q avx2 /proc/cpuinfo && grep -q bmi2 /proc/cpuinfo && grep -q fma /proc/cpuinfo; then
|
||||
BINARY_PATTERN="geopulse-backend-native-amd64-[!c]*"
|
||||
else
|
||||
BINARY_PATTERN="geopulse-backend-native-amd64-compat-*"
|
||||
fi
|
||||
fi
|
||||
|
||||
fetch_and_deploy_gh_release "geopulse-backend" "tess1o/geopulse" "singlefile" "latest" "/opt/geopulse/backend" "${BINARY_PATTERN}"
|
||||
fetch_and_deploy_gh_release "geopulse-frontend" "tess1o/geopulse" "prebuild" "latest" "/var/www/geopulse" "geopulse-frontend-*.tar.gz"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start geopulse-backend
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated successfully!"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
|
||||
echo -e "${INFO}${YW} To create an admin account, run:${CL}"
|
||||
echo -e "${TAB}${BGN}/usr/local/bin/create-geopulse-admin${CL}"
|
||||
11
ct/gokapi.sh
11
ct/gokapi.sh
@@ -32,7 +32,16 @@ function update_script() {
|
||||
systemctl stop gokapi
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
fetch_and_deploy_gh_release "gokapi" "Forceu/Gokapi" "prebuild" "latest" "/opt/gokapi" "gokapi-linux_amd64.zip"
|
||||
fetch_and_deploy_gh_release "gokapi" "Forceu/Gokapi" "prebuild" "latest" "/opt/gokapi" "*linux*amd64.zip"
|
||||
|
||||
# Migrate from pre-v2.2.4 binary name (gokapi-linux_amd64 -> gokapi)
|
||||
if [[ -f /opt/gokapi/gokapi-linux_amd64 ]]; then
|
||||
rm -f /opt/gokapi/gokapi-linux_amd64
|
||||
fi
|
||||
if grep -q "gokapi-linux_amd64" /etc/systemd/system/gokapi.service 2>/dev/null; then
|
||||
sed -i 's|gokapi-linux_amd64|gokapi|g' /etc/systemd/system/gokapi.service
|
||||
systemctl daemon-reload
|
||||
fi
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start gokapi
|
||||
|
||||
6
ct/headers/geopulse
Normal file
6
ct/headers/geopulse
Normal file
@@ -0,0 +1,6 @@
|
||||
______ ____ __
|
||||
/ ____/__ ____ / __ \__ __/ /_______
|
||||
/ / __/ _ \/ __ \/ /_/ / / / / / ___/ _ \
|
||||
/ /_/ / __/ /_/ / ____/ /_/ / (__ ) __/
|
||||
\____/\___/\____/_/ \__,_/_/____/\___/
|
||||
|
||||
6
ct/headers/matter-server
Normal file
6
ct/headers/matter-server
Normal file
@@ -0,0 +1,6 @@
|
||||
__ ___ __ __ _____
|
||||
/ |/ /___ _/ /_/ /____ _____ / ___/___ ______ _____ _____
|
||||
/ /|_/ / __ `/ __/ __/ _ \/ ___/_____\__ \/ _ \/ ___/ | / / _ \/ ___/
|
||||
/ / / / /_/ / /_/ /_/ __/ / /_____/__/ / __/ / | |/ / __/ /
|
||||
/_/ /_/\__,_/\__/\__/\___/_/ /____/\___/_/ |___/\___/_/
|
||||
|
||||
@@ -109,7 +109,7 @@ EOF
|
||||
msg_ok "Image-processing libraries up to date"
|
||||
fi
|
||||
|
||||
RELEASE="v2.6.2"
|
||||
RELEASE="v2.6.3"
|
||||
if check_for_gh_release "Immich" "immich-app/immich" "${RELEASE}" "each release is tested individually before the version is updated. Please do not open issues for this"; then
|
||||
if [[ $(cat ~/.immich) > "2.5.1" ]]; then
|
||||
msg_info "Enabling Maintenance Mode"
|
||||
|
||||
60
ct/matter-server.sh
Normal file
60
ct/matter-server.sh
Normal file
@@ -0,0 +1,60 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2026 community-scripts ORG
|
||||
# Author: MickLesk (CanbiZ)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/matter-js/python-matter-server
|
||||
|
||||
APP="Matter-Server"
|
||||
var_tags="${var_tags:-matter;iot;smart-home}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
|
||||
if [[ ! -d /opt/matter-server ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
if check_for_gh_release "matter-server" "matter-js/python-matter-server"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop matter-server
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating Matter Server"
|
||||
MATTER_VERSION=$(get_latest_github_release "matter-js/python-matter-server")
|
||||
$STD uv pip install --python /opt/matter-server/.venv/bin/python --upgrade "python-matter-server[server]==${MATTER_VERSION}"
|
||||
echo "${MATTER_VERSION}" >~/.matter-server
|
||||
msg_ok "Updated Matter Server"
|
||||
|
||||
fetch_and_deploy_gh_release "chip-ota-provider-app" "home-assistant-libs/matter-linux-ota-provider" "singlefile" "latest" "/usr/local/bin" "chip-ota-provider-app-x86-64"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start matter-server
|
||||
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} Matter Server WebSocket API is running on port 5580.${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}ws://${IP}:5580/ws${CL}"
|
||||
@@ -28,11 +28,6 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
|
||||
if [[ $(grep -E '^VERSION_ID=' /etc/os-release) == *"12"* ]]; then
|
||||
msg_error "Wrong Debian version detected!"
|
||||
msg_error "Please create a snapshot first. You must upgrade your LXC to Debian Trixie before updating. Visit: https://github.com/community-scripts/ProxmoxVE/discussions/7489"
|
||||
exit
|
||||
fi
|
||||
|
||||
if command -v node &>/dev/null; then
|
||||
CURRENT_NODE_VERSION=$(node --version | cut -d'v' -f2 | cut -d'.' -f1)
|
||||
|
||||
@@ -33,6 +33,10 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
|
||||
if ! grep -q "^ALLOWED_HOSTS=" /opt/tandoor/.env; then
|
||||
echo "ALLOWED_HOSTS=${LOCAL_IP}" >>/opt/tandoor/.env
|
||||
fi
|
||||
|
||||
if check_for_gh_release "tandoor" "TandoorRecipes/recipes"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop tandoor
|
||||
|
||||
@@ -33,13 +33,25 @@ msg_ok "Installed ASP.NET Core Runtime"
|
||||
|
||||
fetch_and_deploy_from_url "https://fileflows.com/downloads/zip" "/opt/fileflows"
|
||||
|
||||
msg_info "Setup FileFlows"
|
||||
$STD ln -svf /usr/bin/ffmpeg /usr/local/bin/ffmpeg
|
||||
$STD ln -svf /usr/bin/ffprobe /usr/local/bin/ffprobe
|
||||
cd /opt/fileflows/Server
|
||||
dotnet FileFlows.Server.dll --systemd install --root true
|
||||
systemctl enable -q --now fileflows
|
||||
msg_ok "Setup FileFlows"
|
||||
|
||||
read -r -p "${TAB3}Do you want to install FileFlows Server or Node? (S/N): " install_server
|
||||
|
||||
if [[ "$install_server" =~ ^[Ss]$ ]]; then
|
||||
msg_info "Installing FileFlows Server"
|
||||
cd /opt/fileflows/Server
|
||||
$STD dotnet FileFlows.Server.dll --systemd install --root true
|
||||
systemctl enable -q --now fileflows
|
||||
msg_ok "Installed FileFlows Server"
|
||||
else
|
||||
msg_info "Installing FileFlows Node"
|
||||
cd /opt/fileflows/Node
|
||||
$STD dotnet FileFlows.Node.dll
|
||||
$STD dotnet FileFlows.Node.dll --systemd install --root true
|
||||
systemctl enable -q --now fileflows-node
|
||||
msg_ok "Installed FileFlows Node"
|
||||
fi
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
205
install/geopulse-install.sh
Normal file
205
install/geopulse-install.sh
Normal file
@@ -0,0 +1,205 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2026 community-scripts ORG
|
||||
# Author: CrazyWolf13
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/tess1o/geopulse
|
||||
|
||||
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 \
|
||||
openssl \
|
||||
nginx
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
PG_VERSION="17" PG_MODULES="postgis" setup_postgresql
|
||||
PG_DB_NAME="geopulse" PG_DB_USER="geopulse" PG_DB_EXTENSIONS="postgis,postgis_topology" setup_postgresql_db
|
||||
|
||||
msg_info "Generating Security Keys"
|
||||
mkdir -p /opt/geopulse/{backend,keys}
|
||||
mkdir -p /etc/geopulse /var/www/geopulse /var/lib/geopulse/dumps
|
||||
mkdir -p /var/log/geopulse/{backend,nginx}
|
||||
openssl genpkey -algorithm RSA -out /opt/geopulse/keys/jwt-private-key.pem 2>/dev/null
|
||||
openssl rsa -pubout -in /opt/geopulse/keys/jwt-private-key.pem -out /opt/geopulse/keys/jwt-public-key.pem 2>/dev/null
|
||||
openssl rand -base64 32 >/opt/geopulse/keys/ai-encryption-key.txt
|
||||
chmod 640 /opt/geopulse/keys/jwt-private-key.pem /opt/geopulse/keys/jwt-public-key.pem /opt/geopulse/keys/ai-encryption-key.txt
|
||||
msg_ok "Generated Security Keys"
|
||||
|
||||
if [[ "$(uname -m)" == "aarch64" ]]; then
|
||||
if grep -qi "raspberry\|bcm" /proc/cpuinfo 2>/dev/null; then
|
||||
BINARY_PATTERN="geopulse-backend-native-arm64-compat-*"
|
||||
else
|
||||
BINARY_PATTERN="geopulse-backend-native-arm64-[!c]*"
|
||||
fi
|
||||
else
|
||||
if grep -q avx2 /proc/cpuinfo && grep -q bmi2 /proc/cpuinfo && grep -q fma /proc/cpuinfo; then
|
||||
BINARY_PATTERN="geopulse-backend-native-amd64-[!c]*"
|
||||
else
|
||||
BINARY_PATTERN="geopulse-backend-native-amd64-compat-*"
|
||||
fi
|
||||
fi
|
||||
|
||||
fetch_and_deploy_gh_release "geopulse-backend" "tess1o/geopulse" "singlefile" "latest" "/opt/geopulse/backend" "${BINARY_PATTERN}"
|
||||
fetch_and_deploy_gh_release "geopulse-frontend" "tess1o/geopulse" "prebuild" "latest" "/var/www/geopulse" "geopulse-frontend-*.tar.gz"
|
||||
|
||||
msg_info "Configuring GeoPulse"
|
||||
cat <<EOF >/etc/geopulse/geopulse.env
|
||||
GEOPULSE_PUBLIC_BASE_URL=http://${LOCAL_IP}
|
||||
GEOPULSE_UI_URL=http://${LOCAL_IP}
|
||||
GEOPULSE_CORS_ENABLED=false
|
||||
GEOPULSE_CORS_ORIGINS=
|
||||
QUARKUS_HTTP_PORT=8080
|
||||
GEOPULSE_POSTGRES_URL=jdbc:postgresql://localhost:5432/${PG_DB_NAME}
|
||||
GEOPULSE_POSTGRES_HOST=localhost
|
||||
GEOPULSE_POSTGRES_PORT=5432
|
||||
GEOPULSE_POSTGRES_DB=${PG_DB_NAME}
|
||||
GEOPULSE_POSTGRES_USERNAME=${PG_DB_USER}
|
||||
GEOPULSE_POSTGRES_PASSWORD=${PG_DB_PASS}
|
||||
GEOPULSE_JWT_PRIVATE_KEY_LOCATION=file:/opt/geopulse/keys/jwt-private-key.pem
|
||||
GEOPULSE_JWT_PUBLIC_KEY_LOCATION=file:/opt/geopulse/keys/jwt-public-key.pem
|
||||
GEOPULSE_AI_ENCRYPTION_KEY_LOCATION=file:/opt/geopulse/keys/ai-encryption-key.txt
|
||||
QUARKUS_LOG_FILE_ENABLE=true
|
||||
QUARKUS_LOG_FILE_PATH=/var/log/geopulse/backend/geopulse.log
|
||||
QUARKUS_LOG_FILE_ROTATION_MAX_FILE_SIZE=10M
|
||||
QUARKUS_LOG_FILE_ROTATION_MAX_BACKUP_INDEX=5
|
||||
EOF
|
||||
chmod 640 /etc/geopulse/geopulse.env
|
||||
msg_ok "Configured GeoPulse"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/geopulse-backend.service
|
||||
[Unit]
|
||||
Description=GeoPulse Backend
|
||||
After=network.target postgresql.service
|
||||
Wants=postgresql.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
WorkingDirectory=/opt/geopulse/backend
|
||||
EnvironmentFile=/etc/geopulse/geopulse.env
|
||||
ExecStart=/opt/geopulse/backend/geopulse-backend -Dquarkus.http.host=0.0.0.0 -XX:MaximumHeapSizePercent=70 -XX:MaximumYoungGenerationSizePercent=15
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
StandardOutput=append:/var/log/geopulse/backend/geopulse-stdout.log
|
||||
StandardError=append:/var/log/geopulse/backend/geopulse-stderr.log
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable -q --now geopulse-backend
|
||||
msg_ok "Created Service"
|
||||
|
||||
msg_info "Configuring Nginx"
|
||||
mkdir -p /var/cache/nginx/osm_tiles
|
||||
cat <<'EOF' >/etc/nginx/sites-available/geopulse.conf
|
||||
proxy_cache_path /var/cache/nginx/osm_tiles levels=1:2 keys_zone=osm_cache:100m max_size=10g inactive=30d use_temp_path=off;
|
||||
|
||||
map $uri $osm_subdomain {
|
||||
~^/osm/tiles/a/ "a";
|
||||
~^/osm/tiles/b/ "b";
|
||||
~^/osm/tiles/c/ "c";
|
||||
default "a";
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name _;
|
||||
|
||||
root /var/www/geopulse;
|
||||
index index.html;
|
||||
|
||||
client_max_body_size 100M;
|
||||
|
||||
gzip on;
|
||||
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
|
||||
gzip_comp_level 6;
|
||||
gzip_min_length 1000;
|
||||
|
||||
location ~* ^/(?!osm/).*\.(jpg|jpeg|png|gif|ico|css|js)$ {
|
||||
expires 1y;
|
||||
add_header Cache-Control "public, max-age=31536000";
|
||||
}
|
||||
|
||||
location ^~ /osm/tiles/ {
|
||||
resolver 8.8.8.8 valid=300s;
|
||||
resolver_timeout 10s;
|
||||
rewrite ^/osm/tiles/[abc]/(.*)$ /$1 break;
|
||||
proxy_pass https://$osm_subdomain.tile.openstreetmap.org;
|
||||
proxy_cache osm_cache;
|
||||
proxy_cache_key "$scheme$proxy_host$uri";
|
||||
proxy_cache_valid 200 30d;
|
||||
proxy_cache_valid 404 1m;
|
||||
proxy_cache_valid 502 503 504 1m;
|
||||
proxy_ignore_headers Cache-Control Expires Set-Cookie;
|
||||
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
|
||||
proxy_cache_background_update on;
|
||||
proxy_cache_lock on;
|
||||
proxy_set_header Cookie "";
|
||||
proxy_set_header Authorization "";
|
||||
proxy_set_header User-Agent "GeoPulse/1.0";
|
||||
proxy_set_header Host $osm_subdomain.tile.openstreetmap.org;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Connection "";
|
||||
proxy_connect_timeout 10s;
|
||||
proxy_read_timeout 10s;
|
||||
expires 30d;
|
||||
add_header Cache-Control "public, immutable";
|
||||
add_header X-Cache-Status $upstream_cache_status always;
|
||||
}
|
||||
|
||||
location /api/ {
|
||||
proxy_pass http://localhost:8080/api/;
|
||||
proxy_connect_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
add_header X-Content-Type-Options "nosniff" always;
|
||||
add_header X-XSS-Protection "1; mode=block" always;
|
||||
|
||||
access_log /var/log/geopulse/nginx/access.log;
|
||||
error_log /var/log/geopulse/nginx/error.log;
|
||||
}
|
||||
EOF
|
||||
ln -sf /etc/nginx/sites-available/geopulse.conf /etc/nginx/sites-enabled/
|
||||
rm -f /etc/nginx/sites-enabled/default
|
||||
systemctl enable -q --now nginx
|
||||
systemctl reload nginx
|
||||
msg_ok "Configured Nginx"
|
||||
|
||||
msg_info "Creating Admin Helper"
|
||||
cat <<'EOF' >/usr/local/bin/create-geopulse-admin
|
||||
#!/usr/bin/env bash
|
||||
read -rp "Enter admin email address: " ADMIN_EMAIL
|
||||
if [[ -z "$ADMIN_EMAIL" ]]; then
|
||||
echo "No email provided. Aborting."
|
||||
exit 1
|
||||
fi
|
||||
sed -i '/^GEOPULSE_ADMIN_EMAIL=/d' /etc/geopulse/geopulse.env
|
||||
echo "GEOPULSE_ADMIN_EMAIL=${ADMIN_EMAIL}" >>/etc/geopulse/geopulse.env
|
||||
systemctl restart geopulse-backend
|
||||
echo "Admin email set to '${ADMIN_EMAIL}'. Register with this email in the GeoPulse UI to receive admin privileges."
|
||||
EOF
|
||||
chmod +x /usr/local/bin/create-geopulse-admin
|
||||
msg_ok "Created Admin Helper"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
@@ -13,11 +13,11 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
fetch_and_deploy_gh_release "gokapi" "Forceu/Gokapi" "prebuild" "latest" "/opt/gokapi" "gokapi-linux_amd64.zip"
|
||||
fetch_and_deploy_gh_release "gokapi" "Forceu/Gokapi" "prebuild" "latest" "/opt/gokapi" "*linux*amd64.zip"
|
||||
|
||||
msg_info "Configuring Gokapi"
|
||||
mkdir -p /opt/gokapi/{data,config}
|
||||
chmod +x /opt/gokapi/gokapi-linux_amd64
|
||||
chmod +x /opt/gokapi/gokapi
|
||||
msg_ok "Configured Gokapi"
|
||||
|
||||
msg_info "Creating Service"
|
||||
@@ -29,7 +29,7 @@ Description=gokapi
|
||||
Type=simple
|
||||
Environment=GOKAPI_DATA_DIR=/opt/gokapi/data
|
||||
Environment=GOKAPI_CONFIG_DIR=/opt/gokapi/config
|
||||
ExecStart=/opt/gokapi/gokapi-linux_amd64
|
||||
ExecStart=/opt/gokapi/gokapi
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -295,7 +295,7 @@ ML_DIR="${APP_DIR}/machine-learning"
|
||||
GEO_DIR="${INSTALL_DIR}/geodata"
|
||||
mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${INSTALL_DIR}"/cache}
|
||||
|
||||
fetch_and_deploy_gh_release "Immich" "immich-app/immich" "tarball" "v2.6.2" "$SRC_DIR"
|
||||
fetch_and_deploy_gh_release "Immich" "immich-app/immich" "tarball" "v2.6.3" "$SRC_DIR"
|
||||
PNPM_VERSION="$(jq -r '.packageManager | split("@")[1] | split("+")[0]' ${SRC_DIR}/package.json)"
|
||||
NODE_VERSION="24" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs
|
||||
|
||||
|
||||
72
install/matter-server-install.sh
Normal file
72
install/matter-server-install.sh
Normal file
@@ -0,0 +1,72 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2026 community-scripts ORG
|
||||
# Author: MickLesk (CanbiZ)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/matter-js/python-matter-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 \
|
||||
libuv1 \
|
||||
libjson-c5 \
|
||||
libnl-3-200 \
|
||||
libnl-route-3-200 \
|
||||
iputils-ping \
|
||||
iproute2
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
UV_PYTHON="3.12" setup_uv
|
||||
|
||||
msg_info "Setting up Matter Server"
|
||||
mkdir -p /opt/matter-server/data/credentials
|
||||
if [ -L /data ]; then
|
||||
rm -f /data
|
||||
fi
|
||||
if [ ! -e /data ]; then
|
||||
ln -s /opt/matter-server/data /data
|
||||
fi
|
||||
$STD uv venv /opt/matter-server/.venv
|
||||
MATTER_VERSION=$(get_latest_github_release "matter-js/python-matter-server")
|
||||
$STD uv pip install --python /opt/matter-server/.venv/bin/python "python-matter-server[server]==${MATTER_VERSION}"
|
||||
echo "${MATTER_VERSION}" >~/.matter-server
|
||||
msg_ok "Set up Matter Server"
|
||||
|
||||
fetch_and_deploy_gh_release "chip-ota-provider-app" "home-assistant-libs/matter-linux-ota-provider" "singlefile" "latest" "/usr/local/bin" "chip-ota-provider-app-x86-64"
|
||||
|
||||
msg_info "Configuring Network"
|
||||
cat <<EOF >/etc/sysctl.d/99-matter.conf
|
||||
net.ipv4.igmp_max_memberships=1024
|
||||
EOF
|
||||
$STD sysctl -p /etc/sysctl.d/99-matter.conf
|
||||
msg_ok "Configured Network"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/matter-server.service
|
||||
[Unit]
|
||||
Description=Matter Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
ExecStart=/opt/matter-server/.venv/bin/matter-server --storage-path /data --paa-root-cert-dir /data/credentials
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable -q --now matter-server
|
||||
msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
@@ -47,6 +47,7 @@ $STD yarn install
|
||||
$STD yarn build
|
||||
cat <<EOF >/opt/tandoor/.env
|
||||
SECRET_KEY=$SECRET_KEY
|
||||
ALLOWED_HOSTS=$LOCAL_IP
|
||||
TZ=Europe/Berlin
|
||||
|
||||
DB_ENGINE=django.db.backends.postgresql
|
||||
|
||||
@@ -121,7 +121,7 @@ CONF
|
||||
fi
|
||||
|
||||
(
|
||||
crontab -l -u root 2>/dev/null | grep -v "${LOCAL_SCRIPT}"
|
||||
crontab -l -u root 2>/dev/null | grep -v "${LOCAL_SCRIPT}" || true
|
||||
echo "${CRON_ENTRY}"
|
||||
) | crontab -u root -
|
||||
ok "Added cron schedule: Every Sunday at midnight"
|
||||
|
||||
Reference in New Issue
Block a user