mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-02-14 17:23:25 +01:00
Compare commits
22 Commits
github-act
...
feat/remov
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f676df1cb | ||
|
|
d6f9cc7b59 | ||
|
|
6fa49fa3d1 | ||
|
|
c0e212d89c | ||
|
|
aae3b8eefe | ||
|
|
aba32f42ee | ||
|
|
83a453a952 | ||
|
|
c1a2c54c59 | ||
|
|
0928c52147 | ||
|
|
f49629b740 | ||
|
|
b02c9fafb9 | ||
|
|
0cfca00013 | ||
|
|
8702f81515 | ||
|
|
38f2ffed23 | ||
|
|
fcdb0b2f6e | ||
|
|
88e84f71a6 | ||
|
|
7578c0d5a3 | ||
|
|
68711bf392 | ||
|
|
b1481b7259 | ||
|
|
6a024696ca | ||
|
|
9c1e90b0a5 | ||
|
|
eed0b7630e |
116
.github/changelogs/2026/02.md
generated
vendored
116
.github/changelogs/2026/02.md
generated
vendored
@@ -1,3 +1,119 @@
|
|||||||
|
## 2026-02-07
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Checkmate ([#11672](https://github.com/community-scripts/ProxmoxVE/pull/11672))
|
||||||
|
- Bichon ([#11671](https://github.com/community-scripts/ProxmoxVE/pull/11671))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- NocoDB: pin to v0.301.1 [@MickLesk](https://github.com/MickLesk) ([#11655](https://github.com/community-scripts/ProxmoxVE/pull/11655))
|
||||||
|
- Pin Memos to v0.25.3 - last version with release binaries [@MickLesk](https://github.com/MickLesk) ([#11658](https://github.com/community-scripts/ProxmoxVE/pull/11658))
|
||||||
|
- Downgrade: OpenProject | NginxProxyManager | Semaphore to Debian 12 due to persistent SHA1 issues [@MickLesk](https://github.com/MickLesk) ([#11654](https://github.com/community-scripts/ProxmoxVE/pull/11654))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- tools: fallback to previous release when asset is missing [@MickLesk](https://github.com/MickLesk) ([#11660](https://github.com/community-scripts/ProxmoxVE/pull/11660))
|
||||||
|
|
||||||
|
### 📚 Documentation
|
||||||
|
|
||||||
|
- fix(setup): correctly auto-detect username when using --full [@ls-root](https://github.com/ls-root) ([#11650](https://github.com/community-scripts/ProxmoxVE/pull/11650))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- feat(frontend): add JSON script import functionality [@ls-root](https://github.com/ls-root) ([#11563](https://github.com/community-scripts/ProxmoxVE/pull/11563))
|
||||||
|
|
||||||
|
## 2026-02-06
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Nightscout ([#11621](https://github.com/community-scripts/ProxmoxVE/pull/11621))
|
||||||
|
- PVE LXC Apps Updater [@MickLesk](https://github.com/MickLesk) ([#11533](https://github.com/community-scripts/ProxmoxVE/pull/11533))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Immich: supress startup messages for immich-admin [@vhsdream](https://github.com/vhsdream) ([#11635](https://github.com/community-scripts/ProxmoxVE/pull/11635))
|
||||||
|
- Semaphore: Change Ubuntu release from 'jammy' to 'noble' [@MickLesk](https://github.com/MickLesk) ([#11625](https://github.com/community-scripts/ProxmoxVE/pull/11625))
|
||||||
|
- Pangolin: replace build:sqlite with db:generate + build [@MickLesk](https://github.com/MickLesk) ([#11616](https://github.com/community-scripts/ProxmoxVE/pull/11616))
|
||||||
|
- [FIX] OpenCloud: path issues [@vhsdream](https://github.com/vhsdream) ([#11593](https://github.com/community-scripts/ProxmoxVE/pull/11593))
|
||||||
|
- [FIX] Homepage: preserve public/images & public/icons if they exist [@vhsdream](https://github.com/vhsdream) ([#11594](https://github.com/community-scripts/ProxmoxVE/pull/11594))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Shelfmark: remove Chromedriver dep, add URL_BASE env [@vhsdream](https://github.com/vhsdream) ([#11619](https://github.com/community-scripts/ProxmoxVE/pull/11619))
|
||||||
|
- Immich: pin to v2.5.5 [@vhsdream](https://github.com/vhsdream) ([#11598](https://github.com/community-scripts/ProxmoxVE/pull/11598))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- refactor: homepage [@CrazyWolf13](https://github.com/CrazyWolf13) ([#11605](https://github.com/community-scripts/ProxmoxVE/pull/11605))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- fix(core): spinner misalignment [@ls-root](https://github.com/ls-root) ([#11627](https://github.com/community-scripts/ProxmoxVE/pull/11627))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- [Fix] build.func: QOL grammar adjustment for Creating LXC message [@vhsdream](https://github.com/vhsdream) ([#11633](https://github.com/community-scripts/ProxmoxVE/pull/11633))
|
||||||
|
|
||||||
|
### 📚 Documentation
|
||||||
|
|
||||||
|
- [gh] Update to the New Script request template [@tremor021](https://github.com/tremor021) ([#11612](https://github.com/community-scripts/ProxmoxVE/pull/11612))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Update LXC App Updater JSON to reflect tag override option [@vhsdream](https://github.com/vhsdream) ([#11626](https://github.com/community-scripts/ProxmoxVE/pull/11626))
|
||||||
|
|
||||||
|
### ❔ Uncategorized
|
||||||
|
|
||||||
|
- Opencloud: fix JSON [@vhsdream](https://github.com/vhsdream) ([#11617](https://github.com/community-scripts/ProxmoxVE/pull/11617))
|
||||||
|
|
||||||
|
## 2026-02-05
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- OpenCloud ([#11538](https://github.com/community-scripts/ProxmoxVE/pull/11538))
|
||||||
|
- Nginx-UI ([#11573](https://github.com/community-scripts/ProxmoxVE/pull/11573))
|
||||||
|
- New: SQL-Server 2025 | Refactor SQL-Server 2022 [@MickLesk](https://github.com/MickLesk) ([#11546](https://github.com/community-scripts/ProxmoxVE/pull/11546))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- OpenCloud: pin version to 5.0.2; Collabora CSP fix [@vhsdream](https://github.com/vhsdream) ([#11585](https://github.com/community-scripts/ProxmoxVE/pull/11585))
|
||||||
|
- Wanderer: Fix repo [@tremor021](https://github.com/tremor021) ([#11567](https://github.com/community-scripts/ProxmoxVE/pull/11567))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Refactor: Docker-VM (Multi-OS / Cloud-Init / Stabilization) [@MickLesk](https://github.com/MickLesk) ([#9047](https://github.com/community-scripts/ProxmoxVE/pull/9047))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- cloud-init: add interactive SSH key discovery and selection [@MickLesk](https://github.com/MickLesk) ([#11547](https://github.com/community-scripts/ProxmoxVE/pull/11547))
|
||||||
|
|
||||||
|
### 📚 Documentation
|
||||||
|
|
||||||
|
- github: extend docs / contribution / templates [@MickLesk](https://github.com/MickLesk) ([#10921](https://github.com/community-scripts/ProxmoxVE/pull/10921))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- fix(frontend): theme respective syntax highlighting [@ls-root](https://github.com/ls-root) ([#11565](https://github.com/community-scripts/ProxmoxVE/pull/11565))
|
||||||
|
|
||||||
## 2026-02-04
|
## 2026-02-04
|
||||||
|
|
||||||
### 🆕 New Scripts
|
### 🆕 New Scripts
|
||||||
|
|||||||
238
CHANGELOG.md
238
CHANGELOG.md
@@ -12,6 +12,9 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h2>📜 History</h2></summary>
|
<summary><h2>📜 History</h2></summary>
|
||||||
|
|
||||||
@@ -21,7 +24,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>February (4 entries)</h4></summary>
|
<summary><h4>February (7 entries)</h4></summary>
|
||||||
|
|
||||||
[View February 2026 Changelog](.github/changelogs/2026/02.md)
|
[View February 2026 Changelog](.github/changelogs/2026/02.md)
|
||||||
|
|
||||||
@@ -41,84 +44,84 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>December - 31 entries</h4></summary>
|
<summary><h4>December (31 entries)</h4></summary>
|
||||||
|
|
||||||
[View December 2025 Changelog](.github/changelogs/2025/12.md)
|
[View December 2025 Changelog](.github/changelogs/2025/12.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>November - 30 entries</h4></summary>
|
<summary><h4>November (29 entries)</h4></summary>
|
||||||
|
|
||||||
[View November 2025 Changelog](.github/changelogs/2025/11.md)
|
[View November 2025 Changelog](.github/changelogs/2025/11.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>October - 31 entries</h4></summary>
|
<summary><h4>October (30 entries)</h4></summary>
|
||||||
|
|
||||||
[View October 2025 Changelog](.github/changelogs/2025/10.md)
|
[View October 2025 Changelog](.github/changelogs/2025/10.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>September - 30 entries</h4></summary>
|
<summary><h4>September (29 entries)</h4></summary>
|
||||||
|
|
||||||
[View September 2025 Changelog](.github/changelogs/2025/09.md)
|
[View September 2025 Changelog](.github/changelogs/2025/09.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>August - 31 entries</h4></summary>
|
<summary><h4>August (30 entries)</h4></summary>
|
||||||
|
|
||||||
[View August 2025 Changelog](.github/changelogs/2025/08.md)
|
[View August 2025 Changelog](.github/changelogs/2025/08.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>July - 30 entries</h4></summary>
|
<summary><h4>July (29 entries)</h4></summary>
|
||||||
|
|
||||||
[View July 2025 Changelog](.github/changelogs/2025/07.md)
|
[View July 2025 Changelog](.github/changelogs/2025/07.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>June - 30 entries</h4></summary>
|
<summary><h4>June (29 entries)</h4></summary>
|
||||||
|
|
||||||
[View June 2025 Changelog](.github/changelogs/2025/06.md)
|
[View June 2025 Changelog](.github/changelogs/2025/06.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>May - 31 entries</h4></summary>
|
<summary><h4>May (30 entries)</h4></summary>
|
||||||
|
|
||||||
[View May 2025 Changelog](.github/changelogs/2025/05.md)
|
[View May 2025 Changelog](.github/changelogs/2025/05.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>April - 26 entries</h4></summary>
|
<summary><h4>April (25 entries)</h4></summary>
|
||||||
|
|
||||||
[View April 2025 Changelog](.github/changelogs/2025/04.md)
|
[View April 2025 Changelog](.github/changelogs/2025/04.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>March - 31 entries</h4></summary>
|
<summary><h4>March (30 entries)</h4></summary>
|
||||||
|
|
||||||
[View March 2025 Changelog](.github/changelogs/2025/03.md)
|
[View March 2025 Changelog](.github/changelogs/2025/03.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>February - 27 entries</h4></summary>
|
<summary><h4>February (26 entries)</h4></summary>
|
||||||
|
|
||||||
[View February 2025 Changelog](.github/changelogs/2025/02.md)
|
[View February 2025 Changelog](.github/changelogs/2025/02.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>January - 28 entries</h4></summary>
|
<summary><h4>January (27 entries)</h4></summary>
|
||||||
|
|
||||||
[View January 2025 Changelog](.github/changelogs/2025/01.md)
|
[View January 2025 Changelog](.github/changelogs/2025/01.md)
|
||||||
|
|
||||||
@@ -131,84 +134,84 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>December - 23 entries</h4></summary>
|
<summary><h4>December (22 entries)</h4></summary>
|
||||||
|
|
||||||
[View December 2024 Changelog](.github/changelogs/2024/12.md)
|
[View December 2024 Changelog](.github/changelogs/2024/12.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>November - 16 entries</h4></summary>
|
<summary><h4>November (15 entries)</h4></summary>
|
||||||
|
|
||||||
[View November 2024 Changelog](.github/changelogs/2024/11.md)
|
[View November 2024 Changelog](.github/changelogs/2024/11.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>October - 10 entries</h4></summary>
|
<summary><h4>October (9 entries)</h4></summary>
|
||||||
|
|
||||||
[View October 2024 Changelog](.github/changelogs/2024/10.md)
|
[View October 2024 Changelog](.github/changelogs/2024/10.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>September - 2 entries</h4></summary>
|
<summary><h4>September (1 entries)</h4></summary>
|
||||||
|
|
||||||
[View September 2024 Changelog](.github/changelogs/2024/09.md)
|
[View September 2024 Changelog](.github/changelogs/2024/09.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>August - 3 entries</h4></summary>
|
<summary><h4>August (2 entries)</h4></summary>
|
||||||
|
|
||||||
[View August 2024 Changelog](.github/changelogs/2024/08.md)
|
[View August 2024 Changelog](.github/changelogs/2024/08.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>July - 1 entries</h4></summary>
|
<summary><h4>July (0 entries)</h4></summary>
|
||||||
|
|
||||||
[View July 2024 Changelog](.github/changelogs/2024/07.md)
|
[View July 2024 Changelog](.github/changelogs/2024/07.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>June - 9 entries</h4></summary>
|
<summary><h4>June (8 entries)</h4></summary>
|
||||||
|
|
||||||
[View June 2024 Changelog](.github/changelogs/2024/06.md)
|
[View June 2024 Changelog](.github/changelogs/2024/06.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>May - 17 entries</h4></summary>
|
<summary><h4>May (16 entries)</h4></summary>
|
||||||
|
|
||||||
[View May 2024 Changelog](.github/changelogs/2024/05.md)
|
[View May 2024 Changelog](.github/changelogs/2024/05.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>April - 15 entries</h4></summary>
|
<summary><h4>April (14 entries)</h4></summary>
|
||||||
|
|
||||||
[View April 2024 Changelog](.github/changelogs/2024/04.md)
|
[View April 2024 Changelog](.github/changelogs/2024/04.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>March - 6 entries</h4></summary>
|
<summary><h4>March (5 entries)</h4></summary>
|
||||||
|
|
||||||
[View March 2024 Changelog](.github/changelogs/2024/03.md)
|
[View March 2024 Changelog](.github/changelogs/2024/03.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>February - 10 entries</h4></summary>
|
<summary><h4>February (9 entries)</h4></summary>
|
||||||
|
|
||||||
[View February 2024 Changelog](.github/changelogs/2024/02.md)
|
[View February 2024 Changelog](.github/changelogs/2024/02.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>January - 10 entries</h4></summary>
|
<summary><h4>January (9 entries)</h4></summary>
|
||||||
|
|
||||||
[View January 2024 Changelog](.github/changelogs/2024/01.md)
|
[View January 2024 Changelog](.github/changelogs/2024/01.md)
|
||||||
|
|
||||||
@@ -221,84 +224,84 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>December - 4 entries</h4></summary>
|
<summary><h4>December (3 entries)</h4></summary>
|
||||||
|
|
||||||
[View December 2023 Changelog](.github/changelogs/2023/12.md)
|
[View December 2023 Changelog](.github/changelogs/2023/12.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>November - 4 entries</h4></summary>
|
<summary><h4>November (3 entries)</h4></summary>
|
||||||
|
|
||||||
[View November 2023 Changelog](.github/changelogs/2023/11.md)
|
[View November 2023 Changelog](.github/changelogs/2023/11.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>October - 8 entries</h4></summary>
|
<summary><h4>October (7 entries)</h4></summary>
|
||||||
|
|
||||||
[View October 2023 Changelog](.github/changelogs/2023/10.md)
|
[View October 2023 Changelog](.github/changelogs/2023/10.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>September - 11 entries</h4></summary>
|
<summary><h4>September (10 entries)</h4></summary>
|
||||||
|
|
||||||
[View September 2023 Changelog](.github/changelogs/2023/09.md)
|
[View September 2023 Changelog](.github/changelogs/2023/09.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>August - 8 entries</h4></summary>
|
<summary><h4>August (7 entries)</h4></summary>
|
||||||
|
|
||||||
[View August 2023 Changelog](.github/changelogs/2023/08.md)
|
[View August 2023 Changelog](.github/changelogs/2023/08.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>July - 6 entries</h4></summary>
|
<summary><h4>July (5 entries)</h4></summary>
|
||||||
|
|
||||||
[View July 2023 Changelog](.github/changelogs/2023/07.md)
|
[View July 2023 Changelog](.github/changelogs/2023/07.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>June - 6 entries</h4></summary>
|
<summary><h4>June (5 entries)</h4></summary>
|
||||||
|
|
||||||
[View June 2023 Changelog](.github/changelogs/2023/06.md)
|
[View June 2023 Changelog](.github/changelogs/2023/06.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>May - 9 entries</h4></summary>
|
<summary><h4>May (8 entries)</h4></summary>
|
||||||
|
|
||||||
[View May 2023 Changelog](.github/changelogs/2023/05.md)
|
[View May 2023 Changelog](.github/changelogs/2023/05.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>April - 9 entries</h4></summary>
|
<summary><h4>April (8 entries)</h4></summary>
|
||||||
|
|
||||||
[View April 2023 Changelog](.github/changelogs/2023/04.md)
|
[View April 2023 Changelog](.github/changelogs/2023/04.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>March - 9 entries</h4></summary>
|
<summary><h4>March (8 entries)</h4></summary>
|
||||||
|
|
||||||
[View March 2023 Changelog](.github/changelogs/2023/03.md)
|
[View March 2023 Changelog](.github/changelogs/2023/03.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>February - 7 entries</h4></summary>
|
<summary><h4>February (6 entries)</h4></summary>
|
||||||
|
|
||||||
[View February 2023 Changelog](.github/changelogs/2023/02.md)
|
[View February 2023 Changelog](.github/changelogs/2023/02.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>January - 16 entries</h4></summary>
|
<summary><h4>January (15 entries)</h4></summary>
|
||||||
|
|
||||||
[View January 2023 Changelog](.github/changelogs/2023/01.md)
|
[View January 2023 Changelog](.github/changelogs/2023/01.md)
|
||||||
|
|
||||||
@@ -311,84 +314,84 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>December - 8 entries</h4></summary>
|
<summary><h4>December (7 entries)</h4></summary>
|
||||||
|
|
||||||
[View December 2022 Changelog](.github/changelogs/2022/12.md)
|
[View December 2022 Changelog](.github/changelogs/2022/12.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>November - 8 entries</h4></summary>
|
<summary><h4>November (7 entries)</h4></summary>
|
||||||
|
|
||||||
[View November 2022 Changelog](.github/changelogs/2022/11.md)
|
[View November 2022 Changelog](.github/changelogs/2022/11.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>October - 3 entries</h4></summary>
|
<summary><h4>October (2 entries)</h4></summary>
|
||||||
|
|
||||||
[View October 2022 Changelog](.github/changelogs/2022/10.md)
|
[View October 2022 Changelog](.github/changelogs/2022/10.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>September - 10 entries</h4></summary>
|
<summary><h4>September (9 entries)</h4></summary>
|
||||||
|
|
||||||
[View September 2022 Changelog](.github/changelogs/2022/09.md)
|
[View September 2022 Changelog](.github/changelogs/2022/09.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>August - 8 entries</h4></summary>
|
<summary><h4>August (7 entries)</h4></summary>
|
||||||
|
|
||||||
[View August 2022 Changelog](.github/changelogs/2022/08.md)
|
[View August 2022 Changelog](.github/changelogs/2022/08.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>July - 11 entries</h4></summary>
|
<summary><h4>July (10 entries)</h4></summary>
|
||||||
|
|
||||||
[View July 2022 Changelog](.github/changelogs/2022/07.md)
|
[View July 2022 Changelog](.github/changelogs/2022/07.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>June - 2 entries</h4></summary>
|
<summary><h4>June (1 entries)</h4></summary>
|
||||||
|
|
||||||
[View June 2022 Changelog](.github/changelogs/2022/06.md)
|
[View June 2022 Changelog](.github/changelogs/2022/06.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>May - 9 entries</h4></summary>
|
<summary><h4>May (8 entries)</h4></summary>
|
||||||
|
|
||||||
[View May 2022 Changelog](.github/changelogs/2022/05.md)
|
[View May 2022 Changelog](.github/changelogs/2022/05.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>April - 14 entries</h4></summary>
|
<summary><h4>April (13 entries)</h4></summary>
|
||||||
|
|
||||||
[View April 2022 Changelog](.github/changelogs/2022/04.md)
|
[View April 2022 Changelog](.github/changelogs/2022/04.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>March - 21 entries</h4></summary>
|
<summary><h4>March (20 entries)</h4></summary>
|
||||||
|
|
||||||
[View March 2022 Changelog](.github/changelogs/2022/03.md)
|
[View March 2022 Changelog](.github/changelogs/2022/03.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>February - 16 entries</h4></summary>
|
<summary><h4>February (15 entries)</h4></summary>
|
||||||
|
|
||||||
[View February 2022 Changelog](.github/changelogs/2022/02.md)
|
[View February 2022 Changelog](.github/changelogs/2022/02.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>January - 4 entries</h4></summary>
|
<summary><h4>January (3 entries)</h4></summary>
|
||||||
|
|
||||||
[View January 2022 Changelog](.github/changelogs/2022/01.md)
|
[View January 2022 Changelog](.github/changelogs/2022/01.md)
|
||||||
|
|
||||||
@@ -398,6 +401,28 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
## 2026-02-09
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- tracearr: prepare for next stable release [@durzo](https://github.com/durzo) ([#11673](https://github.com/community-scripts/ProxmoxVE/pull/11673))
|
||||||
|
- PeaNUT: symlink server.js after update [@vhsdream](https://github.com/vhsdream) ([#11696](https://github.com/community-scripts/ProxmoxVE/pull/11696))
|
||||||
|
|
||||||
|
## 2026-02-08
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- feat(healthchecks): add sendalerts service [@Mika56](https://github.com/Mika56) ([#11694](https://github.com/community-scripts/ProxmoxVE/pull/11694))
|
||||||
|
- ComfyUI: Dynamic Fetch PyTorch Versions [@MickLesk](https://github.com/MickLesk) ([#11657](https://github.com/community-scripts/ProxmoxVE/pull/11657))
|
||||||
|
|
||||||
|
- #### 💥 Breaking Changes
|
||||||
|
|
||||||
|
- Semaphore: switch from Debian to Ubuntu 24.04 [@MickLesk](https://github.com/MickLesk) ([#11670](https://github.com/community-scripts/ProxmoxVE/pull/11670))
|
||||||
|
|
||||||
## 2026-02-07
|
## 2026-02-07
|
||||||
|
|
||||||
### 🆕 New Scripts
|
### 🆕 New Scripts
|
||||||
@@ -1291,117 +1316,4 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
- #### 💥 Breaking Changes
|
- #### 💥 Breaking Changes
|
||||||
|
|
||||||
- fix: setup_mariadb hangs on [@CrazyWolf13](https://github.com/CrazyWolf13) ([#10672](https://github.com/community-scripts/ProxmoxVE/pull/10672))
|
- fix: setup_mariadb hangs on [@CrazyWolf13](https://github.com/CrazyWolf13) ([#10672](https://github.com/community-scripts/ProxmoxVE/pull/10672))
|
||||||
|
|
||||||
## 2026-01-08
|
|
||||||
|
|
||||||
### 🆕 New Scripts
|
|
||||||
|
|
||||||
- GWN-Manager ([#10642](https://github.com/community-scripts/ProxmoxVE/pull/10642))
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- Fix line continuation for vlc-bin installation [@chinedu40](https://github.com/chinedu40) ([#10654](https://github.com/community-scripts/ProxmoxVE/pull/10654))
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- outline: use corepack yarn module [@MickLesk](https://github.com/MickLesk) ([#10652](https://github.com/community-scripts/ProxmoxVE/pull/10652))
|
|
||||||
- Remove unnecessary quotes from variable expansions in VM scripts [@MickLesk](https://github.com/MickLesk) ([#10649](https://github.com/community-scripts/ProxmoxVE/pull/10649))
|
|
||||||
- Monica: Fix database variable names [@tremor021](https://github.com/tremor021) ([#10634](https://github.com/community-scripts/ProxmoxVE/pull/10634))
|
|
||||||
- Tianji: Fix PostrgreSQL vars [@tremor021](https://github.com/tremor021) ([#10633](https://github.com/community-scripts/ProxmoxVE/pull/10633))
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- deCONZ: Bump to Trixie base [@tremor021](https://github.com/tremor021) ([#10643](https://github.com/community-scripts/ProxmoxVE/pull/10643))
|
|
||||||
|
|
||||||
## 2026-01-07
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- pve-scripts-local: fix missing exit in update [@MickLesk](https://github.com/MickLesk) ([#10630](https://github.com/community-scripts/ProxmoxVE/pull/10630))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- Upgrade ESPHome LXC to Debian 13 [@heinemannj](https://github.com/heinemannj) ([#10624](https://github.com/community-scripts/ProxmoxVE/pull/10624))
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- Explicitly state installation method [@tremor021](https://github.com/tremor021) ([#10608](https://github.com/community-scripts/ProxmoxVE/pull/10608))
|
|
||||||
|
|
||||||
### 🧰 Tools
|
|
||||||
|
|
||||||
- Modify Debian sources list for trixie updates (as 4.1.0-1 config) [@maiux](https://github.com/maiux) ([#10505](https://github.com/community-scripts/ProxmoxVE/pull/10505))
|
|
||||||
|
|
||||||
## 2026-01-06
|
|
||||||
|
|
||||||
### 🆕 New Scripts
|
|
||||||
|
|
||||||
- Sportarr ([#10600](https://github.com/community-scripts/ProxmoxVE/pull/10600))
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- chore: fix update msg [@CrazyWolf13](https://github.com/CrazyWolf13) ([#10593](https://github.com/community-scripts/ProxmoxVE/pull/10593))
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- InspIRCd: Fix release fetching [@tremor021](https://github.com/tremor021) ([#10578](https://github.com/community-scripts/ProxmoxVE/pull/10578))
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- Refactor: Sonarr [@tremor021](https://github.com/tremor021) ([#10573](https://github.com/community-scripts/ProxmoxVE/pull/10573))
|
|
||||||
- Refactor: Dispatcharr [@tremor021](https://github.com/tremor021) ([#10599](https://github.com/community-scripts/ProxmoxVE/pull/10599))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- hwaccel: rewrite of GPU hardware acceleration support [@MickLesk](https://github.com/MickLesk) ([#10597](https://github.com/community-scripts/ProxmoxVE/pull/10597))
|
|
||||||
|
|
||||||
### 🧰 Tools
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- iptag: fix syntax error in VM config file parsing [@MickLesk](https://github.com/MickLesk) ([#10598](https://github.com/community-scripts/ProxmoxVE/pull/10598))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- Update clean-lxcs.sh to support Red Hat compatible distros [@jabofh](https://github.com/jabofh) ([#10583](https://github.com/community-scripts/ProxmoxVE/pull/10583))
|
|
||||||
|
|
||||||
### 📚 Documentation
|
|
||||||
|
|
||||||
- [gh] New Script template update [@tremor021](https://github.com/tremor021) ([#10607](https://github.com/community-scripts/ProxmoxVE/pull/10607))
|
|
||||||
- chore: bump copyright to 2026 - happy new year [@CrazyWolf13](https://github.com/CrazyWolf13) ([#10585](https://github.com/community-scripts/ProxmoxVE/pull/10585))
|
|
||||||
|
|
||||||
### 📂 Github
|
|
||||||
|
|
||||||
- re-add shellcheck exclusions [@CrazyWolf13](https://github.com/CrazyWolf13) ([#10586](https://github.com/community-scripts/ProxmoxVE/pull/10586))
|
|
||||||
|
|
||||||
## 2026-01-05
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- reitti: add postgis extension to PostgreSQL DB setup [@MickLesk](https://github.com/MickLesk) ([#10555](https://github.com/community-scripts/ProxmoxVE/pull/10555))
|
|
||||||
- openWRT: separate disk attachment and resizing in VM setup [@MickLesk](https://github.com/MickLesk) ([#10557](https://github.com/community-scripts/ProxmoxVE/pull/10557))
|
|
||||||
- paperless-ai: Set TMPDIR for pip to use disk during install [@MickLesk](https://github.com/MickLesk) ([#10559](https://github.com/community-scripts/ProxmoxVE/pull/10559))
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- Refactor: Monica [@tremor021](https://github.com/tremor021) ([#10552](https://github.com/community-scripts/ProxmoxVE/pull/10552))
|
|
||||||
- Upgrade Wazuh LXC Container to Debian 13 [@heinemannj](https://github.com/heinemannj) ([#10551](https://github.com/community-scripts/ProxmoxVE/pull/10551))
|
|
||||||
- Upgrade evcc LXC to Debian 13 [@heinemannj](https://github.com/heinemannj) ([#10548](https://github.com/community-scripts/ProxmoxVE/pull/10548))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- Harden setup_hwaccel for old Intel GPUs [@MickLesk](https://github.com/MickLesk) ([#10556](https://github.com/community-scripts/ProxmoxVE/pull/10556))
|
|
||||||
|
|
||||||
### 🧰 Tools
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- Refactor: IP-Tag (Multiple IP / Performance / Execution Time) [@MickLesk](https://github.com/MickLesk) ([#10558](https://github.com/community-scripts/ProxmoxVE/pull/10558))
|
|
||||||
@@ -20,28 +20,9 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
if ! apk -e info newt >/dev/null 2>&1; then
|
header_info
|
||||||
apk add -q newt
|
$STD apk -U upgrade
|
||||||
fi
|
msg_ok "Updated successfully!"
|
||||||
while true; do
|
|
||||||
CHOICE=$(
|
|
||||||
whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --menu "Select option" 11 58 1 \
|
|
||||||
"1" "Check for Docker Updates" 3>&2 2>&1 1>&3
|
|
||||||
)
|
|
||||||
exit_status=$?
|
|
||||||
if [ $exit_status == 1 ]; then
|
|
||||||
clear
|
|
||||||
exit-script
|
|
||||||
fi
|
|
||||||
header_info
|
|
||||||
case $CHOICE in
|
|
||||||
1)
|
|
||||||
$STD apk -U upgrade
|
|
||||||
msg_ok "Updated successfully!"
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,43 +20,32 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
if ! apk -e info newt >/dev/null 2>&1; then
|
|
||||||
apk add -q newt
|
|
||||||
fi
|
|
||||||
LXCIP=$(ip a s dev eth0 | awk '/inet / {print $2}' | cut -d/ -f1)
|
LXCIP=$(ip a s dev eth0 | awk '/inet / {print $2}' | cut -d/ -f1)
|
||||||
while true; do
|
|
||||||
CHOICE=$(
|
CHOICE=$(msg_menu "Grafana Update Options" \
|
||||||
whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --menu "Select option" 11 58 3 \
|
"1" "Check for Grafana Updates" \
|
||||||
"1" "Check for Grafana Updates" \
|
"2" "Allow 0.0.0.0 for listening" \
|
||||||
"2" "Allow 0.0.0.0 for listening" \
|
"3" "Allow only ${LXCIP} for listening")
|
||||||
"3" "Allow only ${LXCIP} for listening" 3>&2 2>&1 1>&3
|
|
||||||
)
|
case $CHOICE in
|
||||||
exit_status=$?
|
1)
|
||||||
if [ $exit_status == 1 ]; then
|
$STD apk -U upgrade
|
||||||
clear
|
msg_ok "Updated successfully!"
|
||||||
exit-script
|
exit
|
||||||
fi
|
;;
|
||||||
header_info
|
2)
|
||||||
case $CHOICE in
|
sed -i -e "s/cfg:server.http_addr=.*/cfg:server.http_addr=0.0.0.0/g" /etc/conf.d/grafana
|
||||||
1)
|
service grafana restart
|
||||||
$STD apk -U upgrade
|
msg_ok "Allowed listening on all interfaces!"
|
||||||
msg_ok "Updated successfully!"
|
exit
|
||||||
exit
|
;;
|
||||||
;;
|
3)
|
||||||
2)
|
sed -i -e "s/cfg:server.http_addr=.*/cfg:server.http_addr=$LXCIP/g" /etc/conf.d/grafana
|
||||||
sed -i -e "s/cfg:server.http_addr=.*/cfg:server.http_addr=0.0.0.0/g" /etc/conf.d/grafana
|
service grafana restart
|
||||||
service grafana restart
|
msg_ok "Allowed listening only on ${LXCIP}!"
|
||||||
msg_ok "Allowed listening on all interfaces!"
|
exit
|
||||||
exit
|
;;
|
||||||
;;
|
esac
|
||||||
3)
|
|
||||||
sed -i -e "s/cfg:server.http_addr=.*/cfg:server.http_addr=$LXCIP/g" /etc/conf.d/grafana
|
|
||||||
service grafana restart
|
|
||||||
msg_ok "Allowed listening only on ${LXCIP}!"
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,43 +20,32 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
if ! apk -e info newt >/dev/null 2>&1; then
|
|
||||||
apk add -q newt
|
|
||||||
fi
|
|
||||||
LXCIP=$(ip a s dev eth0 | awk '/inet / {print $2}' | cut -d/ -f1)
|
LXCIP=$(ip a s dev eth0 | awk '/inet / {print $2}' | cut -d/ -f1)
|
||||||
while true; do
|
|
||||||
CHOICE=$(
|
CHOICE=$(msg_menu "Loki Update Options" \
|
||||||
whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --menu "Select option" 11 58 3 \
|
"1" "Check for Loki Updates" \
|
||||||
"1" "Check for Loki Updates" \
|
"2" "Allow 0.0.0.0 for listening" \
|
||||||
"2" "Allow 0.0.0.0 for listening" \
|
"3" "Allow only ${LXCIP} for listening")
|
||||||
"3" "Allow only ${LXCIP} for listening" 3>&2 2>&1 1>&3
|
|
||||||
)
|
case $CHOICE in
|
||||||
exit_status=$?
|
1)
|
||||||
if [ $exit_status == 1 ]; then
|
$STD apk -U upgrade
|
||||||
clear
|
msg_ok "Updated successfully!"
|
||||||
exit-script
|
exit
|
||||||
fi
|
;;
|
||||||
header_info
|
2)
|
||||||
case $CHOICE in
|
sed -i -e "s/cfg:server.http_addr=.*/cfg:server.http_addr=0.0.0.0/g" /etc/conf.d/loki
|
||||||
1)
|
service loki restart
|
||||||
$STD apk -U upgrade
|
msg_ok "Allowed listening on all interfaces!"
|
||||||
msg_ok "Updated successfully!"
|
exit
|
||||||
exit
|
;;
|
||||||
;;
|
3)
|
||||||
2)
|
sed -i -e "s/cfg:server.http_addr=.*/cfg:server.http_addr=$LXCIP/g" /etc/conf.d/loki
|
||||||
sed -i -e "s/cfg:server.http_addr=.*/cfg:server.http_addr=0.0.0.0/g" /etc/conf.d/loki
|
service loki restart
|
||||||
service loki restart
|
msg_ok "Allowed listening only on ${LXCIP}!"
|
||||||
msg_ok "Allowed listening on all interfaces!"
|
exit
|
||||||
exit
|
;;
|
||||||
;;
|
esac
|
||||||
3)
|
|
||||||
sed -i -e "s/cfg:server.http_addr=.*/cfg:server.http_addr=$LXCIP/g" /etc/conf.d/loki
|
|
||||||
service loki restart
|
|
||||||
msg_ok "Allowed listening only on ${LXCIP}!"
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,33 +24,31 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if ! apk -e info newt >/dev/null 2>&1; then
|
|
||||||
apk add -q newt
|
CHOICE=$(msg_menu "Nextcloud Options" \
|
||||||
fi
|
"1" "Update Alpine Packages" \
|
||||||
while true; do
|
"2" "Nextcloud Login Credentials" \
|
||||||
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 3 \
|
"3" "Renew Self-signed Certificate")
|
||||||
"1" "Nextcloud Login Credentials" ON \
|
|
||||||
"2" "Renew Self-signed Certificate" OFF \
|
case $CHOICE in
|
||||||
3>&1 1>&2 2>&3)
|
1)
|
||||||
exit_status=$?
|
msg_info "Updating Alpine Packages"
|
||||||
if [ $exit_status == 1 ]; then
|
$STD apk -U upgrade
|
||||||
clear
|
msg_ok "Updated Alpine Packages"
|
||||||
exit-script
|
msg_ok "Updated successfully!"
|
||||||
fi
|
exit
|
||||||
header_info
|
;;
|
||||||
case $CHOICE in
|
2)
|
||||||
1)
|
cat nextcloud.creds
|
||||||
cat nextcloud.creds
|
exit
|
||||||
exit
|
;;
|
||||||
;;
|
3)
|
||||||
2)
|
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/ssl/private/nextcloud-selfsigned.key -out /etc/ssl/certs/nextcloud-selfsigned.crt -subj "/C=US/O=Nextcloud/OU=Domain Control Validated/CN=nextcloud.local" >/dev/null 2>&1
|
||||||
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/ssl/private/nextcloud-selfsigned.key -out /etc/ssl/certs/nextcloud-selfsigned.crt -subj "/C=US/O=Nextcloud/OU=Domain Control Validated/CN=nextcloud.local" >/dev/null 2>&1
|
rc-service nginx restart
|
||||||
rc-service nginx restart
|
msg_ok "Renewed self-signed certificate"
|
||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
|
||||||
exit 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -20,47 +20,36 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
if ! apk -e info newt >/dev/null 2>&1; then
|
|
||||||
apk add -q newt
|
|
||||||
fi
|
|
||||||
LXCIP=$(ip a s dev eth0 | awk '/inet / {print $2}' | cut -d/ -f1)
|
LXCIP=$(ip a s dev eth0 | awk '/inet / {print $2}' | cut -d/ -f1)
|
||||||
while true; do
|
|
||||||
CHOICE=$(
|
CHOICE=$(msg_menu "Redis Management" \
|
||||||
whiptail --backtitle "Proxmox VE Helper Scripts" --title "Redis Management" --menu "Select option" 11 58 3 \
|
"1" "Update Redis" \
|
||||||
"1" "Update Redis" \
|
"2" "Allow 0.0.0.0 for listening" \
|
||||||
"2" "Allow 0.0.0.0 for listening" \
|
"3" "Allow only ${LXCIP} for listening")
|
||||||
"3" "Allow only ${LXCIP} for listening" 3>&2 2>&1 1>&3
|
|
||||||
)
|
case $CHOICE in
|
||||||
exit_status=$?
|
1)
|
||||||
if [ $exit_status == 1 ]; then
|
msg_info "Updating Redis"
|
||||||
clear
|
apk update && apk upgrade redis
|
||||||
exit-script
|
rc-service redis restart
|
||||||
fi
|
msg_ok "Updated successfully!"
|
||||||
header_info
|
exit
|
||||||
case $CHOICE in
|
;;
|
||||||
1)
|
2)
|
||||||
msg_info "Updating Redis"
|
msg_info "Setting Redis to listen on all interfaces"
|
||||||
apk update && apk upgrade redis
|
sed -i 's/^bind .*/bind 0.0.0.0/' /etc/redis.conf
|
||||||
rc-service redis restart
|
rc-service redis restart
|
||||||
msg_ok "Updated successfully!"
|
msg_ok "Redis now listens on all interfaces!"
|
||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
2)
|
3)
|
||||||
msg_info "Setting Redis to listen on all interfaces"
|
msg_info "Setting Redis to listen only on ${LXCIP}"
|
||||||
sed -i 's/^bind .*/bind 0.0.0.0/' /etc/redis.conf
|
sed -i "s/^bind .*/bind ${LXCIP}/" /etc/redis.conf
|
||||||
rc-service redis restart
|
rc-service redis restart
|
||||||
msg_ok "Redis now listens on all interfaces!"
|
msg_ok "Redis now listens only on ${LXCIP}!"
|
||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
3)
|
esac
|
||||||
msg_info "Setting Redis to listen only on ${LXCIP}"
|
|
||||||
sed -i "s/^bind .*/bind ${LXCIP}/" /etc/redis.conf
|
|
||||||
rc-service redis restart
|
|
||||||
msg_ok "Redis now listens only on ${LXCIP}!"
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -20,48 +20,37 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
if ! apk -e info newt >/dev/null 2>&1; then
|
|
||||||
apk add -q newt
|
|
||||||
fi
|
|
||||||
LXCIP=$(ip a s dev eth0 | awk '/inet / {print $2}' | cut -d/ -f1)
|
LXCIP=$(ip a s dev eth0 | awk '/inet / {print $2}' | cut -d/ -f1)
|
||||||
while true; do
|
|
||||||
CHOICE=$(
|
CHOICE=$(msg_menu "Valkey Management" \
|
||||||
whiptail --backtitle "Proxmox VE Helper Scripts" --title "Valkey Management" --menu "Select option" 11 58 3 \
|
"1" "Update Valkey" \
|
||||||
"1" "Update Valkey" \
|
"2" "Allow 0.0.0.0 for listening" \
|
||||||
"2" "Allow 0.0.0.0 for listening" \
|
"3" "Allow only ${LXCIP} for listening")
|
||||||
"3" "Allow only ${LXCIP} for listening" 3>&2 2>&1 1>&3
|
|
||||||
)
|
case $CHOICE in
|
||||||
exit_status=$?
|
1)
|
||||||
if [ $exit_status == 1 ]; then
|
msg_info "Updating Valkey"
|
||||||
clear
|
apk update && apk upgrade valkey
|
||||||
exit-script
|
rc-service valkey restart
|
||||||
fi
|
msg_ok "Updated Valkey"
|
||||||
header_info
|
msg_ok "Updated successfully!"
|
||||||
case $CHOICE in
|
exit
|
||||||
1)
|
;;
|
||||||
msg_info "Updating Valkey"
|
2)
|
||||||
apk update && apk upgrade valkey
|
msg_info "Setting Valkey to listen on all interfaces"
|
||||||
rc-service valkey restart
|
sed -i 's/^bind .*/bind 0.0.0.0/' /etc/valkey/valkey.conf
|
||||||
msg_ok "Updated Valkey"
|
rc-service valkey restart
|
||||||
msg_ok "Updated successfully!"
|
msg_ok "Valkey now listens on all interfaces!"
|
||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
2)
|
3)
|
||||||
msg_info "Setting Valkey to listen on all interfaces"
|
msg_info "Setting Valkey to listen only on ${LXCIP}"
|
||||||
sed -i 's/^bind .*/bind 0.0.0.0/' /etc/valkey/valkey.conf
|
sed -i "s/^bind .*/bind ${LXCIP}/" /etc/valkey/valkey.conf
|
||||||
rc-service valkey restart
|
rc-service valkey restart
|
||||||
msg_ok "Valkey now listens on all interfaces!"
|
msg_ok "Valkey now listens only on ${LXCIP}!"
|
||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
3)
|
esac
|
||||||
msg_info "Setting Valkey to listen only on ${LXCIP}"
|
|
||||||
sed -i "s/^bind .*/bind ${LXCIP}/" /etc/valkey/valkey.conf
|
|
||||||
rc-service valkey restart
|
|
||||||
msg_ok "Valkey now listens only on ${LXCIP}!"
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -20,45 +20,38 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
if ! apk -e info newt >/dev/null 2>&1; then
|
CHOICE=$(msg_menu "Vaultwarden Update Options" \
|
||||||
apk add -q newt
|
"1" "Update Vaultwarden" \
|
||||||
fi
|
"2" "Reset ADMIN_TOKEN")
|
||||||
while true; do
|
|
||||||
CHOICE=$(
|
case $CHOICE in
|
||||||
whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --menu "Select option" 11 58 2 \
|
1)
|
||||||
"1" "Update Vaultwarden" \
|
$STD apk -U upgrade
|
||||||
"2" "Reset ADMIN_TOKEN" 3>&2 2>&1 1>&3
|
rc-service vaultwarden restart -q
|
||||||
)
|
msg_ok "Updated successfully!"
|
||||||
exit_status=$?
|
exit
|
||||||
if [ $exit_status == 1 ]; then
|
;;
|
||||||
clear
|
2)
|
||||||
exit-script
|
if [[ "${PHS_SILENT:-0}" == "1" ]]; then
|
||||||
|
msg_warn "Reset ADMIN_TOKEN requires interactive mode, skipping."
|
||||||
|
exit
|
||||||
fi
|
fi
|
||||||
header_info
|
read -r -s -p "Setup your ADMIN_TOKEN (make it strong): " NEWTOKEN
|
||||||
case $CHOICE in
|
echo ""
|
||||||
1)
|
if [[ -n "$NEWTOKEN" ]]; then
|
||||||
$STD apk -U upgrade
|
if ! command -v argon2 >/dev/null 2>&1; then apk add argon2 &>/dev/null; fi
|
||||||
rc-service vaultwarden restart -q
|
TOKEN=$(echo -n "${NEWTOKEN}" | argon2 "$(openssl rand -base64 32)" -e -id -k 19456 -t 2 -p 1)
|
||||||
msg_ok "Updated successfully!"
|
if [[ ! -f /var/lib/vaultwarden/config.json ]]; then
|
||||||
exit
|
sed -i "s|export ADMIN_TOKEN=.*|export ADMIN_TOKEN='${TOKEN}'|" /etc/conf.d/vaultwarden
|
||||||
;;
|
else
|
||||||
2)
|
sed -i "s|\"admin_token\": .*|\"admin_token\": \"${TOKEN}\",|" /var/lib/vaultwarden/config.json
|
||||||
if NEWTOKEN=$(whiptail --backtitle "Proxmox VE Helper Scripts" --passwordbox "Setup your ADMIN_TOKEN (make it strong)" 10 58 3>&1 1>&2 2>&3); then
|
|
||||||
if [[ -z "$NEWTOKEN" ]]; then exit-script; fi
|
|
||||||
if ! command -v argon2 >/dev/null 2>&1; then apk add argon2 &>/dev/null; fi
|
|
||||||
TOKEN=$(echo -n "${NEWTOKEN}" | argon2 "$(openssl rand -base64 32)" -e -id -k 19456 -t 2 -p 1)
|
|
||||||
if [[ ! -f /var/lib/vaultwarden/config.json ]]; then
|
|
||||||
sed -i "s|export ADMIN_TOKEN=.*|export ADMIN_TOKEN='${TOKEN}'|" /etc/conf.d/vaultwarden
|
|
||||||
else
|
|
||||||
sed -i "s|\"admin_token\": .*|\"admin_token\": \"${TOKEN}\",|" /var/lib/vaultwarden/config.json
|
|
||||||
fi
|
|
||||||
rc-service vaultwarden restart -q
|
|
||||||
fi
|
fi
|
||||||
clear
|
rc-service vaultwarden restart -q
|
||||||
exit
|
msg_ok "Admin token updated"
|
||||||
;;
|
fi
|
||||||
esac
|
exit
|
||||||
done
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -20,28 +20,10 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
if ! apk -e info newt >/dev/null 2>&1; then
|
header_info
|
||||||
apk add -q newt
|
$STD apk -U upgrade
|
||||||
fi
|
msg_ok "Updated successfully!"
|
||||||
while true; do
|
exit 0
|
||||||
CHOICE=$(
|
|
||||||
whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --menu "Select option" 11 58 1 \
|
|
||||||
"1" "Check for Zigbee2MQTT Updates" 3>&2 2>&1 1>&3
|
|
||||||
)
|
|
||||||
exit_status=$?
|
|
||||||
if [ $exit_status == 1 ]; then
|
|
||||||
clear
|
|
||||||
exit-script
|
|
||||||
fi
|
|
||||||
header_info
|
|
||||||
case $CHOICE in
|
|
||||||
1)
|
|
||||||
$STD apk -U upgrade
|
|
||||||
msg_ok "Updated successfully!"
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
14
ct/alpine.sh
14
ct/alpine.sh
@@ -20,18 +20,10 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
UPD=$(
|
|
||||||
whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
|
|
||||||
"1" "Check for Alpine Updates" ON \
|
|
||||||
3>&1 1>&2 2>&3
|
|
||||||
)
|
|
||||||
|
|
||||||
header_info
|
header_info
|
||||||
if [ "$UPD" == "1" ]; then
|
$STD apk -U upgrade
|
||||||
$STD apk -U upgrade
|
msg_ok "Updated successfully!"
|
||||||
msg_ok "Updated successfully!"
|
exit 0
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -23,10 +23,9 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
|
UPD=$(msg_menu "Cronicle Update Options" \
|
||||||
"1" "Update ${APP}" ON \
|
"1" "Update ${APP}" \
|
||||||
"2" "Install ${APP} Worker" OFF \
|
"2" "Install ${APP} Worker")
|
||||||
3>&1 1>&2 2>&3)
|
|
||||||
|
|
||||||
if [ "$UPD" == "1" ]; then
|
if [ "$UPD" == "1" ]; then
|
||||||
if [[ ! -d /opt/cronicle ]]; then
|
if [[ ! -d /opt/cronicle ]]; then
|
||||||
|
|||||||
@@ -31,18 +31,27 @@ function update_script() {
|
|||||||
|
|
||||||
APP_VERSION=$(grep -o '"version": *"[^"]*"' /opt/gitea-mirror/package.json | cut -d'"' -f4)
|
APP_VERSION=$(grep -o '"version": *"[^"]*"' /opt/gitea-mirror/package.json | cut -d'"' -f4)
|
||||||
if [[ $APP_VERSION =~ ^2\. ]]; then
|
if [[ $APP_VERSION =~ ^2\. ]]; then
|
||||||
if ! whiptail --backtitle "Gitea Mirror Update" --title "⚠️ VERSION 2.x DETECTED" --yesno \
|
if [[ "${PHS_SILENT:-0}" == "1" ]]; then
|
||||||
"WARNING: Version $APP_VERSION detected!\n\nUpdating from version 2.x will CLEAR ALL CONFIGURATION.\n\nThis includes:\n• API tokens\n• User settings\n• Repository configurations\n• All custom settings\n\nDo you want to continue with the update process?" 15 70 --defaultno; then
|
msg_warn "Version $APP_VERSION detected. Major version upgrade requires interactive confirmation, skipping."
|
||||||
|
exit 75
|
||||||
|
fi
|
||||||
|
msg_warn "WARNING: Version $APP_VERSION detected!"
|
||||||
|
msg_warn "Updating from version 2.x will CLEAR ALL CONFIGURATION."
|
||||||
|
msg_warn "This includes: API tokens, User settings, Repository configurations, All custom settings"
|
||||||
|
echo ""
|
||||||
|
read -r -p "Do you want to continue? (y/N): " CONFIRM
|
||||||
|
if [[ ! "$CONFIRM" =~ ^[Yy]$ ]]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
msg_warn "FINAL WARNING: This update WILL clear all configuration!"
|
||||||
if ! whiptail --backtitle "Gitea Mirror Update" --title "⚠️ FINAL CONFIRMATION" --yesno \
|
msg_warn "Please ensure you have backed up API tokens, custom configurations, and repository settings."
|
||||||
"FINAL WARNING: This update WILL clear all configuration!\n\nBEFORE PROCEEDING, please:\n\n• Copy API tokens to a safe location\n• Backup any custom configurations\n• Note down repository settings\n\nThis action CANNOT be undone!" 18 70 --defaultno; then
|
echo ""
|
||||||
whiptail --backtitle "Gitea Mirror Update" --title "Update Cancelled" --msgbox "Update process cancelled. Please backup your configuration before proceeding." 8 60
|
read -r -p "Final confirmation - proceed? (y/N): " CONFIRM2
|
||||||
|
if [[ ! "$CONFIRM2" =~ ^[Yy]$ ]]; then
|
||||||
|
msg_info "Update cancelled. Please backup your configuration before proceeding."
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
whiptail --backtitle "Gitea Mirror Update" --title "Proceeding with Update" --msgbox \
|
msg_info "Proceeding with version $APP_VERSION update. All configuration will be cleared as warned."
|
||||||
"Proceeding with version $APP_VERSION update.\n\nAll configuration will be cleared as warned." 8 50
|
|
||||||
rm -rf /opt/gitea-mirror
|
rm -rf /opt/gitea-mirror
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -27,12 +27,11 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
|
UPD=$(msg_menu "Home Assistant Update Options" \
|
||||||
"1" "Update ALL Containers" ON \
|
"1" "Update ALL Containers" \
|
||||||
"2" "Remove ALL Unused Images" OFF \
|
"2" "Remove ALL Unused Images" \
|
||||||
"3" "Install HACS" OFF \
|
"3" "Install HACS" \
|
||||||
"4" "Install FileBrowser" OFF \
|
"4" "Install FileBrowser")
|
||||||
3>&1 1>&2 2>&3)
|
|
||||||
|
|
||||||
if [ "$UPD" == "1" ]; then
|
if [ "$UPD" == "1" ]; then
|
||||||
msg_info "Updating All Containers"
|
msg_info "Updating All Containers"
|
||||||
|
|||||||
23
ct/loki.sh
23
ct/loki.sh
@@ -29,21 +29,13 @@ function update_script() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
while true; do
|
CHOICE=$(msg_menu "Loki Update Options" \
|
||||||
CHOICE=$(
|
"1" "Update Loki & Promtail" \
|
||||||
whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --menu "Select option" 11 58 3 \
|
"2" "Allow 0.0.0.0 for listening" \
|
||||||
"1" "Update Loki & Promtail" \
|
"3" "Allow only ${LOCAL_IP} for listening")
|
||||||
"2" "Allow 0.0.0.0 for listening" \
|
|
||||||
"3" "Allow only ${LOCAL_IP} for listening" 3>&2 2>&1 1>&3
|
case $CHOICE in
|
||||||
)
|
1)
|
||||||
exit_status=$?
|
|
||||||
if [ $exit_status == 1 ]; then
|
|
||||||
clear
|
|
||||||
exit-script
|
|
||||||
fi
|
|
||||||
header_info
|
|
||||||
case $CHOICE in
|
|
||||||
1)
|
|
||||||
msg_info "Stopping Loki"
|
msg_info "Stopping Loki"
|
||||||
systemctl stop loki
|
systemctl stop loki
|
||||||
if systemctl is-active --quiet promtail 2>/dev/null || dpkg -s promtail >/dev/null 2>&1; then
|
if systemctl is-active --quiet promtail 2>/dev/null || dpkg -s promtail >/dev/null 2>&1; then
|
||||||
@@ -85,7 +77,6 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,21 +24,9 @@ function update_script() {
|
|||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
|
|
||||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Meilisearch Update" --radiolist --cancel-button Exit-Script "Spacebar = Select" 10 58 2 \
|
setup_meilisearch
|
||||||
"1" "Update Meilisearch" ON \
|
|
||||||
"2" "Update Meilisearch-UI" OFF \
|
|
||||||
3>&1 1>&2 2>&3)
|
|
||||||
|
|
||||||
if [ "$UPD" == "1" ]; then
|
if [[ -d /opt/meilisearch-ui ]]; then
|
||||||
setup_meilisearch
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$UPD" == "2" ]; then
|
|
||||||
if [[ ! -d /opt/meilisearch-ui ]]; then
|
|
||||||
msg_error "No Meilisearch-UI Installation Found!"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
if check_for_gh_release "meilisearch-ui" "riccox/meilisearch-ui"; then
|
if check_for_gh_release "meilisearch-ui" "riccox/meilisearch-ui"; then
|
||||||
msg_info "Stopping Meilisearch-UI"
|
msg_info "Stopping Meilisearch-UI"
|
||||||
systemctl stop meilisearch-ui
|
systemctl stop meilisearch-ui
|
||||||
@@ -58,10 +46,11 @@ function update_script() {
|
|||||||
msg_info "Starting Meilisearch-UI"
|
msg_info "Starting Meilisearch-UI"
|
||||||
systemctl start meilisearch-ui
|
systemctl start meilisearch-ui
|
||||||
msg_ok "Started Meilisearch-UI"
|
msg_ok "Started Meilisearch-UI"
|
||||||
msg_ok "Updated successfully!"
|
|
||||||
fi
|
fi
|
||||||
exit
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
msg_ok "Updated successfully!"
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -27,10 +27,9 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
|
UPD=$(msg_menu "Node-Red Update Options" \
|
||||||
"1" "Update ${APP}" ON \
|
"1" "Update ${APP}" \
|
||||||
"2" "Install Themes" OFF \
|
"2" "Install Themes")
|
||||||
3>&1 1>&2 2>&3)
|
|
||||||
if [ "$UPD" == "1" ]; then
|
if [ "$UPD" == "1" ]; then
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
@@ -49,32 +48,31 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if [ "$UPD" == "2" ]; then
|
if [ "$UPD" == "2" ]; then
|
||||||
THEME=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "NODE-RED THEMES" --radiolist --cancel-button Exit-Script "Choose Theme" 15 58 6 \
|
THEME=$(msg_menu "Node-Red Themes" \
|
||||||
"aurora" "" OFF \
|
"midnight-red" "Midnight Red (default)" \
|
||||||
"cobalt2" "" OFF \
|
"aurora" "Aurora" \
|
||||||
"dark" "" OFF \
|
"cobalt2" "Cobalt2" \
|
||||||
"dracula" "" OFF \
|
"dark" "Dark" \
|
||||||
"espresso-libre" "" OFF \
|
"dracula" "Dracula" \
|
||||||
"github-dark" "" OFF \
|
"espresso-libre" "Espresso Libre" \
|
||||||
"github-dark-default" "" OFF \
|
"github-dark" "GitHub Dark" \
|
||||||
"github-dark-dimmed" "" OFF \
|
"github-dark-default" "GitHub Dark Default" \
|
||||||
"midnight-red" "" ON \
|
"github-dark-dimmed" "GitHub Dark Dimmed" \
|
||||||
"monoindustrial" "" OFF \
|
"monoindustrial" "Monoindustrial" \
|
||||||
"monokai" "" OFF \
|
"monokai" "Monokai" \
|
||||||
"monokai-dimmed" "" OFF \
|
"monokai-dimmed" "Monokai Dimmed" \
|
||||||
"noctis" "" OFF \
|
"noctis" "Noctis" \
|
||||||
"oceanic-next" "" OFF \
|
"oceanic-next" "Oceanic Next" \
|
||||||
"oled" "" OFF \
|
"oled" "OLED" \
|
||||||
"one-dark-pro" "" OFF \
|
"one-dark-pro" "One Dark Pro" \
|
||||||
"one-dark-pro-darker" "" OFF \
|
"one-dark-pro-darker" "One Dark Pro Darker" \
|
||||||
"solarized-dark" "" OFF \
|
"solarized-dark" "Solarized Dark" \
|
||||||
"solarized-light" "" OFF \
|
"solarized-light" "Solarized Light" \
|
||||||
"tokyo-night" "" OFF \
|
"tokyo-night" "Tokyo Night" \
|
||||||
"tokyo-night-light" "" OFF \
|
"tokyo-night-light" "Tokyo Night Light" \
|
||||||
"tokyo-night-storm" "" OFF \
|
"tokyo-night-storm" "Tokyo Night Storm" \
|
||||||
"totallyinformation" "" OFF \
|
"totallyinformation" "TotallyInformation" \
|
||||||
"zenburn" "" OFF \
|
"zenburn" "Zenburn")
|
||||||
3>&1 1>&2 2>&3)
|
|
||||||
header_info
|
header_info
|
||||||
msg_info "Installing ${THEME} Theme"
|
msg_info "Installing ${THEME} Theme"
|
||||||
cd /root/.node-red
|
cd /root/.node-red
|
||||||
|
|||||||
@@ -20,32 +20,21 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE MODE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 14 60 2 \
|
|
||||||
"1" "Check for Alpine Updates" OFF \
|
|
||||||
"2" "Update NPMplus Docker Container" ON \
|
|
||||||
3>&1 1>&2 2>&3)
|
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
|
|
||||||
case "$UPD" in
|
msg_info "Updating Alpine OS"
|
||||||
"1")
|
$STD apk -U upgrade
|
||||||
msg_info "Updating Alpine OS"
|
msg_ok "System updated"
|
||||||
$STD apk -U upgrade
|
|
||||||
msg_ok "System updated"
|
msg_info "Pulling latest NPMplus container image"
|
||||||
exit
|
cd /opt
|
||||||
;;
|
$STD docker compose pull
|
||||||
"2")
|
msg_info "Recreating container"
|
||||||
msg_info "Updating NPMplus Container"
|
$STD docker compose up -d
|
||||||
cd /opt
|
msg_ok "Updated NPMplus container"
|
||||||
msg_info "Pulling latest container image"
|
|
||||||
$STD docker compose pull
|
msg_ok "Updated successfully!"
|
||||||
msg_info "Recreating container"
|
exit
|
||||||
$STD docker compose up -d
|
|
||||||
msg_ok "Updated successfully!"
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
exit 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
10
ct/peanut.sh
10
ct/peanut.sh
@@ -30,30 +30,30 @@ function update_script() {
|
|||||||
|
|
||||||
NODE_VERSION="24" NODE_MODULE="pnpm" setup_nodejs
|
NODE_VERSION="24" NODE_MODULE="pnpm" setup_nodejs
|
||||||
|
|
||||||
if check_for_gh_release "peanut" "Brandawg93/PeaNUT"; then
|
if check_for_gh_release "PeaNUT" "Brandawg93/PeaNUT"; then
|
||||||
msg_info "Stopping Service"
|
msg_info "Stopping Service"
|
||||||
systemctl stop peanut
|
systemctl stop peanut
|
||||||
msg_info "Stopped Service"
|
msg_info "Stopped Service"
|
||||||
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "peanut" "Brandawg93/PeaNUT" "tarball" "latest" "/opt/peanut"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "PeaNUT" "Brandawg93/PeaNUT" "tarball" "latest" "/opt/peanut"
|
||||||
|
|
||||||
if ! grep -q '/opt/peanut/entrypoint.mjs' /etc/systemd/system/peanut.service; then
|
if ! grep -q '/opt/peanut/entrypoint.mjs' /etc/systemd/system/peanut.service; then
|
||||||
msg_info "Fixing entrypoint"
|
msg_info "Fixing entrypoint"
|
||||||
cd /opt/peanut
|
cd /opt/peanut
|
||||||
ln -sf .next/standalone/server.js server.js
|
|
||||||
sed -i 's|/opt/peanut/.next/standalone/server.js|/opt/peanut/entrypoint.mjs|' /etc/systemd/system/peanut.service
|
sed -i 's|/opt/peanut/.next/standalone/server.js|/opt/peanut/entrypoint.mjs|' /etc/systemd/system/peanut.service
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
msg_ok "Fixed entrypoint"
|
msg_ok "Fixed entrypoint"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Updating Peanut"
|
msg_info "Updating PeaNUT"
|
||||||
cd /opt/peanut
|
cd /opt/peanut
|
||||||
$STD pnpm i
|
$STD pnpm i
|
||||||
$STD pnpm run build:local
|
$STD pnpm run build:local
|
||||||
cp -r .next/static .next/standalone/.next/
|
cp -r .next/static .next/standalone/.next/
|
||||||
mkdir -p /opt/peanut/.next/standalone/config
|
mkdir -p /opt/peanut/.next/standalone/config
|
||||||
ln -sf /etc/peanut/settings.yml /opt/peanut/.next/standalone/config/settings.yml
|
ln -sf /etc/peanut/settings.yml /opt/peanut/.next/standalone/config/settings.yml
|
||||||
msg_ok "Updated Peanut"
|
ln -sf .next/standalone/server.js server.js
|
||||||
|
msg_ok "Updated PeaNUT"
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start peanut
|
systemctl start peanut
|
||||||
|
|||||||
@@ -29,10 +29,9 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select \nplexupdate info >> https://github.com/mrworf/plexupdate" 10 59 2 \
|
UPD=$(msg_menu "Plex Update Options" \
|
||||||
"1" "Update LXC" ON \
|
"1" "Update LXC" \
|
||||||
"2" "Install plexupdate" OFF \
|
"2" "Install plexupdate")
|
||||||
3>&1 1>&2 2>&3)
|
|
||||||
if [ "$UPD" == "1" ]; then
|
if [ "$UPD" == "1" ]; then
|
||||||
msg_info "Updating ${APP} LXC"
|
msg_info "Updating ${APP} LXC"
|
||||||
$STD apt update
|
$STD apt update
|
||||||
|
|||||||
@@ -27,12 +27,11 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
|
UPD=$(msg_menu "Home Assistant Update Options" \
|
||||||
"1" "Update system and containers" ON \
|
"1" "Update system and containers" \
|
||||||
"2" "Install HACS" OFF \
|
"2" "Install HACS" \
|
||||||
"3" "Install FileBrowser" OFF \
|
"3" "Install FileBrowser" \
|
||||||
"4" "Remove ALL Unused Images" OFF \
|
"4" "Remove ALL Unused Images")
|
||||||
3>&1 1>&2 2>&3)
|
|
||||||
|
|
||||||
if [ "$UPD" == "1" ]; then
|
if [ "$UPD" == "1" ]; then
|
||||||
msg_info "Updating ${APP} LXC"
|
msg_info "Updating ${APP} LXC"
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ var_tags="${var_tags:-dev_ops}"
|
|||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-2048}"
|
||||||
var_disk="${var_disk:-4}"
|
var_disk="${var_disk:-4}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-ubuntu}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-24.04}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
|
|||||||
@@ -105,6 +105,7 @@ EOF
|
|||||||
cp -rf pnpm-lock.yaml /opt/tracearr/
|
cp -rf pnpm-lock.yaml /opt/tracearr/
|
||||||
cp -rf apps/server/package.json /opt/tracearr/apps/server/
|
cp -rf apps/server/package.json /opt/tracearr/apps/server/
|
||||||
cp -rf apps/server/dist /opt/tracearr/apps/server/dist
|
cp -rf apps/server/dist /opt/tracearr/apps/server/dist
|
||||||
|
cp -rf apps/server/scripts /opt/tracearr/apps/server/scripts
|
||||||
cp -rf apps/web/dist /opt/tracearr/apps/web/dist
|
cp -rf apps/web/dist /opt/tracearr/apps/web/dist
|
||||||
cp -rf packages/shared/package.json /opt/tracearr/packages/shared/
|
cp -rf packages/shared/package.json /opt/tracearr/packages/shared/
|
||||||
cp -rf packages/shared/dist /opt/tracearr/packages/shared/dist
|
cp -rf packages/shared/dist /opt/tracearr/packages/shared/dist
|
||||||
|
|||||||
@@ -31,11 +31,9 @@ function update_script() {
|
|||||||
VAULT=$(get_latest_github_release "dani-garcia/vaultwarden")
|
VAULT=$(get_latest_github_release "dani-garcia/vaultwarden")
|
||||||
WVRELEASE=$(get_latest_github_release "dani-garcia/bw_web_builds")
|
WVRELEASE=$(get_latest_github_release "dani-garcia/bw_web_builds")
|
||||||
|
|
||||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 3 \
|
UPD=$(msg_menu "Vaultwarden Update Options" \
|
||||||
"1" "VaultWarden $VAULT" ON \
|
"1" "Update VaultWarden + Web-Vault" \
|
||||||
"2" "Web-Vault $WVRELEASE" OFF \
|
"2" "Set Admin Token")
|
||||||
"3" "Set Admin Token" OFF \
|
|
||||||
3>&1 1>&2 2>&3)
|
|
||||||
|
|
||||||
if [ "$UPD" == "1" ]; then
|
if [ "$UPD" == "1" ]; then
|
||||||
if check_for_gh_release "vaultwarden" "dani-garcia/vaultwarden"; then
|
if check_for_gh_release "vaultwarden" "dani-garcia/vaultwarden"; then
|
||||||
@@ -59,14 +57,10 @@ function update_script() {
|
|||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start vaultwarden
|
systemctl start vaultwarden
|
||||||
msg_ok "Started Service"
|
msg_ok "Started Service"
|
||||||
msg_ok "Updated successfully!"
|
|
||||||
else
|
else
|
||||||
msg_ok "VaultWarden is already up-to-date"
|
msg_ok "VaultWarden is already up-to-date"
|
||||||
fi
|
fi
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$UPD" == "2" ]; then
|
|
||||||
if check_for_gh_release "vaultwarden_webvault" "dani-garcia/bw_web_builds"; then
|
if check_for_gh_release "vaultwarden_webvault" "dani-garcia/bw_web_builds"; then
|
||||||
msg_info "Stopping Service"
|
msg_info "Stopping Service"
|
||||||
systemctl stop vaultwarden
|
systemctl stop vaultwarden
|
||||||
@@ -84,16 +78,22 @@ function update_script() {
|
|||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start vaultwarden
|
systemctl start vaultwarden
|
||||||
msg_ok "Started Service"
|
msg_ok "Started Service"
|
||||||
msg_ok "Updated successfully!"
|
|
||||||
else
|
else
|
||||||
msg_ok "Web-Vault is already up-to-date"
|
msg_ok "Web-Vault is already up-to-date"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
msg_ok "Updated successfully!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$UPD" == "3" ]; then
|
if [ "$UPD" == "2" ]; then
|
||||||
if NEWTOKEN=$(whiptail --backtitle "Proxmox VE Helper Scripts" --passwordbox "Set the ADMIN_TOKEN" 10 58 3>&1 1>&2 2>&3); then
|
if [[ "${PHS_SILENT:-0}" == "1" ]]; then
|
||||||
if [[ -z "$NEWTOKEN" ]]; then exit; fi
|
msg_warn "Set Admin Token requires interactive mode, skipping."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
read -r -s -p "Set the ADMIN_TOKEN: " NEWTOKEN
|
||||||
|
echo ""
|
||||||
|
if [[ -n "$NEWTOKEN" ]]; then
|
||||||
ensure_dependencies argon2
|
ensure_dependencies argon2
|
||||||
TOKEN=$(echo -n "${NEWTOKEN}" | argon2 "$(openssl rand -base64 32)" -t 2 -m 16 -p 4 -l 64 -e)
|
TOKEN=$(echo -n "${NEWTOKEN}" | argon2 "$(openssl rand -base64 32)" -t 2 -m 16 -p 4 -l 64 -e)
|
||||||
sed -i "s|ADMIN_TOKEN=.*|ADMIN_TOKEN='${TOKEN}'|" /opt/vaultwarden/.env
|
sed -i "s|ADMIN_TOKEN=.*|ADMIN_TOKEN='${TOKEN}'|" /opt/vaultwarden/.env
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"generated": "2026-02-07T18:08:02Z",
|
"generated": "2026-02-09T06:27:10Z",
|
||||||
"versions": [
|
"versions": [
|
||||||
{
|
{
|
||||||
"slug": "2fauth",
|
"slug": "2fauth",
|
||||||
@@ -120,6 +120,13 @@
|
|||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2026-02-01T19:02:42Z"
|
"date": "2026-02-01T19:02:42Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"slug": "bichon",
|
||||||
|
"repo": "rustmailer/bichon",
|
||||||
|
"version": "0.3.7",
|
||||||
|
"pinned": false,
|
||||||
|
"date": "2026-01-28T12:47:09Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"slug": "bitmagnet",
|
"slug": "bitmagnet",
|
||||||
"repo": "bitmagnet-io/bitmagnet",
|
"repo": "bitmagnet-io/bitmagnet",
|
||||||
@@ -151,9 +158,9 @@
|
|||||||
{
|
{
|
||||||
"slug": "byparr",
|
"slug": "byparr",
|
||||||
"repo": "ThePhaseless/Byparr",
|
"repo": "ThePhaseless/Byparr",
|
||||||
"version": "v2.0.1",
|
"version": "v2.1.0",
|
||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2025-09-11T20:29:38Z"
|
"date": "2026-02-08T12:59:20Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "bytestash",
|
"slug": "bytestash",
|
||||||
@@ -169,6 +176,13 @@
|
|||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2025-07-29T16:39:18Z"
|
"date": "2025-07-29T16:39:18Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"slug": "checkmate",
|
||||||
|
"repo": "bluewave-labs/Checkmate",
|
||||||
|
"version": "v3.3",
|
||||||
|
"pinned": false,
|
||||||
|
"date": "2026-01-28T14:25:25Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"slug": "cleanuparr",
|
"slug": "cleanuparr",
|
||||||
"repo": "Cleanuparr/Cleanuparr",
|
"repo": "Cleanuparr/Cleanuparr",
|
||||||
@@ -235,9 +249,9 @@
|
|||||||
{
|
{
|
||||||
"slug": "dawarich",
|
"slug": "dawarich",
|
||||||
"repo": "Freika/dawarich",
|
"repo": "Freika/dawarich",
|
||||||
"version": "1.0.4",
|
"version": "1.1.0",
|
||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2026-02-01T11:37:27Z"
|
"date": "2026-02-08T14:42:45Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "discopanel",
|
"slug": "discopanel",
|
||||||
@@ -326,9 +340,9 @@
|
|||||||
{
|
{
|
||||||
"slug": "firefly",
|
"slug": "firefly",
|
||||||
"repo": "firefly-iii/firefly-iii",
|
"repo": "firefly-iii/firefly-iii",
|
||||||
"version": "v6.4.17",
|
"version": "v6.4.18",
|
||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2026-02-07T06:56:00Z"
|
"date": "2026-02-08T07:28:00Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "fladder",
|
"slug": "fladder",
|
||||||
@@ -375,9 +389,9 @@
|
|||||||
{
|
{
|
||||||
"slug": "ghostfolio",
|
"slug": "ghostfolio",
|
||||||
"repo": "ghostfolio/ghostfolio",
|
"repo": "ghostfolio/ghostfolio",
|
||||||
"version": "2.236.0",
|
"version": "2.237.0",
|
||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2026-02-05T19:30:11Z"
|
"date": "2026-02-08T13:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "gitea",
|
"slug": "gitea",
|
||||||
@@ -543,9 +557,9 @@
|
|||||||
{
|
{
|
||||||
"slug": "jackett",
|
"slug": "jackett",
|
||||||
"repo": "Jackett/Jackett",
|
"repo": "Jackett/Jackett",
|
||||||
"version": "v0.24.1060",
|
"version": "v0.24.1074",
|
||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2026-02-07T05:55:27Z"
|
"date": "2026-02-09T06:01:19Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "joplin-server",
|
"slug": "joplin-server",
|
||||||
@@ -753,16 +767,16 @@
|
|||||||
{
|
{
|
||||||
"slug": "mediamanager",
|
"slug": "mediamanager",
|
||||||
"repo": "maxdorninger/MediaManager",
|
"repo": "maxdorninger/MediaManager",
|
||||||
"version": "v1.12.1",
|
"version": "v1.12.2",
|
||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2026-01-05T09:06:22Z"
|
"date": "2026-02-08T19:18:29Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "mediamtx",
|
"slug": "mediamtx",
|
||||||
"repo": "bluenviron/mediamtx",
|
"repo": "bluenviron/mediamtx",
|
||||||
"version": "v1.16.0",
|
"version": "v1.16.1",
|
||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2026-01-31T15:38:51Z"
|
"date": "2026-02-07T18:58:24Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "meilisearch",
|
"slug": "meilisearch",
|
||||||
@@ -776,14 +790,14 @@
|
|||||||
"repo": "usememos/memos",
|
"repo": "usememos/memos",
|
||||||
"version": "v0.25.3",
|
"version": "v0.25.3",
|
||||||
"pinned": true,
|
"pinned": true,
|
||||||
"date": "2025-11-25T00:00:00Z"
|
"date": "2025-11-25T15:40:41Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "metube",
|
"slug": "metube",
|
||||||
"repo": "alexta69/metube",
|
"repo": "alexta69/metube",
|
||||||
"version": "2026.02.07",
|
"version": "2026.02.08",
|
||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2026-02-07T16:24:37Z"
|
"date": "2026-02-08T17:01:37Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "miniflux",
|
"slug": "miniflux",
|
||||||
@@ -823,9 +837,9 @@
|
|||||||
{
|
{
|
||||||
"slug": "navidrome",
|
"slug": "navidrome",
|
||||||
"repo": "navidrome/navidrome",
|
"repo": "navidrome/navidrome",
|
||||||
"version": "v0.60.0",
|
"version": "v0.60.2",
|
||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2026-02-03T18:57:04Z"
|
"date": "2026-02-07T19:42:33Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "netbox",
|
"slug": "netbox",
|
||||||
@@ -853,7 +867,7 @@
|
|||||||
"repo": "nocodb/nocodb",
|
"repo": "nocodb/nocodb",
|
||||||
"version": "0.301.1",
|
"version": "0.301.1",
|
||||||
"pinned": true,
|
"pinned": true,
|
||||||
"date": "2026-01-21T16:23:04Z"
|
"date": "2026-01-14T13:13:33Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "nodebb",
|
"slug": "nodebb",
|
||||||
@@ -991,9 +1005,9 @@
|
|||||||
{
|
{
|
||||||
"slug": "peanut",
|
"slug": "peanut",
|
||||||
"repo": "Brandawg93/PeaNUT",
|
"repo": "Brandawg93/PeaNUT",
|
||||||
"version": "v5.21.2",
|
"version": "v5.22.0",
|
||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2026-01-18T17:32:08Z"
|
"date": "2026-02-08T00:32:25Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "pelican-panel",
|
"slug": "pelican-panel",
|
||||||
@@ -1117,9 +1131,9 @@
|
|||||||
{
|
{
|
||||||
"slug": "pulse",
|
"slug": "pulse",
|
||||||
"repo": "rcourtman/Pulse",
|
"repo": "rcourtman/Pulse",
|
||||||
"version": "v5.1.3",
|
"version": "v5.1.5",
|
||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2026-02-07T14:59:29Z"
|
"date": "2026-02-08T12:19:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "pve-scripts-local",
|
"slug": "pve-scripts-local",
|
||||||
@@ -1292,9 +1306,9 @@
|
|||||||
{
|
{
|
||||||
"slug": "speedtest-tracker",
|
"slug": "speedtest-tracker",
|
||||||
"repo": "alexjustesen/speedtest-tracker",
|
"repo": "alexjustesen/speedtest-tracker",
|
||||||
"version": "v1.13.8",
|
"version": "v1.13.9",
|
||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2026-02-04T19:24:23Z"
|
"date": "2026-02-08T21:48:49Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "spoolman",
|
"slug": "spoolman",
|
||||||
@@ -1334,9 +1348,9 @@
|
|||||||
{
|
{
|
||||||
"slug": "tandoor",
|
"slug": "tandoor",
|
||||||
"repo": "TandoorRecipes/recipes",
|
"repo": "TandoorRecipes/recipes",
|
||||||
"version": "2.4.2",
|
"version": "2.5.0",
|
||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2026-02-01T12:52:37Z"
|
"date": "2026-02-08T13:23:02Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "tasmoadmin",
|
"slug": "tasmoadmin",
|
||||||
@@ -1614,9 +1628,9 @@
|
|||||||
{
|
{
|
||||||
"slug": "yubal",
|
"slug": "yubal",
|
||||||
"repo": "guillevc/yubal",
|
"repo": "guillevc/yubal",
|
||||||
"version": "v0.4.0",
|
"version": "v0.4.2",
|
||||||
"pinned": false,
|
"pinned": false,
|
||||||
"date": "2026-02-06T21:25:24Z"
|
"date": "2026-02-08T21:35:13Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "zigbee2mqtt",
|
"slug": "zigbee2mqtt",
|
||||||
|
|||||||
@@ -22,8 +22,8 @@
|
|||||||
"cpu": 2,
|
"cpu": 2,
|
||||||
"ram": 2048,
|
"ram": 2048,
|
||||||
"hdd": 4,
|
"hdd": 4,
|
||||||
"os": "debian",
|
"os": "ubuntu",
|
||||||
"version": "12"
|
"version": "24.04"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -37,26 +37,42 @@ fetch_and_deploy_gh_release "ComfyUI" "comfyanonymous/ComfyUI" "tarball" "latest
|
|||||||
|
|
||||||
msg_info "Python dependencies"
|
msg_info "Python dependencies"
|
||||||
$STD uv venv "/opt/ComfyUI/venv"
|
$STD uv venv "/opt/ComfyUI/venv"
|
||||||
|
|
||||||
if [[ "${comfyui_gpu_type,,}" == "nvidia" ]]; then
|
if [[ "${comfyui_gpu_type,,}" == "nvidia" ]]; then
|
||||||
|
pytorch_url="https://download.pytorch.org/whl/cu130"
|
||||||
|
if [[ -f "/opt/ComfyUI/README.md" ]]; then
|
||||||
|
extracted=$(grep -oP 'pip install.*?--extra-index-url\s+\Khttps://download\.pytorch\.org/whl/cu\d+' /opt/ComfyUI/README.md | head -1 || true)
|
||||||
|
[[ -n "$extracted" ]] && pytorch_url="$extracted"
|
||||||
|
fi
|
||||||
$STD uv pip install \
|
$STD uv pip install \
|
||||||
torch \
|
torch \
|
||||||
torchvision \
|
torchvision \
|
||||||
torchaudio \
|
torchaudio \
|
||||||
--extra-index-url "https://download.pytorch.org/whl/cu128" \
|
--extra-index-url "$pytorch_url" \
|
||||||
--python="/opt/ComfyUI/venv/bin/python"
|
--python="/opt/ComfyUI/venv/bin/python"
|
||||||
elif [[ "${comfyui_gpu_type,,}" == "amd" ]]; then
|
elif [[ "${comfyui_gpu_type,,}" == "amd" ]]; then
|
||||||
|
pytorch_url="https://download.pytorch.org/whl/rocm6.4"
|
||||||
|
if [[ -f "/opt/ComfyUI/README.md" ]]; then
|
||||||
|
extracted=$(grep -oP 'pip install.*?--index-url\s+\Khttps://download\.pytorch\.org/whl/rocm[\d.]+' /opt/ComfyUI/README.md | grep -v 'nightly' | head -1 || true)
|
||||||
|
[[ -n "$extracted" ]] && pytorch_url="$extracted"
|
||||||
|
fi
|
||||||
$STD uv pip install \
|
$STD uv pip install \
|
||||||
torch \
|
torch \
|
||||||
torchvision \
|
torchvision \
|
||||||
torchaudio \
|
torchaudio \
|
||||||
--index-url "https://download.pytorch.org/whl/rocm6.3" \
|
--index-url "$pytorch_url" \
|
||||||
--python="/opt/ComfyUI/venv/bin/python"
|
--python="/opt/ComfyUI/venv/bin/python"
|
||||||
elif [[ "${comfyui_gpu_type,,}" == "intel" ]]; then
|
elif [[ "${comfyui_gpu_type,,}" == "intel" ]]; then
|
||||||
|
pytorch_url="https://download.pytorch.org/whl/xpu"
|
||||||
|
if [[ -f "/opt/ComfyUI/README.md" ]]; then
|
||||||
|
extracted=$(grep -oP 'pip install.*?--index-url\s+\Khttps://download\.pytorch\.org/whl/xpu' /opt/ComfyUI/README.md | head -1 || true)
|
||||||
|
[[ -n "$extracted" ]] && pytorch_url="$extracted"
|
||||||
|
fi
|
||||||
$STD uv pip install \
|
$STD uv pip install \
|
||||||
torch \
|
torch \
|
||||||
torchvision \
|
torchvision \
|
||||||
torchaudio \
|
torchaudio \
|
||||||
--index-url "https://download.pytorch.org/whl/xpu" \
|
--index-url "$pytorch_url" \
|
||||||
--python="/opt/ComfyUI/venv/bin/python"
|
--python="/opt/ComfyUI/venv/bin/python"
|
||||||
fi
|
fi
|
||||||
$STD uv pip install -r "/opt/ComfyUI/requirements.txt" --python="/opt/ComfyUI/venv/bin/python"
|
$STD uv pip install -r "/opt/ComfyUI/requirements.txt" --python="/opt/ComfyUI/venv/bin/python"
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ ${LOCAL_IP} {
|
|||||||
EOF
|
EOF
|
||||||
msg_ok "Configured Caddy"
|
msg_ok "Configured Caddy"
|
||||||
|
|
||||||
msg_info "Creating systemd service"
|
msg_info "Creating systemd services"
|
||||||
cat <<EOF >/etc/systemd/system/healthchecks.service
|
cat <<EOF >/etc/systemd/system/healthchecks.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Healthchecks Service
|
Description=Healthchecks Service
|
||||||
@@ -123,9 +123,23 @@ Restart=always
|
|||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
systemctl enable -q --now healthchecks caddy
|
cat <<EOF >/etc/systemd/system/healthchecks-sendalerts.service
|
||||||
|
[Unit]
|
||||||
|
Description=Healthchecks Sendalerts Service
|
||||||
|
After=network.target postgresql.service healthchecks.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
WorkingDirectory=/opt/healthchecks/
|
||||||
|
ExecStart=/opt/healthchecks/venv/bin/python manage.py sendalerts
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
|
||||||
|
systemctl enable -q --now healthchecks healthchecks-sendalerts caddy
|
||||||
systemctl reload caddy
|
systemctl reload caddy
|
||||||
msg_ok "Created Service"
|
msg_ok "Created Services"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
|
|||||||
@@ -14,13 +14,9 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt install -y git
|
$STD apt install -y \
|
||||||
setup_deb822_repo \
|
git \
|
||||||
"ansible" \
|
ansible
|
||||||
"https://keyserver.ubuntu.com/pks/lookup?fingerprint=on&op=get&search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367" \
|
|
||||||
"http://ppa.launchpad.net/ansible/ansible/ubuntu" \
|
|
||||||
"noble"
|
|
||||||
$STD apt install -y ansible
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
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"
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ cp -rf pnpm-workspace.yaml /opt/tracearr/
|
|||||||
cp -rf pnpm-lock.yaml /opt/tracearr/
|
cp -rf pnpm-lock.yaml /opt/tracearr/
|
||||||
cp -rf apps/server/package.json /opt/tracearr/apps/server/
|
cp -rf apps/server/package.json /opt/tracearr/apps/server/
|
||||||
cp -rf apps/server/dist /opt/tracearr/apps/server/dist
|
cp -rf apps/server/dist /opt/tracearr/apps/server/dist
|
||||||
|
cp -rf apps/server/scripts /opt/tracearr/apps/server/scripts
|
||||||
cp -rf apps/web/dist /opt/tracearr/apps/web/dist
|
cp -rf apps/web/dist /opt/tracearr/apps/web/dist
|
||||||
cp -rf packages/shared/package.json /opt/tracearr/packages/shared/
|
cp -rf packages/shared/package.json /opt/tracearr/packages/shared/
|
||||||
cp -rf packages/shared/dist /opt/tracearr/packages/shared/dist
|
cp -rf packages/shared/dist /opt/tracearr/packages/shared/dist
|
||||||
|
|||||||
@@ -3318,6 +3318,68 @@ configure_ssh_settings() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# msg_menu()
|
||||||
|
#
|
||||||
|
# - Displays a numbered menu for update_script() functions
|
||||||
|
# - In silent mode (PHS_SILENT=1): auto-selects the default option
|
||||||
|
# - In interactive mode: shows menu via read with 10s timeout + default fallback
|
||||||
|
# - Usage: CHOICE=$(msg_menu "Title" "tag1" "Description 1" "tag2" "Desc 2" ...)
|
||||||
|
# - The first item is always the default
|
||||||
|
# - Returns the selected tag to stdout
|
||||||
|
# - If no valid selection or timeout, returns the default (first) tag
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
msg_menu() {
|
||||||
|
local title="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
# Parse items into parallel arrays: tags[] and descriptions[]
|
||||||
|
local -a tags=()
|
||||||
|
local -a descs=()
|
||||||
|
while [[ $# -ge 2 ]]; do
|
||||||
|
tags+=("$1")
|
||||||
|
descs+=("$2")
|
||||||
|
shift 2
|
||||||
|
done
|
||||||
|
|
||||||
|
local default_tag="${tags[0]}"
|
||||||
|
local count=${#tags[@]}
|
||||||
|
|
||||||
|
# Silent mode: return default immediately
|
||||||
|
if [[ -n "${PHS_SILENT+x}" ]] && [[ "${PHS_SILENT}" == "1" ]]; then
|
||||||
|
echo "$default_tag"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Display menu
|
||||||
|
echo ""
|
||||||
|
msg_custom "📋" "${BL}" "${title}"
|
||||||
|
echo ""
|
||||||
|
for i in "${!tags[@]}"; do
|
||||||
|
local marker=" "
|
||||||
|
[[ $i -eq 0 ]] && marker="* "
|
||||||
|
printf "${TAB3}${marker}%s) %s\n" "${tags[$i]}" "${descs[$i]}"
|
||||||
|
done
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
local selection=""
|
||||||
|
read -r -t 10 -p "${TAB3}Select [default=${default_tag}, timeout 10s]: " selection || true
|
||||||
|
|
||||||
|
# Validate selection
|
||||||
|
if [[ -n "$selection" ]]; then
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
if [[ "$selection" == "$tag" ]]; then
|
||||||
|
echo "$selection"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
msg_warn "Invalid selection '${selection}' - using default: ${default_tag}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$default_tag"
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# start()
|
# start()
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -421,6 +421,8 @@ for container in $CHOICE; do
|
|||||||
|
|
||||||
if [ $exit_code -eq 0 ]; then
|
if [ $exit_code -eq 0 ]; then
|
||||||
msg_ok "Updated container $container"
|
msg_ok "Updated container $container"
|
||||||
|
elif [ $exit_code -eq 75 ]; then
|
||||||
|
echo -e "${YW}[WARN]${CL} Container $container skipped (requires interactive mode)"
|
||||||
elif [ "$BACKUP_CHOICE" == "yes" ]; then
|
elif [ "$BACKUP_CHOICE" == "yes" ]; then
|
||||||
msg_info "Restoring LXC from backup"
|
msg_info "Restoring LXC from backup"
|
||||||
pct stop $container
|
pct stop $container
|
||||||
|
|||||||
Reference in New Issue
Block a user