mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-04-28 13:20:40 +00:00
Compare commits
156 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b8295a3613 | |||
| 3a356b3165 | |||
| 91b03574e4 | |||
| ca915da8c1 | |||
| 95f2d24f53 | |||
| df9fa394b8 | |||
| 1e1e96b68e | |||
| 13bd09532a | |||
| b78cdb4008 | |||
| 4963385bf9 | |||
| 799f3bf0fb | |||
| 2f6f0880ac | |||
| b56e6f9e52 | |||
| 1c49bab0bc | |||
| 9a2e6551f1 | |||
| 0cfc6c89b2 | |||
| 19bae6935c | |||
| 347e0af359 | |||
| 615fc7d6ce | |||
| 186a03ccb2 | |||
| ddf05a1c2d | |||
| a43ac644da | |||
| 5d59291bb1 | |||
| f553329754 | |||
| 6ece8c4de9 | |||
| 581b332c66 | |||
| 0632f99343 | |||
| fecad57187 | |||
| bb7b612d5f | |||
| 2c22e03774 | |||
| 6ca9569dc3 | |||
| 562ae12972 | |||
| 47cb50e7cd | |||
| a8c1155cac | |||
| f4a141019e | |||
| 2b288ee617 | |||
| a36d0cb20c | |||
| d3efebce67 | |||
| 7a440679f5 | |||
| db2780ff44 | |||
| fdab25b098 | |||
| c3c544d5a4 | |||
| 3c38647055 | |||
| 7e1b2b4f92 | |||
| 145602a8c3 | |||
| 687e778460 | |||
| 1476849f3c | |||
| a2bf10d2f2 | |||
| 9c44055709 | |||
| 7141f89676 | |||
| 9f50496f8b | |||
| 01bbacec22 | |||
| 116253df1a | |||
| 8706cd3783 | |||
| 874d8f300c | |||
| aa54abcf50 | |||
| a37b36520c | |||
| 22d9eece6f | |||
| 518b6778e2 | |||
| 6da3a5f0e2 | |||
| d044dea89e | |||
| 54171b00e0 | |||
| 686b9aab81 | |||
| 4e5a45feb5 | |||
| 5141037504 | |||
| 29f2671e7a | |||
| 192c2d4fc8 | |||
| d34c88344e | |||
| 34928f8f1d | |||
| 759d0aacf0 | |||
| abac42ca13 | |||
| 14655ff6a4 | |||
| 9baed4b50e | |||
| 981c16dec5 | |||
| 8f97a4909d | |||
| ed496277fc | |||
| a2d94d6ebe | |||
| 2495469338 | |||
| 1221720b3b | |||
| 8fd8a6674e | |||
| 2aacb5c26a | |||
| 2a823151a9 | |||
| 9293dfaa82 | |||
| 323222a963 | |||
| 7666519557 | |||
| 43b0347446 | |||
| 55bad2aa40 | |||
| 4d2d6edefe | |||
| e2e7f0722f | |||
| b3c9f6e625 | |||
| ade3bde249 | |||
| 7cb40af4e6 | |||
| ce2b51a1a6 | |||
| 0986f485ee | |||
| cd1e584696 | |||
| cb156b6f85 | |||
| 06a676e6b0 | |||
| 3ac2ceda3d | |||
| 6082537f57 | |||
| bd3fbb3999 | |||
| 7e5e5be161 | |||
| 55c7549c3e | |||
| 4089fed9c9 | |||
| 325668d5c9 | |||
| 63296fc3e7 | |||
| e98fae3c54 | |||
| bf97029f57 | |||
| 5859c06715 | |||
| 9b4fc56de6 | |||
| 3a5244e285 | |||
| 1025715a74 | |||
| ec3b79bb61 | |||
| 37dfb58d29 | |||
| d95073f505 | |||
| b34e773cbb | |||
| 99782d0422 | |||
| 00e4a0a6b8 | |||
| 28b3b45fdb | |||
| eba01133f4 | |||
| 1f04bb5012 | |||
| d480a5c9b7 | |||
| 458402ea41 | |||
| 18cd4d401c | |||
| 91f5c3dfb0 | |||
| 9c604f624c | |||
| d5421486d8 | |||
| 19dabf4970 | |||
| 8aee0efa4d | |||
| 11fdfa549a | |||
| 0fc913478e | |||
| ada387f1a2 | |||
| 4fd80e3e60 | |||
| d19cc5b69c | |||
| 02c174c4a2 | |||
| fb9e8d90a7 | |||
| 501ea61d2e | |||
| 8656c94f6c | |||
| b92d73a63e | |||
| 8b3966cd31 | |||
| 0eb3259c4f | |||
| 453f73abcf | |||
| 030b28855f | |||
| a5fc040deb | |||
| 88264fea10 | |||
| ea633b138d | |||
| 6070e4fcd2 | |||
| 4e89480e8c | |||
| 214b0dbcc1 | |||
| 062a91d178 | |||
| 1f178f17fc | |||
| 77909d343b | |||
| fef659d26d | |||
| ca23d95226 | |||
| fd729f1f16 | |||
| 8044f075cd | |||
| 1d4d3f63d1 |
Generated
+286
@@ -1,3 +1,289 @@
|
|||||||
|
## 2026-04-25
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- VictoriaMetrics: Stop vmagent/vmalert before update [@irishpadres](https://github.com/irishpadres) ([#14016](https://github.com/community-scripts/ProxmoxVE/pull/14016))
|
||||||
|
- Domain-Monitor: start apache2 after stop instead of reload [@omertahaoztop](https://github.com/omertahaoztop) ([#14019](https://github.com/community-scripts/ProxmoxVE/pull/14019))
|
||||||
|
- Transmute: Fix ffmpeg detection [@tremor021](https://github.com/tremor021) ([#14008](https://github.com/community-scripts/ProxmoxVE/pull/14008))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Refactor: Technitium DNS [@tremor021](https://github.com/tremor021) ([#14013](https://github.com/community-scripts/ProxmoxVE/pull/14013))
|
||||||
|
|
||||||
|
## 2026-04-24
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Apprise-API ([#13934](https://github.com/community-scripts/ProxmoxVE/pull/13934))
|
||||||
|
- fireshare ([#13995](https://github.com/community-scripts/ProxmoxVE/pull/13995))
|
||||||
|
- Transmute ([#13935](https://github.com/community-scripts/ProxmoxVE/pull/13935))
|
||||||
|
- Jitsi-Meet ([#13897](https://github.com/community-scripts/ProxmoxVE/pull/13897))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Update wger.sh [@Soppster1029](https://github.com/Soppster1029) ([#13977](https://github.com/community-scripts/ProxmoxVE/pull/13977))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Refactor: Ghostfolio [@MickLesk](https://github.com/MickLesk) ([#13990](https://github.com/community-scripts/ProxmoxVE/pull/13990))
|
||||||
|
|
||||||
|
## 2026-04-23
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- mealie: start.sh missing after failed update [@MickLesk](https://github.com/MickLesk) ([#13958](https://github.com/community-scripts/ProxmoxVE/pull/13958))
|
||||||
|
- twingate-connector: perform real apt upgrade during update flow [@MickLesk](https://github.com/MickLesk) ([#13959](https://github.com/community-scripts/ProxmoxVE/pull/13959))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- core: auto-size NODE_OPTIONS heap [@MickLesk](https://github.com/MickLesk) ([#13960](https://github.com/community-scripts/ProxmoxVE/pull/13960))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Update scripts to match standard [@tremor021](https://github.com/tremor021) ([#13956](https://github.com/community-scripts/ProxmoxVE/pull/13956))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- tools.func: upgrade Node.js minor/patch on same major version [@MickLesk](https://github.com/MickLesk) ([#13957](https://github.com/community-scripts/ProxmoxVE/pull/13957))
|
||||||
|
- core: hotfix - prefer silent mode on PHS env conflict [@MickLesk](https://github.com/MickLesk) ([#13951](https://github.com/community-scripts/ProxmoxVE/pull/13951))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- core: improve system update information / lxc stack upgrade [@MickLesk](https://github.com/MickLesk) ([#13970](https://github.com/community-scripts/ProxmoxVE/pull/13970))
|
||||||
|
|
||||||
|
## 2026-04-22
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Dashy ([#13817](https://github.com/community-scripts/ProxmoxVE/pull/13817))
|
||||||
|
- Mini-QR ([#13902](https://github.com/community-scripts/ProxmoxVE/pull/13902))
|
||||||
|
- ownfoil ([#13904](https://github.com/community-scripts/ProxmoxVE/pull/13904))
|
||||||
|
- ERPNext ([#13921](https://github.com/community-scripts/ProxmoxVE/pull/13921))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- add --clear to uv venv in update_script() to prevent interactive prompt [@MickLesk](https://github.com/MickLesk) ([#13926](https://github.com/community-scripts/ProxmoxVE/pull/13926))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- core: Add PHS_VERBOSE env var to skip verbose mode prompts [@gormanity](https://github.com/gormanity) ([#13797](https://github.com/community-scripts/ProxmoxVE/pull/13797))
|
||||||
|
|
||||||
|
## 2026-04-21
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- gogs ([#13896](https://github.com/community-scripts/ProxmoxVE/pull/13896))
|
||||||
|
- anchor ([#13895](https://github.com/community-scripts/ProxmoxVE/pull/13895))
|
||||||
|
- minthcm ([#13903](https://github.com/community-scripts/ProxmoxVE/pull/13903))
|
||||||
|
- foldergram ([#13900](https://github.com/community-scripts/ProxmoxVE/pull/13900))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- OpenCloud: Pin version to 6.1.0 [@vhsdream](https://github.com/vhsdream) ([#13890](https://github.com/community-scripts/ProxmoxVE/pull/13890))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Domain-Locker: Update dependencies [@tremor021](https://github.com/tremor021) ([#13901](https://github.com/community-scripts/ProxmoxVE/pull/13901))
|
||||||
|
- homelable: fix install failure by correcting password-reset chmod target [@Copilot](https://github.com/Copilot) ([#13894](https://github.com/community-scripts/ProxmoxVE/pull/13894))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- FileFlows: Update dependencies [@tremor021](https://github.com/tremor021) ([#13917](https://github.com/community-scripts/ProxmoxVE/pull/13917))
|
||||||
|
|
||||||
|
## 2026-04-20
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- WhoDB ([#13880](https://github.com/community-scripts/ProxmoxVE/pull/13880))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- pangolin: create migration tables before data transfer to prevent role loss [@MickLesk](https://github.com/MickLesk) ([#13874](https://github.com/community-scripts/ProxmoxVE/pull/13874))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Pangolin: pre-apply schema migrations to prevent data loss [@MickLesk](https://github.com/MickLesk) ([#13861](https://github.com/community-scripts/ProxmoxVE/pull/13861))
|
||||||
|
- ActualBudget: change migration messages to warnings [@MickLesk](https://github.com/MickLesk) ([#13860](https://github.com/community-scripts/ProxmoxVE/pull/13860))
|
||||||
|
- slskd: migrate config keys for 0.25.0 breaking change [@MickLesk](https://github.com/MickLesk) ([#13862](https://github.com/community-scripts/ProxmoxVE/pull/13862))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Wanderer: add pocketbase CLI wrapper with env [@MickLesk](https://github.com/MickLesk) ([#13863](https://github.com/community-scripts/ProxmoxVE/pull/13863))
|
||||||
|
- feat(homelable): add password reset utility script [@davidsoncabista](https://github.com/davidsoncabista) ([#13798](https://github.com/community-scripts/ProxmoxVE/pull/13798))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Several Scripts: Bump NodeJS to align Node.js versions with upstream for 5 scripts [@MickLesk](https://github.com/MickLesk) ([#13875](https://github.com/community-scripts/ProxmoxVE/pull/13875))
|
||||||
|
- Refactor: PMG Post Install [@MickLesk](https://github.com/MickLesk) ([#13693](https://github.com/community-scripts/ProxmoxVE/pull/13693))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- core: detect Perl breakage after LXC stack upgrade and improve storage validation [@MickLesk](https://github.com/MickLesk) ([#13879](https://github.com/community-scripts/ProxmoxVE/pull/13879))
|
||||||
|
|
||||||
|
## 2026-04-19
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- nametag ([#13849](https://github.com/community-scripts/ProxmoxVE/pull/13849))
|
||||||
|
|
||||||
|
## 2026-04-18
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Dagu ([#13830](https://github.com/community-scripts/ProxmoxVE/pull/13830))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- BabyBuddy: set DJANGO_SETTINGS_MODULE before migrate in update [@MickLesk](https://github.com/MickLesk) ([#13836](https://github.com/community-scripts/ProxmoxVE/pull/13836))
|
||||||
|
- litellm: add prisma generate and use venv binary directly [@MickLesk](https://github.com/MickLesk) ([#13835](https://github.com/community-scripts/ProxmoxVE/pull/13835))
|
||||||
|
- yamtrack: add missing nginx.conf sed edits to update script [@MickLesk](https://github.com/MickLesk) ([#13834](https://github.com/community-scripts/ProxmoxVE/pull/13834))
|
||||||
|
|
||||||
|
### 🧰 Tools
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- SparkyFitness Garmin Microservice: fix update function [@tomfrenzel](https://github.com/tomfrenzel) ([#13824](https://github.com/community-scripts/ProxmoxVE/pull/13824))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Clean-Orphan-LVM: check all cluster nodes for VM/CT configs [@MickLesk](https://github.com/MickLesk) ([#13837](https://github.com/community-scripts/ProxmoxVE/pull/13837))
|
||||||
|
|
||||||
|
## 2026-04-17
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- step-ca ([#13775](https://github.com/community-scripts/ProxmoxVE/pull/13775))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- core: pin IGC version to compute-runtime compatible tag (Intel GPU) [@MickLesk](https://github.com/MickLesk) ([#13814](https://github.com/community-scripts/ProxmoxVE/pull/13814))
|
||||||
|
- Fix for bambuddy community script update [@abbasegbeyemi](https://github.com/abbasegbeyemi) ([#13816](https://github.com/community-scripts/ProxmoxVE/pull/13816))
|
||||||
|
- Umami: Fix update procedure [@tremor021](https://github.com/tremor021) ([#13807](https://github.com/community-scripts/ProxmoxVE/pull/13807))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- core: sanitize mount_fs input — strip spaces and trailing commas [@MickLesk](https://github.com/MickLesk) ([#13806](https://github.com/community-scripts/ProxmoxVE/pull/13806))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- core: fix some pct create issues (telemetry) + cleanup [@MickLesk](https://github.com/MickLesk) ([#13810](https://github.com/community-scripts/ProxmoxVE/pull/13810))
|
||||||
|
|
||||||
|
## 2026-04-16
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Add pnpm as a dependency to ghost-cli install [@YourFavoriteKyle](https://github.com/YourFavoriteKyle) ([#13789](https://github.com/community-scripts/ProxmoxVE/pull/13789))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- core: wire ENABLE_MKNOD and ALLOW_MOUNT_FS into LXC features [@MickLesk](https://github.com/MickLesk) ([#13796](https://github.com/community-scripts/ProxmoxVE/pull/13796))
|
||||||
|
|
||||||
|
## 2026-04-15
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- iGotify ([#13773](https://github.com/community-scripts/ProxmoxVE/pull/13773))
|
||||||
|
- GitHub-Runner ([#13709](https://github.com/community-scripts/ProxmoxVE/pull/13709))
|
||||||
|
- Revert "Remove low-install-count CT scripts and installers (#13570)" [@CrazyWolf13](https://github.com/CrazyWolf13) ([#13752](https://github.com/community-scripts/ProxmoxVE/pull/13752))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- [alpine-nextcloud] Update Nginx MIME types to support .mjs files [@GuiltyFox](https://github.com/GuiltyFox) ([#13771](https://github.com/community-scripts/ProxmoxVE/pull/13771))
|
||||||
|
- Domain Monitor: Fix file ownership after update [@tremor021](https://github.com/tremor021) ([#13759](https://github.com/community-scripts/ProxmoxVE/pull/13759))
|
||||||
|
|
||||||
|
- #### 💥 Breaking Changes
|
||||||
|
|
||||||
|
- Reitti: refactor scripts for v4 - remove RabbitMQ and Photon [@MickLesk](https://github.com/MickLesk) ([#13728](https://github.com/community-scripts/ProxmoxVE/pull/13728))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Semaphore: add BoltDB to SQLite migration [@tremor021](https://github.com/tremor021) ([#13779](https://github.com/community-scripts/ProxmoxVE/pull/13779))
|
||||||
|
|
||||||
|
### 📚 Documentation
|
||||||
|
|
||||||
|
- cleanup: remove docs/, update README & CONTRIBUTING, fix repo config [@MickLesk](https://github.com/MickLesk) ([#13770](https://github.com/community-scripts/ProxmoxVE/pull/13770))
|
||||||
|
|
||||||
|
## 2026-04-14
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Immich: Pin photo-processing library revisions [@vhsdream](https://github.com/vhsdream) ([#13748](https://github.com/community-scripts/ProxmoxVE/pull/13748))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- BentoPDF: Nginx fixes [@tremor021](https://github.com/tremor021) ([#13741](https://github.com/community-scripts/ProxmoxVE/pull/13741))
|
||||||
|
- Zerobyte: add git to dependencies to fix bun install failure [@Copilot](https://github.com/Copilot) ([#13721](https://github.com/community-scripts/ProxmoxVE/pull/13721))
|
||||||
|
- alpine-nextcloud-install: do not use deprecated nginx config [@AlexanderStein](https://github.com/AlexanderStein) ([#13726](https://github.com/community-scripts/ProxmoxVE/pull/13726))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Mealie: support v3.15+ Nuxt 4 migration [@MickLesk](https://github.com/MickLesk) ([#13731](https://github.com/community-scripts/ProxmoxVE/pull/13731))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Lyrion: correct service name and version file in update script [@MickLesk](https://github.com/MickLesk) ([#13734](https://github.com/community-scripts/ProxmoxVE/pull/13734))
|
||||||
|
- Changedetection: move env vars from service file to .env [@tremor021](https://github.com/tremor021) ([#13732](https://github.com/community-scripts/ProxmoxVE/pull/13732))
|
||||||
|
|
||||||
|
## 2026-04-13
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Slskd: Remove stale Soularr lock file on startup and redirect logs to stderr [@MickLesk](https://github.com/MickLesk) ([#13669](https://github.com/community-scripts/ProxmoxVE/pull/13669))
|
||||||
|
- Bambuddy: preserve database and archive on update [@Copilot](https://github.com/Copilot) ([#13706](https://github.com/community-scripts/ProxmoxVE/pull/13706))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Immich: Pin version to 2.7.5 [@vhsdream](https://github.com/vhsdream) ([#13715](https://github.com/community-scripts/ProxmoxVE/pull/13715))
|
||||||
|
- Bytestash: auto backup/restore data on update [@MickLesk](https://github.com/MickLesk) ([#13707](https://github.com/community-scripts/ProxmoxVE/pull/13707))
|
||||||
|
- OpenCloud: pin version to 6.0.0 [@vhsdream](https://github.com/vhsdream) ([#13691](https://github.com/community-scripts/ProxmoxVE/pull/13691))
|
||||||
|
|
||||||
|
- #### 💥 Breaking Changes
|
||||||
|
|
||||||
|
- Mealie: pin version to v3.14.0 in install and update scripts [@Copilot](https://github.com/Copilot) ([#13724](https://github.com/community-scripts/ProxmoxVE/pull/13724))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- core: remove unused TEMP_DIR mktemp leak in build_container / clean sonarqube [@MickLesk](https://github.com/MickLesk) ([#13708](https://github.com/community-scripts/ProxmoxVE/pull/13708))
|
||||||
|
|
||||||
|
## 2026-04-12
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Alpine-Wakapi: Remove container checks in update_script function [@MickLesk](https://github.com/MickLesk) ([#13694](https://github.com/community-scripts/ProxmoxVE/pull/13694))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- IronClaw: Install keychain dependencies and launch in a DBus session [@MickLesk](https://github.com/MickLesk) ([#13692](https://github.com/community-scripts/ProxmoxVE/pull/13692))
|
||||||
|
- MeTube: Allow pnpm build scripts to fix ERR_PNPM_IGNORED_BUILDS [@MickLesk](https://github.com/MickLesk) ([#13668](https://github.com/community-scripts/ProxmoxVE/pull/13668))
|
||||||
|
|
||||||
## 2026-04-11
|
## 2026-04-11
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
|||||||
Generated
+6
-6
@@ -337,8 +337,8 @@ jobs:
|
|||||||
|
|
||||||
if (infoMatch) {
|
if (infoMatch) {
|
||||||
// ── INFO SUBCOMMAND ──────────────────────────────────────────────
|
// ── INFO SUBCOMMAND ──────────────────────────────────────────────
|
||||||
const notesArr = readJsonBlob(record.notes_json);
|
const notesArr = readJsonBlob(record.notes);
|
||||||
const methodsArr = readJsonBlob(record.install_methods_json);
|
const methodsArr = readJsonBlob(record.install_methods);
|
||||||
|
|
||||||
const out = [];
|
const out = [];
|
||||||
out.push('ℹ️ **PocketBase Bot**: Info for **`' + slug + '`**\n');
|
out.push('ℹ️ **PocketBase Bot**: Info for **`' + slug + '`**\n');
|
||||||
@@ -382,13 +382,13 @@ jobs:
|
|||||||
// ── NOTE SUBCOMMAND ──────────────────────────────────────────────
|
// ── NOTE SUBCOMMAND ──────────────────────────────────────────────
|
||||||
const noteAction = noteMatch[1].toLowerCase();
|
const noteAction = noteMatch[1].toLowerCase();
|
||||||
const noteArgsStr = rest.substring(noteMatch[0].length).trim();
|
const noteArgsStr = rest.substring(noteMatch[0].length).trim();
|
||||||
let notesArr = readJsonBlob(record.notes_json);
|
let notesArr = readJsonBlob(record.notes);
|
||||||
|
|
||||||
async function patchNotes(arr) {
|
async function patchNotes(arr) {
|
||||||
const res = await request(recordsUrl + '/' + record.id, {
|
const res = await request(recordsUrl + '/' + record.id, {
|
||||||
method: 'PATCH',
|
method: 'PATCH',
|
||||||
headers: { 'Authorization': token, 'Content-Type': 'application/json' },
|
headers: { 'Authorization': token, 'Content-Type': 'application/json' },
|
||||||
body: JSON.stringify({ notes_json: JSON.stringify(arr) })
|
body: JSON.stringify({ notes: arr })
|
||||||
});
|
});
|
||||||
if (!res.ok) {
|
if (!res.ok) {
|
||||||
await addReaction('-1');
|
await addReaction('-1');
|
||||||
@@ -504,7 +504,7 @@ jobs:
|
|||||||
// ── METHOD SUBCOMMAND ────────────────────────────────────────────
|
// ── METHOD SUBCOMMAND ────────────────────────────────────────────
|
||||||
const methodArgs = rest.replace(/^method\s*/i, '').trim();
|
const methodArgs = rest.replace(/^method\s*/i, '').trim();
|
||||||
const methodListMode = !methodArgs || methodArgs.toLowerCase() === 'list';
|
const methodListMode = !methodArgs || methodArgs.toLowerCase() === 'list';
|
||||||
let methodsArr = readJsonBlob(record.install_methods_json);
|
let methodsArr = readJsonBlob(record.install_methods);
|
||||||
|
|
||||||
// Method field classification
|
// Method field classification
|
||||||
const RESOURCE_KEYS = { cpu: 'number', ram: 'number', hdd: 'number', os: 'string', version: 'string' };
|
const RESOURCE_KEYS = { cpu: 'number', ram: 'number', hdd: 'number', os: 'string', version: 'string' };
|
||||||
@@ -526,7 +526,7 @@ jobs:
|
|||||||
const res = await request(recordsUrl + '/' + record.id, {
|
const res = await request(recordsUrl + '/' + record.id, {
|
||||||
method: 'PATCH',
|
method: 'PATCH',
|
||||||
headers: { 'Authorization': token, 'Content-Type': 'application/json' },
|
headers: { 'Authorization': token, 'Content-Type': 'application/json' },
|
||||||
body: JSON.stringify({ install_methods_json: arr })
|
body: JSON.stringify({ install_methods: arr })
|
||||||
});
|
});
|
||||||
if (!res.ok) {
|
if (!res.ok) {
|
||||||
await addReaction('-1');
|
await addReaction('-1');
|
||||||
|
|||||||
+238
-328
@@ -35,6 +35,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -51,7 +57,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>April (11 entries)</h4></summary>
|
<summary><h4>April (25 entries)</h4></summary>
|
||||||
|
|
||||||
[View April 2026 Changelog](.github/changelogs/2026/04.md)
|
[View April 2026 Changelog](.github/changelogs/2026/04.md)
|
||||||
|
|
||||||
@@ -442,23 +448,252 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
## 2026-04-26
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- TREK ([#14017](https://github.com/community-scripts/ProxmoxVE/pull/14017))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- fix(2fauth): handle stale backup directory on update [@omertahaoztop](https://github.com/omertahaoztop) ([#14018](https://github.com/community-scripts/ProxmoxVE/pull/14018))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Increase Frigate default CPU cores from 4 to 8 [@MickLesk](https://github.com/MickLesk) ([#14039](https://github.com/community-scripts/ProxmoxVE/pull/14039))
|
||||||
|
- Technitium DNS: Ensure directories exist before running service [@tremor021](https://github.com/tremor021) ([#14030](https://github.com/community-scripts/ProxmoxVE/pull/14030))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- core: Correct deb822 repository flat path detection [@MickLesk](https://github.com/MickLesk) ([#14037](https://github.com/community-scripts/ProxmoxVE/pull/14037))
|
||||||
|
|
||||||
|
## 2026-04-25
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- VictoriaMetrics: Stop vmagent/vmalert before update [@irishpadres](https://github.com/irishpadres) ([#14016](https://github.com/community-scripts/ProxmoxVE/pull/14016))
|
||||||
|
- Domain-Monitor: start apache2 after stop instead of reload [@omertahaoztop](https://github.com/omertahaoztop) ([#14019](https://github.com/community-scripts/ProxmoxVE/pull/14019))
|
||||||
|
- Transmute: Fix ffmpeg detection [@tremor021](https://github.com/tremor021) ([#14008](https://github.com/community-scripts/ProxmoxVE/pull/14008))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Refactor: Technitium DNS [@tremor021](https://github.com/tremor021) ([#14013](https://github.com/community-scripts/ProxmoxVE/pull/14013))
|
||||||
|
|
||||||
|
## 2026-04-24
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Apprise-API ([#13934](https://github.com/community-scripts/ProxmoxVE/pull/13934))
|
||||||
|
- fireshare ([#13995](https://github.com/community-scripts/ProxmoxVE/pull/13995))
|
||||||
|
- Transmute ([#13935](https://github.com/community-scripts/ProxmoxVE/pull/13935))
|
||||||
|
- Jitsi-Meet ([#13897](https://github.com/community-scripts/ProxmoxVE/pull/13897))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Update wger.sh [@Soppster1029](https://github.com/Soppster1029) ([#13977](https://github.com/community-scripts/ProxmoxVE/pull/13977))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Refactor: Ghostfolio [@MickLesk](https://github.com/MickLesk) ([#13990](https://github.com/community-scripts/ProxmoxVE/pull/13990))
|
||||||
|
|
||||||
|
## 2026-04-23
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- mealie: start.sh missing after failed update [@MickLesk](https://github.com/MickLesk) ([#13958](https://github.com/community-scripts/ProxmoxVE/pull/13958))
|
||||||
|
- twingate-connector: perform real apt upgrade during update flow [@MickLesk](https://github.com/MickLesk) ([#13959](https://github.com/community-scripts/ProxmoxVE/pull/13959))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- core: auto-size NODE_OPTIONS heap [@MickLesk](https://github.com/MickLesk) ([#13960](https://github.com/community-scripts/ProxmoxVE/pull/13960))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Update scripts to match standard [@tremor021](https://github.com/tremor021) ([#13956](https://github.com/community-scripts/ProxmoxVE/pull/13956))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- tools.func: upgrade Node.js minor/patch on same major version [@MickLesk](https://github.com/MickLesk) ([#13957](https://github.com/community-scripts/ProxmoxVE/pull/13957))
|
||||||
|
- core: hotfix - prefer silent mode on PHS env conflict [@MickLesk](https://github.com/MickLesk) ([#13951](https://github.com/community-scripts/ProxmoxVE/pull/13951))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- core: improve system update information / lxc stack upgrade [@MickLesk](https://github.com/MickLesk) ([#13970](https://github.com/community-scripts/ProxmoxVE/pull/13970))
|
||||||
|
|
||||||
|
## 2026-04-22
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Dashy ([#13817](https://github.com/community-scripts/ProxmoxVE/pull/13817))
|
||||||
|
- Mini-QR ([#13902](https://github.com/community-scripts/ProxmoxVE/pull/13902))
|
||||||
|
- ownfoil ([#13904](https://github.com/community-scripts/ProxmoxVE/pull/13904))
|
||||||
|
- ERPNext ([#13921](https://github.com/community-scripts/ProxmoxVE/pull/13921))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- add --clear to uv venv in update_script() to prevent interactive prompt [@MickLesk](https://github.com/MickLesk) ([#13926](https://github.com/community-scripts/ProxmoxVE/pull/13926))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- core: Add PHS_VERBOSE env var to skip verbose mode prompts [@gormanity](https://github.com/gormanity) ([#13797](https://github.com/community-scripts/ProxmoxVE/pull/13797))
|
||||||
|
|
||||||
|
## 2026-04-21
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- gogs ([#13896](https://github.com/community-scripts/ProxmoxVE/pull/13896))
|
||||||
|
- anchor ([#13895](https://github.com/community-scripts/ProxmoxVE/pull/13895))
|
||||||
|
- minthcm ([#13903](https://github.com/community-scripts/ProxmoxVE/pull/13903))
|
||||||
|
- foldergram ([#13900](https://github.com/community-scripts/ProxmoxVE/pull/13900))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- OpenCloud: Pin version to 6.1.0 [@vhsdream](https://github.com/vhsdream) ([#13890](https://github.com/community-scripts/ProxmoxVE/pull/13890))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Domain-Locker: Update dependencies [@tremor021](https://github.com/tremor021) ([#13901](https://github.com/community-scripts/ProxmoxVE/pull/13901))
|
||||||
|
- homelable: fix install failure by correcting password-reset chmod target [@Copilot](https://github.com/Copilot) ([#13894](https://github.com/community-scripts/ProxmoxVE/pull/13894))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- FileFlows: Update dependencies [@tremor021](https://github.com/tremor021) ([#13917](https://github.com/community-scripts/ProxmoxVE/pull/13917))
|
||||||
|
|
||||||
|
## 2026-04-20
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- WhoDB ([#13880](https://github.com/community-scripts/ProxmoxVE/pull/13880))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- pangolin: create migration tables before data transfer to prevent role loss [@MickLesk](https://github.com/MickLesk) ([#13874](https://github.com/community-scripts/ProxmoxVE/pull/13874))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Pangolin: pre-apply schema migrations to prevent data loss [@MickLesk](https://github.com/MickLesk) ([#13861](https://github.com/community-scripts/ProxmoxVE/pull/13861))
|
||||||
|
- ActualBudget: change migration messages to warnings [@MickLesk](https://github.com/MickLesk) ([#13860](https://github.com/community-scripts/ProxmoxVE/pull/13860))
|
||||||
|
- slskd: migrate config keys for 0.25.0 breaking change [@MickLesk](https://github.com/MickLesk) ([#13862](https://github.com/community-scripts/ProxmoxVE/pull/13862))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Wanderer: add pocketbase CLI wrapper with env [@MickLesk](https://github.com/MickLesk) ([#13863](https://github.com/community-scripts/ProxmoxVE/pull/13863))
|
||||||
|
- feat(homelable): add password reset utility script [@davidsoncabista](https://github.com/davidsoncabista) ([#13798](https://github.com/community-scripts/ProxmoxVE/pull/13798))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Several Scripts: Bump NodeJS to align Node.js versions with upstream for 5 scripts [@MickLesk](https://github.com/MickLesk) ([#13875](https://github.com/community-scripts/ProxmoxVE/pull/13875))
|
||||||
|
- Refactor: PMG Post Install [@MickLesk](https://github.com/MickLesk) ([#13693](https://github.com/community-scripts/ProxmoxVE/pull/13693))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- core: detect Perl breakage after LXC stack upgrade and improve storage validation [@MickLesk](https://github.com/MickLesk) ([#13879](https://github.com/community-scripts/ProxmoxVE/pull/13879))
|
||||||
|
|
||||||
|
## 2026-04-19
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- nametag ([#13849](https://github.com/community-scripts/ProxmoxVE/pull/13849))
|
||||||
|
|
||||||
|
## 2026-04-18
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Dagu ([#13830](https://github.com/community-scripts/ProxmoxVE/pull/13830))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- BabyBuddy: set DJANGO_SETTINGS_MODULE before migrate in update [@MickLesk](https://github.com/MickLesk) ([#13836](https://github.com/community-scripts/ProxmoxVE/pull/13836))
|
||||||
|
- litellm: add prisma generate and use venv binary directly [@MickLesk](https://github.com/MickLesk) ([#13835](https://github.com/community-scripts/ProxmoxVE/pull/13835))
|
||||||
|
- yamtrack: add missing nginx.conf sed edits to update script [@MickLesk](https://github.com/MickLesk) ([#13834](https://github.com/community-scripts/ProxmoxVE/pull/13834))
|
||||||
|
|
||||||
|
### 🧰 Tools
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- SparkyFitness Garmin Microservice: fix update function [@tomfrenzel](https://github.com/tomfrenzel) ([#13824](https://github.com/community-scripts/ProxmoxVE/pull/13824))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Clean-Orphan-LVM: check all cluster nodes for VM/CT configs [@MickLesk](https://github.com/MickLesk) ([#13837](https://github.com/community-scripts/ProxmoxVE/pull/13837))
|
||||||
|
|
||||||
|
## 2026-04-17
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- step-ca ([#13775](https://github.com/community-scripts/ProxmoxVE/pull/13775))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- core: pin IGC version to compute-runtime compatible tag (Intel GPU) [@MickLesk](https://github.com/MickLesk) ([#13814](https://github.com/community-scripts/ProxmoxVE/pull/13814))
|
||||||
|
- Fix for bambuddy community script update [@abbasegbeyemi](https://github.com/abbasegbeyemi) ([#13816](https://github.com/community-scripts/ProxmoxVE/pull/13816))
|
||||||
|
- Umami: Fix update procedure [@tremor021](https://github.com/tremor021) ([#13807](https://github.com/community-scripts/ProxmoxVE/pull/13807))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- core: sanitize mount_fs input — strip spaces and trailing commas [@MickLesk](https://github.com/MickLesk) ([#13806](https://github.com/community-scripts/ProxmoxVE/pull/13806))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- core: fix some pct create issues (telemetry) + cleanup [@MickLesk](https://github.com/MickLesk) ([#13810](https://github.com/community-scripts/ProxmoxVE/pull/13810))
|
||||||
|
|
||||||
|
## 2026-04-16
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Add pnpm as a dependency to ghost-cli install [@YourFavoriteKyle](https://github.com/YourFavoriteKyle) ([#13789](https://github.com/community-scripts/ProxmoxVE/pull/13789))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- core: wire ENABLE_MKNOD and ALLOW_MOUNT_FS into LXC features [@MickLesk](https://github.com/MickLesk) ([#13796](https://github.com/community-scripts/ProxmoxVE/pull/13796))
|
||||||
|
|
||||||
## 2026-04-15
|
## 2026-04-15
|
||||||
|
|
||||||
### 🆕 New Scripts
|
### 🆕 New Scripts
|
||||||
|
|
||||||
- GitHub-Runner ([#13709](https://github.com/community-scripts/ProxmoxVE/pull/13709))
|
- iGotify ([#13773](https://github.com/community-scripts/ProxmoxVE/pull/13773))
|
||||||
|
- GitHub-Runner ([#13709](https://github.com/community-scripts/ProxmoxVE/pull/13709))
|
||||||
- Revert "Remove low-install-count CT scripts and installers (#13570)" [@CrazyWolf13](https://github.com/CrazyWolf13) ([#13752](https://github.com/community-scripts/ProxmoxVE/pull/13752))
|
- Revert "Remove low-install-count CT scripts and installers (#13570)" [@CrazyWolf13](https://github.com/CrazyWolf13) ([#13752](https://github.com/community-scripts/ProxmoxVE/pull/13752))
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- [alpine-nextcloud] Update Nginx MIME types to support .mjs files [@GuiltyFox](https://github.com/GuiltyFox) ([#13771](https://github.com/community-scripts/ProxmoxVE/pull/13771))
|
||||||
- Domain Monitor: Fix file ownership after update [@tremor021](https://github.com/tremor021) ([#13759](https://github.com/community-scripts/ProxmoxVE/pull/13759))
|
- Domain Monitor: Fix file ownership after update [@tremor021](https://github.com/tremor021) ([#13759](https://github.com/community-scripts/ProxmoxVE/pull/13759))
|
||||||
|
|
||||||
- #### 💥 Breaking Changes
|
- #### 💥 Breaking Changes
|
||||||
|
|
||||||
- Reitti: refactor scripts for v4 - remove RabbitMQ and Photon [@MickLesk](https://github.com/MickLesk) ([#13728](https://github.com/community-scripts/ProxmoxVE/pull/13728))
|
- Reitti: refactor scripts for v4 - remove RabbitMQ and Photon [@MickLesk](https://github.com/MickLesk) ([#13728](https://github.com/community-scripts/ProxmoxVE/pull/13728))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Semaphore: add BoltDB to SQLite migration [@tremor021](https://github.com/tremor021) ([#13779](https://github.com/community-scripts/ProxmoxVE/pull/13779))
|
||||||
|
|
||||||
### 📚 Documentation
|
### 📚 Documentation
|
||||||
|
|
||||||
- cleanup: remove docs/, update README & CONTRIBUTING, fix repo config [@MickLesk](https://github.com/MickLesk) ([#13770](https://github.com/community-scripts/ProxmoxVE/pull/13770))
|
- cleanup: remove docs/, update README & CONTRIBUTING, fix repo config [@MickLesk](https://github.com/MickLesk) ([#13770](https://github.com/community-scripts/ProxmoxVE/pull/13770))
|
||||||
@@ -796,329 +1031,4 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
- #### ✨ New Features
|
- #### ✨ 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))
|
- 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
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Anytype-server: wait for MongoDB readiness before rs.initiate() [@MickLesk](https://github.com/MickLesk) ([#13165](https://github.com/community-scripts/ProxmoxVE/pull/13165))
|
|
||||||
- Frigate: use correct CPU model fallback path [@MickLesk](https://github.com/MickLesk) ([#13164](https://github.com/community-scripts/ProxmoxVE/pull/13164))
|
|
||||||
- iSponsorBlockTV: Fix release fetching [@tremor021](https://github.com/tremor021) ([#13157](https://github.com/community-scripts/ProxmoxVE/pull/13157))
|
|
||||||
- Isponsorblocktv: use quoted heredoc to prevent unbound variable error during CLI wrapper creation [@Copilot](https://github.com/Copilot) ([#13146](https://github.com/community-scripts/ProxmoxVE/pull/13146))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- Headscale: Enable TUN [@tremor021](https://github.com/tremor021) ([#13158](https://github.com/community-scripts/ProxmoxVE/pull/13158))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- core: add missing -searchdomain/-nameserver prefix in base_settings [@MickLesk](https://github.com/MickLesk) ([#13166](https://github.com/community-scripts/ProxmoxVE/pull/13166))
|
|
||||||
|
|
||||||
## 2026-03-20
|
|
||||||
|
|
||||||
### 🆕 New Scripts
|
|
||||||
|
|
||||||
- iSponsorBlockTV ([#13123](https://github.com/community-scripts/ProxmoxVE/pull/13123))
|
|
||||||
- Alpine-Wakapi ([#13119](https://github.com/community-scripts/ProxmoxVE/pull/13119))
|
|
||||||
- teleport ([#13086](https://github.com/community-scripts/ProxmoxVE/pull/13086))
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Reactive-Resume: add git dependency for v5.0.13+ [@MickLesk](https://github.com/MickLesk) ([#13133](https://github.com/community-scripts/ProxmoxVE/pull/13133))
|
|
||||||
- Scanopy: increase default CPU, RAM, and HDD to prevent OOM during Rust build [@Copilot](https://github.com/Copilot) ([#13130](https://github.com/community-scripts/ProxmoxVE/pull/13130))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- Immich: v2.6.1 [@vhsdream](https://github.com/vhsdream) ([#13111](https://github.com/community-scripts/ProxmoxVE/pull/13111))
|
|
||||||
- VM's: add input validation and hostname sanitization to all VM scripts [@MickLesk](https://github.com/MickLesk) ([#12973](https://github.com/community-scripts/ProxmoxVE/pull/12973))
|
|
||||||
|
|
||||||
### 🧰 Tools
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- Harden code-server addon install script [@MickLesk](https://github.com/MickLesk) ([#13116](https://github.com/community-scripts/ProxmoxVE/pull/13116))
|
|
||||||
|
|
||||||
## 2026-03-19
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- Owncast: increase default disk size from 2GB to 10GB [@Copilot](https://github.com/Copilot) ([#13079](https://github.com/community-scripts/ProxmoxVE/pull/13079))
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- fix: remove extra backslash to match single quoted here-doc [@Zelnes](https://github.com/Zelnes) ([#13108](https://github.com/community-scripts/ProxmoxVE/pull/13108))
|
|
||||||
- Reactive-Resume: Upgrade Node to 24 and enable Corepack [@MickLesk](https://github.com/MickLesk) ([#13093](https://github.com/community-scripts/ProxmoxVE/pull/13093))
|
|
||||||
- Increase Tracearr RAM; derive APP_VERSION [@MickLesk](https://github.com/MickLesk) ([#13087](https://github.com/community-scripts/ProxmoxVE/pull/13087))
|
|
||||||
- ProjectSend: Update application access URL [@tremor021](https://github.com/tremor021) ([#13078](https://github.com/community-scripts/ProxmoxVE/pull/13078))
|
|
||||||
- Dispatcharr: use npm install --no-audit --progress=false [@MickLesk](https://github.com/MickLesk) ([#13074](https://github.com/community-scripts/ProxmoxVE/pull/13074))
|
|
||||||
- core: reorder hwaccel setup and adjust GPU group usermod [@MickLesk](https://github.com/MickLesk) ([#13072](https://github.com/community-scripts/ProxmoxVE/pull/13072))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- tools.func: display pin reason in release-check messages [@MickLesk](https://github.com/MickLesk) ([#13095](https://github.com/community-scripts/ProxmoxVE/pull/13095))
|
|
||||||
- NocoDB: Unpin Version to latest [@MickLesk](https://github.com/MickLesk) ([#13094](https://github.com/community-scripts/ProxmoxVE/pull/13094))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- tools.func: use dpkg-query for reliable JDK version detection [@MickLesk](https://github.com/MickLesk) ([#13101](https://github.com/community-scripts/ProxmoxVE/pull/13101))
|
|
||||||
|
|
||||||
### 📚 Documentation
|
|
||||||
|
|
||||||
- Update link from helper-scripts.com to community-scripts.org [@adnanvaldes](https://github.com/adnanvaldes) ([#13098](https://github.com/community-scripts/ProxmoxVE/pull/13098))
|
|
||||||
- github: add PocketBase bot workflow [@MickLesk](https://github.com/MickLesk) ([#13075](https://github.com/community-scripts/ProxmoxVE/pull/13075))
|
|
||||||
|
|
||||||
## 2026-03-18
|
|
||||||
|
|
||||||
### 🆕 New Scripts
|
|
||||||
|
|
||||||
- Alpine-Ntfy [@MickLesk](https://github.com/MickLesk) ([#13048](https://github.com/community-scripts/ProxmoxVE/pull/13048))
|
|
||||||
- Split-Pro ([#12975](https://github.com/community-scripts/ProxmoxVE/pull/12975))
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Tdarr: use curl_with_retry and correct exit code [@MickLesk](https://github.com/MickLesk) ([#13060](https://github.com/community-scripts/ProxmoxVE/pull/13060))
|
|
||||||
- reitti: fix: v4 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#13039](https://github.com/community-scripts/ProxmoxVE/pull/13039))
|
|
||||||
- Paperless-NGX: increase default RAM to 3GB [@MickLesk](https://github.com/MickLesk) ([#13018](https://github.com/community-scripts/ProxmoxVE/pull/13018))
|
|
||||||
- Plex: restart service after update to apply new version [@MickLesk](https://github.com/MickLesk) ([#13017](https://github.com/community-scripts/ProxmoxVE/pull/13017))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- tools: centralize GPU group setup via setup_hwaccel [@MickLesk](https://github.com/MickLesk) ([#13044](https://github.com/community-scripts/ProxmoxVE/pull/13044))
|
|
||||||
- Termix: add guacd build and systemd integration [@MickLesk](https://github.com/MickLesk) ([#12999](https://github.com/community-scripts/ProxmoxVE/pull/12999))
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- Podman: replace deprecated commands with Quadlets [@MickLesk](https://github.com/MickLesk) ([#13052](https://github.com/community-scripts/ProxmoxVE/pull/13052))
|
|
||||||
- Refactor: Jellyfin repo, ffmpeg package and symlinks [@MickLesk](https://github.com/MickLesk) ([#13045](https://github.com/community-scripts/ProxmoxVE/pull/13045))
|
|
||||||
- pve-scripts-local: Increase default disk size from 4GB to 10GB [@MickLesk](https://github.com/MickLesk) ([#13009](https://github.com/community-scripts/ProxmoxVE/pull/13009))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- tools.func Implement pg_cron setup for setup_postgresql [@MickLesk](https://github.com/MickLesk) ([#13053](https://github.com/community-scripts/ProxmoxVE/pull/13053))
|
|
||||||
- tools.func: Implement check_for_gh_tag function [@MickLesk](https://github.com/MickLesk) ([#12998](https://github.com/community-scripts/ProxmoxVE/pull/12998))
|
|
||||||
- tools.func: Implement fetch_and_deploy_gh_tag function [@MickLesk](https://github.com/MickLesk) ([#13000](https://github.com/community-scripts/ProxmoxVE/pull/13000))
|
|
||||||
|
|
||||||
## 2026-03-17
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Gluetun: add OpenVPN process user and cleanup stale config [@MickLesk](https://github.com/MickLesk) ([#13016](https://github.com/community-scripts/ProxmoxVE/pull/13016))
|
|
||||||
- Frigate: check OpenVino model files exist before configuring detector and use curl_with_retry instead of default wget [@MickLesk](https://github.com/MickLesk) ([#13019](https://github.com/community-scripts/ProxmoxVE/pull/13019))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- tools.func: Update `create_self_signed_cert()` [@tremor021](https://github.com/tremor021) ([#13008](https://github.com/community-scripts/ProxmoxVE/pull/13008))
|
|
||||||
|
|
||||||
## 2026-03-16
|
|
||||||
|
|
||||||
### 🆕 New Scripts
|
|
||||||
|
|
||||||
- Gluetun ([#12976](https://github.com/community-scripts/ProxmoxVE/pull/12976))
|
|
||||||
- Anytype-Server ([#12974](https://github.com/community-scripts/ProxmoxVE/pull/12974))
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Immich: use gcc-13 for compilation & add uv python pre-install with retry logic [@MickLesk](https://github.com/MickLesk) ([#12935](https://github.com/community-scripts/ProxmoxVE/pull/12935))
|
|
||||||
- Tautulli: add setuptools<81 constraint to update script [@MickLesk](https://github.com/MickLesk) ([#12959](https://github.com/community-scripts/ProxmoxVE/pull/12959))
|
|
||||||
- Seerr: add missing build deps [@MickLesk](https://github.com/MickLesk) ([#12960](https://github.com/community-scripts/ProxmoxVE/pull/12960))
|
|
||||||
- fix: yubal update [@CrazyWolf13](https://github.com/CrazyWolf13) ([#12961](https://github.com/community-scripts/ProxmoxVE/pull/12961))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- hwaccel: remove ROCm install from AMD APU setup [@MickLesk](https://github.com/MickLesk) ([#12958](https://github.com/community-scripts/ProxmoxVE/pull/12958))
|
|
||||||
|
|
||||||
## 2026-03-15
|
|
||||||
|
|
||||||
### 🆕 New Scripts
|
|
||||||
|
|
||||||
- Yamtrack ([#12936](https://github.com/community-scripts/ProxmoxVE/pull/12936))
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Wishlist: use --frozen-lockfile for pnpm install [@MickLesk](https://github.com/MickLesk) ([#12892](https://github.com/community-scripts/ProxmoxVE/pull/12892))
|
|
||||||
- SparkyFitness: use --legacy-peer-deps for npm install [@MickLesk](https://github.com/MickLesk) ([#12888](https://github.com/community-scripts/ProxmoxVE/pull/12888))
|
|
||||||
- Frigate: add fallback for OpenVino labelmap file [@MickLesk](https://github.com/MickLesk) ([#12889](https://github.com/community-scripts/ProxmoxVE/pull/12889))
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- Refactor: ITSM-NG [@MickLesk](https://github.com/MickLesk) ([#12918](https://github.com/community-scripts/ProxmoxVE/pull/12918))
|
|
||||||
- core: unify RELEASE variable for check_for_gh_release and fetch_and_deploy [@MickLesk](https://github.com/MickLesk) ([#12917](https://github.com/community-scripts/ProxmoxVE/pull/12917))
|
|
||||||
- Standardize NSAPP names across VM scripts [@MickLesk](https://github.com/MickLesk) ([#12924](https://github.com/community-scripts/ProxmoxVE/pull/12924))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- core: retry downloads with exponential backoff [@MickLesk](https://github.com/MickLesk) ([#12896](https://github.com/community-scripts/ProxmoxVE/pull/12896))
|
|
||||||
|
|
||||||
### ❔ Uncategorized
|
|
||||||
|
|
||||||
- [go2rtc] Add ffmpeg dependency to install script [@Copilot](https://github.com/Copilot) ([#12944](https://github.com/community-scripts/ProxmoxVE/pull/12944))
|
|
||||||
|
|
||||||
## 2026-03-14
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Patchmon: remove v prefix from pinned version [@MickLesk](https://github.com/MickLesk) ([#12891](https://github.com/community-scripts/ProxmoxVE/pull/12891))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- tools.func: don't abort on AMD repo apt update failure [@MickLesk](https://github.com/MickLesk) ([#12890](https://github.com/community-scripts/ProxmoxVE/pull/12890))
|
|
||||||
|
|
||||||
## 2026-03-13
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Hotfix: Removed clean install usage from original script. [@nickheyer](https://github.com/nickheyer) ([#12870](https://github.com/community-scripts/ProxmoxVE/pull/12870))
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- Discopanel: V2 Support + Script rewrite [@nickheyer](https://github.com/nickheyer) ([#12763](https://github.com/community-scripts/ProxmoxVE/pull/12763))
|
|
||||||
|
|
||||||
### 🧰 Tools
|
|
||||||
|
|
||||||
- update-apps: fix restore path, add PBS support and improve restore messages [@omertahaoztop](https://github.com/omertahaoztop) ([#12528](https://github.com/community-scripts/ProxmoxVE/pull/12528))
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- fix(pve-privilege-converter): handle already stopped container in manage_states [@liuqitoday](https://github.com/liuqitoday) ([#12765](https://github.com/community-scripts/ProxmoxVE/pull/12765))
|
|
||||||
|
|
||||||
### 📚 Documentation
|
|
||||||
|
|
||||||
- Update: Docs/website metadata workflow [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#12858](https://github.com/community-scripts/ProxmoxVE/pull/12858))
|
|
||||||
+10
-7
@@ -24,7 +24,7 @@ function update_script() {
|
|||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
|
|
||||||
if [[ ! -d "/opt/2fauth" ]]; then
|
if [[ ! -d /opt/2fauth ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
@@ -34,7 +34,8 @@ function update_script() {
|
|||||||
$STD apt -y upgrade
|
$STD apt -y upgrade
|
||||||
|
|
||||||
msg_info "Creating Backup"
|
msg_info "Creating Backup"
|
||||||
mv "/opt/2fauth" "/opt/2fauth-backup"
|
rm -rf /opt/2fauth-backup
|
||||||
|
mv /opt/2fauth /opt/2fauth-backup
|
||||||
if ! dpkg -l | grep -q 'php8.4'; then
|
if ! dpkg -l | grep -q 'php8.4'; then
|
||||||
cp /etc/nginx/conf.d/2fauth.conf /etc/nginx/conf.d/2fauth.conf.bak
|
cp /etc/nginx/conf.d/2fauth.conf /etc/nginx/conf.d/2fauth.conf.bak
|
||||||
fi
|
fi
|
||||||
@@ -46,15 +47,17 @@ function update_script() {
|
|||||||
fi
|
fi
|
||||||
fetch_and_deploy_gh_release "2fauth" "Bubka/2FAuth" "tarball"
|
fetch_and_deploy_gh_release "2fauth" "Bubka/2FAuth" "tarball"
|
||||||
setup_composer
|
setup_composer
|
||||||
mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env"
|
cp /opt/2fauth-backup/.env /opt/2fauth/.env
|
||||||
mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage"
|
cp -r /opt/2fauth-backup/storage /opt/2fauth/storage
|
||||||
cd "/opt/2fauth" || return
|
cd /opt/2fauth || return
|
||||||
chown -R www-data: "/opt/2fauth"
|
|
||||||
chmod -R 755 "/opt/2fauth"
|
|
||||||
export COMPOSER_ALLOW_SUPERUSER=1
|
export COMPOSER_ALLOW_SUPERUSER=1
|
||||||
$STD composer install --no-dev --prefer-dist
|
$STD composer install --no-dev --prefer-dist
|
||||||
php artisan 2fauth:install
|
php artisan 2fauth:install
|
||||||
|
chown -R www-data: /opt/2fauth
|
||||||
|
chmod -R 755 /opt/2fauth
|
||||||
|
$STD systemctl restart php8.4-fpm
|
||||||
$STD systemctl restart nginx
|
$STD systemctl restart nginx
|
||||||
|
rm -rf /opt/2fauth-backup
|
||||||
msg_ok "Updated successfully!"
|
msg_ok "Updated successfully!"
|
||||||
fi
|
fi
|
||||||
exit
|
exit
|
||||||
|
|||||||
+3
-3
@@ -48,9 +48,9 @@ function update_script() {
|
|||||||
msg_ok "Updated successfully!"
|
msg_ok "Updated successfully!"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
msg_info "Old Installation Found, you need to migrate your data and recreate to a new container"
|
msg_warn "Old Installation Found, you need to migrate your data and recreate to a new container"
|
||||||
msg_info "Please follow the instructions on the Actual Budget website to migrate your data"
|
msg_warn "Please follow the instructions on the Actual Budget website to migrate your data"
|
||||||
msg_info "https://actualbudget.org/docs/backup-restore/backup"
|
msg_warn "https://actualbudget.org/docs/backup-restore/backup"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
exit
|
exit
|
||||||
|
|||||||
@@ -0,0 +1,83 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/ZhFahim/anchor
|
||||||
|
|
||||||
|
APP="Anchor"
|
||||||
|
var_tags="${var_tags:-notes;productivity;sync}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-10}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -f ~/.anchor ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "anchor" "ZhFahim/anchor"; then
|
||||||
|
msg_info "Stopping Services"
|
||||||
|
systemctl stop anchor-web anchor-server
|
||||||
|
msg_ok "Stopped Services"
|
||||||
|
|
||||||
|
msg_info "Backing up Configuration"
|
||||||
|
cp /opt/anchor/.env /opt/anchor.env.bak
|
||||||
|
msg_ok "Backed up Configuration"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "anchor" "ZhFahim/anchor" "tarball"
|
||||||
|
|
||||||
|
msg_info "Building Server"
|
||||||
|
cd /opt/anchor/server
|
||||||
|
$STD pnpm install --frozen-lockfile
|
||||||
|
$STD pnpm prisma generate
|
||||||
|
$STD pnpm build
|
||||||
|
[[ -d src/generated ]] && mkdir -p dist/src && cp -R src/generated dist/src/
|
||||||
|
msg_ok "Built Server"
|
||||||
|
|
||||||
|
msg_info "Building Web Interface"
|
||||||
|
cd /opt/anchor/web
|
||||||
|
$STD pnpm install --frozen-lockfile
|
||||||
|
SERVER_URL=http://127.0.0.1:3001 $STD pnpm build
|
||||||
|
cp -r .next/static .next/standalone/.next/static
|
||||||
|
cp -r public .next/standalone/public
|
||||||
|
msg_ok "Built Web Interface"
|
||||||
|
|
||||||
|
cp /opt/anchor.env.bak /opt/anchor/.env
|
||||||
|
rm -f /opt/anchor.env.bak
|
||||||
|
|
||||||
|
msg_info "Running Database Migrations"
|
||||||
|
cd /opt/anchor/server
|
||||||
|
set -a && source /opt/anchor/.env && set +a
|
||||||
|
$STD pnpm prisma migrate deploy
|
||||||
|
msg_ok "Ran Database Migrations"
|
||||||
|
|
||||||
|
msg_info "Starting Services"
|
||||||
|
systemctl start anchor-server anchor-web
|
||||||
|
msg_ok "Started Services"
|
||||||
|
msg_ok "Updated ${APP}"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: SystemIdleProcess
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/caronc/apprise-api
|
||||||
|
|
||||||
|
APP="Apprise-API"
|
||||||
|
var_tags="${var_tags:-notification}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-512}"
|
||||||
|
var_disk="${var_disk:-2}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -d "/opt/apprise" ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
if check_for_gh_release "apprise" "caronc/apprise-api"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop apprise-api
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
PYTHON_VERSION="3.12" setup_uv
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "apprise" "caronc/apprise-api" "tarball"
|
||||||
|
|
||||||
|
msg_info "Updating Apprise-API"
|
||||||
|
cd /opt/apprise
|
||||||
|
cp ./requirements.txt /etc/requirements.txt
|
||||||
|
$STD apt install -y nginx git
|
||||||
|
$STD uv pip install -r requirements.txt gunicorn supervisor --system
|
||||||
|
cp -fr apprise_api/static /usr/share/nginx/html/s/
|
||||||
|
mv apprise_api/ webapp
|
||||||
|
touch /etc/nginx/server-override.conf
|
||||||
|
touch /etc/nginx/location-override.conf
|
||||||
|
mkdir -p /config/store /attach /plugin /tmp/apprise /opt/apprise/logs
|
||||||
|
chmod 1777 /tmp/apprise && chmod 777 /config /config/store /attach /plugin /opt/apprise/logs
|
||||||
|
sed -i \
|
||||||
|
-e '/[[]program:nginx]/,/^[[]/ s|stdout_logfile=/dev/stdout|stdout_logfile=/opt/apprise/logs/nginx.log|' \
|
||||||
|
-e '/[[]program:nginx]/,/^[[]/ s|stderr_logfile=/dev/stderr|stderr_logfile=/opt/apprise/logs/nginx_error.log|' \
|
||||||
|
-e '/[[]program:gunicorn]/,/^[[]/ s|stdout_logfile=/dev/stdout|stdout_logfile=/opt/apprise/logs/gunicorn.log|' \
|
||||||
|
-e '/[[]program:gunicorn]/,/^[[]/ s|stderr_logfile=/dev/stderr|stderr_logfile=/opt/apprise/logs/gunicorn_error.log|' \
|
||||||
|
-e '/[[]supervisord]/,/^[[]/ s|logfile=/dev/null|logfile=/opt/apprise/logs/supervisor.log|' \
|
||||||
|
-e 's|_maxbytes=0|_maxbytes=10485760|g' \
|
||||||
|
/opt/apprise/webapp/etc/supervisord.conf
|
||||||
|
msg_ok "Updated Apprise-API"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start apprise-api
|
||||||
|
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}:8000${CL}"
|
||||||
@@ -48,6 +48,7 @@ function update_script() {
|
|||||||
mv /tmp/production.py.bak /opt/babybuddy/babybuddy/settings/production.py
|
mv /tmp/production.py.bak /opt/babybuddy/babybuddy/settings/production.py
|
||||||
source .venv/bin/activate
|
source .venv/bin/activate
|
||||||
$STD uv pip install -r requirements.txt
|
$STD uv pip install -r requirements.txt
|
||||||
|
export DJANGO_SETTINGS_MODULE=babybuddy.settings.production
|
||||||
$STD python manage.py migrate
|
$STD python manage.py migrate
|
||||||
msg_ok "Updated ${APP}"
|
msg_ok "Updated ${APP}"
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -48,7 +48,7 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Updating Python Dependencies"
|
msg_info "Updating Python Dependencies"
|
||||||
cd /opt/bambuddy
|
cd /opt/bambuddy
|
||||||
$STD uv venv
|
$STD uv venv --clear
|
||||||
$STD uv pip install -r requirements.txt
|
$STD uv pip install -r requirements.txt
|
||||||
msg_ok "Updated Python Dependencies"
|
msg_ok "Updated Python Dependencies"
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -44,7 +44,7 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
cd /opt/calibre-web
|
cd /opt/calibre-web
|
||||||
$STD uv venv
|
$STD uv venv --clear /opt/calibre-web/.venv
|
||||||
$STD uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir --upgrade pip setuptools wheel
|
$STD uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir --upgrade pip setuptools wheel
|
||||||
$STD uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir -r requirements.txt
|
$STD uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir -r requirements.txt
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|||||||
+1
-1
@@ -39,7 +39,7 @@ function update_script() {
|
|||||||
[ -f /opt/checkmate/client/.env.local ] && cp /opt/checkmate/client/.env.local /opt/checkmate_client.env.local.bak
|
[ -f /opt/checkmate/client/.env.local ] && cp /opt/checkmate/client/.env.local /opt/checkmate_client.env.local.bak
|
||||||
msg_ok "Backed up Data"
|
msg_ok "Backed up Data"
|
||||||
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "checkmate" "bluewave-labs/Checkmate"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "checkmate" "bluewave-labs/Checkmate" "tarball"
|
||||||
|
|
||||||
msg_info "Updating Checkmate Server"
|
msg_info "Updating Checkmate Server"
|
||||||
cd /opt/checkmate/server
|
cd /opt/checkmate/server
|
||||||
|
|||||||
+64
@@ -0,0 +1,64 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://dagu.sh/
|
||||||
|
|
||||||
|
APP="Dagu"
|
||||||
|
var_tags="${var_tags:-automation;workflow;scheduler}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-512}"
|
||||||
|
var_disk="${var_disk:-4}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -f /opt/dagu/dagu ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "dagu" "dagucloud/dagu"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop dagu
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Backing up Data"
|
||||||
|
cp -r /opt/dagu/data /opt/dagu_data_backup
|
||||||
|
msg_ok "Backed up Data"
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "dagu" "dagucloud/dagu" "prebuild" "latest" "/opt/dagu" "dagu_*_linux_amd64.tar.gz"
|
||||||
|
|
||||||
|
msg_info "Restoring Data"
|
||||||
|
mkdir -p /opt/dagu/data
|
||||||
|
cp -r /opt/dagu_data_backup/. /opt/dagu/data
|
||||||
|
rm -rf /opt/dagu_data_backup
|
||||||
|
msg_ok "Restored Data"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start dagu
|
||||||
|
msg_ok "Started Service"
|
||||||
|
msg_ok "Updated successfully!"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"
|
||||||
+73
@@ -0,0 +1,73 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: tteck (tteckster) | Co-Author: CrazyWolf13
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://dashy.to/
|
||||||
|
|
||||||
|
APP="Dashy"
|
||||||
|
var_tags="${var_tags:-dashboard}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-6}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -d /opt/dashy/public/ ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
if check_for_gh_release "dashy" "Lissy93/dashy"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop dashy
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Backing up conf.yml"
|
||||||
|
if [[ -f /opt/dashy/public/conf.yml ]]; then
|
||||||
|
cp -R /opt/dashy/public/conf.yml /opt/dashy_conf_backup.yml
|
||||||
|
else
|
||||||
|
cp -R /opt/dashy/user-data/conf.yml /opt/dashy_conf_backup.yml
|
||||||
|
fi
|
||||||
|
msg_ok "Backed up conf.yml"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "dashy" "Lissy93/dashy" "prebuild" "latest" "/opt/dashy" "dashy-*.tar.gz"
|
||||||
|
|
||||||
|
msg_info "Updating Dashy"
|
||||||
|
cd /opt/dashy
|
||||||
|
$STD yarn install --ignore-engines --network-timeout 300000
|
||||||
|
msg_ok "Updated Dashy"
|
||||||
|
|
||||||
|
msg_info "Restoring conf.yml"
|
||||||
|
cp -R /opt/dashy_conf_backup.yml /opt/dashy/user-data
|
||||||
|
msg_ok "Restored conf.yml"
|
||||||
|
|
||||||
|
msg_info "Cleaning"
|
||||||
|
rm -rf /opt/dashy_conf_backup.yml /opt/dashy/public/conf.yml
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|
||||||
|
msg_info "Starting Dashy"
|
||||||
|
systemctl start dashy
|
||||||
|
msg_ok "Started Dashy"
|
||||||
|
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}:4000${CL}"
|
||||||
+5
-1
@@ -53,6 +53,10 @@ function update_script() {
|
|||||||
export PATH="/root/.rbenv/shims:/root/.rbenv/bin:$PATH"
|
export PATH="/root/.rbenv/shims:/root/.rbenv/bin:$PATH"
|
||||||
eval "$(/root/.rbenv/bin/rbenv init - bash)"
|
eval "$(/root/.rbenv/bin/rbenv init - bash)"
|
||||||
|
|
||||||
|
if ! grep -q "OTP_ENCRYPTION_PRIMARY_KEY" /opt/dawarich/.env; then
|
||||||
|
echo "OTP_ENCRYPTION_PRIMARY_KEY=$(openssl rand -hex 32)" >>/opt/dawarich/.env
|
||||||
|
fi
|
||||||
|
|
||||||
set -a && source /opt/dawarich/.env && set +a
|
set -a && source /opt/dawarich/.env && set +a
|
||||||
|
|
||||||
$STD bundle config set --local deployment 'true'
|
$STD bundle config set --local deployment 'true'
|
||||||
@@ -67,8 +71,8 @@ function update_script() {
|
|||||||
$STD npm install
|
$STD npm install
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$STD bundle exec rake assets:precompile
|
|
||||||
$STD bundle exec rails db:migrate
|
$STD bundle exec rails db:migrate
|
||||||
|
$STD bundle exec rake assets:precompile
|
||||||
$STD bundle exec rake data:migrate
|
$STD bundle exec rake data:migrate
|
||||||
msg_ok "Ran Migrations"
|
msg_ok "Ran Migrations"
|
||||||
|
|
||||||
|
|||||||
+36
-34
@@ -20,41 +20,43 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
if [[ ! -d /opt/domain-locker ]]; then
|
if [[ ! -d /opt/domain-locker ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
if check_for_gh_release "domain-locker" "Lissy93/domain-locker"; then
|
|
||||||
msg_info "Stopping Service"
|
|
||||||
systemctl stop domain-locker
|
|
||||||
msg_info "Service stopped"
|
|
||||||
|
|
||||||
PG_VERSION="17" setup_postgresql
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "domain-locker" "Lissy93/domain-locker" "tarball"
|
|
||||||
|
|
||||||
msg_info "Installing Modules (patience)"
|
|
||||||
cd /opt/domain-locker
|
|
||||||
$STD npm install
|
|
||||||
msg_ok "Installed Modules"
|
|
||||||
|
|
||||||
msg_info "Building Domain-Locker (a lot of patience)"
|
|
||||||
set -a
|
|
||||||
source /opt/domain-locker.env
|
|
||||||
set +a
|
|
||||||
$STD npm run build
|
|
||||||
msg_info "Built Domain-Locker"
|
|
||||||
|
|
||||||
msg_info "Restarting Services"
|
|
||||||
systemctl start domain-locker
|
|
||||||
msg_ok "Restarted Services"
|
|
||||||
msg_ok "Updated successfully!"
|
|
||||||
fi
|
|
||||||
exit
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
ensure_dependencies whois
|
||||||
|
|
||||||
|
if check_for_gh_release "domain-locker" "Lissy93/domain-locker"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop domain-locker
|
||||||
|
msg_info "Service stopped"
|
||||||
|
|
||||||
|
PG_VERSION="17" setup_postgresql
|
||||||
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "domain-locker" "Lissy93/domain-locker" "tarball"
|
||||||
|
|
||||||
|
msg_info "Installing Modules (patience)"
|
||||||
|
cd /opt/domain-locker
|
||||||
|
$STD npm install
|
||||||
|
msg_ok "Installed Modules"
|
||||||
|
|
||||||
|
msg_info "Building Domain-Locker (a lot of patience)"
|
||||||
|
set -a
|
||||||
|
source /opt/domain-locker.env
|
||||||
|
set +a
|
||||||
|
$STD npm run build
|
||||||
|
msg_info "Built Domain-Locker"
|
||||||
|
|
||||||
|
msg_info "Restarting Services"
|
||||||
|
systemctl start domain-locker
|
||||||
|
msg_ok "Restarted Services"
|
||||||
|
msg_ok "Updated successfully!"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ function update_script() {
|
|||||||
msg_ok "Restored backup"
|
msg_ok "Restored backup"
|
||||||
|
|
||||||
msg_info "Restarting Services"
|
msg_info "Restarting Services"
|
||||||
systemctl reload apache2
|
systemctl start apache2
|
||||||
msg_ok "Restarted Services"
|
msg_ok "Restarted Services"
|
||||||
msg_ok "Updated successfully!"
|
msg_ok "Updated successfully!"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
#!/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/frappe/erpnext
|
||||||
|
|
||||||
|
APP="ERPNext"
|
||||||
|
var_tags="${var_tags:-erp;business;accounting}"
|
||||||
|
var_cpu="${var_cpu:-4}"
|
||||||
|
var_ram="${var_ram:-4096}"
|
||||||
|
var_disk="${var_disk:-20}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -d /opt/frappe-bench ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
msg_info "Updating ERPNext"
|
||||||
|
$STD sudo -u frappe bash -c 'export PATH="$HOME/.local/bin:$PATH"; cd /opt/frappe-bench && bench update --reset'
|
||||||
|
msg_ok "Updated ERPNext"
|
||||||
|
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} Credentials:${CL}"
|
||||||
|
echo -e "${TAB}${BGN}Username: Administrator${CL}"
|
||||||
|
echo -e "${TAB}${BGN}Password: see ~/erpnext.creds${CL}"
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
#!/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: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/ShaneIsrael/fireshare
|
||||||
|
|
||||||
|
APP="Fireshare"
|
||||||
|
var_tags="${var_tags:-sharing;video}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-10}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -d /opt/fireshare ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "fireshare" "ShaneIsrael/fireshare"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop fireshare
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
mv /opt/fireshare/fireshare.env /opt
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "fireshare" "ShaneIsrael/fireshare" "tarball"
|
||||||
|
mv /opt/fireshare.env /opt/fireshare
|
||||||
|
rm -f /usr/local/bin/fireshare
|
||||||
|
|
||||||
|
msg_info "Updating Fireshare"
|
||||||
|
cd /opt/fireshare
|
||||||
|
$STD uv venv --clear
|
||||||
|
$STD .venv/bin/python -m ensurepip --upgrade
|
||||||
|
$STD .venv/bin/python -m pip install --upgrade --break-system-packages pip
|
||||||
|
$STD .venv/bin/python -m pip install --no-cache-dir --break-system-packages --ignore-installed app/server
|
||||||
|
cp .venv/bin/fireshare /usr/local/bin/fireshare
|
||||||
|
export FLASK_APP="/opt/fireshare/app/server/fireshare:create_app()"
|
||||||
|
export DATA_DIRECTORY=/opt/fireshare-data
|
||||||
|
export IMAGE_DIRECTORY=/opt/fireshare-images
|
||||||
|
export VIDEO_DIRECTORY=/opt/fireshare-videos
|
||||||
|
export PROCESSED_DIRECTORY=/opt/fireshare-processed
|
||||||
|
$STD uv run flask db upgrade
|
||||||
|
msg_ok "Updated Fireshare"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start fireshare
|
||||||
|
msg_ok "Started Service"
|
||||||
|
msg_ok "Updated successfully!"
|
||||||
|
fi
|
||||||
|
cleanup_lxc
|
||||||
|
|
||||||
|
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}"
|
||||||
+1
-1
@@ -38,7 +38,7 @@ function update_script() {
|
|||||||
cp -r /opt/flatnotes/data /opt/flatnotes_data_backup
|
cp -r /opt/flatnotes/data /opt/flatnotes_data_backup
|
||||||
msg_ok "Backed up Configuration and Data"
|
msg_ok "Backed up Configuration and Data"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "flatnotes" "dullage/flatnotes"
|
fetch_and_deploy_gh_release "flatnotes" "dullage/flatnotes" "tarball"
|
||||||
|
|
||||||
msg_info "Updating Flatnotes"
|
msg_info "Updating Flatnotes"
|
||||||
cd /opt/flatnotes/client
|
cd /opt/flatnotes/client
|
||||||
|
|||||||
@@ -0,0 +1,61 @@
|
|||||||
|
#!/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: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/foldergram/foldergram
|
||||||
|
|
||||||
|
APP="Foldergram"
|
||||||
|
var_tags="${var_tags:-photos}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
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/foldergram ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "foldergram" "foldergram/foldergram"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop foldergram
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "foldergram" "foldergram/foldergram" "tarball"
|
||||||
|
|
||||||
|
msg_info "Installing Foldergram"
|
||||||
|
cd /opt/foldergram
|
||||||
|
$STD pnpm install --frozen-lockfile
|
||||||
|
$STD pnpm run build
|
||||||
|
msg_ok "Installed Foldergram"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start foldergram
|
||||||
|
msg_ok "Started Service"
|
||||||
|
msg_ok "Updated successfully!"
|
||||||
|
fi
|
||||||
|
cleanup_lxc
|
||||||
|
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}:4141${CL}"
|
||||||
+1
-1
@@ -7,7 +7,7 @@ source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxV
|
|||||||
|
|
||||||
APP="Frigate"
|
APP="Frigate"
|
||||||
var_tags="${var_tags:-nvr}"
|
var_tags="${var_tags:-nvr}"
|
||||||
var_cpu="${var_cpu:-4}"
|
var_cpu="${var_cpu:-8}"
|
||||||
var_ram="${var_ram:-4096}"
|
var_ram="${var_ram:-4096}"
|
||||||
var_disk="${var_disk:-20}"
|
var_disk="${var_disk:-20}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@ function update_script() {
|
|||||||
check_container_resources
|
check_container_resources
|
||||||
|
|
||||||
setup_mariadb
|
setup_mariadb
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="22" NODE_MODULE="pnpm" setup_nodejs
|
||||||
ensure_dependencies git
|
ensure_dependencies git
|
||||||
|
|
||||||
msg_info "Updating Ghost"
|
msg_info "Updating Ghost"
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Updating Ghostfolio"
|
msg_info "Updating Ghostfolio"
|
||||||
mv /opt/env.backup /opt/ghostfolio/.env
|
mv /opt/env.backup /opt/ghostfolio/.env
|
||||||
|
sed -i -E '/^DATABASE_URL=/ s/[?&]sslmode=prefer//g' /opt/ghostfolio/.env
|
||||||
cd /opt/ghostfolio
|
cd /opt/ghostfolio
|
||||||
$STD npm ci
|
$STD npm ci
|
||||||
$STD npm run build:production
|
$STD npm run build:production
|
||||||
|
|||||||
+65
@@ -0,0 +1,65 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://gogs.io/
|
||||||
|
|
||||||
|
APP="Gogs"
|
||||||
|
var_tags="${var_tags:-git;code;devops}"
|
||||||
|
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/gogs/gogs ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "gogs" "gogs/gogs"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop gogs
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Backing up Data"
|
||||||
|
cp -r /opt/gogs/custom /opt/gogs_custom_backup
|
||||||
|
cp -r /opt/gogs/data /opt/gogs_data_backup
|
||||||
|
msg_ok "Backed up Data"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gogs" "gogs/gogs" "prebuild" "latest" "/opt/gogs" "gogs_*_linux_amd64.tar.gz"
|
||||||
|
|
||||||
|
msg_info "Restoring Data"
|
||||||
|
cp -r /opt/gogs_custom_backup/. /opt/gogs/custom
|
||||||
|
cp -r /opt/gogs_data_backup/. /opt/gogs/data
|
||||||
|
rm -rf /opt/gogs_custom_backup /opt/gogs_data_backup
|
||||||
|
msg_ok "Restored Data"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start gogs
|
||||||
|
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}:3000${CL}"
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
___ __
|
||||||
|
/ | ____ _____/ /_ ____ _____
|
||||||
|
/ /| | / __ \/ ___/ __ \/ __ \/ ___/
|
||||||
|
/ ___ |/ / / / /__/ / / / /_/ / /
|
||||||
|
/_/ |_/_/ /_/\___/_/ /_/\____/_/
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
___ _ ___ ____ ____
|
||||||
|
/ | ____ ____ _____(_)_______ / | / __ \/ _/
|
||||||
|
/ /| | / __ \/ __ \/ ___/ / ___/ _ \______/ /| | / /_/ // /
|
||||||
|
/ ___ |/ /_/ / /_/ / / / (__ ) __/_____/ ___ |/ ____// /
|
||||||
|
/_/ |_/ .___/ .___/_/ /_/____/\___/ /_/ |_/_/ /___/
|
||||||
|
/_/ /_/
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
____
|
||||||
|
/ __ \____ _____ ___ __
|
||||||
|
/ / / / __ `/ __ `/ / / /
|
||||||
|
/ /_/ / /_/ / /_/ / /_/ /
|
||||||
|
/_____/\__,_/\__, /\__,_/
|
||||||
|
/____/
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
____ __
|
||||||
|
/ __ \____ ______/ /_ __ __
|
||||||
|
/ / / / __ `/ ___/ __ \/ / / /
|
||||||
|
/ /_/ / /_/ (__ ) / / / /_/ /
|
||||||
|
/_____/\__,_/____/_/ /_/\__, /
|
||||||
|
/____/
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
__________ ____ _ __ __
|
||||||
|
/ ____/ __ \/ __ \/ | / /__ _ __/ /_
|
||||||
|
/ __/ / /_/ / /_/ / |/ / _ \| |/_/ __/
|
||||||
|
/ /___/ _, _/ ____/ /| / __/> </ /_
|
||||||
|
/_____/_/ |_/_/ /_/ |_/\___/_/|_|\__/
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
_______ __
|
||||||
|
/ ____(_)_______ _____/ /_ ____ _________
|
||||||
|
/ /_ / / ___/ _ \/ ___/ __ \/ __ `/ ___/ _ \
|
||||||
|
/ __/ / / / / __(__ ) / / / /_/ / / / __/
|
||||||
|
/_/ /_/_/ \___/____/_/ /_/\__,_/_/ \___/
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
______ __ __
|
||||||
|
/ ____/___ / /___/ /__ _________ __________ _____ ___
|
||||||
|
/ /_ / __ \/ / __ / _ \/ ___/ __ `/ ___/ __ `/ __ `__ \
|
||||||
|
/ __/ / /_/ / / /_/ / __/ / / /_/ / / / /_/ / / / / / /
|
||||||
|
/_/ \____/_/\__,_/\___/_/ \__, /_/ \__,_/_/ /_/ /_/
|
||||||
|
/____/
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
______
|
||||||
|
/ ____/___ ____ ______
|
||||||
|
/ / __/ __ \/ __ `/ ___/
|
||||||
|
/ /_/ / /_/ / /_/ (__ )
|
||||||
|
\____/\____/\__, /____/
|
||||||
|
/____/
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
_ ______ __ _ ____
|
||||||
|
(_) ____/___ / /_(_) __/_ __
|
||||||
|
/ / / __/ __ \/ __/ / /_/ / / /
|
||||||
|
/ / /_/ / /_/ / /_/ / __/ /_/ /
|
||||||
|
/_/\____/\____/\__/_/_/ \__, /
|
||||||
|
/____/
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
___ __ _ __ ___ __
|
||||||
|
/ (_) /______(_) / |/ /__ ___ / /_
|
||||||
|
__ / / / __/ ___/ /_____/ /|_/ / _ \/ _ \/ __/
|
||||||
|
/ /_/ / / /_(__ ) /_____/ / / / __/ __/ /_
|
||||||
|
\____/_/\__/____/_/ /_/ /_/\___/\___/\__/
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
__ ____ _ ____ ____
|
||||||
|
/ |/ (_)___ (_) / __ \ / __ \
|
||||||
|
/ /|_/ / / __ \/ /_____/ / / / / /_/ /
|
||||||
|
/ / / / / / / / /_____/ /_/ / / _, _/
|
||||||
|
/_/ /_/_/_/ /_/_/ \___\_\/_/ |_|
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
__ ____ __ __ __________ ___
|
||||||
|
/ |/ (_)___ / /_/ / / / ____/ |/ /
|
||||||
|
/ /|_/ / / __ \/ __/ /_/ / / / /|_/ /
|
||||||
|
/ / / / / / / / /_/ __ / /___/ / / /
|
||||||
|
/_/ /_/_/_/ /_/\__/_/ /_/\____/_/ /_/
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
_ __ __
|
||||||
|
/ | / /___ _____ ___ ___ / /_____ _____ _
|
||||||
|
/ |/ / __ `/ __ `__ \/ _ \/ __/ __ `/ __ `/
|
||||||
|
/ /| / /_/ / / / / / / __/ /_/ /_/ / /_/ /
|
||||||
|
/_/ |_/\__,_/_/ /_/ /_/\___/\__/\__,_/\__, /
|
||||||
|
/____/
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
____ _ __
|
||||||
|
____ _ ______ / __/___ (_) /
|
||||||
|
/ __ \ | /| / / __ \/ /_/ __ \/ / /
|
||||||
|
/ /_/ / |/ |/ / / / / __/ /_/ / / /
|
||||||
|
\____/|__/|__/_/ /_/_/ \____/_/_/
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
__
|
||||||
|
_____/ /____ ____ _________ _
|
||||||
|
/ ___/ __/ _ \/ __ \______/ ___/ __ `/
|
||||||
|
(__ ) /_/ __/ /_/ /_____/ /__/ /_/ /
|
||||||
|
/____/\__/\___/ .___/ \___/\__,_/
|
||||||
|
/_/
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
______ __
|
||||||
|
/_ __/________ _____ _________ ___ __ __/ /____
|
||||||
|
/ / / ___/ __ `/ __ \/ ___/ __ `__ \/ / / / __/ _ \
|
||||||
|
/ / / / / /_/ / / / (__ ) / / / / / /_/ / /_/ __/
|
||||||
|
/_/ /_/ \__,_/_/ /_/____/_/ /_/ /_/\__,_/\__/\___/
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
__________ ________ __
|
||||||
|
/_ __/ __ \/ ____/ //_/
|
||||||
|
/ / / /_/ / __/ / ,<
|
||||||
|
/ / / _, _/ /___/ /| |
|
||||||
|
/_/ /_/ |_/_____/_/ |_|
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
_ ____ ____ ____
|
||||||
|
| | / / /_ ____ / __ \/ __ )
|
||||||
|
| | /| / / __ \/ __ \/ / / / __ |
|
||||||
|
| |/ |/ / / / / /_/ / /_/ / /_/ /
|
||||||
|
|__/|__/_/ /_/\____/_____/_____/
|
||||||
|
|
||||||
+1
-1
@@ -43,7 +43,7 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Updating Python Dependencies"
|
msg_info "Updating Python Dependencies"
|
||||||
cd /opt/homelable/backend
|
cd /opt/homelable/backend
|
||||||
$STD uv venv /opt/homelable/backend/.venv
|
$STD uv venv --clear /opt/homelable/backend/.venv
|
||||||
$STD uv pip install --python /opt/homelable/backend/.venv/bin/python -r requirements.txt
|
$STD uv pip install --python /opt/homelable/backend/.venv/bin/python -r requirements.txt
|
||||||
msg_ok "Updated Python Dependencies"
|
msg_ok "Updated Python Dependencies"
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,63 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: pfassina
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/androidseb25/iGotify-Notification-Assistent
|
||||||
|
|
||||||
|
APP="iGotify"
|
||||||
|
var_tags="${var_tags:-notifications;gotify}"
|
||||||
|
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/igotify ]]; then
|
||||||
|
msg_error "No iGotify Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "igotify" "androidseb25/iGotify-Notification-Assistent"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop igotify
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Backing up Configuration"
|
||||||
|
cp /opt/igotify/.env /opt/igotify.env.bak
|
||||||
|
msg_ok "Backed up Configuration"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "igotify" "androidseb25/iGotify-Notification-Assistent" "prebuild" "latest" "/opt/igotify" "iGotify-Notification-Service-amd64-v*.zip"
|
||||||
|
|
||||||
|
msg_info "Restoring Configuration"
|
||||||
|
cp /opt/igotify.env.bak /opt/igotify/.env
|
||||||
|
rm -f /opt/igotify.env.bak
|
||||||
|
msg_ok "Restored Configuration"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start igotify
|
||||||
|
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}"
|
||||||
@@ -27,6 +27,9 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
msg_info "Updating ${APP} LXC"
|
msg_info "Updating ${APP} LXC"
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt -y upgrade
|
$STD apt -y upgrade
|
||||||
|
|||||||
+8
-2
@@ -32,10 +32,16 @@ function update_script() {
|
|||||||
if ! grep -qEi 'ubuntu' /etc/os-release; then
|
if ! grep -qEi 'ubuntu' /etc/os-release; then
|
||||||
msg_info "Updating Intel Dependencies"
|
msg_info "Updating Intel Dependencies"
|
||||||
rm -f ~/.intel-* || true
|
rm -f ~/.intel-* || true
|
||||||
fetch_and_deploy_gh_release "intel-igc-core-2" "intel/intel-graphics-compiler" "binary" "latest" "" "intel-igc-core-2_*_amd64.deb"
|
|
||||||
fetch_and_deploy_gh_release "intel-igc-opencl-2" "intel/intel-graphics-compiler" "binary" "latest" "" "intel-igc-opencl-2_*_amd64.deb"
|
# Fetch compute-runtime first so /tmp/gh_rel.json is populated for IGC tag resolution
|
||||||
fetch_and_deploy_gh_release "intel-libgdgmm12" "intel/compute-runtime" "binary" "latest" "" "libigdgmm12_*_amd64.deb"
|
fetch_and_deploy_gh_release "intel-libgdgmm12" "intel/compute-runtime" "binary" "latest" "" "libigdgmm12_*_amd64.deb"
|
||||||
fetch_and_deploy_gh_release "intel-opencl-icd" "intel/compute-runtime" "binary" "latest" "" "intel-opencl-icd_*_amd64.deb"
|
fetch_and_deploy_gh_release "intel-opencl-icd" "intel/compute-runtime" "binary" "latest" "" "intel-opencl-icd_*_amd64.deb"
|
||||||
|
|
||||||
|
local igc_tag
|
||||||
|
_resolve_igc_tag igc_tag
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "intel-igc-core-2" "intel/intel-graphics-compiler" "binary" "$igc_tag" "" "intel-igc-core-2_*_amd64.deb"
|
||||||
|
fetch_and_deploy_gh_release "intel-igc-opencl-2" "intel/intel-graphics-compiler" "binary" "$igc_tag" "" "intel-igc-opencl-2_*_amd64.deb"
|
||||||
msg_ok "Updated Intel Dependencies"
|
msg_ok "Updated Intel Dependencies"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
#!/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://jitsi.org/
|
||||||
|
|
||||||
|
APP="Jitsi-Meet"
|
||||||
|
var_tags="${var_tags:-video;conference;communication}"
|
||||||
|
var_cpu="${var_cpu:-4}"
|
||||||
|
var_ram="${var_ram:-4096}"
|
||||||
|
var_disk="${var_disk:-12}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-12}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -d /etc/jitsi ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_info "Updating Jitsi Meet"
|
||||||
|
$STD apt update
|
||||||
|
$STD apt install -y --only-upgrade \
|
||||||
|
jitsi-meet \
|
||||||
|
jicofo \
|
||||||
|
jitsi-videobridge2 \
|
||||||
|
prosody
|
||||||
|
msg_ok "Updated Jitsi Meet"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}${CL}"
|
||||||
@@ -29,6 +29,8 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
if check_for_gh_release "kima-hub" "Chevron7Locked/kima-hub"; then
|
if check_for_gh_release "kima-hub" "Chevron7Locked/kima-hub"; then
|
||||||
msg_info "Stopping Services"
|
msg_info "Stopping Services"
|
||||||
systemctl stop kima-frontend kima-backend kima-analyzer kima-analyzer-clap
|
systemctl stop kima-frontend kima-backend kima-analyzer kima-analyzer-clap
|
||||||
|
|||||||
+1
-1
@@ -39,7 +39,7 @@ function update_script() {
|
|||||||
cp /opt/linkding/.env /opt/linkding_env_backup
|
cp /opt/linkding/.env /opt/linkding_env_backup
|
||||||
msg_ok "Backed up Data"
|
msg_ok "Backed up Data"
|
||||||
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "linkding" "sissbruecker/linkding"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "linkding" "sissbruecker/linkding" "tarball"
|
||||||
|
|
||||||
msg_info "Restoring Data"
|
msg_info "Restoring Data"
|
||||||
cp -r /opt/linkding_data_backup/. /opt/linkding/data
|
cp -r /opt/linkding_data_backup/. /opt/linkding/data
|
||||||
|
|||||||
+7
-1
@@ -38,12 +38,18 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Updating LiteLLM"
|
msg_info "Updating LiteLLM"
|
||||||
$STD "$VENV_PATH/bin/python" -m pip install --upgrade litellm[proxy] prisma
|
$STD "$VENV_PATH/bin/python" -m pip install --upgrade litellm[proxy] prisma
|
||||||
|
$STD "$VENV_PATH/bin/prisma" generate
|
||||||
msg_ok "LiteLLM updated"
|
msg_ok "LiteLLM updated"
|
||||||
|
|
||||||
msg_info "Updating DB Schema"
|
msg_info "Updating DB Schema"
|
||||||
$STD uv --directory=/opt/litellm run litellm --config /opt/litellm/litellm.yaml --use_prisma_db_push --skip_server_startup
|
$STD /opt/litellm/.venv/bin/litellm --config /opt/litellm/litellm.yaml --use_prisma_db_push --skip_server_startup
|
||||||
msg_ok "DB Schema Updated"
|
msg_ok "DB Schema Updated"
|
||||||
|
|
||||||
|
msg_info "Updating Service"
|
||||||
|
sed -i 's|ExecStart=uv --directory=/opt/litellm run litellm|ExecStart=/opt/litellm/.venv/bin/litellm|' /etc/systemd/system/litellm.service
|
||||||
|
systemctl daemon-reload
|
||||||
|
msg_ok "Updated Service"
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start litellm
|
systemctl start litellm
|
||||||
msg_ok "Started Service"
|
msg_ok "Started Service"
|
||||||
|
|||||||
+17
-12
@@ -38,10 +38,27 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Backing up Configuration"
|
msg_info "Backing up Configuration"
|
||||||
cp -f /opt/mealie/mealie.env /opt/mealie.env
|
cp -f /opt/mealie/mealie.env /opt/mealie.env
|
||||||
|
[[ -f /opt/mealie/start.sh ]] && cp -f /opt/mealie/start.sh /opt/mealie.start.sh
|
||||||
msg_ok "Backup completed"
|
msg_ok "Backup completed"
|
||||||
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "mealie" "mealie-recipes/mealie" "tarball"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "mealie" "mealie-recipes/mealie" "tarball"
|
||||||
|
|
||||||
|
msg_info "Restoring Configuration"
|
||||||
|
mv -f /opt/mealie.env /opt/mealie/mealie.env
|
||||||
|
if [[ -f /opt/mealie.start.sh ]]; then
|
||||||
|
mv -f /opt/mealie.start.sh /opt/mealie/start.sh
|
||||||
|
else
|
||||||
|
cat <<'STARTEOF' >/opt/mealie/start.sh
|
||||||
|
#!/bin/bash
|
||||||
|
set -a
|
||||||
|
source /opt/mealie/mealie.env
|
||||||
|
set +a
|
||||||
|
exec uv run mealie
|
||||||
|
STARTEOF
|
||||||
|
fi
|
||||||
|
chmod +x /opt/mealie/start.sh
|
||||||
|
msg_ok "Configuration restored"
|
||||||
|
|
||||||
msg_info "Installing Python Dependencies with uv"
|
msg_info "Installing Python Dependencies with uv"
|
||||||
cd /opt/mealie
|
cd /opt/mealie
|
||||||
$STD uv sync --frozen --extra pgsql
|
$STD uv sync --frozen --extra pgsql
|
||||||
@@ -70,18 +87,6 @@ function update_script() {
|
|||||||
$STD uv run python -m nltk.downloader -d /nltk_data averaged_perceptron_tagger_eng
|
$STD uv run python -m nltk.downloader -d /nltk_data averaged_perceptron_tagger_eng
|
||||||
msg_ok "Updated NLTK Data"
|
msg_ok "Updated NLTK Data"
|
||||||
|
|
||||||
msg_info "Restoring Configuration"
|
|
||||||
mv -f /opt/mealie.env /opt/mealie/mealie.env
|
|
||||||
cat <<'STARTEOF' >/opt/mealie/start.sh
|
|
||||||
#!/bin/bash
|
|
||||||
set -a
|
|
||||||
source /opt/mealie/mealie.env
|
|
||||||
set +a
|
|
||||||
exec uv run mealie
|
|
||||||
STARTEOF
|
|
||||||
chmod +x /opt/mealie/start.sh
|
|
||||||
msg_ok "Configuration restored"
|
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start mealie
|
systemctl start mealie
|
||||||
msg_ok "Started Service"
|
msg_ok "Started Service"
|
||||||
|
|||||||
@@ -0,0 +1,63 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: doge0420
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/lyqht/mini-qr
|
||||||
|
|
||||||
|
APP="Mini-QR"
|
||||||
|
var_tags="${var_tags:-QRcode;}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-6}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -d /opt/mini-qr ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "mini-qr" "lyqht/mini-qr"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop caddy
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "mini-qr" "lyqht/mini-qr" "tarball"
|
||||||
|
|
||||||
|
msg_info "Installing Dependencies"
|
||||||
|
cd /opt/mini-qr
|
||||||
|
$STD npm install
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
msg_info "Building MiniQR"
|
||||||
|
$STD npm run build
|
||||||
|
msg_ok "Built MiniQR"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start caddy
|
||||||
|
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}"
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
#!/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: MintHCM
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/minthcm/minthcm
|
||||||
|
|
||||||
|
APP="MintHCM"
|
||||||
|
var_tags="${var_tags:-hcm}"
|
||||||
|
var_disk="${var_disk:-20}"
|
||||||
|
var_cpu="${var_cpu:-4}"
|
||||||
|
var_ram="${var_ram:-4096}"
|
||||||
|
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 /var/www/MintHCM ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_custom "🚀" "${GN}" "The app offers a built-in updater. Please use it."
|
||||||
|
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}"
|
||||||
@@ -28,6 +28,8 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
if check_for_gh_release "myip" "jason5ng32/MyIP"; then
|
if check_for_gh_release "myip" "jason5ng32/MyIP"; then
|
||||||
msg_info "Stopping Services"
|
msg_info "Stopping Services"
|
||||||
systemctl stop myip
|
systemctl stop myip
|
||||||
|
|||||||
@@ -0,0 +1,83 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: MickLesk
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/mattogodoy/nametag
|
||||||
|
|
||||||
|
APP="Nametag"
|
||||||
|
var_tags="${var_tags:-contacts;crm}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-8}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -d /opt/nametag ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "nametag" "mattogodoy/nametag"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop nametag
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Backing up Data"
|
||||||
|
cp /opt/nametag/.env /opt/nametag.env.bak
|
||||||
|
cp -r /opt/nametag/data /opt/nametag_data_bak
|
||||||
|
msg_ok "Backed up Data"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "nametag" "mattogodoy/nametag" "tarball" "latest" "/opt/nametag"
|
||||||
|
|
||||||
|
msg_info "Rebuilding Application"
|
||||||
|
cd /opt/nametag
|
||||||
|
$STD npm ci
|
||||||
|
set -a
|
||||||
|
source /opt/nametag/.env
|
||||||
|
set +a
|
||||||
|
$STD npx prisma generate
|
||||||
|
$STD npm run build
|
||||||
|
cp -r /opt/nametag/.next/static /opt/nametag/.next/standalone/.next/static
|
||||||
|
cp -r /opt/nametag/public /opt/nametag/.next/standalone/public
|
||||||
|
msg_ok "Rebuilt Application"
|
||||||
|
|
||||||
|
msg_info "Restoring Data"
|
||||||
|
cp /opt/nametag.env.bak /opt/nametag/.env
|
||||||
|
cp -r /opt/nametag_data_bak/. /opt/nametag/data/
|
||||||
|
rm -f /opt/nametag.env.bak
|
||||||
|
rm -rf /opt/nametag_data_bak
|
||||||
|
msg_ok "Restored Data"
|
||||||
|
|
||||||
|
msg_info "Running Migrations"
|
||||||
|
cd /opt/nametag
|
||||||
|
$STD npx prisma migrate deploy
|
||||||
|
msg_ok "Ran Migrations"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start nametag
|
||||||
|
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}:3000${CL}"
|
||||||
+1
-1
@@ -34,7 +34,7 @@ function update_script() {
|
|||||||
systemctl stop nodecast-tv
|
systemctl stop nodecast-tv
|
||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "nodecast-tv" "technomancer702/nodecast-tv"
|
fetch_and_deploy_gh_release "nodecast-tv" "technomancer702/nodecast-tv" "tarball"
|
||||||
|
|
||||||
msg_info "Updating Modules"
|
msg_info "Updating Modules"
|
||||||
cd /opt/nodecast-tv
|
cd /opt/nodecast-tv
|
||||||
|
|||||||
+1
-1
@@ -29,7 +29,7 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RELEASE="v6.0.0"
|
RELEASE="v6.1.0"
|
||||||
if check_for_gh_release "OpenCloud" "opencloud-eu/opencloud" "${RELEASE}" "each release is tested individually before the version is updated. Please do not open issues for this"; then
|
if check_for_gh_release "OpenCloud" "opencloud-eu/opencloud" "${RELEASE}" "each release is tested individually before the version is updated. Please do not open issues for this"; then
|
||||||
msg_info "Stopping services"
|
msg_info "Stopping services"
|
||||||
systemctl stop opencloud opencloud-wopi
|
systemctl stop opencloud opencloud-wopi
|
||||||
|
|||||||
+1
-1
@@ -28,7 +28,7 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
if check_for_gh_release "outline" "outline/outline"; then
|
if check_for_gh_release "outline" "outline/outline"; then
|
||||||
msg_info "Stopping Services"
|
msg_info "Stopping Services"
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
#!/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: pajjski
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/a1ex4/ownfoil
|
||||||
|
|
||||||
|
APP="ownfoil"
|
||||||
|
var_tags="${var_tags:-gaming}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-1024}"
|
||||||
|
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/ownfoil ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "ownfoil" "a1ex4/ownfoil"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop ownfoil
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Backing up Data"
|
||||||
|
cp -r /opt/ownfoil/app/config /opt/ownfoil_data_backup
|
||||||
|
msg_ok "Backed up Data"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "ownfoil" "a1ex4/ownfoil" "tarball"
|
||||||
|
|
||||||
|
msg_info "Installing Dependencies"
|
||||||
|
cd /opt/ownfoil
|
||||||
|
$STD source .venv/bin/activate
|
||||||
|
$STD uv pip install -r requirements.txt
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
msg_info "Restoring Data"
|
||||||
|
cp -r /opt/ownfoil_data_backup /opt/ownfoil/app/config
|
||||||
|
rm -rf /opt/ownfoil_data_backup
|
||||||
|
msg_ok "Restored Data"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start ownfoil
|
||||||
|
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}:8465${CL}"
|
||||||
+27
-1
@@ -69,7 +69,33 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Running database migrations"
|
msg_info "Running database migrations"
|
||||||
cd /opt/pangolin
|
cd /opt/pangolin
|
||||||
ENVIRONMENT=prod $STD npx drizzle-kit push --config drizzle.sqlite.config.ts
|
|
||||||
|
# Pre-apply potentially destructive schema changes safely so drizzle-kit
|
||||||
|
# does not recreate tables (which would delete all rows).
|
||||||
|
local DB="/opt/pangolin/config/db/db.sqlite"
|
||||||
|
if [[ -f "$DB" ]]; then
|
||||||
|
sqlite3 "$DB" "ALTER TABLE 'orgs' ADD COLUMN 'settingsLogRetentionDaysConnection' integer DEFAULT 0 NOT NULL;" 2>/dev/null || true
|
||||||
|
sqlite3 "$DB" "ALTER TABLE 'clientSitesAssociationsCache' ADD COLUMN 'isJitMode' integer DEFAULT 0 NOT NULL;" 2>/dev/null || true
|
||||||
|
|
||||||
|
# Create new role-mapping tables and migrate data before drizzle-kit
|
||||||
|
# drops the roleId columns from userOrgs and userInvites.
|
||||||
|
sqlite3 "$DB" "CREATE TABLE IF NOT EXISTS 'userOrgRoles' (
|
||||||
|
'userId' text NOT NULL REFERENCES 'user'('id') ON DELETE CASCADE,
|
||||||
|
'orgId' text NOT NULL REFERENCES 'orgs'('orgId') ON DELETE CASCADE,
|
||||||
|
'roleId' integer NOT NULL REFERENCES 'roles'('roleId') ON DELETE CASCADE,
|
||||||
|
UNIQUE('userId', 'orgId', 'roleId')
|
||||||
|
);" 2>/dev/null || true
|
||||||
|
sqlite3 "$DB" "INSERT OR IGNORE INTO 'userOrgRoles' (userId, orgId, roleId) SELECT userId, orgId, roleId FROM 'userOrgs' WHERE roleId IS NOT NULL;" 2>/dev/null || true
|
||||||
|
|
||||||
|
sqlite3 "$DB" "CREATE TABLE IF NOT EXISTS 'userInviteRoles' (
|
||||||
|
'inviteId' text NOT NULL REFERENCES 'userInvites'('inviteId') ON DELETE CASCADE,
|
||||||
|
'roleId' integer NOT NULL REFERENCES 'roles'('roleId') ON DELETE CASCADE,
|
||||||
|
PRIMARY KEY('inviteId', 'roleId')
|
||||||
|
);" 2>/dev/null || true
|
||||||
|
sqlite3 "$DB" "INSERT OR IGNORE INTO 'userInviteRoles' (inviteId, roleId) SELECT inviteId, roleId FROM 'userInvites' WHERE roleId IS NOT NULL;" 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
ENVIRONMENT=prod $STD npx drizzle-kit push --force --config drizzle.sqlite.config.ts
|
||||||
msg_ok "Ran database migrations"
|
msg_ok "Ran database migrations"
|
||||||
|
|
||||||
msg_info "Updating Badger plugin version"
|
msg_info "Updating Badger plugin version"
|
||||||
|
|||||||
+1
-1
@@ -44,7 +44,7 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Installing Python Dependencies"
|
msg_info "Installing Python Dependencies"
|
||||||
cd /opt/profilarr/backend
|
cd /opt/profilarr/backend
|
||||||
$STD uv venv /opt/profilarr/backend/.venv
|
$STD uv venv --clear /opt/profilarr/backend/.venv
|
||||||
sed 's/==/>=/g' requirements.txt >requirements-relaxed.txt
|
sed 's/==/>=/g' requirements.txt >requirements-relaxed.txt
|
||||||
$STD uv pip install --python /opt/profilarr/backend/.venv/bin/python -r requirements-relaxed.txt
|
$STD uv pip install --python /opt/profilarr/backend/.venv/bin/python -r requirements-relaxed.txt
|
||||||
rm -f requirements-relaxed.txt
|
rm -f requirements-relaxed.txt
|
||||||
|
|||||||
+25
-27
@@ -29,40 +29,38 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -f /opt/semaphore/semaphore_db.bolt ]]; then
|
|
||||||
msg_warn "WARNING: Due to bugs with BoltDB database, update script will move your application"
|
|
||||||
msg_warn "to use SQLite database instead. Unfortunately, this will reset your application and make it a fresh"
|
|
||||||
msg_warn "installation. All your data will be lost!"
|
|
||||||
echo ""
|
|
||||||
read -r -p "${TAB3}Do you want to continue? (y/N): " CONFIRM
|
|
||||||
if [[ ! "$CONFIRM" =~ ^[Yy]$ ]]; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
msg_info "Moving from BoltDB to SQLite"
|
|
||||||
systemctl stop semaphore
|
|
||||||
rm -rf /opt/semaphore/semaphore_db.bolt
|
|
||||||
sed -i \
|
|
||||||
-e 's|"bolt": {|"sqlite": {|' \
|
|
||||||
-e 's|/semaphore_db.bolt"|/database.sqlite"|' \
|
|
||||||
-e '/semaphore_db.bolt/d' \
|
|
||||||
-e '/"dialect"/d' \
|
|
||||||
-e '/^ },$/a\ "dialect": "sqlite",' \
|
|
||||||
/opt/semaphore/config.json
|
|
||||||
SEM_PW=$(cat ~/semaphore.creds)
|
|
||||||
systemctl start semaphore
|
|
||||||
$STD semaphore user add --admin --login admin --email admin@community-scripts.org --name Administrator --password "${SEM_PW}" --config /opt/semaphore/config.json
|
|
||||||
|
|
||||||
msg_ok "Moved from BoltDB to SQLite"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if check_for_gh_release "semaphore" "semaphoreui/semaphore"; then
|
if check_for_gh_release "semaphore" "semaphoreui/semaphore"; then
|
||||||
|
if [[ -f /opt/semaphore/semaphore_db.bolt ]]; then
|
||||||
|
msg_warn "WARNING: Due to bugs with BoltDB database, update script will move your application"
|
||||||
|
msg_warn "to use SQLite database instead. Make sure you have a backup of your data!"
|
||||||
|
echo ""
|
||||||
|
read -r -p "${TAB3}Do you want to continue? (y/N): " CONFIRM
|
||||||
|
if [[ ! "$CONFIRM" =~ ^[Yy]$ ]]; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
msg_info "Moving from BoltDB to SQLite"
|
||||||
|
sed -i \
|
||||||
|
-e 's|"bolt": {|"sqlite": {|' \
|
||||||
|
-e 's|/semaphore_db.bolt"|/database.sqlite"|' \
|
||||||
|
-e '/semaphore_db.bolt/d' \
|
||||||
|
-e '/"dialect"/d' \
|
||||||
|
-e '/^ },$/a\ "dialect": "sqlite",' \
|
||||||
|
/opt/semaphore/config.json
|
||||||
|
msg_ok "Moved from BoltDB to SQLite"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
msg_info "Stopping Service"
|
msg_info "Stopping Service"
|
||||||
systemctl stop semaphore
|
systemctl stop semaphore
|
||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "semaphore" "semaphoreui/semaphore" "binary" "latest" "/opt/semaphore" "semaphore_*_linux_amd64.deb"
|
fetch_and_deploy_gh_release "semaphore" "semaphoreui/semaphore" "binary" "latest" "/opt/semaphore" "semaphore_*_linux_amd64.deb"
|
||||||
|
|
||||||
|
if [[ -f /opt/semaphore/semaphore_db.bolt ]]; then
|
||||||
|
$STD semaphore migrate --from-boltdb /opt/semaphore/semaphore_db.bolt --config /opt/semaphore/config.json
|
||||||
|
rm -f /opt/semaphore/semaphore_db.bolt
|
||||||
|
fi
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start semaphore
|
systemctl start semaphore
|
||||||
msg_ok "Started Service"
|
msg_ok "Started Service"
|
||||||
|
|||||||
+1
-1
@@ -29,7 +29,7 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
PYTHON_VERSION="3.12" setup_uv
|
PYTHON_VERSION="3.12" setup_uv
|
||||||
|
|
||||||
if check_for_gh_release "shelfmark" "calibrain/shelfmark"; then
|
if check_for_gh_release "shelfmark" "calibrain/shelfmark"; then
|
||||||
|
|||||||
@@ -43,6 +43,10 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Restoring config"
|
msg_info "Restoring config"
|
||||||
mv /opt/slskd.yml.bak /opt/slskd/config/slskd.yml
|
mv /opt/slskd.yml.bak /opt/slskd/config/slskd.yml
|
||||||
|
|
||||||
|
# Migrate 0.25.0 breaking config key renames
|
||||||
|
sed -i 's/^global:/transfers:/' /opt/slskd/config/slskd.yml
|
||||||
|
sed -i 's/^integration:/integrations:/' /opt/slskd/config/slskd.yml
|
||||||
msg_ok "Restored config"
|
msg_ok "Restored config"
|
||||||
|
|
||||||
msg_info "Starting Service(s)"
|
msg_info "Starting Service(s)"
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
#!/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: Joerg Heinemann (heinemannj)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/smallstep/certificates
|
||||||
|
|
||||||
|
APP="step-ca"
|
||||||
|
var_tags="${var_tags:-certificate-authority;pki;acme-server}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-512}"
|
||||||
|
var_disk="${var_disk:-2}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -f /etc/apt/sources.list.d/smallstep.sources ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
msg_info "Updating step-ca and step-cli"
|
||||||
|
$STD apt update
|
||||||
|
$STD apt upgrade -y step-ca step-cli
|
||||||
|
$STD systemctl restart step-ca
|
||||||
|
msg_ok "Updated step-ca and step-cli"
|
||||||
|
|
||||||
|
if check_for_gh_release "step-badger" "lukasz-lobocki/step-badger"; then
|
||||||
|
fetch_and_deploy_gh_release "step-badger" "lukasz-lobocki/step-badger" "prebuild" "latest" "/opt/step-badger" "step-badger_Linux_x86_64.tar.gz"
|
||||||
|
msg_ok "Updated step-badger"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}/provisioners${CL}"
|
||||||
+7
-10
@@ -32,8 +32,8 @@ function update_script() {
|
|||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl enable -q --now technitium
|
systemctl enable -q --now technitium
|
||||||
fi
|
fi
|
||||||
if is_package_installed "aspnetcore-runtime-8.0"; then
|
if is_package_installed "aspnetcore-runtime-8.0" || is_package_installed "aspnetcore-runtime-9.0"; then
|
||||||
$STD apt remove -y aspnetcore-runtime-8.0
|
$STD apt remove -y aspnetcore-runtime-*
|
||||||
[ -f /etc/apt/sources.list.d/microsoft-prod.list ] && rm -f /etc/apt/sources.list.d/microsoft-prod.list
|
[ -f /etc/apt/sources.list.d/microsoft-prod.list ] && rm -f /etc/apt/sources.list.d/microsoft-prod.list
|
||||||
[ -f /usr/share/keyrings/microsoft-prod.gpg ] && rm -f /usr/share/keyrings/microsoft-prod.gpg
|
[ -f /usr/share/keyrings/microsoft-prod.gpg ] && rm -f /usr/share/keyrings/microsoft-prod.gpg
|
||||||
setup_deb822_repo \
|
setup_deb822_repo \
|
||||||
@@ -42,18 +42,15 @@ function update_script() {
|
|||||||
"https://packages.microsoft.com/debian/13/prod/" \
|
"https://packages.microsoft.com/debian/13/prod/" \
|
||||||
"trixie" \
|
"trixie" \
|
||||||
"main"
|
"main"
|
||||||
$STD apt install -y aspnetcore-runtime-9.0
|
$STD apt install -y aspnetcore-runtime-10.0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RELEASE=$(curl -fsSL https://technitium.com/dns/ | grep -oP 'Version \K[\d.]+')
|
RELEASE=$(curl -fsSL https://technitium.com/dns/ | grep -oP 'Version \K[\d.]+')
|
||||||
if [[ ! -f ~/.technitium || ${RELEASE} != "$(cat ~/.technitium)" ]]; then
|
if [[ ! -f ~/.technitium || ${RELEASE} != "$(cat ~/.technitium 2>/dev/null)" ]]; then
|
||||||
msg_info "Updating Technitium DNS"
|
systemctl stop technitium
|
||||||
curl -fsSL "https://download.technitium.com/dns/DnsServerPortable.tar.gz" -o /opt/DnsServerPortable.tar.gz
|
fetch_and_deploy_from_url "https://download.technitium.com/dns/DnsServerPortable.tar.gz" /opt/technitium/dns
|
||||||
$STD tar zxvf /opt/DnsServerPortable.tar.gz -C /opt/technitium/dns/
|
|
||||||
rm -f /opt/DnsServerPortable.tar.gz
|
|
||||||
echo "${RELEASE}" >~/.technitium
|
echo "${RELEASE}" >~/.technitium
|
||||||
systemctl restart technitium
|
systemctl start technitium
|
||||||
msg_ok "Updated Technitium DNS"
|
|
||||||
msg_ok "Updated successfully!"
|
msg_ok "Updated successfully!"
|
||||||
else
|
else
|
||||||
msg_ok "No update required. Technitium DNS is already at v${RELEASE}."
|
msg_ok "No update required. Technitium DNS is already at v${RELEASE}."
|
||||||
|
|||||||
+3
-1
@@ -145,7 +145,7 @@ EOF
|
|||||||
cp -r /opt/termix/uploads /opt/termix_uploads_backup
|
cp -r /opt/termix/uploads /opt/termix_uploads_backup
|
||||||
msg_ok "Backed up Data"
|
msg_ok "Backed up Data"
|
||||||
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "termix" "Termix-SSH/Termix"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "termix" "Termix-SSH/Termix" "tarball"
|
||||||
|
|
||||||
msg_info "Recreating Directories"
|
msg_info "Recreating Directories"
|
||||||
mkdir -p /opt/termix/html \
|
mkdir -p /opt/termix/html \
|
||||||
@@ -155,6 +155,8 @@ EOF
|
|||||||
/opt/termix/nginx/client_body
|
/opt/termix/nginx/client_body
|
||||||
msg_ok "Recreated Directories"
|
msg_ok "Recreated Directories"
|
||||||
|
|
||||||
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
msg_info "Building Frontend"
|
msg_info "Building Frontend"
|
||||||
cd /opt/termix
|
cd /opt/termix
|
||||||
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
||||||
|
|||||||
@@ -0,0 +1,83 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/transmute-app/transmute
|
||||||
|
|
||||||
|
APP="Transmute"
|
||||||
|
var_tags="${var_tags:-files;converter}"
|
||||||
|
var_cpu="${var_cpu:-4}"
|
||||||
|
var_ram="${var_ram:-4096}"
|
||||||
|
var_disk="${var_disk:-16}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -d /opt/transmute ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "calibre" "kovidgoyal/calibre" "prebuild" "latest" "/opt/calibre" "calibre-*-x86_64.txz"
|
||||||
|
ln -sf /opt/calibre/ebook-convert /usr/bin/ebook-convert
|
||||||
|
fetch_and_deploy_gh_release "drawio" "jgraph/drawio-desktop" "binary" "latest" "" "drawio-amd64-*.deb"
|
||||||
|
fetch_and_deploy_gh_release "pandoc" "jgm/pandoc" "binary" "latest" "" "pandoc-*-amd64.deb"
|
||||||
|
|
||||||
|
if check_for_gh_release "transmute" "transmute-app/transmute"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop transmute
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Backing up Data"
|
||||||
|
cp /opt/transmute/backend/.env /opt/transmute.env.bak
|
||||||
|
cp -r /opt/transmute/data /opt/transmute_data_bak
|
||||||
|
msg_ok "Backed up Data"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "transmute" "transmute-app/transmute" "tarball"
|
||||||
|
|
||||||
|
msg_info "Updating Python Dependencies"
|
||||||
|
cd /opt/transmute
|
||||||
|
$STD uv venv --clear /opt/transmute/.venv
|
||||||
|
$STD uv pip install --python /opt/transmute/.venv/bin/python -r requirements.txt
|
||||||
|
msg_ok "Updated Python Dependencies"
|
||||||
|
|
||||||
|
msg_info "Rebuilding Frontend"
|
||||||
|
cd /opt/transmute/frontend
|
||||||
|
$STD npm ci
|
||||||
|
$STD npm run build
|
||||||
|
msg_ok "Rebuilt Frontend"
|
||||||
|
|
||||||
|
msg_info "Restoring Data"
|
||||||
|
cp /opt/transmute.env.bak /opt/transmute/backend/.env
|
||||||
|
cp -r /opt/transmute_data_bak/. /opt/transmute/data/
|
||||||
|
rm -f /opt/transmute.env.bak
|
||||||
|
rm -rf /opt/transmute_data_bak
|
||||||
|
msg_ok "Restored Data"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start transmute
|
||||||
|
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}:3313${CL}"
|
||||||
+84
@@ -0,0 +1,84 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/mauriceboe/TREK
|
||||||
|
|
||||||
|
APP="TREK"
|
||||||
|
var_tags="${var_tags:-travel;planning;collaboration}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-8}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -d /opt/trek ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "trek" "mauriceboe/TREK"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop trek
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Backing up Data"
|
||||||
|
cp /opt/trek/server/.env /opt/trek.env.bak
|
||||||
|
mv /opt/trek/data /opt/trek-data.bak
|
||||||
|
mv /opt/trek/uploads /opt/trek-uploads.bak
|
||||||
|
msg_ok "Backed up Data"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "trek" "mauriceboe/TREK" "tarball"
|
||||||
|
|
||||||
|
msg_info "Building Client"
|
||||||
|
cd /opt/trek/client
|
||||||
|
$STD npm ci
|
||||||
|
$STD npm run build
|
||||||
|
mkdir -p /opt/trek/server/public
|
||||||
|
cp -r /opt/trek/client/dist/* /opt/trek/server/public/
|
||||||
|
cp -r /opt/trek/client/public/fonts /opt/trek/server/public/fonts 2>/dev/null || true
|
||||||
|
msg_ok "Built Client"
|
||||||
|
|
||||||
|
msg_info "Installing Server Dependencies"
|
||||||
|
cd /opt/trek/server
|
||||||
|
$STD npm ci
|
||||||
|
msg_ok "Installed Server Dependencies"
|
||||||
|
|
||||||
|
msg_info "Restoring Data"
|
||||||
|
mv /opt/trek-data.bak /opt/trek/data
|
||||||
|
mv /opt/trek-uploads.bak /opt/trek/uploads
|
||||||
|
rm -rf /opt/trek/server/data /opt/trek/server/uploads
|
||||||
|
ln -s /opt/trek/data /opt/trek/server/data
|
||||||
|
ln -s /opt/trek/uploads /opt/trek/server/uploads
|
||||||
|
cp /opt/trek.env.bak /opt/trek/server/.env
|
||||||
|
rm -f /opt/trek.env.bak
|
||||||
|
msg_ok "Restored Data"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start trek
|
||||||
|
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}:3000${CL}"
|
||||||
@@ -29,8 +29,9 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Updating ${APP}"
|
msg_info "Updating Twingate Connector"
|
||||||
ensure_dependencies twingate-connector
|
$STD apt update
|
||||||
|
$STD apt install -y --only-upgrade twingate-connector
|
||||||
$STD systemctl restart twingate-connector
|
$STD systemctl restart twingate-connector
|
||||||
msg_ok "Updated successfully!"
|
msg_ok "Updated successfully!"
|
||||||
exit
|
exit
|
||||||
|
|||||||
+3
-1
@@ -33,7 +33,9 @@ function update_script() {
|
|||||||
systemctl stop umami
|
systemctl stop umami
|
||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "umami" "umami-software/umami" "tarball"
|
mv /opt/umami/.env /opt/.env.bak
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "umami" "umami-software/umami" "tarball"
|
||||||
|
mv /opt/.env.bak /opt/umami/.env
|
||||||
|
|
||||||
msg_info "Updating Umami"
|
msg_info "Updating Umami"
|
||||||
cd /opt/umami
|
cd /opt/umami
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ function update_script() {
|
|||||||
msg_info "Stopping Service"
|
msg_info "Stopping Service"
|
||||||
systemctl stop victoriametrics
|
systemctl stop victoriametrics
|
||||||
[[ -f /etc/systemd/system/victoriametrics-logs.service ]] && systemctl stop victoriametrics-logs
|
[[ -f /etc/systemd/system/victoriametrics-logs.service ]] && systemctl stop victoriametrics-logs
|
||||||
|
[[ -f /etc/systemd/system/vmagent.service ]] && systemctl stop vmagent
|
||||||
|
[[ -f /etc/systemd/system/vmalert.service ]] && systemctl stop vmalert
|
||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
victoriametrics_release=$(curl -fsSL "https://api.github.com/repos/VictoriaMetrics/VictoriaMetrics/releases" |
|
victoriametrics_release=$(curl -fsSL "https://api.github.com/repos/VictoriaMetrics/VictoriaMetrics/releases" |
|
||||||
@@ -62,6 +64,8 @@ function update_script() {
|
|||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start victoriametrics
|
systemctl start victoriametrics
|
||||||
[[ -f /etc/systemd/system/victoriametrics-logs.service ]] && systemctl start victoriametrics-logs
|
[[ -f /etc/systemd/system/victoriametrics-logs.service ]] && systemctl start victoriametrics-logs
|
||||||
|
[[ -f /etc/systemd/system/vmagent.service ]] && systemctl start vmagent
|
||||||
|
[[ -f /etc/systemd/system/vmalert.service ]] && systemctl start vmalert
|
||||||
msg_ok "Started Service"
|
msg_ok "Started Service"
|
||||||
msg_ok "Updated successfully!"
|
msg_ok "Updated successfully!"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -53,6 +53,8 @@ function update_script() {
|
|||||||
set -a && source /opt/wger/.env && set +a
|
set -a && source /opt/wger/.env && set +a
|
||||||
export DJANGO_SETTINGS_MODULE=settings.main
|
export DJANGO_SETTINGS_MODULE=settings.main
|
||||||
$STD uv pip install .
|
$STD uv pip install .
|
||||||
|
$STD npm install
|
||||||
|
$STD npm run build:css:sass
|
||||||
$STD uv run python manage.py migrate
|
$STD uv run python manage.py migrate
|
||||||
$STD uv run python manage.py collectstatic --no-input
|
$STD uv run python manage.py collectstatic --no-input
|
||||||
msg_ok "Updated wger"
|
msg_ok "Updated wger"
|
||||||
|
|||||||
+54
@@ -0,0 +1,54 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://whodb.com/
|
||||||
|
|
||||||
|
APP="WhoDB"
|
||||||
|
var_tags="${var_tags:-database;management;gui}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-512}"
|
||||||
|
var_disk="${var_disk:-2}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -f /opt/whodb/whodb ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "whodb" "clidey/whodb"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop whodb
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "whodb" "clidey/whodb" "singlefile" "latest" "/opt/whodb" "whodb-*-linux-amd64"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start whodb
|
||||||
|
msg_ok "Started Service"
|
||||||
|
msg_ok "Updated successfully!"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"
|
||||||
+4
-1
@@ -43,7 +43,7 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Installing Python Dependencies"
|
msg_info "Installing Python Dependencies"
|
||||||
cd /opt/yamtrack
|
cd /opt/yamtrack
|
||||||
$STD uv venv .venv
|
$STD uv venv --clear .venv
|
||||||
$STD uv pip install --no-cache-dir -r requirements.txt
|
$STD uv pip install --no-cache-dir -r requirements.txt
|
||||||
msg_ok "Installed Python Dependencies"
|
msg_ok "Installed Python Dependencies"
|
||||||
|
|
||||||
@@ -61,7 +61,10 @@ function update_script() {
|
|||||||
msg_info "Updating Nginx Configuration"
|
msg_info "Updating Nginx Configuration"
|
||||||
cp /opt/yamtrack/nginx.conf /etc/nginx/nginx.conf
|
cp /opt/yamtrack/nginx.conf /etc/nginx/nginx.conf
|
||||||
sed -i 's|user abc;|user www-data;|' /etc/nginx/nginx.conf
|
sed -i 's|user abc;|user www-data;|' /etc/nginx/nginx.conf
|
||||||
|
sed -i 's|pid /tmp/nginx.pid;|pid /run/nginx.pid;|' /etc/nginx/nginx.conf
|
||||||
sed -i 's|/yamtrack/staticfiles/|/opt/yamtrack/src/staticfiles/|' /etc/nginx/nginx.conf
|
sed -i 's|/yamtrack/staticfiles/|/opt/yamtrack/src/staticfiles/|' /etc/nginx/nginx.conf
|
||||||
|
sed -i 's|error_log /dev/stderr|error_log /var/log/nginx/error.log|' /etc/nginx/nginx.conf
|
||||||
|
sed -i 's|access_log /dev/stdout|access_log /var/log/nginx/access.log|' /etc/nginx/nginx.conf
|
||||||
$STD systemctl reload nginx
|
$STD systemctl reload nginx
|
||||||
msg_ok "Updated Nginx Configuration"
|
msg_ok "Updated Nginx Configuration"
|
||||||
|
|
||||||
|
|||||||
@@ -137,6 +137,7 @@ EOF
|
|||||||
sed -i -e 's|memory_limit = 128M|memory_limit = 512M|; $aapc.enable_cli=1' /etc/php83/php.ini
|
sed -i -e 's|memory_limit = 128M|memory_limit = 512M|; $aapc.enable_cli=1' /etc/php83/php.ini
|
||||||
sed -i -e 's|upload_max_file_size = 2M|upload_max_file_size = 16G|' /etc/php83/php.ini
|
sed -i -e 's|upload_max_file_size = 2M|upload_max_file_size = 16G|' /etc/php83/php.ini
|
||||||
sed -i -E '/^php_admin_(flag|value)\[opcache/s/^/;/' /etc/php83/php-fpm.d/nextcloud.conf
|
sed -i -E '/^php_admin_(flag|value)\[opcache/s/^/;/' /etc/php83/php-fpm.d/nextcloud.conf
|
||||||
|
sed -i -e 's| js;| mjs js;|' /etc/nginx/mime.types
|
||||||
msg_ok "Installed Nextcloud"
|
msg_ok "Installed Nextcloud"
|
||||||
|
|
||||||
msg_info "Adding Additional Nextcloud Packages"
|
msg_info "Adding Additional Nextcloud Packages"
|
||||||
|
|||||||
@@ -0,0 +1,99 @@
|
|||||||
|
#!/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/ZhFahim/anchor
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
NODE_VERSION="24" NODE_MODULE="pnpm" setup_nodejs
|
||||||
|
PG_VERSION="17" setup_postgresql
|
||||||
|
PG_DB_NAME="anchor" PG_DB_USER="anchor" setup_postgresql_db
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "anchor" "ZhFahim/anchor" "tarball"
|
||||||
|
|
||||||
|
msg_info "Building Server"
|
||||||
|
cd /opt/anchor/server
|
||||||
|
$STD pnpm install --frozen-lockfile
|
||||||
|
$STD pnpm prisma generate
|
||||||
|
$STD pnpm build
|
||||||
|
[[ -d src/generated ]] && mkdir -p dist/src && cp -R src/generated dist/src/
|
||||||
|
msg_ok "Built Server"
|
||||||
|
|
||||||
|
msg_info "Building Web Interface"
|
||||||
|
cd /opt/anchor/web
|
||||||
|
$STD pnpm install --frozen-lockfile
|
||||||
|
SERVER_URL=http://127.0.0.1:3001 $STD pnpm build
|
||||||
|
cp -r .next/static .next/standalone/.next/static
|
||||||
|
cp -r public .next/standalone/public
|
||||||
|
msg_ok "Built Web Interface"
|
||||||
|
|
||||||
|
msg_info "Configuring Application"
|
||||||
|
JWT_SECRET=$(openssl rand -base64 32)
|
||||||
|
cat <<EOF >/opt/anchor/.env
|
||||||
|
APP_URL=http://${LOCAL_IP}:3000
|
||||||
|
JWT_SECRET=${JWT_SECRET}
|
||||||
|
DATABASE_URL=postgresql://anchor:${PG_DB_PASS}@localhost:5432/anchor
|
||||||
|
PG_HOST=localhost
|
||||||
|
PG_USER=anchor
|
||||||
|
PG_PASSWORD=${PG_DB_PASS}
|
||||||
|
PG_DATABASE=anchor
|
||||||
|
PG_PORT=5432
|
||||||
|
EOF
|
||||||
|
msg_ok "Configured Application"
|
||||||
|
|
||||||
|
msg_info "Running Database Migrations"
|
||||||
|
cd /opt/anchor/server
|
||||||
|
set -a && source /opt/anchor/.env && set +a
|
||||||
|
$STD pnpm prisma migrate deploy
|
||||||
|
msg_ok "Ran Database Migrations"
|
||||||
|
|
||||||
|
msg_info "Creating Services"
|
||||||
|
cat <<EOF >/etc/systemd/system/anchor-server.service
|
||||||
|
[Unit]
|
||||||
|
Description=Anchor API Server
|
||||||
|
After=network.target postgresql.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=root
|
||||||
|
WorkingDirectory=/opt/anchor/server
|
||||||
|
EnvironmentFile=/opt/anchor/.env
|
||||||
|
ExecStart=/usr/bin/node dist/src/main.js
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
cat <<EOF >/etc/systemd/system/anchor-web.service
|
||||||
|
[Unit]
|
||||||
|
Description=Anchor Web Interface
|
||||||
|
After=network.target anchor-server.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=root
|
||||||
|
WorkingDirectory=/opt/anchor/web/.next/standalone
|
||||||
|
EnvironmentFile=/opt/anchor/.env
|
||||||
|
Environment=PORT=3000 HOSTNAME=0.0.0.0 NODE_ENV=production
|
||||||
|
ExecStart=/usr/bin/node server.js
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now anchor-server anchor-web
|
||||||
|
msg_ok "Created Services"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: SystemIdleProcess
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/caronc/apprise-api
|
||||||
|
|
||||||
|
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 \
|
||||||
|
nginx \
|
||||||
|
git
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
PYTHON_VERSION="3.12" setup_uv
|
||||||
|
fetch_and_deploy_gh_release "apprise" "caronc/apprise-api" "tarball"
|
||||||
|
|
||||||
|
msg_info "Setup Apprise-API"
|
||||||
|
cd /opt/apprise
|
||||||
|
cp ./requirements.txt /etc/requirements.txt
|
||||||
|
$STD uv pip install -r requirements.txt gunicorn supervisor --system
|
||||||
|
cp -fr apprise_api/static /usr/share/nginx/html/s/
|
||||||
|
mv apprise_api/ webapp
|
||||||
|
touch /etc/nginx/server-override.conf
|
||||||
|
touch /etc/nginx/location-override.conf
|
||||||
|
mkdir -p /config/store /attach /plugin /tmp/apprise /opt/apprise/logs
|
||||||
|
chmod 1777 /tmp/apprise && chmod 777 /config /config/store /attach /plugin /opt/apprise/logs
|
||||||
|
sed -i \
|
||||||
|
-e '/[[]program:nginx]/,/^[[]/ s|stdout_logfile=/dev/stdout|stdout_logfile=/opt/apprise/logs/nginx.log|' \
|
||||||
|
-e '/[[]program:nginx]/,/^[[]/ s|stderr_logfile=/dev/stderr|stderr_logfile=/opt/apprise/logs/nginx_error.log|' \
|
||||||
|
-e '/[[]program:gunicorn]/,/^[[]/ s|stdout_logfile=/dev/stdout|stdout_logfile=/opt/apprise/logs/gunicorn.log|' \
|
||||||
|
-e '/[[]program:gunicorn]/,/^[[]/ s|stderr_logfile=/dev/stderr|stderr_logfile=/opt/apprise/logs/gunicorn_error.log|' \
|
||||||
|
-e '/[[]supervisord]/,/^[[]/ s|logfile=/dev/null|logfile=/opt/apprise/logs/supervisor.log|' \
|
||||||
|
-e 's|_maxbytes=0|_maxbytes=10485760|g' \
|
||||||
|
/opt/apprise/webapp/etc/supervisord.conf
|
||||||
|
msg_ok "Setup Apprise-API"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<EOF >/etc/systemd/system/apprise-api.service
|
||||||
|
[Unit]
|
||||||
|
Description=Apprise-API Service
|
||||||
|
After=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
WorkingDirectory=/opt/apprise
|
||||||
|
ExecStart=/opt/apprise/webapp/supervisord-startup
|
||||||
|
Restart=always
|
||||||
|
RestartSec=30
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now apprise-api
|
||||||
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -22,7 +22,7 @@ msg_ok "Installed Dependencies"
|
|||||||
|
|
||||||
MONGO_VERSION="8.0" setup_mongodb
|
MONGO_VERSION="8.0" setup_mongodb
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="22" setup_nodejs
|
||||||
fetch_and_deploy_gh_release "checkmate" "bluewave-labs/Checkmate"
|
fetch_and_deploy_gh_release "checkmate" "bluewave-labs/Checkmate" "tarball"
|
||||||
|
|
||||||
msg_info "Configuring Checkmate"
|
msg_info "Configuring Checkmate"
|
||||||
JWT_SECRET="$(openssl rand -hex 32)"
|
JWT_SECRET="$(openssl rand -hex 32)"
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
#!/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://dagu.sh/
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "dagu" "dagucloud/dagu" "prebuild" "latest" "/opt/dagu" "dagu_*_linux_amd64.tar.gz"
|
||||||
|
|
||||||
|
msg_info "Setting up Dagu"
|
||||||
|
mkdir -p /opt/dagu/data
|
||||||
|
msg_ok "Set up Dagu"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<EOF >/etc/systemd/system/dagu.service
|
||||||
|
[Unit]
|
||||||
|
Description=Dagu Workflow Engine
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=root
|
||||||
|
WorkingDirectory=/opt/dagu
|
||||||
|
Environment=DAGU_HOME=/opt/dagu/data
|
||||||
|
Environment=DAGU_HOST=0.0.0.0
|
||||||
|
Environment=DAGU_PORT=8080
|
||||||
|
ExecStart=/opt/dagu/dagu start-all
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now dagu
|
||||||
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: tteck (tteckster) | Co-Author: CrazyWolf13
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://dashy.to/
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
NODE_VERSION="24" NODE_MODULE="yarn" setup_nodejs
|
||||||
|
fetch_and_deploy_gh_release "dashy" "Lissy93/dashy" "prebuild" "latest" "/opt/dashy" "dashy-*.tar.gz"
|
||||||
|
|
||||||
|
msg_info "Installing Dashy"
|
||||||
|
cd /opt/dashy
|
||||||
|
$STD yarn install --ignore-engines --network-timeout 300000
|
||||||
|
msg_ok "Installed Dashy"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<EOF >/etc/systemd/system/dashy.service
|
||||||
|
[Unit]
|
||||||
|
Description=dashy
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
WorkingDirectory=/opt/dashy
|
||||||
|
Environment=NODE_OPTIONS=--openssl-legacy-provider
|
||||||
|
ExecStart=/usr/bin/node server.js
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now dashy
|
||||||
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -46,10 +46,12 @@ msg_ok "Set up Directories"
|
|||||||
|
|
||||||
msg_info "Configuring Environment"
|
msg_info "Configuring Environment"
|
||||||
SECRET_KEY_BASE=$(openssl rand -hex 64)
|
SECRET_KEY_BASE=$(openssl rand -hex 64)
|
||||||
|
OTP_ENCRYPTION_PRIMARY_KEY=$(openssl rand -hex 32)
|
||||||
RELEASE=$(get_latest_github_release "Freika/dawarich")
|
RELEASE=$(get_latest_github_release "Freika/dawarich")
|
||||||
cat <<EOF >/opt/dawarich/.env
|
cat <<EOF >/opt/dawarich/.env
|
||||||
RAILS_ENV=production
|
RAILS_ENV=production
|
||||||
SECRET_KEY_BASE=${SECRET_KEY_BASE}
|
SECRET_KEY_BASE=${SECRET_KEY_BASE}
|
||||||
|
OTP_ENCRYPTION_PRIMARY_KEY=${OTP_ENCRYPTION_PRIMARY_KEY}
|
||||||
DATABASE_HOST=localhost
|
DATABASE_HOST=localhost
|
||||||
DATABASE_USERNAME=${PG_DB_USER}
|
DATABASE_USERNAME=${PG_DB_USER}
|
||||||
DATABASE_PASSWORD=${PG_DB_PASS}
|
DATABASE_PASSWORD=${PG_DB_PASS}
|
||||||
|
|||||||
@@ -13,6 +13,10 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
|
msg_info "Installing dependencies"
|
||||||
|
$STD apt install -y whois
|
||||||
|
msg_ok "Installed dependencies"
|
||||||
|
|
||||||
PG_VERSION="17" setup_postgresql
|
PG_VERSION="17" setup_postgresql
|
||||||
PG_DB_NAME="domainlocker_db" PG_DB_USER="domainlocker" setup_postgresql_db
|
PG_DB_NAME="domainlocker_db" PG_DB_USER="domainlocker" setup_postgresql_db
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|||||||
@@ -0,0 +1,106 @@
|
|||||||
|
#!/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/frappe/erpnext
|
||||||
|
|
||||||
|
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 \
|
||||||
|
build-essential \
|
||||||
|
python3-dev \
|
||||||
|
libffi-dev \
|
||||||
|
libssl-dev \
|
||||||
|
redis-server \
|
||||||
|
nginx \
|
||||||
|
supervisor \
|
||||||
|
fail2ban \
|
||||||
|
xvfb \
|
||||||
|
libfontconfig1 \
|
||||||
|
libxrender1 \
|
||||||
|
fontconfig \
|
||||||
|
libjpeg-dev \
|
||||||
|
libmariadb-dev \
|
||||||
|
python3-pip
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
NODE_VERSION="24" NODE_MODULE="yarn" setup_nodejs
|
||||||
|
UV_PYTHON="3.13" setup_uv
|
||||||
|
setup_mariadb
|
||||||
|
|
||||||
|
msg_info "Configuring MariaDB for ERPNext"
|
||||||
|
cat <<EOF >/etc/mysql/mariadb.conf.d/50-erpnext.cnf
|
||||||
|
[mysqld]
|
||||||
|
character-set-server=utf8mb4
|
||||||
|
collation-server=utf8mb4_unicode_ci
|
||||||
|
|
||||||
|
[client]
|
||||||
|
default-character-set=utf8mb4
|
||||||
|
EOF
|
||||||
|
$STD systemctl restart mariadb
|
||||||
|
msg_ok "Configured MariaDB for ERPNext"
|
||||||
|
|
||||||
|
msg_info "Installing wkhtmltopdf"
|
||||||
|
WKHTMLTOPDF_URL="https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_amd64.deb"
|
||||||
|
$STD curl -fsSL -o /tmp/wkhtmltox.deb "$WKHTMLTOPDF_URL"
|
||||||
|
$STD apt install -y /tmp/wkhtmltox.deb
|
||||||
|
rm -f /tmp/wkhtmltox.deb
|
||||||
|
msg_ok "Installed wkhtmltopdf"
|
||||||
|
|
||||||
|
msg_info "Installing Frappe Bench"
|
||||||
|
useradd -m -s /bin/bash frappe
|
||||||
|
chown frappe:frappe /opt
|
||||||
|
echo "frappe ALL=(ALL) NOPASSWD:ALL" >/etc/sudoers.d/frappe
|
||||||
|
$STD sudo -u frappe bash -c 'export PATH="$HOME/.local/bin:$PATH"; uv tool install frappe-bench'
|
||||||
|
msg_ok "Installed Frappe Bench"
|
||||||
|
|
||||||
|
msg_info "Initializing Frappe Bench"
|
||||||
|
ADMIN_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||||
|
DB_ROOT_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||||
|
mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '${DB_ROOT_PASS}'; FLUSH PRIVILEGES;"
|
||||||
|
$STD sudo -u frappe bash -c 'export PATH="$HOME/.local/bin:$PATH"; cd /opt && bench init --frappe-branch version-15 frappe-bench'
|
||||||
|
$STD sudo -u frappe bash -c 'export PATH="$HOME/.local/bin:$PATH"; cd /opt/frappe-bench && bench get-app erpnext --branch version-15'
|
||||||
|
$STD sudo -u frappe bash -c "export PATH=\"\$HOME/.local/bin:\$PATH\"; cd /opt/frappe-bench && bench new-site site1.local --db-root-username root --db-root-password \"$DB_ROOT_PASS\" --admin-password \"$ADMIN_PASS\" --install-app erpnext --set-default"
|
||||||
|
msg_ok "Initialized Frappe Bench"
|
||||||
|
|
||||||
|
msg_info "Configuring ERPNext"
|
||||||
|
cat <<EOF >/opt/frappe-bench/.env
|
||||||
|
ADMIN_PASSWORD=${ADMIN_PASS}
|
||||||
|
DB_ROOT_PASSWORD=${DB_ROOT_PASS}
|
||||||
|
SITE_NAME=site1.local
|
||||||
|
EOF
|
||||||
|
{
|
||||||
|
echo "ERPNext Credentials"
|
||||||
|
echo "=================="
|
||||||
|
echo "Admin Username: Administrator"
|
||||||
|
echo "Admin Password: ${ADMIN_PASS}"
|
||||||
|
echo "DB Root Password: ${DB_ROOT_PASS}"
|
||||||
|
echo "Site Name: site1.local"
|
||||||
|
} >~/erpnext.creds
|
||||||
|
$STD systemctl enable --now redis-server
|
||||||
|
msg_ok "Configured ERPNext"
|
||||||
|
|
||||||
|
msg_info "Setting up Production"
|
||||||
|
BENCH_PY="/home/frappe/.local/share/uv/tools/frappe-bench/bin/python"
|
||||||
|
$STD sudo -u frappe bash -c "curl -fsSL https://bootstrap.pypa.io/get-pip.py | \"${BENCH_PY}\""
|
||||||
|
$STD sudo -u frappe bash -c 'export PATH="$HOME/.local/bin:$PATH"; uv tool install ansible'
|
||||||
|
ln -sf /home/frappe/.local/bin/ansible* /usr/local/bin/
|
||||||
|
$STD bash -c 'export PATH="/home/frappe/.local/bin:$PATH"; cd /opt/frappe-bench && bench setup production frappe --yes'
|
||||||
|
ln -sf /opt/frappe-bench/config/supervisor.conf /etc/supervisor/conf.d/frappe-bench.conf
|
||||||
|
$STD supervisorctl reread
|
||||||
|
$STD supervisorctl update
|
||||||
|
$STD systemctl enable --now supervisor
|
||||||
|
msg_ok "Set up Production"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -5,7 +5,6 @@
|
|||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://fileflows.com/
|
# Source: https://fileflows.com/
|
||||||
|
|
||||||
# Import Functions und Setup
|
|
||||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
color
|
color
|
||||||
verb_ip6
|
verb_ip6
|
||||||
@@ -17,6 +16,7 @@ update_os
|
|||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt install -y \
|
$STD apt install -y \
|
||||||
ffmpeg \
|
ffmpeg \
|
||||||
|
pciutils \
|
||||||
imagemagick
|
imagemagick
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
@@ -35,6 +35,7 @@ fetch_and_deploy_from_url "https://fileflows.com/downloads/zip" "/opt/fileflows"
|
|||||||
|
|
||||||
$STD ln -svf /usr/bin/ffmpeg /usr/local/bin/ffmpeg
|
$STD ln -svf /usr/bin/ffmpeg /usr/local/bin/ffmpeg
|
||||||
$STD ln -svf /usr/bin/ffprobe /usr/local/bin/ffprobe
|
$STD ln -svf /usr/bin/ffprobe /usr/local/bin/ffprobe
|
||||||
|
$STD rm -rf /opt/fileflows/Server/runtimes/win-*
|
||||||
|
|
||||||
read -r -p "${TAB3}Do you want to install FileFlows Server or Node? (S/N): " install_server
|
read -r -p "${TAB3}Do you want to install FileFlows Server or Node? (S/N): " install_server
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,174 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/ShaneIsrael/fireshare
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
setup_hwaccel
|
||||||
|
|
||||||
|
msg_info "Installing Dependencies"
|
||||||
|
$STD apt install -y \
|
||||||
|
git \
|
||||||
|
build-essential \
|
||||||
|
cmake \
|
||||||
|
pkg-config \
|
||||||
|
yasm \
|
||||||
|
nasm \
|
||||||
|
libx264-dev \
|
||||||
|
libx265-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
libaom-dev \
|
||||||
|
libopus-dev \
|
||||||
|
libvorbis-dev \
|
||||||
|
libass-dev \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libmp3lame-dev \
|
||||||
|
nginx-extras \
|
||||||
|
supervisor \
|
||||||
|
libldap2-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libffi-dev \
|
||||||
|
libc-dev
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
NODE_VERSION=24 setup_nodejs
|
||||||
|
PYTHON_VERSION=3.14 setup_uv
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "fireshare" "ShaneIsrael/fireshare" "tarball"
|
||||||
|
|
||||||
|
msg_info "Compiling SVT-AV1 (Patience)"
|
||||||
|
cd /tmp
|
||||||
|
$STD git clone --depth 1 --branch v1.8.0 https://gitlab.com/AOMediaCodec/SVT-AV1.git
|
||||||
|
cd SVT-AV1/Build
|
||||||
|
$STD cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
|
||||||
|
$STD make -j$(nproc)
|
||||||
|
$STD make install
|
||||||
|
msg_ok "Compiled SVT-AV1"
|
||||||
|
|
||||||
|
msg_info "Installing NVDEC headers"
|
||||||
|
cd /tmp
|
||||||
|
$STD git clone --depth 1 --branch n12.1.14.0 https://github.com/FFmpeg/nv-codec-headers.git
|
||||||
|
cd nv-codec-headers
|
||||||
|
$STD make install
|
||||||
|
$STD ldconfig
|
||||||
|
msg_ok "Installed NVDEC headers"
|
||||||
|
|
||||||
|
msg_info "Compiling ffmpeg (Patience)"
|
||||||
|
cd /tmp
|
||||||
|
curl -fsSL https://ffmpeg.org/releases/ffmpeg-6.1.tar.xz -o "ffmpeg-6.1.tar.xz"
|
||||||
|
$STD tar -xf ffmpeg-6.1.tar.xz
|
||||||
|
cd ffmpeg-6.1
|
||||||
|
$STD ./configure \
|
||||||
|
--prefix=/usr/local \
|
||||||
|
--enable-gpl \
|
||||||
|
--enable-version3 \
|
||||||
|
--enable-nonfree \
|
||||||
|
--enable-ffnvcodec \
|
||||||
|
--enable-libx264 \
|
||||||
|
--enable-libx265 \
|
||||||
|
--enable-libvpx \
|
||||||
|
--enable-libaom \
|
||||||
|
--enable-libopus \
|
||||||
|
--enable-libvorbis \
|
||||||
|
--enable-libmp3lame \
|
||||||
|
--enable-libass \
|
||||||
|
--enable-libfreetype \
|
||||||
|
--enable-libsvtav1 \
|
||||||
|
--disable-debug \
|
||||||
|
--disable-doc
|
||||||
|
$STD make -j$(nproc)
|
||||||
|
$STD make install
|
||||||
|
$STD ldconfig
|
||||||
|
msg_ok "Compiled ffmpeg"
|
||||||
|
|
||||||
|
msg_info "Configuring Fireshare (Patience)"
|
||||||
|
ADMIN_PASSWORD=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||||
|
SECRET=$(openssl rand -base64 48)
|
||||||
|
mkdir -p /opt/fireshare-{data,videos,images,processed}
|
||||||
|
cd /opt/fireshare
|
||||||
|
$STD uv venv
|
||||||
|
$STD .venv/bin/python -m ensurepip --upgrade
|
||||||
|
$STD .venv/bin/python -m pip install --upgrade --break-system-packages pip
|
||||||
|
ln -sf /usr/local/bin/ffmpeg /usr/bin/ffmpeg
|
||||||
|
ln -sf /usr/local/bin/ffprobe /usr/bin/ffprobe
|
||||||
|
echo "/usr/local/lib" >/etc/ld.so.conf.d/usr-local.conf
|
||||||
|
echo "/usr/local/cuda/lib64" >>/etc/ld.so.conf.d/usr-local.conf
|
||||||
|
echo "/usr/local/nvidia/lib" >>/etc/ld.so.conf.d/nvidia.conf
|
||||||
|
echo "/usr/local/nvidia/lib64" >>/etc/ld.so.conf.d/nvidia.conf
|
||||||
|
ldconfig
|
||||||
|
$STD .venv/bin/python -m pip install --no-cache-dir --break-system-packages --ignore-installed app/server
|
||||||
|
cp .venv/bin/fireshare /usr/local/bin/fireshare
|
||||||
|
export FLASK_APP="/opt/fireshare/app/server/fireshare:create_app()"
|
||||||
|
export DATA_DIRECTORY=/opt/fireshare-data
|
||||||
|
export IMAGE_DIRECTORY=/opt/fireshare-images
|
||||||
|
export VIDEO_DIRECTORY=/opt/fireshare-videos
|
||||||
|
export PROCESSED_DIRECTORY=/opt/fireshare-processed
|
||||||
|
$STD uv run flask db upgrade
|
||||||
|
|
||||||
|
cat <<EOF >/opt/fireshare/fireshare.env
|
||||||
|
FLASK_APP="/opt/fireshare/app/server/fireshare:create_app()"
|
||||||
|
DOMAIN=
|
||||||
|
ENVIRONMENT=production
|
||||||
|
DATA_DIRECTORY=/opt/fireshare-data
|
||||||
|
IMAGE_DIRECTORY=/opt/fireshare-images
|
||||||
|
VIDEO_DIRECTORY=/opt/fireshare-videos
|
||||||
|
PROCESSED_DIRECTORY=/opt/fireshare-processed
|
||||||
|
TEMPLATE_PATH=/opt/fireshare/app/server/fireshare/templates
|
||||||
|
SECRET_KEY=${SECRET}
|
||||||
|
ADMIN_PASSWORD=${ADMIN_PASSWORD}
|
||||||
|
TZ=UTC
|
||||||
|
LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/lib:/usr/local/cuda/lib64:\$LD_LIBRARY_PATH
|
||||||
|
PATH=/usr/local/bin:$PATH
|
||||||
|
ENABLE_TRANSCODING=
|
||||||
|
TRANSCODE_GPU=
|
||||||
|
NVIDIA_DRIVER_CAPABILITIES=
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cd /opt/fireshare/app/client
|
||||||
|
$STD npm install
|
||||||
|
$STD npm run build
|
||||||
|
systemctl stop nginx
|
||||||
|
cp /opt/fireshare/app/nginx/prod.conf /etc/nginx/nginx.conf
|
||||||
|
sed -i 's|root /processed/|root /opt/fireshare-processed/|g' /etc/nginx/nginx.conf
|
||||||
|
sed -i 's/^user[[:space:]]\+nginx;/user root;/' /etc/nginx/nginx.conf
|
||||||
|
sed -i 's|root[[:space:]]\+/app/build;|root /opt/fireshare/app/client/build;|' /etc/nginx/nginx.conf
|
||||||
|
systemctl start nginx
|
||||||
|
|
||||||
|
cat <<EOF >~/fireshare.creds
|
||||||
|
Fireshare Admin Credentials
|
||||||
|
========================
|
||||||
|
Username: admin
|
||||||
|
Password: ${ADMIN_PASSWORD}
|
||||||
|
EOF
|
||||||
|
msg_ok "Configured Fireshare"
|
||||||
|
|
||||||
|
msg_info "Creating services"
|
||||||
|
cat <<EOF >/etc/systemd/system/fireshare.service
|
||||||
|
[Unit]
|
||||||
|
Description=Fireshare Service
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
WorkingDirectory=/opt/fireshare/app/server
|
||||||
|
ExecStart=/opt/fireshare/.venv/bin/gunicorn --bind=127.0.0.1:5000 "fireshare:create_app(init_schedule=True)" --workers 3 --threads 3 --preload
|
||||||
|
Restart=always
|
||||||
|
EnvironmentFile=/opt/fireshare/fireshare.env
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now fireshare
|
||||||
|
msg_ok "Created services"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/foldergram/foldergram
|
||||||
|
|
||||||
|
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 --no-install-recommends ffmpeg
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
NODE_VERSION=25 NODE_MODULE="corepack" setup_nodejs
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "foldergram" "foldergram/foldergram" "tarball"
|
||||||
|
|
||||||
|
msg_info "Configuring Foldergram"
|
||||||
|
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
||||||
|
$STD corepack enable
|
||||||
|
cd /opt/foldergram
|
||||||
|
$STD pnpm install
|
||||||
|
$STD pnpm run build
|
||||||
|
mkdir -p /opt/foldergram_media
|
||||||
|
cat <<EOF >/opt/foldergram_media/foldergram.env
|
||||||
|
NODE_ENV=production
|
||||||
|
SERVER_PORT=4141
|
||||||
|
DATA_ROOT=/opt/foldergram_media
|
||||||
|
GALLERY_ROOT=/opt/foldergram_media/gallery
|
||||||
|
DB_DIR=/opt/foldergram_media/db
|
||||||
|
THUMBNAILS_DIR=/opt/foldergram_media/thumbnails
|
||||||
|
PREVIEWS_DIR=/opt/foldergram_media/previews
|
||||||
|
IMAGE_DETAIL_SOURCE=preview
|
||||||
|
DERIVATIVE_MODE=eager
|
||||||
|
GALLERY_EXCLUDED_FOLDERS=
|
||||||
|
EOF
|
||||||
|
msg_ok "Configured Foldergram"
|
||||||
|
|
||||||
|
msg_info "Creating services"
|
||||||
|
cat <<EOF >/etc/systemd/system/foldergram.service
|
||||||
|
[Unit]
|
||||||
|
Description=Foldergram Service
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
WorkingDirectory=/opt/foldergram
|
||||||
|
ExecStart=/usr/bin/pnpm start
|
||||||
|
Restart=always
|
||||||
|
EnvironmentFile=/opt/foldergram_media/foldergram.env
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now foldergram
|
||||||
|
msg_ok "Created services"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -23,7 +23,7 @@ msg_ok "Installed Dependencies"
|
|||||||
|
|
||||||
setup_mariadb
|
setup_mariadb
|
||||||
MARIADB_DB_NAME="ghost" MARIADB_DB_USER="ghostuser" setup_mariadb_db
|
MARIADB_DB_NAME="ghost" MARIADB_DB_USER="ghostuser" setup_mariadb_db
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="22" NODE_MODULE="pnpm" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing Ghost CLI"
|
msg_info "Installing Ghost CLI"
|
||||||
$STD npm install ghost-cli@latest -g
|
$STD npm install ghost-cli@latest -g
|
||||||
|
|||||||
@@ -25,25 +25,12 @@ PG_VERSION="17" setup_postgresql
|
|||||||
NODE_VERSION="24" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
msg_info "Setting up Database"
|
msg_info "Setting up Database"
|
||||||
DB_NAME=ghostfolio
|
PG_DB_NAME="ghostfolio" PG_DB_USER="ghostfolio" PG_DB_SCHEMA_PERMS="true" setup_postgresql_db
|
||||||
DB_USER=ghostfolio
|
|
||||||
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
|
||||||
REDIS_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
REDIS_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||||
ACCESS_TOKEN_SALT=$(openssl rand -base64 32)
|
ACCESS_TOKEN_SALT=$(openssl rand -base64 32)
|
||||||
JWT_SECRET_KEY=$(openssl rand -base64 32)
|
JWT_SECRET_KEY=$(openssl rand -base64 32)
|
||||||
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME;"
|
|
||||||
$STD sudo -u postgres psql -c "CREATE USER $DB_USER WITH ENCRYPTED PASSWORD '$DB_PASS';"
|
|
||||||
$STD sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;"
|
|
||||||
$STD sudo -u postgres psql -c "ALTER USER $DB_USER CREATEDB;"
|
|
||||||
$STD sudo -u postgres psql -d $DB_NAME -c "GRANT ALL ON SCHEMA public TO $DB_USER;"
|
|
||||||
$STD sudo -u postgres psql -d $DB_NAME -c "GRANT CREATE ON SCHEMA public TO $DB_USER;"
|
|
||||||
$STD sudo -u postgres psql -d $DB_NAME -c "ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO $DB_USER;"
|
|
||||||
$STD sudo -u postgres psql -d $DB_NAME -c "ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO $DB_USER;"
|
|
||||||
{
|
{
|
||||||
echo "Ghostfolio Credentials"
|
echo "Ghostfolio Credentials"
|
||||||
echo "Database User: $DB_USER"
|
|
||||||
echo "Database Password: $DB_PASS"
|
|
||||||
echo "Database Name: $DB_NAME"
|
|
||||||
echo "Redis Password: $REDIS_PASS"
|
echo "Redis Password: $REDIS_PASS"
|
||||||
echo "Access Token Salt: $ACCESS_TOKEN_SALT"
|
echo "Access Token Salt: $ACCESS_TOKEN_SALT"
|
||||||
echo "JWT Secret Key: $JWT_SECRET_KEY"
|
echo "JWT Secret Key: $JWT_SECRET_KEY"
|
||||||
@@ -69,7 +56,7 @@ read -rp "${TAB3}CoinGecko Pro API key (press Enter to skip): " COINGECKO_PRO_KE
|
|||||||
|
|
||||||
msg_info "Setting up Environment"
|
msg_info "Setting up Environment"
|
||||||
cat <<EOF >/opt/ghostfolio/.env
|
cat <<EOF >/opt/ghostfolio/.env
|
||||||
DATABASE_URL=postgresql://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME?connect_timeout=300&sslmode=prefer
|
DATABASE_URL=postgresql://$PG_DB_USER:$PG_DB_PASS@localhost:5432/$PG_DB_NAME?connect_timeout=300
|
||||||
REDIS_HOST=localhost
|
REDIS_HOST=localhost
|
||||||
REDIS_PORT=6379
|
REDIS_PORT=6379
|
||||||
REDIS_PASSWORD=$REDIS_PASS
|
REDIS_PASSWORD=$REDIS_PASS
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
#!/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://gogs.io/
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
msg_info "Installing Dependencies"
|
||||||
|
$STD apt install -y git
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "gogs" "gogs/gogs" "prebuild" "latest" "/opt/gogs" "gogs_*_linux_amd64.tar.gz"
|
||||||
|
|
||||||
|
msg_info "Setting up Gogs"
|
||||||
|
mkdir -p /opt/gogs/{custom/conf,data,log}
|
||||||
|
msg_ok "Set up Gogs"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<EOF >/etc/systemd/system/gogs.service
|
||||||
|
[Unit]
|
||||||
|
Description=Gogs Git Service
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=root
|
||||||
|
WorkingDirectory=/opt/gogs
|
||||||
|
ExecStart=/opt/gogs/gogs web
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5
|
||||||
|
Environment=USER=root
|
||||||
|
Environment=HOME=/root
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now gogs
|
||||||
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -45,6 +45,30 @@ STATUS_CHECKER_INTERVAL=60
|
|||||||
EOF
|
EOF
|
||||||
msg_ok "Configured Homelable"
|
msg_ok "Configured Homelable"
|
||||||
|
|
||||||
|
msg_info "Creating Password Reset Utility"
|
||||||
|
cat <<'EOF' >/root/change_password.sh
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
NEW_PASS=""
|
||||||
|
|
||||||
|
while [[ -z "$NEW_PASS" ]]; do
|
||||||
|
read -s -p "Enter new password: " NEW_PASS
|
||||||
|
echo ""
|
||||||
|
if [[ -z "$NEW_PASS" ]]; then
|
||||||
|
echo "Error: Password cannot be blank. Try again."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
HASH=$(/opt/homelable/backend/.venv/bin/python -c "from passlib.context import CryptContext; print(CryptContext(schemes=['bcrypt']).hash('${NEW_PASS}'))")
|
||||||
|
|
||||||
|
sed -i "s|^AUTH_PASSWORD_HASH=.*|AUTH_PASSWORD_HASH='${HASH}'|" /opt/homelable/backend/.env
|
||||||
|
|
||||||
|
systemctl restart homelable
|
||||||
|
echo "Password updated and service restarted successfully!"
|
||||||
|
EOF
|
||||||
|
chmod +x /root/change_password.sh
|
||||||
|
msg_ok "Created Password Reset Utility"
|
||||||
|
|
||||||
msg_info "Building Frontend"
|
msg_info "Building Frontend"
|
||||||
cd /opt/homelable/frontend
|
cd /opt/homelable/frontend
|
||||||
$STD npm ci
|
$STD npm ci
|
||||||
|
|||||||
@@ -0,0 +1,59 @@
|
|||||||
|
#!/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/androidseb25/iGotify-Notification-Assistent
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
msg_info "Installing Dependencies"
|
||||||
|
setup_deb822_repo \
|
||||||
|
"microsoft" \
|
||||||
|
"https://packages.microsoft.com/keys/microsoft-2025.asc" \
|
||||||
|
"https://packages.microsoft.com/debian/13/prod/" \
|
||||||
|
"trixie" \
|
||||||
|
"main"
|
||||||
|
$STD apt install -y aspnetcore-runtime-10.0
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "igotify" "androidseb25/iGotify-Notification-Assistent" "prebuild" "latest" "/opt/igotify" "iGotify-Notification-Service-amd64-v*.zip"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<EOF >/opt/igotify/.env
|
||||||
|
ASPNETCORE_URLS=http://0.0.0.0:80
|
||||||
|
ASPNETCORE_ENVIRONMENT=Production
|
||||||
|
GOTIFY_DEFAULTUSER_PASS=
|
||||||
|
GOTIFY_URLS=
|
||||||
|
GOTIFY_CLIENT_TOKENS=
|
||||||
|
SECNTFY_TOKENS=
|
||||||
|
EOF
|
||||||
|
cat <<EOF >/etc/systemd/system/igotify.service
|
||||||
|
[Unit]
|
||||||
|
Description=iGotify Notification Service
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
EnvironmentFile=/opt/igotify/.env
|
||||||
|
WorkingDirectory=/opt/igotify
|
||||||
|
ExecStart=/usr/bin/dotnet "/opt/igotify/iGotify Notification Assist.dll"
|
||||||
|
Restart=always
|
||||||
|
RestartSec=10
|
||||||
|
KillSignal=SIGINT
|
||||||
|
TimeoutStopSec=10
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now igotify
|
||||||
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -28,7 +28,7 @@ if [[ ! "$CONFIRM" =~ ^([yY][eE][sS]|[yY])$ ]]; then
|
|||||||
exit 10
|
exit 10
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing ioBroker (Patience)"
|
msg_info "Installing ioBroker (Patience)"
|
||||||
$STD bash <(curl -fsSL https://iobroker.net/install.sh)
|
$STD bash <(curl -fsSL https://iobroker.net/install.sh)
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
#!/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://jitsi.org/
|
||||||
|
|
||||||
|
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 nginx
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
source /etc/os-release
|
||||||
|
setup_deb822_repo "jitsi" \
|
||||||
|
"https://download.jitsi.org/jitsi-key.gpg.key" \
|
||||||
|
"https://download.jitsi.org" \
|
||||||
|
"stable/" \
|
||||||
|
""
|
||||||
|
|
||||||
|
msg_info "Installing Jitsi Meet"
|
||||||
|
echo "jitsi-videobridge2 jitsi-videobridge/jvb-hostname string ${LOCAL_IP}" | debconf-set-selections
|
||||||
|
echo "jitsi-meet-web-config jitsi-meet/cert-choice select Generate a new self-signed certificate" | debconf-set-selections
|
||||||
|
DEBIAN_FRONTEND=noninteractive $STD apt install -y jitsi-meet
|
||||||
|
msg_ok "Installed Jitsi Meet"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -28,7 +28,7 @@ msg_ok "Installed Dependencies"
|
|||||||
|
|
||||||
PG_VERSION="16" PG_MODULES="pgvector" setup_postgresql
|
PG_VERSION="16" PG_MODULES="pgvector" setup_postgresql
|
||||||
PG_DB_NAME="kima" PG_DB_USER="kima" PG_DB_GRANT_SUPERUSER="true" setup_postgresql_db
|
PG_DB_NAME="kima" PG_DB_USER="kima" PG_DB_GRANT_SUPERUSER="true" setup_postgresql_db
|
||||||
NODE_VERSION="20" setup_nodejs
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Configuring Redis"
|
msg_info "Configuring Redis"
|
||||||
systemctl enable -q --now redis-server
|
systemctl enable -q --now redis-server
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ msg_ok "Installed Dependencies"
|
|||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="22" setup_nodejs
|
||||||
setup_uv
|
setup_uv
|
||||||
fetch_and_deploy_gh_release "linkding" "sissbruecker/linkding"
|
fetch_and_deploy_gh_release "linkding" "sissbruecker/linkding" "tarball"
|
||||||
|
|
||||||
msg_info "Building Frontend"
|
msg_info "Building Frontend"
|
||||||
cd /opt/linkding
|
cd /opt/linkding
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ $STD uv venv --clear /opt/litellm/.venv
|
|||||||
$STD /opt/litellm/.venv/bin/python -m ensurepip --upgrade
|
$STD /opt/litellm/.venv/bin/python -m ensurepip --upgrade
|
||||||
$STD /opt/litellm/.venv/bin/python -m pip install --upgrade pip
|
$STD /opt/litellm/.venv/bin/python -m pip install --upgrade pip
|
||||||
$STD /opt/litellm/.venv/bin/python -m pip install litellm[proxy] prisma
|
$STD /opt/litellm/.venv/bin/python -m pip install litellm[proxy] prisma
|
||||||
|
$STD /opt/litellm/.venv/bin/prisma generate
|
||||||
msg_ok "Installed LiteLLM"
|
msg_ok "Installed LiteLLM"
|
||||||
|
|
||||||
msg_info "Configuring LiteLLM"
|
msg_info "Configuring LiteLLM"
|
||||||
@@ -40,7 +41,7 @@ general_settings:
|
|||||||
database_url: postgresql://$PG_DB_USER:$PG_DB_PASS@127.0.0.1:5432/$PG_DB_NAME
|
database_url: postgresql://$PG_DB_USER:$PG_DB_PASS@127.0.0.1:5432/$PG_DB_NAME
|
||||||
store_model_in_db: true
|
store_model_in_db: true
|
||||||
EOF
|
EOF
|
||||||
uv --directory=/opt/litellm run litellm --config /opt/litellm/litellm.yaml --use_prisma_db_push --skip_server_startup
|
$STD /opt/litellm/.venv/bin/litellm --config /opt/litellm/litellm.yaml --use_prisma_db_push --skip_server_startup
|
||||||
msg_ok "Configured LiteLLM"
|
msg_ok "Configured LiteLLM"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
@@ -50,7 +51,7 @@ Description=LiteLLM
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
ExecStart=uv --directory=/opt/litellm run litellm --config /opt/litellm/litellm.yaml
|
ExecStart=/opt/litellm/.venv/bin/litellm --config /opt/litellm/litellm.yaml
|
||||||
Restart=always
|
Restart=always
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
|
|||||||
@@ -0,0 +1,60 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: doge0420
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/lyqht/mini-qr
|
||||||
|
|
||||||
|
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 \
|
||||||
|
libharfbuzz0b \
|
||||||
|
caddy \
|
||||||
|
fontconfig
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
NODE_VERSION="20" setup_nodejs
|
||||||
|
fetch_and_deploy_gh_release "mini-qr" "lyqht/mini-qr" "tarball"
|
||||||
|
|
||||||
|
msg_info "Building MiniQR"
|
||||||
|
cd /opt/mini-qr
|
||||||
|
$STD npm install
|
||||||
|
$STD npm run build
|
||||||
|
msg_ok "Built MiniQR"
|
||||||
|
|
||||||
|
msg_info "Configuring Caddy"
|
||||||
|
cat <<EOF >/etc/caddy/Caddyfile
|
||||||
|
:80 {
|
||||||
|
root * /opt/mini-qr/dist
|
||||||
|
file_server
|
||||||
|
|
||||||
|
# Handle client-side routing
|
||||||
|
try_files {path} /index.html
|
||||||
|
|
||||||
|
# Cache static assets
|
||||||
|
@assets {
|
||||||
|
path /assets/*
|
||||||
|
}
|
||||||
|
header @assets Cache-Control "public, immutable, max-age=31536000"
|
||||||
|
|
||||||
|
# Correct MIME types for JS modules
|
||||||
|
@jsmodules {
|
||||||
|
path *.js *.mjs
|
||||||
|
}
|
||||||
|
header @jsmodules Content-Type "application/javascript"
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now caddy
|
||||||
|
systemctl reload caddy
|
||||||
|
msg_ok "Configured Caddy"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: MintHCM
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/minthcm/minthcm
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
PHP_VERSION="8.2"
|
||||||
|
PHP_APACHE="YES" PHP_MODULE="mysql,redis" PHP_FPM="YES" setup_php
|
||||||
|
setup_composer
|
||||||
|
setup_mariadb
|
||||||
|
$STD mariadb -u root -e "SET GLOBAL sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'"
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "MintHCM" "minthcm/minthcm" "tarball" "latest" "/var/www/MintHCM"
|
||||||
|
|
||||||
|
msg_info "Configuring MintHCM"
|
||||||
|
mkdir -p /etc/php/${PHP_VERSION}/mods-available
|
||||||
|
cp /var/www/MintHCM/docker/config/000-default.conf /etc/apache2/sites-available/000-default.conf
|
||||||
|
cp /var/www/MintHCM/docker/config/php-minthcm.ini /etc/php/${PHP_VERSION}/mods-available/php-minthcm.ini
|
||||||
|
mkdir -p "/etc/php/${PHP_VERSION}/cli/conf.d" "/etc/php/${PHP_VERSION}/apache2/conf.d"
|
||||||
|
ln -s "/etc/php/${PHP_VERSION}/mods-available/php-minthcm.ini" "/etc/php/${PHP_VERSION}/cli/conf.d/20-minthcm.ini"
|
||||||
|
ln -s "/etc/php/${PHP_VERSION}/mods-available/php-minthcm.ini" "/etc/php/${PHP_VERSION}/apache2/conf.d/20-minthcm.ini"
|
||||||
|
chown -R www-data:www-data /var/www/MintHCM
|
||||||
|
find /var/www/MintHCM -type d -exec chmod 755 {} \;
|
||||||
|
find /var/www/MintHCM -type f -exec chmod 644 {} \;
|
||||||
|
mkdir -p /var/www/script
|
||||||
|
cp /var/www/MintHCM/docker/script/generate_config.php /var/www/script/generate_config.php
|
||||||
|
cp /var/www/MintHCM/docker/.env /var/www/script/.env
|
||||||
|
chown -R www-data:www-data /var/www/script
|
||||||
|
$STD a2enmod rewrite
|
||||||
|
$STD a2enmod headers
|
||||||
|
$STD systemctl restart apache2
|
||||||
|
msg_ok "Configured MintHCM"
|
||||||
|
|
||||||
|
msg_info "Setting up Elasticsearch"
|
||||||
|
setup_deb822_repo \
|
||||||
|
"elasticsearch" \
|
||||||
|
"https://artifacts.elastic.co/GPG-KEY-elasticsearch" \
|
||||||
|
"https://artifacts.elastic.co/packages/7.x/apt" \
|
||||||
|
"stable"
|
||||||
|
$STD apt install -y elasticsearch
|
||||||
|
echo "-Xms2g" >>/etc/elasticsearch/jvm.options
|
||||||
|
echo "-Xmx2g" >>/etc/elasticsearch/jvm.options
|
||||||
|
$STD /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment -b
|
||||||
|
systemctl enable -q --now elasticsearch
|
||||||
|
msg_ok "Set up Elasticsearch"
|
||||||
|
|
||||||
|
msg_info "Configuring Database"
|
||||||
|
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||||
|
$STD mariadb -u root -e "CREATE USER 'minthcm'@'localhost' IDENTIFIED BY '${DB_PASS}';"
|
||||||
|
$STD mariadb -u root -e "GRANT ALL ON *.* TO 'minthcm'@'localhost'; FLUSH PRIVILEGES;"
|
||||||
|
sed -i "s/^DB_HOST=.*/DB_HOST=localhost/" /var/www/script/.env
|
||||||
|
sed -i "s/^DB_USER=.*/DB_USER=minthcm/" /var/www/script/.env
|
||||||
|
sed -i "s/^DB_PASS=.*/DB_PASS=$DB_PASS/" /var/www/script/.env
|
||||||
|
sed -i "s/^ELASTICSEARCH_HOST=.*/ELASTICSEARCH_HOST=localhost/" /var/www/script/.env
|
||||||
|
msg_ok "Configured Database"
|
||||||
|
|
||||||
|
msg_info "Generating configuration file"
|
||||||
|
set -a
|
||||||
|
source /var/www/script/.env
|
||||||
|
set +a
|
||||||
|
$STD php /var/www/script/generate_config.php
|
||||||
|
msg_ok "Generated configuration file"
|
||||||
|
|
||||||
|
msg_info "Installing MintHCM"
|
||||||
|
cd /var/www/MintHCM
|
||||||
|
$STD sudo -u www-data php MintCLI install </var/www/MintHCM/configMint4
|
||||||
|
printf "* * * * * cd /var/www/MintHCM/legacy; php -f cron.php > /dev/null 2>&1\n" >/var/spool/cron/crontabs/www-data
|
||||||
|
service cron start
|
||||||
|
rm -f /var/www/MintHCM/configMint4
|
||||||
|
msg_ok "Installed MintHCM"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -13,7 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
fetch_and_deploy_gh_release "myip" "jason5ng32/MyIP" "tarball"
|
fetch_and_deploy_gh_release "myip" "jason5ng32/MyIP" "tarball"
|
||||||
|
|
||||||
msg_info "Configuring MyIP"
|
msg_info "Configuring MyIP"
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user