mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-11-04 18:32:51 +00:00
Compare commits
268 Commits
2025-09-17
...
2025-10-04
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9b5fa050c7 | ||
|
|
efb8e0f2f3 | ||
|
|
07eda340ea | ||
|
|
1a37c759c3 | ||
|
|
e39dd5ffa3 | ||
|
|
aded2cbd56 | ||
|
|
2c791b9e41 | ||
|
|
d1786241ec | ||
|
|
73cf6c66e3 | ||
|
|
efc9153926 | ||
|
|
1f4b446788 | ||
|
|
aeafbb1047 | ||
|
|
938609d5eb | ||
|
|
ae6ca4de23 | ||
|
|
dfdf8c0ddb | ||
|
|
4136f5e7e3 | ||
|
|
51302d516e | ||
|
|
ab995bd493 | ||
|
|
ac12051057 | ||
|
|
c3cca616a4 | ||
|
|
b1bca924b9 | ||
|
|
1909e35e62 | ||
|
|
237349ef47 | ||
|
|
e4cf50dfcd | ||
|
|
0c30d8e3e7 | ||
|
|
92999b4db3 | ||
|
|
4a02986de1 | ||
|
|
d06299685f | ||
|
|
71f71fbca9 | ||
|
|
938fb6dc58 | ||
|
|
03d36a6c10 | ||
|
|
8e25b70a25 | ||
|
|
1840cce15f | ||
|
|
1d0ac4ca10 | ||
|
|
deb85bd264 | ||
|
|
348f8863a8 | ||
|
|
74b332b7ec | ||
|
|
2fe3ee667b | ||
|
|
48e3b66342 | ||
|
|
e93dccb0d5 | ||
|
|
168e7b7c2b | ||
|
|
3f54d0d7f4 | ||
|
|
9477677385 | ||
|
|
e58d1dc3d2 | ||
|
|
2a765f58f0 | ||
|
|
8dfb632a4d | ||
|
|
42ae2a4cdc | ||
|
|
36e41aca22 | ||
|
|
6b1141f9de | ||
|
|
97f891d53b | ||
|
|
0c63e64662 | ||
|
|
d83a378af4 | ||
|
|
6820bdcade | ||
|
|
8ff82d0c3c | ||
|
|
9e39c6cd2b | ||
|
|
0bea24888e | ||
|
|
70d2be62e9 | ||
|
|
fe30e06a48 | ||
|
|
193a2ea2df | ||
|
|
ffbe0feee1 | ||
|
|
107865b06d | ||
|
|
0d33b38e29 | ||
|
|
11ae7450c7 | ||
|
|
598bfd291f | ||
|
|
1a38df4c12 | ||
|
|
cfc85c1b79 | ||
|
|
e7d41fecdc | ||
|
|
34ef80ac87 | ||
|
|
b18d45631f | ||
|
|
efe1e1edb5 | ||
|
|
4567505c55 | ||
|
|
42c87ba0d4 | ||
|
|
b52c252553 | ||
|
|
be5ac7153e | ||
|
|
07f2849722 | ||
|
|
760299283a | ||
|
|
0bd2dd7a65 | ||
|
|
6591c30e66 | ||
|
|
780e5c114c | ||
|
|
ba10ec721b | ||
|
|
f66dc834bd | ||
|
|
be36fc6a94 | ||
|
|
65ada6e6f3 | ||
|
|
853eb40bba | ||
|
|
ace6265895 | ||
|
|
639d4f2d53 | ||
|
|
d7e77e232c | ||
|
|
b850d3f79e | ||
|
|
72e5ac5c80 | ||
|
|
587579b3a1 | ||
|
|
9b4e996d93 | ||
|
|
e6f317ede9 | ||
|
|
3e4420e357 | ||
|
|
38f7e81d8b | ||
|
|
8f5d50a9fa | ||
|
|
32048cff2d | ||
|
|
5775f7cf33 | ||
|
|
4d7c004810 | ||
|
|
d74131fe6f | ||
|
|
87b30f67fa | ||
|
|
7ddc50bfe7 | ||
|
|
484a46beb1 | ||
|
|
b85d1e5062 | ||
|
|
05e41f67e1 | ||
|
|
bfe6445c64 | ||
|
|
ffde3a731c | ||
|
|
d5b9da8f5f | ||
|
|
1b8d790a14 | ||
|
|
175b925ae4 | ||
|
|
38a8773d2f | ||
|
|
e7dafcbf3e | ||
|
|
380fb1cfb7 | ||
|
|
10cd6c3f0b | ||
|
|
710bd7f4e7 | ||
|
|
4d72852e53 | ||
|
|
9ad538c2d2 | ||
|
|
ee3872e7e1 | ||
|
|
f6ca81833e | ||
|
|
c41b18f083 | ||
|
|
f983f75b30 | ||
|
|
137dd647dd | ||
|
|
2f5c608f45 | ||
|
|
b8e06c05d0 | ||
|
|
2beb89055c | ||
|
|
308897fdc7 | ||
|
|
5b73367c80 | ||
|
|
5c0eefa652 | ||
|
|
7c5c654dbe | ||
|
|
984eeedf31 | ||
|
|
7fd08cbe69 | ||
|
|
285447b67f | ||
|
|
b394cdf6e0 | ||
|
|
ab2a6ed38e | ||
|
|
f8e109c529 | ||
|
|
46e4bc3a04 | ||
|
|
d0a1f305c7 | ||
|
|
6948e1f695 | ||
|
|
8c860da4ed | ||
|
|
d32e9fad59 | ||
|
|
9096a388c7 | ||
|
|
9f0efc27df | ||
|
|
06ca6e2087 | ||
|
|
8c48ea6718 | ||
|
|
b626e705eb | ||
|
|
f103d09c09 | ||
|
|
82a7d252ab | ||
|
|
48af77e928 | ||
|
|
d24308a409 | ||
|
|
584365fff1 | ||
|
|
95c54dccd7 | ||
|
|
eb28463d86 | ||
|
|
bddde99252 | ||
|
|
f1f8c1b279 | ||
|
|
37a0a4add9 | ||
|
|
02cede3f5d | ||
|
|
42a7d57a42 | ||
|
|
53b5f0d1fe | ||
|
|
4a56d8d9aa | ||
|
|
f819188a5e | ||
|
|
4d6e3e5977 | ||
|
|
d6fc527200 | ||
|
|
c103c3b03d | ||
|
|
2d290cb27f | ||
|
|
883efd1cd2 | ||
|
|
1f40670ea0 | ||
|
|
cec4e2d5c1 | ||
|
|
1fafb3f661 | ||
|
|
b56b053e8b | ||
|
|
21f98835dc | ||
|
|
ab455d7748 | ||
|
|
5382fa1dbd | ||
|
|
6fa1938360 | ||
|
|
2a2df5b5cc | ||
|
|
f99d582eb5 | ||
|
|
d3f24ae5b2 | ||
|
|
25e89f7bac | ||
|
|
2686753448 | ||
|
|
19678e2534 | ||
|
|
1ac8f90281 | ||
|
|
7cd3e40f9c | ||
|
|
42191bdb5a | ||
|
|
aab1a9bce5 | ||
|
|
208226065b | ||
|
|
54e62749be | ||
|
|
2a8e2e62cd | ||
|
|
b15d7be4c3 | ||
|
|
e208bc110b | ||
|
|
b26ad61a33 | ||
|
|
5beaec9514 | ||
|
|
3a668870b7 | ||
|
|
3266962630 | ||
|
|
2a3f5d7b47 | ||
|
|
fb4c3cf9e9 | ||
|
|
e96ea4eb40 | ||
|
|
dfbe5f03ce | ||
|
|
9c53c70f6b | ||
|
|
a3c7f468ef | ||
|
|
605f7a0330 | ||
|
|
306627378e | ||
|
|
0e464cb192 | ||
|
|
277f6ce7d1 | ||
|
|
a6d6f79943 | ||
|
|
a7ced850ab | ||
|
|
eadca5f81f | ||
|
|
5ab375fd89 | ||
|
|
2dc95b6b22 | ||
|
|
57dd3d5a44 | ||
|
|
25ddf48190 | ||
|
|
01b6bec1fe | ||
|
|
d1ff8201b1 | ||
|
|
c5c5ba1ede | ||
|
|
e3aabd81a3 | ||
|
|
4713941415 | ||
|
|
adda76f587 | ||
|
|
cf597b6a26 | ||
|
|
20e8730a34 | ||
|
|
9ce9de8e84 | ||
|
|
ac3f969016 | ||
|
|
c0597842f8 | ||
|
|
667d354059 | ||
|
|
d56c1e2f50 | ||
|
|
3dfbc2d6ea | ||
|
|
31b33d370e | ||
|
|
d4d4c0e07a | ||
|
|
aded4d5809 | ||
|
|
c00308524b | ||
|
|
fef7786714 | ||
|
|
0dfd337a9a | ||
|
|
d99862fa24 | ||
|
|
ac08d385c0 | ||
|
|
7a9de76acb | ||
|
|
35f3f043a7 | ||
|
|
4276df26d7 | ||
|
|
5fec573533 | ||
|
|
ebd269a808 | ||
|
|
532c0a95bb | ||
|
|
c078b11aa9 | ||
|
|
ab8b025824 | ||
|
|
e2044a0572 | ||
|
|
59e65eaba3 | ||
|
|
a2306d6b32 | ||
|
|
3e71af1895 | ||
|
|
8a3b41867b | ||
|
|
b4b9efeff2 | ||
|
|
5e2168b2d1 | ||
|
|
c00c1deb79 | ||
|
|
37e3739bd2 | ||
|
|
f5eda37397 | ||
|
|
9e42c801f1 | ||
|
|
e4d6dfc885 | ||
|
|
14894f84b6 | ||
|
|
b5f70e6e77 | ||
|
|
2919ce16f1 | ||
|
|
38cf6b2f46 | ||
|
|
c390fb925d | ||
|
|
a28fdac3f0 | ||
|
|
41b27b31dc | ||
|
|
7ef8afe4d2 | ||
|
|
694d9c203e | ||
|
|
76dcc45e9f | ||
|
|
a0952e9f69 | ||
|
|
3bd6b6e540 | ||
|
|
61be53cc26 | ||
|
|
02eda516df | ||
|
|
25213fabaa | ||
|
|
ad8a4f63c4 | ||
|
|
bcce0e20c1 | ||
|
|
515c4073c4 |
2
.github/ISSUE_TEMPLATE/bug_report.yml
generated
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
generated
vendored
@@ -60,7 +60,7 @@ body:
|
|||||||
- Alpine
|
- Alpine
|
||||||
- Debian 11
|
- Debian 11
|
||||||
- Debian 12
|
- Debian 12
|
||||||
- Ubuntu 20.04
|
- Debian 13
|
||||||
- Ubuntu 22.04
|
- Ubuntu 22.04
|
||||||
- Ubuntu 24.04
|
- Ubuntu 24.04
|
||||||
- Ubuntu 24.10
|
- Ubuntu 24.10
|
||||||
|
|||||||
310
CHANGELOG.md
310
CHANGELOG.md
@@ -10,8 +10,318 @@
|
|||||||
> [!CAUTION]
|
> [!CAUTION]
|
||||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
||||||
|
|
||||||
|
## 2025-10-05
|
||||||
|
|
||||||
|
## 2025-10-04
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- immich: guard /dev/dri permissions so CPU-only installs don’t fail [@mlongwell](https://github.com/mlongwell) ([#8094](https://github.com/community-scripts/ProxmoxVE/pull/8094))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- PosgreSQL: Add version choice [@tremor021](https://github.com/tremor021) ([#8103](https://github.com/community-scripts/ProxmoxVE/pull/8103))
|
||||||
|
|
||||||
|
## 2025-10-03
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- pve-scripts-local ([#8083](https://github.com/community-scripts/ProxmoxVE/pull/8083))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- GLPI: Pin version to v10.0.20 [@tremor021](https://github.com/tremor021) ([#8092](https://github.com/community-scripts/ProxmoxVE/pull/8092))
|
||||||
|
- GLPI: Fix database setup [@tremor021](https://github.com/tremor021) ([#8074](https://github.com/community-scripts/ProxmoxVE/pull/8074))
|
||||||
|
- Overseerr: Increase resources [@tremor021](https://github.com/tremor021) ([#8086](https://github.com/community-scripts/ProxmoxVE/pull/8086))
|
||||||
|
- FIX: post-pve-install.sh just quitting [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#8070](https://github.com/community-scripts/ProxmoxVE/pull/8070))
|
||||||
|
- fix: ensure /etc/pulse exists before chown in update script [@rcourtman](https://github.com/rcourtman) ([#8068](https://github.com/community-scripts/ProxmoxVE/pull/8068))
|
||||||
|
- grist: remove unneeded var [@MickLesk](https://github.com/MickLesk) ([#8060](https://github.com/community-scripts/ProxmoxVE/pull/8060))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Immich: bump version to 2.0.1 [@vhsdream](https://github.com/vhsdream) ([#8090](https://github.com/community-scripts/ProxmoxVE/pull/8090))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Adjust navbar layout for large screen [@BramSuurdje](https://github.com/BramSuurdje) ([#8087](https://github.com/community-scripts/ProxmoxVE/pull/8087))
|
||||||
|
|
||||||
|
## 2025-10-02
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- EMQX: removal logic in emqx update [@MickLesk](https://github.com/MickLesk) ([#8050](https://github.com/community-scripts/ProxmoxVE/pull/8050))
|
||||||
|
- fix FlareSolverr version check to v3.3.25 [@MickLesk](https://github.com/MickLesk) ([#8051](https://github.com/community-scripts/ProxmoxVE/pull/8051))
|
||||||
|
|
||||||
|
## 2025-10-01
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- New Script: PhpMyAdmin (Addon) [@MickLesk](https://github.com/MickLesk) ([#8030](https://github.com/community-scripts/ProxmoxVE/pull/8030))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- openwrt: Add conditional logic for EFI disk allocation [@MickLesk](https://github.com/MickLesk) ([#8024](https://github.com/community-scripts/ProxmoxVE/pull/8024))
|
||||||
|
- Plant-IT: Pin version to v0.10.0 [@tremor021](https://github.com/tremor021) ([#8023](https://github.com/community-scripts/ProxmoxVE/pull/8023))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Immich: bump version to 2.0.0 stable [@vhsdream](https://github.com/vhsdream) ([#8041](https://github.com/community-scripts/ProxmoxVE/pull/8041))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Immich: bump version to 1.144.1 [@vhsdream](https://github.com/vhsdream) ([#7994](https://github.com/community-scripts/ProxmoxVE/pull/7994))
|
||||||
|
|
||||||
|
## 2025-09-30
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- caddy: fix typo for setup_go [@MickLesk](https://github.com/MickLesk) ([#8017](https://github.com/community-scripts/ProxmoxVE/pull/8017))
|
||||||
|
- Changedetection: Fix Browserless installation and update process [@h-stoyanov](https://github.com/h-stoyanov) ([#8011](https://github.com/community-scripts/ProxmoxVE/pull/8011))
|
||||||
|
- n8n: Update procedure workaround [@tremor021](https://github.com/tremor021) ([#8004](https://github.com/community-scripts/ProxmoxVE/pull/8004))
|
||||||
|
- Changedetection: Bump nodejs to 24 [@MickLesk](https://github.com/MickLesk) ([#8002](https://github.com/community-scripts/ProxmoxVE/pull/8002))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Bump Guacamole to Debian 13 [@burgerga](https://github.com/burgerga) ([#8010](https://github.com/community-scripts/ProxmoxVE/pull/8010))
|
||||||
|
|
||||||
|
## 2025-09-29
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Ghostfolio ([#7982](https://github.com/community-scripts/ProxmoxVE/pull/7982))
|
||||||
|
- Warracker ([#7977](https://github.com/community-scripts/ProxmoxVE/pull/7977))
|
||||||
|
- MyIP ([#7974](https://github.com/community-scripts/ProxmoxVE/pull/7974))
|
||||||
|
- Verdaccio ([#7967](https://github.com/community-scripts/ProxmoxVE/pull/7967))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- fix sidebar loading issues and navbar on mobile [@BramSuurdje](https://github.com/BramSuurdje) ([#7991](https://github.com/community-scripts/ProxmoxVE/pull/7991))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Improve mobile ui: added a hamburger navigation to the mobile view. [@BramSuurdje](https://github.com/BramSuurdje) ([#7987](https://github.com/community-scripts/ProxmoxVE/pull/7987))
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Remove Frigate from Website [@MickLesk](https://github.com/MickLesk) ([#7972](https://github.com/community-scripts/ProxmoxVE/pull/7972))
|
||||||
|
|
||||||
|
## 2025-09-28
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Metube: remove uv flags [@vhsdream](https://github.com/vhsdream) ([#7962](https://github.com/community-scripts/ProxmoxVE/pull/7962))
|
||||||
|
- freshrss: fix for broken permissions after update [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7953](https://github.com/community-scripts/ProxmoxVE/pull/7953))
|
||||||
|
|
||||||
|
## 2025-09-27
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- GoAway: Make admin password aquisition more reliable [@tremor021](https://github.com/tremor021) ([#7946](https://github.com/community-scripts/ProxmoxVE/pull/7946))
|
||||||
|
- MeTube: Various fixes [@vhsdream](https://github.com/vhsdream) ([#7936](https://github.com/community-scripts/ProxmoxVE/pull/7936))
|
||||||
|
- Oddo: Fix typo in update procedure [@tremor021](https://github.com/tremor021) ([#7941](https://github.com/community-scripts/ProxmoxVE/pull/7941))
|
||||||
|
|
||||||
|
## 2025-09-26
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Odoo: Fix missing dependencies [@tremor021](https://github.com/tremor021) ([#7931](https://github.com/community-scripts/ProxmoxVE/pull/7931))
|
||||||
|
- OpenWebUI: Update NODE_OPTIONS to increase memory limit [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7919](https://github.com/community-scripts/ProxmoxVE/pull/7919))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Clarify descriptions of update scripts [@tremor021](https://github.com/tremor021) ([#7929](https://github.com/community-scripts/ProxmoxVE/pull/7929))
|
||||||
|
|
||||||
|
## 2025-09-25
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- GoAway ([#7900](https://github.com/community-scripts/ProxmoxVE/pull/7900))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- ntfy: bump to debian 13 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7895](https://github.com/community-scripts/ProxmoxVE/pull/7895))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- feat: add menu icons to website [@BramSuurdje](https://github.com/BramSuurdje) ([#7894](https://github.com/community-scripts/ProxmoxVE/pull/7894))
|
||||||
|
|
||||||
|
## 2025-09-24
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Add Script: Joplin Server ([#7879](https://github.com/community-scripts/ProxmoxVE/pull/7879))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Monica: Fix dependencies [@tremor021](https://github.com/tremor021) ([#7877](https://github.com/community-scripts/ProxmoxVE/pull/7877))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Update name in lxc-delete.json to 'PVE LXC Deletion' [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7872](https://github.com/community-scripts/ProxmoxVE/pull/7872))
|
||||||
|
|
||||||
|
## 2025-09-23
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- UpSnap ([#7825](https://github.com/community-scripts/ProxmoxVE/pull/7825))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- tools.func: Check for /usr/local/bin in PATH during yq setup [@vhsdream](https://github.com/vhsdream) ([#7856](https://github.com/community-scripts/ProxmoxVE/pull/7856))
|
||||||
|
- BookLore: increase RAM [@vhsdream](https://github.com/vhsdream) ([#7855](https://github.com/community-scripts/ProxmoxVE/pull/7855))
|
||||||
|
- Bump Immich to v1.143.1 [@vhsdream](https://github.com/vhsdream) ([#7864](https://github.com/community-scripts/ProxmoxVE/pull/7864))
|
||||||
|
- zabbix: Remove not exist admin credentials from output [@MickLesk](https://github.com/MickLesk) ([#7849](https://github.com/community-scripts/ProxmoxVE/pull/7849))
|
||||||
|
- Suppress wrong errors from uv shell integration in setup_uv [@MickLesk](https://github.com/MickLesk) ([#7822](https://github.com/community-scripts/ProxmoxVE/pull/7822))
|
||||||
|
- Refactor Caddyfile configuration for headscale-admin [@MickLesk](https://github.com/MickLesk) ([#7821](https://github.com/community-scripts/ProxmoxVE/pull/7821))
|
||||||
|
- Improve subscription element removal (mobile) in post-pve script [@MickLesk](https://github.com/MickLesk) ([#7814](https://github.com/community-scripts/ProxmoxVE/pull/7814))
|
||||||
|
- Blocky: Fix release fetching [@tremor021](https://github.com/tremor021) ([#7807](https://github.com/community-scripts/ProxmoxVE/pull/7807))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Improve globaleaks install ensuring install can proceed without user … [@evilaliv3](https://github.com/evilaliv3) ([#7860](https://github.com/community-scripts/ProxmoxVE/pull/7860))
|
||||||
|
- Manage My Damn Life: use NodeJS 22 [@vhsdream](https://github.com/vhsdream) ([#7861](https://github.com/community-scripts/ProxmoxVE/pull/7861))
|
||||||
|
- VM: Increase pv & xz functions (HA OS / Umbrel OS) [@MickLesk](https://github.com/MickLesk) ([#7838](https://github.com/community-scripts/ProxmoxVE/pull/7838))
|
||||||
|
- Tandoor: update for newer dependencies (psql) + bump nodejs to 22 [@MickLesk](https://github.com/MickLesk) ([#7826](https://github.com/community-scripts/ProxmoxVE/pull/7826))
|
||||||
|
- Update Monica and Outline to use Node.js 22 [@MickLesk](https://github.com/MickLesk) ([#7833](https://github.com/community-scripts/ProxmoxVE/pull/7833))
|
||||||
|
- Update Zabbix install for Debian 13 and agent selection [@MickLesk](https://github.com/MickLesk) ([#7819](https://github.com/community-scripts/ProxmoxVE/pull/7819))
|
||||||
|
- tracktor: bump to debian 13 | feature bump [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7818](https://github.com/community-scripts/ProxmoxVE/pull/7818))
|
||||||
|
- LiteLLM: Bump to Debian 13 & add deps [@MickLesk](https://github.com/MickLesk) ([#7815](https://github.com/community-scripts/ProxmoxVE/pull/7815))
|
||||||
|
- Immich: bump to v1.143.0 [@vhsdream](https://github.com/vhsdream) ([#7801](https://github.com/community-scripts/ProxmoxVE/pull/7801))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 📂 Github
|
||||||
|
|
||||||
|
- gh: remove ai autolabel test [@MickLesk](https://github.com/MickLesk) ([#7817](https://github.com/community-scripts/ProxmoxVE/pull/7817))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- OpenWebUI: Add information about Ollama [@tremor021](https://github.com/tremor021) ([#7843](https://github.com/community-scripts/ProxmoxVE/pull/7843))
|
||||||
|
- cosmos: add info note for configuration file [@MickLesk](https://github.com/MickLesk) ([#7824](https://github.com/community-scripts/ProxmoxVE/pull/7824))
|
||||||
|
- ElementSynapse: add note for Bridge Install Methods [@MickLesk](https://github.com/MickLesk) ([#7820](https://github.com/community-scripts/ProxmoxVE/pull/7820))
|
||||||
|
|
||||||
|
## 2025-09-22
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- [core]: Update detection of current running subshell [@tremor021](https://github.com/tremor021) ([#7796](https://github.com/community-scripts/ProxmoxVE/pull/7796))
|
||||||
|
- Paymenter: Installation and update fixes [@tremor021](https://github.com/tremor021) ([#7792](https://github.com/community-scripts/ProxmoxVE/pull/7792))
|
||||||
|
|
||||||
|
## 2025-09-21
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- fix openwebui update and installer [@HeedfulCrayon](https://github.com/HeedfulCrayon) ([#7788](https://github.com/community-scripts/ProxmoxVE/pull/7788))
|
||||||
|
- tracktor: add: cleanup before upgrade [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7782](https://github.com/community-scripts/ProxmoxVE/pull/7782))
|
||||||
|
- Fix regex to extract MySQL version correctly [@MickLesk](https://github.com/MickLesk) ([#7774](https://github.com/community-scripts/ProxmoxVE/pull/7774))
|
||||||
|
- Update Ollama Installer in OpenWebUI to resume downloads if interrupted [@HeedfulCrayon](https://github.com/HeedfulCrayon) ([#7779](https://github.com/community-scripts/ProxmoxVE/pull/7779))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Implement clean install option in tools.func (fetch_and_deploy_gh_release) [@MickLesk](https://github.com/MickLesk) ([#7785](https://github.com/community-scripts/ProxmoxVE/pull/7785))
|
||||||
|
- caddy: modify disk size and implement xCaddy update [@MickLesk](https://github.com/MickLesk) ([#7775](https://github.com/community-scripts/ProxmoxVE/pull/7775))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Harmonize and shorten JSON Names for PVE/PBS/PMG [@MickLesk](https://github.com/MickLesk) ([#7773](https://github.com/community-scripts/ProxmoxVE/pull/7773))
|
||||||
|
|
||||||
|
## 2025-09-20
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- checkmk.sh Update: Revert old Pr [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7765](https://github.com/community-scripts/ProxmoxVE/pull/7765))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Wazuh: Increase HDD size [@tremor021](https://github.com/tremor021) ([#7759](https://github.com/community-scripts/ProxmoxVE/pull/7759))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 📂 Github
|
||||||
|
|
||||||
|
- Add Debian 13 in bug report template [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7757](https://github.com/community-scripts/ProxmoxVE/pull/7757))
|
||||||
|
|
||||||
|
## 2025-09-19
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Tunarr ([#7735](https://github.com/community-scripts/ProxmoxVE/pull/7735))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- SigNoz: Fix wrong URL for Zookeeper [@tremor021](https://github.com/tremor021) ([#7742](https://github.com/community-scripts/ProxmoxVE/pull/7742))
|
||||||
|
|
||||||
## 2025-09-18
|
## 2025-09-18
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Alpine-Caddy [@tremor021](https://github.com/tremor021) ([#7711](https://github.com/community-scripts/ProxmoxVE/pull/7711))
|
||||||
|
- pve-tool: execute.sh by @jeroenzwart [@MickLesk](https://github.com/MickLesk) ([#7708](https://github.com/community-scripts/ProxmoxVE/pull/7708))
|
||||||
|
- GlobaLeaks ([#7707](https://github.com/community-scripts/ProxmoxVE/pull/7707))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Delay chmod after updating beszel [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7725](https://github.com/community-scripts/ProxmoxVE/pull/7725))
|
||||||
|
- Remove redundant globaleaks configuration [@evilaliv3](https://github.com/evilaliv3) ([#7723](https://github.com/community-scripts/ProxmoxVE/pull/7723))
|
||||||
|
- Gatus: check for GO path before update [@vhsdream](https://github.com/vhsdream) ([#7705](https://github.com/community-scripts/ProxmoxVE/pull/7705))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Cloudflared: Bump to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#7719](https://github.com/community-scripts/ProxmoxVE/pull/7719))
|
||||||
|
- AdGuard Home: Bump to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#7720](https://github.com/community-scripts/ProxmoxVE/pull/7720))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Immich: Debian Trixie [@vhsdream](https://github.com/vhsdream) ([#7728](https://github.com/community-scripts/ProxmoxVE/pull/7728))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Add Warning for Containerized Home Assistant [@ZaxLofful](https://github.com/ZaxLofful) ([#7704](https://github.com/community-scripts/ProxmoxVE/pull/7704))
|
||||||
|
|
||||||
## 2025-09-17
|
## 2025-09-17
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
|||||||
var_ram="${var_ram:-512}"
|
var_ram="${var_ram:-512}"
|
||||||
var_disk="${var_disk:-2}"
|
var_disk="${var_disk:-2}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-13}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@@ -20,15 +20,15 @@ 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/AdGuardHome ]]; then
|
if [[ ! -d /opt/AdGuardHome ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
|
||||||
fi
|
|
||||||
msg_error "Adguard Home should be updated via the user interface."
|
|
||||||
exit
|
exit
|
||||||
|
fi
|
||||||
|
msg_error "Adguard Home can only be updated via the user interface."
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
@@ -38,4 +38,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
||||||
|
|||||||
47
ct/alpine-caddy.sh
Normal file
47
ct/alpine-caddy.sh
Normal file
@@ -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-2025 community-scripts ORG
|
||||||
|
# Author: cobalt (cobaltgit)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://caddyserver.com/
|
||||||
|
|
||||||
|
APP="Alpine-Caddy"
|
||||||
|
var_tags="${var_tags:-webserver}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-256}"
|
||||||
|
var_disk="${var_disk:-3}"
|
||||||
|
var_os="${var_os:-alpine}"
|
||||||
|
var_version="${var_version:-3.22}"
|
||||||
|
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/caddy ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
msg_info "Updating $APP LXC"
|
||||||
|
$STD apk -U upgrade
|
||||||
|
msg_ok "Updated $APP LXC"
|
||||||
|
|
||||||
|
msg_info "Restarting Caddy"
|
||||||
|
rc-service caddy restart
|
||||||
|
msg_ok "Restarted Caddy"
|
||||||
|
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}:80${CL}"
|
||||||
@@ -11,7 +11,7 @@ var_disk="${var_disk:-4}"
|
|||||||
var_cpu="${var_cpu:-1}"
|
var_cpu="${var_cpu:-1}"
|
||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-2048}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-13}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@@ -38,4 +38,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/guacamole${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/guacamole${CL}"
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Updating $APP"
|
msg_info "Updating $APP"
|
||||||
$STD /opt/beszel/beszel update
|
$STD /opt/beszel/beszel update
|
||||||
chmod +x /opt/beszel/beszel
|
sleep 2 && chmod +x /opt/beszel/beszel
|
||||||
msg_ok "Updated $APP"
|
msg_ok "Updated $APP"
|
||||||
|
|
||||||
msg_info "Starting $APP"
|
msg_info "Starting $APP"
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ function update_script() {
|
|||||||
rm -rf /opt/blocky
|
rm -rf /opt/blocky
|
||||||
msg_ok "Removed Old Version"
|
msg_ok "Removed Old Version"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_linux_x86_64.tar.gz"
|
fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_Linux_x86_64.tar.gz"
|
||||||
|
|
||||||
msg_info "Restore Config"
|
msg_info "Restore Config"
|
||||||
mv /opt/config.yml /opt/blocky/config.yml
|
mv /opt/config.yml /opt/blocky/config.yml
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
|||||||
APP="BookLore"
|
APP="BookLore"
|
||||||
var_tags="${var_tags:-books;library}"
|
var_tags="${var_tags:-books;library}"
|
||||||
var_cpu="${var_cpu:-3}"
|
var_cpu="${var_cpu:-3}"
|
||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-3072}"
|
||||||
var_disk="${var_disk:-7}"
|
var_disk="${var_disk:-7}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-12}"
|
||||||
|
|||||||
17
ct/caddy.sh
17
ct/caddy.sh
@@ -9,7 +9,7 @@ APP="Caddy"
|
|||||||
var_tags="${var_tags:-webserver}"
|
var_tags="${var_tags:-webserver}"
|
||||||
var_cpu="${var_cpu:-1}"
|
var_cpu="${var_cpu:-1}"
|
||||||
var_ram="${var_ram:-512}"
|
var_ram="${var_ram:-512}"
|
||||||
var_disk="${var_disk:-4}"
|
var_disk="${var_disk:-6}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-12}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
@@ -31,6 +31,19 @@ function update_script() {
|
|||||||
$STD apt-get update
|
$STD apt-get update
|
||||||
$STD apt-get -y upgrade
|
$STD apt-get -y upgrade
|
||||||
msg_ok "Updated $APP LXC"
|
msg_ok "Updated $APP LXC"
|
||||||
|
|
||||||
|
if command -v xcaddy >/dev/null 2>&1; then
|
||||||
|
setup_go
|
||||||
|
msg_info "Updating xCaddy"
|
||||||
|
cd /opt
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk -F '"' '{print $4}')
|
||||||
|
VERSION="${RELEASE#v}"
|
||||||
|
curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${VERSION}_linux_amd64.deb" -o "xcaddy_${VERSION}_linux_amd64.deb"
|
||||||
|
$STD dpkg -i "xcaddy_${VERSION}_linux_amd64.deb"
|
||||||
|
rm -f "xcaddy_${VERSION}_linux_amd64.deb"
|
||||||
|
$STD xcaddy build
|
||||||
|
msg_ok "Updated xCaddy"
|
||||||
|
fi
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,4 +54,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ function update_script() {
|
|||||||
msg_ok "Updated Dependencies"
|
msg_ok "Updated Dependencies"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
msg_info "Updating ${APP}"
|
msg_info "Updating ${APP}"
|
||||||
$STD pip3 install changedetection.io --upgrade
|
$STD pip3 install changedetection.io --upgrade
|
||||||
msg_ok "Updated ${APP}"
|
msg_ok "Updated ${APP}"
|
||||||
@@ -49,6 +51,7 @@ function update_script() {
|
|||||||
$STD git -C /opt/browserless/ fetch --all
|
$STD git -C /opt/browserless/ fetch --all
|
||||||
$STD git -C /opt/browserless/ reset --hard origin/main
|
$STD git -C /opt/browserless/ reset --hard origin/main
|
||||||
$STD npm update --prefix /opt/browserless
|
$STD npm update --prefix /opt/browserless
|
||||||
|
$STD npm ci --include=optional --include=dev --prefix /opt/browserless
|
||||||
$STD /opt/browserless/node_modules/playwright-core/cli.js install --with-deps
|
$STD /opt/browserless/node_modules/playwright-core/cli.js install --with-deps
|
||||||
# Update Chrome separately, as it has to be done with the force option. Otherwise the installation of other browsers will not be done if Chrome is already installed.
|
# Update Chrome separately, as it has to be done with the force option. Otherwise the installation of other browsers will not be done if Chrome is already installed.
|
||||||
$STD /opt/browserless/node_modules/playwright-core/cli.js install --force chrome
|
$STD /opt/browserless/node_modules/playwright-core/cli.js install --force chrome
|
||||||
|
|||||||
@@ -27,21 +27,21 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if check_for_gh_release "checkmk" "checkmk/checkmk"; then
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | tr ' ' '\n' | grep -Ev 'rc|b' | sort -V | tail -n 1)
|
RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | tr ' ' '\n' | grep -Ev 'rc|b' | sort -V | tail -n 1)
|
||||||
msg_info "Updating ${APP} to v${RELEASE}"
|
msg_info "Updating ${APP} to v${RELEASE}"
|
||||||
$STD omd stop monitoring
|
$STD omd stop monitoring
|
||||||
$STD omd cp monitoring monitoringbackup
|
$STD omd cp monitoring monitoringbackup
|
||||||
curl -fsSL "https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb" -o "/opt/checkmk.deb"
|
curl -fsSL "https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb" -o "/opt/checkmk.deb"
|
||||||
$STD apt-get install -y /opt/checkmk.deb
|
$STD apt-get install -y /opt/checkmk.deb
|
||||||
$STD omd --force -V ${RELEASE}.cre update --conflict=install monitoring
|
$STD omd --force -V ${RELEASE}.cre update --conflict=install monitoring
|
||||||
$STD omd start monitoring
|
$STD omd start monitoring
|
||||||
$STD omd -f rm monitoringbackup
|
$STD omd -f rm monitoringbackup
|
||||||
$STD omd cleanup
|
$STD omd cleanup
|
||||||
rm -rf /opt/checkmk.deb
|
rm -rf /opt/checkmk.deb
|
||||||
msg_ok "Updated ${APP}"
|
msg_ok "Updated ${APP}"
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
fi
|
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
|||||||
var_ram="${var_ram:-512}"
|
var_ram="${var_ram:-512}"
|
||||||
var_disk="${var_disk:-2}"
|
var_disk="${var_disk:-2}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-13}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@@ -20,18 +20,18 @@ 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 /var ]]; then
|
if [[ ! -f /etc/systemd/system/cloudflared.service ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
msg_info "Updating $APP LXC"
|
msg_info "Updating $APP LXC"
|
||||||
$STD apt-get update
|
$STD apt update
|
||||||
$STD apt-get -y upgrade
|
$STD apt -y upgrade
|
||||||
msg_ok "Updated $APP LXC"
|
msg_ok "Updated $APP LXC"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
@@ -39,4 +39,4 @@ build_container
|
|||||||
description
|
description
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
|||||||
@@ -31,7 +31,13 @@ function update_script() {
|
|||||||
msg_ok "Stopped EMQX"
|
msg_ok "Stopped EMQX"
|
||||||
|
|
||||||
msg_info "Removing old EMQX"
|
msg_info "Removing old EMQX"
|
||||||
$STD apt-get remove --purge -y emqx
|
if dpkg -l | grep -q "^ii\s\+emqx\s"; then
|
||||||
|
$STD apt-get remove --purge -y emqx
|
||||||
|
elif dpkg -l | grep -q "^ii\s\+emqx-enterprise\s"; then
|
||||||
|
$STD apt-get remove --purge -y emqx-enterprise
|
||||||
|
else
|
||||||
|
msg_ok "No old EMQX package found"
|
||||||
|
fi
|
||||||
msg_ok "Removed old EMQX"
|
msg_ok "Removed old EMQX"
|
||||||
|
|
||||||
msg_info "Downloading EMQX v${RELEASE}"
|
msg_info "Downloading EMQX v${RELEASE}"
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "3.3.5"; then
|
if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "3.3.25"; then
|
||||||
msg_info "Stopping service"
|
msg_info "Stopping service"
|
||||||
systemctl stop flaresolverr
|
systemctl stop flaresolverr
|
||||||
msg_ok "Stopped service"
|
msg_ok "Stopped service"
|
||||||
|
|||||||
@@ -27,8 +27,16 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
msg_error "FreshRSS should be updated via the user interface."
|
|
||||||
exit
|
if [ ! -x /opt/freshrss/cli/sensitive-log.sh ]; then
|
||||||
|
msg_info "Fixing wrong permissions"
|
||||||
|
chmod +x /opt/freshrss/cli/sensitive-log.sh
|
||||||
|
systemctl restart apache2
|
||||||
|
msg_ok "Fixed wrong permissions"
|
||||||
|
else
|
||||||
|
msg_error "FreshRSS should be updated via the user interface."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
@@ -38,4 +46,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
|
||||||
|
|||||||
@@ -33,6 +33,11 @@ function update_script() {
|
|||||||
systemctl stop gatus
|
systemctl stop gatus
|
||||||
msg_ok "Stopped $APP"
|
msg_ok "Stopped $APP"
|
||||||
|
|
||||||
|
if [[ :$PATH: != *":/usr/local/bin:"* ]]; then
|
||||||
|
echo 'export PATH="/usr/local/bin:$PATH"' >>~/.bashrc
|
||||||
|
source ~/.bashrc
|
||||||
|
fi
|
||||||
|
|
||||||
mv /opt/gatus/config/config.yaml /opt
|
mv /opt/gatus/config/config.yaml /opt
|
||||||
rm -rf /opt/gatus
|
rm -rf /opt/gatus
|
||||||
fetch_and_deploy_gh_release "gatus" "TwiN/gatus"
|
fetch_and_deploy_gh_release "gatus" "TwiN/gatus"
|
||||||
|
|||||||
75
ct/ghostfolio.sh
Normal file
75
ct/ghostfolio.sh
Normal file
@@ -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-2025 community-scripts ORG
|
||||||
|
# Author: lucasfell
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://ghostfol.io/
|
||||||
|
|
||||||
|
APP="Ghostfolio"
|
||||||
|
var_tags="${var_tags:-finance;investment}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-4096}"
|
||||||
|
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/ghostfolio/dist/apps/api/main.js ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "ghostfolio" "ghostfolio/ghostfolio"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop ghostfolio
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Creating Backup"
|
||||||
|
tar -czf "/opt/ghostfolio_backup_$(date +%F).tar.gz" \
|
||||||
|
-C /opt \
|
||||||
|
--exclude="ghostfolio/node_modules" \
|
||||||
|
--exclude="ghostfolio/dist" \
|
||||||
|
ghostfolio
|
||||||
|
mv /opt/ghostfolio/.env /opt/env.backup
|
||||||
|
msg_ok "Backup Created"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "ghostfolio" "ghostfolio/ghostfolio" "tarball" "latest" "/opt/ghostfolio"
|
||||||
|
|
||||||
|
msg_info "Updating Ghostfolio"
|
||||||
|
mv /opt/env.backup /opt/ghostfolio/.env
|
||||||
|
cd /opt/ghostfolio
|
||||||
|
$STD npm ci
|
||||||
|
$STD npm run build:production
|
||||||
|
$STD npx prisma migrate deploy
|
||||||
|
msg_ok "Updated Ghostfolio"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start ghostfolio
|
||||||
|
msg_ok "Started Service"
|
||||||
|
|
||||||
|
msg_info "Cleaning Up"
|
||||||
|
$STD npm cache clean --force
|
||||||
|
msg_ok "Cleanup Completed"
|
||||||
|
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}:3333${CL}"
|
||||||
43
ct/globaleaks.sh
Normal file
43
ct/globaleaks.sh
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 communtiy-scripts ORG
|
||||||
|
# Author: Giovanni Pellerano (evilaliv3)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/globaleaks/globaleaks-whistleblowing-software
|
||||||
|
|
||||||
|
APP="GlobaLeaks"
|
||||||
|
var_tags="${var_tags:-whistleblowing-software}"
|
||||||
|
var_disk="${var_disk:-4}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -f /usr/sbin/globaleaks ]]; then
|
||||||
|
msg_error "No ${APP} installation found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_info "Updating $APP LXC"
|
||||||
|
$STD apt update
|
||||||
|
$STD apt -y upgrade
|
||||||
|
msg_ok "Updated $APP LXC"
|
||||||
|
}
|
||||||
|
|
||||||
|
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}"
|
||||||
54
ct/goaway.sh
Normal file
54
ct/goaway.sh
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/pommee/goaway
|
||||||
|
|
||||||
|
APP="GoAway"
|
||||||
|
var_tags="${var_tags:-network}"
|
||||||
|
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/goaway ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "goaway" "pommee/goaway"; then
|
||||||
|
msg_info "Stopping Services"
|
||||||
|
systemctl stop goaway
|
||||||
|
msg_ok "Stopped Services"
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "goaway" "pommee/goaway" "prebuild" "latest" "/opt/goaway" "goaway_*_linux_amd64.tar.gz"
|
||||||
|
|
||||||
|
msg_info "Starting Services"
|
||||||
|
systemctl start goaway
|
||||||
|
msg_ok "Started Services"
|
||||||
|
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"
|
||||||
6
ct/headers/alpine-caddy
Normal file
6
ct/headers/alpine-caddy
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
___ __ _ ______ __ __
|
||||||
|
/ | / /___ (_)___ ___ / ____/___ _____/ /___/ /_ __
|
||||||
|
/ /| | / / __ \/ / __ \/ _ \______/ / / __ `/ __ / __ / / / /
|
||||||
|
/ ___ |/ / /_/ / / / / / __/_____/ /___/ /_/ / /_/ / /_/ / /_/ /
|
||||||
|
/_/ |_/_/ .___/_/_/ /_/\___/ \____/\__,_/\__,_/\__,_/\__, /
|
||||||
|
/_/ /____/
|
||||||
6
ct/headers/ghostfolio
Normal file
6
ct/headers/ghostfolio
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
________ __ ____ ___
|
||||||
|
/ ____/ /_ ____ _____/ /_/ __/___ / (_)___
|
||||||
|
/ / __/ __ \/ __ \/ ___/ __/ /_/ __ \/ / / __ \
|
||||||
|
/ /_/ / / / / /_/ (__ ) /_/ __/ /_/ / / / /_/ /
|
||||||
|
\____/_/ /_/\____/____/\__/_/ \____/_/_/\____/
|
||||||
|
|
||||||
6
ct/headers/globaleaks
Normal file
6
ct/headers/globaleaks
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
________ __ __ __
|
||||||
|
/ ____/ /___ / /_ ____ _/ / ___ ____ _/ /_______
|
||||||
|
/ / __/ / __ \/ __ \/ __ `/ / / _ \/ __ `/ //_/ ___/
|
||||||
|
/ /_/ / / /_/ / /_/ / /_/ / /___/ __/ /_/ / ,< (__ )
|
||||||
|
\____/_/\____/_.___/\__,_/_____/\___/\__,_/_/|_/____/
|
||||||
|
|
||||||
6
ct/headers/goaway
Normal file
6
ct/headers/goaway
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
______ ___
|
||||||
|
/ ____/___ / |_ ______ ___ __
|
||||||
|
/ / __/ __ \/ /| | | /| / / __ `/ / / /
|
||||||
|
/ /_/ / /_/ / ___ | |/ |/ / /_/ / /_/ /
|
||||||
|
\____/\____/_/ |_|__/|__/\__,_/\__, /
|
||||||
|
/____/
|
||||||
6
ct/headers/joplin-server
Normal file
6
ct/headers/joplin-server
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
__ ___ _____
|
||||||
|
/ /___ ____ / (_)___ / ___/___ ______ _____ _____
|
||||||
|
__ / / __ \/ __ \/ / / __ \______\__ \/ _ \/ ___/ | / / _ \/ ___/
|
||||||
|
/ /_/ / /_/ / /_/ / / / / / /_____/__/ / __/ / | |/ / __/ /
|
||||||
|
\____/\____/ .___/_/_/_/ /_/ /____/\___/_/ |___/\___/_/
|
||||||
|
/_/
|
||||||
6
ct/headers/myip
Normal file
6
ct/headers/myip
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
__ ___ ________
|
||||||
|
/ |/ /_ __/ _/ __ \
|
||||||
|
/ /|_/ / / / // // /_/ /
|
||||||
|
/ / / / /_/ // // ____/
|
||||||
|
/_/ /_/\__, /___/_/
|
||||||
|
/____/
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
____ __ _
|
|
||||||
/ __ \___ / /_(_)___
|
|
||||||
/ /_/ / _ \/ __/ / __ \
|
|
||||||
/ ____/ __/ /_/ / /_/ /
|
|
||||||
/_/ \___/\__/_/\____/
|
|
||||||
|
|
||||||
6
ct/headers/pve-scripts-local
Normal file
6
ct/headers/pve-scripts-local
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
____ _ ________ _____ _ __ __ __
|
||||||
|
/ __ \ | / / ____/ / ___/__________(_)___ / /______ / / ____ _________ _/ /
|
||||||
|
/ /_/ / | / / __/______\__ \/ ___/ ___/ / __ \/ __/ ___/_____/ / / __ \/ ___/ __ `/ /
|
||||||
|
/ ____/| |/ / /__/_____/__/ / /__/ / / / /_/ / /_(__ )_____/ /___/ /_/ / /__/ /_/ / /
|
||||||
|
/_/ |___/_____/ /____/\___/_/ /_/ .___/\__/____/ /_____/\____/\___/\__,_/_/
|
||||||
|
/_/
|
||||||
6
ct/headers/tunarr
Normal file
6
ct/headers/tunarr
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
______
|
||||||
|
/_ __/_ ______ ____ ___________
|
||||||
|
/ / / / / / __ \/ __ `/ ___/ ___/
|
||||||
|
/ / / /_/ / / / / /_/ / / / /
|
||||||
|
/_/ \__,_/_/ /_/\__,_/_/ /_/
|
||||||
|
|
||||||
6
ct/headers/upsnap
Normal file
6
ct/headers/upsnap
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
__ __ _____
|
||||||
|
/ / / /___ / ___/____ ____ _____
|
||||||
|
/ / / / __ \\__ \/ __ \/ __ `/ __ \
|
||||||
|
/ /_/ / /_/ /__/ / / / / /_/ / /_/ /
|
||||||
|
\____/ .___/____/_/ /_/\__,_/ .___/
|
||||||
|
/_/ /_/
|
||||||
6
ct/headers/verdaccio
Normal file
6
ct/headers/verdaccio
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
_ __ __ _
|
||||||
|
| | / /__ _________/ /___ ___________(_)___
|
||||||
|
| | / / _ \/ ___/ __ / __ `/ ___/ ___/ / __ \
|
||||||
|
| |/ / __/ / / /_/ / /_/ / /__/ /__/ / /_/ /
|
||||||
|
|___/\___/_/ \__,_/\__,_/\___/\___/_/\____/
|
||||||
|
|
||||||
6
ct/headers/warracker
Normal file
6
ct/headers/warracker
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
_ __ __
|
||||||
|
| | / /___ _______________ ______/ /_____ _____
|
||||||
|
| | /| / / __ `/ ___/ ___/ __ `/ ___/ //_/ _ \/ ___/
|
||||||
|
| |/ |/ / /_/ / / / / / /_/ / /__/ ,< / __/ /
|
||||||
|
|__/|__/\__,_/_/ /_/ \__,_/\___/_/|_|\___/_/
|
||||||
|
|
||||||
@@ -53,3 +53,5 @@ description
|
|||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
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}Headscale API: ${IP}/api (no Frontend) | headscale-admin: http://${IP}/admin/${CL}"
|
||||||
|
|||||||
66
ct/immich.sh
66
ct/immich.sh
@@ -11,7 +11,7 @@ var_disk="${var_disk:-20}"
|
|||||||
var_cpu="${var_cpu:-4}"
|
var_cpu="${var_cpu:-4}"
|
||||||
var_ram="${var_ram:-4096}"
|
var_ram="${var_ram:-4096}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-13}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@@ -27,11 +27,22 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
if [[ -f /etc/apt/sources.list.d/immich.list ]]; then
|
||||||
|
msg_error "Wrong Debian version detected!"
|
||||||
|
msg_error "You must upgrade your LXC to Debian Trixie before updating."
|
||||||
|
msg_error "Please visit https://github.com/community-scripts/ProxmoxVE/discussions/7726 for details."
|
||||||
|
echo "${TAB3} If you have upgraded your LXC to Trixie and you still see this message, please open an Issue in the Community-Scripts repo."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
setup_uv
|
setup_uv
|
||||||
PNPM_VERSION="$(curl -fsSL "https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/package.json" | jq -r '.packageManager | split("@")[1]')"
|
PNPM_VERSION="$(curl -fsSL "https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/package.json" | jq -r '.packageManager | split("@")[1]')"
|
||||||
NODE_VERSION="22" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs
|
NODE_VERSION="22" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs
|
||||||
|
|
||||||
|
if dpkg -l | grep -q "libmimalloc2.0"; then
|
||||||
|
$STD apt-get update && $STD apt-get install -y libmimalloc3
|
||||||
|
fi
|
||||||
|
|
||||||
STAGING_DIR=/opt/staging
|
STAGING_DIR=/opt/staging
|
||||||
BASE_DIR=${STAGING_DIR}/base-images
|
BASE_DIR=${STAGING_DIR}/base-images
|
||||||
SOURCE_DIR=${STAGING_DIR}/image-source
|
SOURCE_DIR=${STAGING_DIR}/image-source
|
||||||
@@ -45,8 +56,10 @@ function update_script() {
|
|||||||
for url in "${INTEL_URLS[@]}"; do
|
for url in "${INTEL_URLS[@]}"; do
|
||||||
curl -fsSLO "$url"
|
curl -fsSLO "$url"
|
||||||
done
|
done
|
||||||
|
$STD apt-mark unhold libigdgmm12
|
||||||
$STD apt install -y ./*.deb
|
$STD apt install -y ./*.deb
|
||||||
rm ./*.deb
|
rm ./*.deb
|
||||||
|
$STD apt-mark hold libigdgmm12
|
||||||
msg_ok "Intel iGPU dependencies updated"
|
msg_ok "Intel iGPU dependencies updated"
|
||||||
fi
|
fi
|
||||||
rm ~/Dockerfile
|
rm ~/Dockerfile
|
||||||
@@ -61,7 +74,7 @@ function update_script() {
|
|||||||
done
|
done
|
||||||
msg_ok "Image-processing libraries up to date"
|
msg_ok "Image-processing libraries up to date"
|
||||||
fi
|
fi
|
||||||
RELEASE="1.142.1"
|
RELEASE="2.0.1"
|
||||||
if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then
|
if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then
|
||||||
msg_info "Stopping Services"
|
msg_info "Stopping Services"
|
||||||
systemctl stop immich-web
|
systemctl stop immich-web
|
||||||
@@ -78,22 +91,10 @@ function update_script() {
|
|||||||
|
|
||||||
if [[ ! -f ~/.vchord_version ]] || [[ "$VCHORD_RELEASE" != "$(cat ~/.vchord_version)" ]]; then
|
if [[ ! -f ~/.vchord_version ]] || [[ "$VCHORD_RELEASE" != "$(cat ~/.vchord_version)" ]]; then
|
||||||
msg_info "Updating VectorChord"
|
msg_info "Updating VectorChord"
|
||||||
if [[ ! -f ~/.vchord_version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then
|
|
||||||
$STD sudo -u postgres pg_dumpall --clean --if-exists --username=postgres | gzip >/etc/postgresql/immich-db-vchord0.3.0.sql.gz
|
|
||||||
chown postgres /etc/postgresql/immich-db-vchord0.3.0.sql.gz
|
|
||||||
$STD sudo -u postgres gunzip --stdout /etc/postgresql/immich-db-vchord0.3.0.sql.gz |
|
|
||||||
sed -e "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" \
|
|
||||||
-e "/vchordrq.prewarm_dim/d" |
|
|
||||||
sudo -u postgres psql
|
|
||||||
fi
|
|
||||||
curl -fsSL "https://github.com/tensorchord/vectorchord/releases/download/${VCHORD_RELEASE}/postgresql-16-vchord_${VCHORD_RELEASE}-1_amd64.deb" -o vchord.deb
|
curl -fsSL "https://github.com/tensorchord/vectorchord/releases/download/${VCHORD_RELEASE}/postgresql-16-vchord_${VCHORD_RELEASE}-1_amd64.deb" -o vchord.deb
|
||||||
$STD apt install -y ./vchord.deb
|
$STD apt install -y ./vchord.deb
|
||||||
$STD sudo -u postgres psql -d immich -c "ALTER EXTENSION vchord UPDATE;"
|
$STD sudo -u postgres psql -d immich -c "ALTER EXTENSION vchord UPDATE;"
|
||||||
systemctl restart postgresql
|
systemctl restart postgresql
|
||||||
if [[ ! -f ~/.vchord_version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then
|
|
||||||
$STD sudo -u postgres psql -d immich -c "REINDEX INDEX face_index;"
|
|
||||||
$STD sudo -u postgres psql -d immich -c "REINDEX INDEX clip_index;"
|
|
||||||
fi
|
|
||||||
echo "$VCHORD_RELEASE" >~/.vchord_version
|
echo "$VCHORD_RELEASE" >~/.vchord_version
|
||||||
rm ./vchord.deb
|
rm ./vchord.deb
|
||||||
msg_ok "Updated VectorChord to v${VCHORD_RELEASE}"
|
msg_ok "Updated VectorChord to v${VCHORD_RELEASE}"
|
||||||
@@ -126,9 +127,6 @@ EOF
|
|||||||
|
|
||||||
msg_info "Updating ${APP} web and microservices"
|
msg_info "Updating ${APP} web and microservices"
|
||||||
cd "$SRC_DIR"/server
|
cd "$SRC_DIR"/server
|
||||||
if [[ "$RELEASE" == "1.135.1" ]]; then
|
|
||||||
rm ./src/schema/migrations/1750323941566-UnsetPrewarmDimParameter.ts
|
|
||||||
fi
|
|
||||||
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
||||||
export CI=1
|
export CI=1
|
||||||
corepack enable
|
corepack enable
|
||||||
@@ -144,6 +142,7 @@ EOF
|
|||||||
|
|
||||||
# openapi & web build
|
# openapi & web build
|
||||||
cd "$SRC_DIR"
|
cd "$SRC_DIR"
|
||||||
|
echo "packageImportMethod: hardlink" >>./pnpm-workspace.yaml
|
||||||
$STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install
|
$STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install
|
||||||
$STD pnpm --filter @immich/sdk --filter immich-web build
|
$STD pnpm --filter @immich/sdk --filter immich-web build
|
||||||
cp -a web/build "$APP_DIR"/www
|
cp -a web/build "$APP_DIR"/www
|
||||||
@@ -158,16 +157,17 @@ EOF
|
|||||||
msg_ok "Updated ${APP} web and microservices"
|
msg_ok "Updated ${APP} web and microservices"
|
||||||
|
|
||||||
cd "$SRC_DIR"/machine-learning
|
cd "$SRC_DIR"/machine-learning
|
||||||
mkdir -p "$ML_DIR"
|
mkdir -p "$ML_DIR" && chown -R immich:immich "$ML_DIR"
|
||||||
|
chown immich:immich ./uv.lock
|
||||||
export VIRTUAL_ENV="${ML_DIR}"/ml-venv
|
export VIRTUAL_ENV="${ML_DIR}"/ml-venv
|
||||||
if [[ -f ~/.openvino ]]; then
|
if [[ -f ~/.openvino ]]; then
|
||||||
msg_info "Updating HW-accelerated machine-learning"
|
msg_info "Updating HW-accelerated machine-learning"
|
||||||
$STD /usr/local/bin/uv sync --extra openvino --no-cache --active
|
$STD sudo --preserve-env=VIRTUAL_ENV -nu immich uv sync --extra openvino --active -n -p python3.11 --managed-python
|
||||||
patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so"
|
patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so"
|
||||||
msg_ok "Updated HW-accelerated machine-learning"
|
msg_ok "Updated HW-accelerated machine-learning"
|
||||||
else
|
else
|
||||||
msg_info "Updating machine-learning"
|
msg_info "Updating machine-learning"
|
||||||
$STD /usr/local/bin/uv sync --extra cpu --no-cache --active
|
$STD sudo --preserve-env=VIRTUAL_ENV -nu immich uv sync --extra cpu --active -n -p python3.11 --managed-python
|
||||||
msg_ok "Updated machine-learning"
|
msg_ok "Updated machine-learning"
|
||||||
fi
|
fi
|
||||||
cd "$SRC_DIR"
|
cd "$SRC_DIR"
|
||||||
@@ -186,15 +186,12 @@ EOF
|
|||||||
ln -s "$GEO_DIR" "$APP_DIR"
|
ln -s "$GEO_DIR" "$APP_DIR"
|
||||||
|
|
||||||
chown -R immich:immich "$INSTALL_DIR"
|
chown -R immich:immich "$INSTALL_DIR"
|
||||||
if [[ ! -f ~/.debian_version.bak ]]; then
|
|
||||||
cp /etc/debian_version ~/.debian_version.bak
|
|
||||||
sed -i 's/.*/13.0/' /etc/debian_version
|
|
||||||
fi
|
|
||||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
msg_ok "Updated ${APP} to v${RELEASE}"
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
$STD apt-get -y autoremove
|
$STD apt-get -y autoremove
|
||||||
$STD apt-get -y autoclean
|
$STD apt-get -y autoclean
|
||||||
|
$STD apt clean -y
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
systemctl restart immich-ml immich-web
|
systemctl restart immich-ml immich-web
|
||||||
fi
|
fi
|
||||||
@@ -205,8 +202,7 @@ function compile_libjxl() {
|
|||||||
SOURCE=${SOURCE_DIR}/libjxl
|
SOURCE=${SOURCE_DIR}/libjxl
|
||||||
JPEGLI_LIBJPEG_LIBRARY_SOVERSION="62"
|
JPEGLI_LIBJPEG_LIBRARY_SOVERSION="62"
|
||||||
JPEGLI_LIBJPEG_LIBRARY_VERSION="62.3.0"
|
JPEGLI_LIBJPEG_LIBRARY_VERSION="62.3.0"
|
||||||
# : "${LIBJXL_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libjxl.json)}"
|
: "${LIBJXL_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libjxl.json)}"
|
||||||
: "${LIBJXL_REVISION:=794a5dcf0d54f9f0b20d288a12e87afb91d20dfc}"
|
|
||||||
if [[ "$LIBJXL_REVISION" != "$(grep 'libjxl' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
if [[ "$LIBJXL_REVISION" != "$(grep 'libjxl' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||||
msg_info "Recompiling libjxl"
|
msg_info "Recompiling libjxl"
|
||||||
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
|
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
|
||||||
@@ -253,8 +249,7 @@ function compile_libheif() {
|
|||||||
$STD apt-get install -y libaom-dev
|
$STD apt-get install -y libaom-dev
|
||||||
local update="required"
|
local update="required"
|
||||||
fi
|
fi
|
||||||
# : "${LIBHEIF_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libheif.json)}"
|
: "${LIBHEIF_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libheif.json)}"
|
||||||
: "${LIBHEIF_REVISION:=35dad50a9145332a7bfdf1ff6aef6801fb613d68}"
|
|
||||||
if [[ "${update:-}" ]] || [[ "$LIBHEIF_REVISION" != "$(grep 'libheif' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
if [[ "${update:-}" ]] || [[ "$LIBHEIF_REVISION" != "$(grep 'libheif' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||||
msg_info "Recompiling libheif"
|
msg_info "Recompiling libheif"
|
||||||
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
|
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
|
||||||
@@ -285,9 +280,7 @@ function compile_libheif() {
|
|||||||
|
|
||||||
function compile_libraw() {
|
function compile_libraw() {
|
||||||
SOURCE=${SOURCE_DIR}/libraw
|
SOURCE=${SOURCE_DIR}/libraw
|
||||||
local update
|
: "${LIBRAW_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libraw.json)}"
|
||||||
# : "${LIBRAW_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libraw.json)}"
|
|
||||||
: "${LIBRAW_REVISION:=09bea31181b43e97959ee5452d91e5bc66365f1f}"
|
|
||||||
if [[ "$LIBRAW_REVISION" != "$(grep 'libraw' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
if [[ "$LIBRAW_REVISION" != "$(grep 'libraw' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||||
msg_info "Recompiling libraw"
|
msg_info "Recompiling libraw"
|
||||||
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
|
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
|
||||||
@@ -308,15 +301,15 @@ function compile_libraw() {
|
|||||||
|
|
||||||
function compile_imagemagick() {
|
function compile_imagemagick() {
|
||||||
SOURCE=$SOURCE_DIR/imagemagick
|
SOURCE=$SOURCE_DIR/imagemagick
|
||||||
# : "${IMAGEMAGICK_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/imagemagick.json)}"
|
: "${IMAGEMAGICK_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/imagemagick.json)}"
|
||||||
: "${IMAGEMAGICK_REVISION:=8289a3388a085ad5ae81aa6812f21554bdfd54f2}"
|
if [[ "$IMAGEMAGICK_REVISION" != "$(grep 'imagemagick' ~/.immich_library_revisions | awk '{print $2}')" ]] ||
|
||||||
if [[ "$IMAGEMAGICK_REVISION" != "$(grep 'imagemagick' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
! grep -q 'DMAGICK_LIBRAW' /usr/local/lib/ImageMagick-7*/config-Q16HDRI/configure.xml; then
|
||||||
msg_info "Recompiling ImageMagick"
|
msg_info "Recompiling ImageMagick"
|
||||||
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
|
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
|
||||||
$STD git clone https://github.com/ImageMagick/ImageMagick.git "$SOURCE"
|
$STD git clone https://github.com/ImageMagick/ImageMagick.git "$SOURCE"
|
||||||
cd "$SOURCE"
|
cd "$SOURCE"
|
||||||
$STD git reset --hard "$IMAGEMAGICK_REVISION"
|
$STD git reset --hard "$IMAGEMAGICK_REVISION"
|
||||||
$STD ./configure --with-modules
|
$STD ./configure --with-modules CPPFLAGS="-DMAGICK_LIBRAW_VERSION_TAIL=202502"
|
||||||
$STD make -j"$(nproc)"
|
$STD make -j"$(nproc)"
|
||||||
$STD make install
|
$STD make install
|
||||||
ldconfig /usr/local/lib
|
ldconfig /usr/local/lib
|
||||||
@@ -329,8 +322,7 @@ function compile_imagemagick() {
|
|||||||
|
|
||||||
function compile_libvips() {
|
function compile_libvips() {
|
||||||
SOURCE=$SOURCE_DIR/libvips
|
SOURCE=$SOURCE_DIR/libvips
|
||||||
# : "${LIBVIPS_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libvips.json)}"
|
: "${LIBVIPS_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libvips.json)}"
|
||||||
: "${LIBVIPS_REVISION:=8fa37a64547e392d3808eed8d72adab7e02b3d00}"
|
|
||||||
if [[ "$LIBVIPS_REVISION" != "$(grep 'libvips' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
if [[ "$LIBVIPS_REVISION" != "$(grep 'libvips' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||||
msg_info "Recompiling libvips"
|
msg_info "Recompiling libvips"
|
||||||
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
|
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
|
||||||
|
|||||||
62
ct/joplin-server.sh
Normal file
62
ct/joplin-server.sh
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://joplinapp.org/
|
||||||
|
|
||||||
|
APP="Joplin-Server"
|
||||||
|
var_tags="${var_tags:-notes}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-4096}"
|
||||||
|
var_disk="${var_disk:-20}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-12}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -d /opt/joplin-server ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "joplin-server" "laurent22/joplin"; then
|
||||||
|
msg_info "Stopping Services"
|
||||||
|
systemctl stop joplin-server
|
||||||
|
msg_ok "Stopped Services"
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "joplin-server" "laurent22/joplin" "tarball" "latest"
|
||||||
|
|
||||||
|
msg_info "Updating ${APP}"
|
||||||
|
cd /opt/joplin-server
|
||||||
|
sed -i "/onenote-converter/d" packages/lib/package.json
|
||||||
|
$STD yarn config set --home enableTelemetry 0
|
||||||
|
export BUILD_SEQUENCIAL=1
|
||||||
|
$STD yarn install --inline-builds
|
||||||
|
msg_ok "Updated ${APP}"
|
||||||
|
|
||||||
|
msg_info "Starting Services"
|
||||||
|
systemctl start joplin-server
|
||||||
|
msg_ok "Started Services"
|
||||||
|
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:22300${CL}"
|
||||||
@@ -11,7 +11,7 @@ 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:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-13}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@@ -29,23 +29,24 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Stopping ${APP}"
|
msg_info "Stopping Service"
|
||||||
systemctl stop litellm
|
systemctl stop litellm
|
||||||
msg_ok "Stopped ${APP}"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
VENV_PATH="/opt/litellm/.venv"
|
VENV_PATH="/opt/litellm/.venv"
|
||||||
PYTHON_VERSION="3.13" setup_uv
|
PYTHON_VERSION="3.13" setup_uv
|
||||||
|
|
||||||
msg_info "Updating $APP"
|
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
|
||||||
|
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 uv --directory=/opt/litellm run 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 "Starting ${APP}"
|
msg_info "Starting Service"
|
||||||
systemctl start litellm
|
systemctl start litellm
|
||||||
msg_ok "Started ${APP}"
|
msg_ok "Started Service"
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,12 +35,15 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Creating Backup"
|
msg_info "Creating Backup"
|
||||||
cp /opt/mmdl/.env /opt/mmdl.env
|
cp /opt/mmdl/.env /opt/mmdl.env
|
||||||
|
rm -rf /opt/mmdl
|
||||||
msg_ok "Backup Created"
|
msg_ok "Backup Created"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "mmdl" "intri-in/manage-my-damn-life-nextjs" "tarball"
|
fetch_and_deploy_gh_release "mmdl" "intri-in/manage-my-damn-life-nextjs" "tarball"
|
||||||
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Configuring ${APP}"
|
msg_info "Configuring ${APP}"
|
||||||
cd /opt/mmdl
|
cd /opt/mmdl
|
||||||
|
export NEXT_TELEMETRY_DISABLED=1
|
||||||
$STD npm install
|
$STD npm install
|
||||||
$STD npm run migrate
|
$STD npm run migrate
|
||||||
$STD npm run build
|
$STD npm run build
|
||||||
|
|||||||
119
ct/metube.sh
119
ct/metube.sh
@@ -29,59 +29,53 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Stopping ${APP} Service"
|
if [[ $(echo ":$PATH:" != *":/usr/local/bin:"*) ]]; then
|
||||||
systemctl stop metube
|
echo 'export PATH="/usr/local/bin:$PATH"' >>~/.bashrc
|
||||||
msg_ok "Stopped ${APP} Service"
|
source ~/.bashrc
|
||||||
|
if ! command -v deno &>/dev/null; then
|
||||||
msg_info "Backing up Old Installation"
|
export DENO_INSTALL="/usr/local"
|
||||||
if [[ -d /opt/metube_bak ]]; then
|
curl -fsSL https://deno.land/install.sh | $STD sh -s -- -y
|
||||||
rm -rf /opt/metube_bak
|
else
|
||||||
|
$STD deno upgrade
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
mv /opt/metube /opt/metube_bak
|
|
||||||
msg_ok "Backup created"
|
|
||||||
|
|
||||||
msg_info "Cloning Latest ${APP} Release"
|
if check_for_gh_release "metube" "alexta69/metube"; then
|
||||||
$STD git clone https://github.com/alexta69/metube /opt/metube
|
msg_info "Stopping ${APP} Service"
|
||||||
msg_ok "Cloned ${APP}"
|
systemctl stop metube
|
||||||
|
msg_ok "Stopped ${APP} Service"
|
||||||
|
|
||||||
msg_info "Building Frontend"
|
msg_info "Backing up Old Installation"
|
||||||
cd /opt/metube/ui
|
if [[ -d /opt/metube_bak ]]; then
|
||||||
$STD npm install
|
rm -rf /opt/metube_bak
|
||||||
$STD node_modules/.bin/ng build
|
fi
|
||||||
msg_ok "Built Frontend"
|
mv /opt/metube /opt/metube_bak
|
||||||
|
msg_ok "Backup created"
|
||||||
|
|
||||||
PYTHON_VERSION="3.13" setup_uv
|
fetch_and_deploy_gh_release "metube" "alexta69/metube" "tarball" "latest"
|
||||||
|
|
||||||
msg_info "Setting up Python Environment (uv)"
|
msg_info "Building Frontend"
|
||||||
$STD uv venv /opt/metube/.venv
|
cd /opt/metube/ui
|
||||||
$STD /opt/metube/.venv/bin/python -m ensurepip --upgrade
|
$STD npm install
|
||||||
$STD /opt/metube/.venv/bin/python -m pip install --upgrade pip
|
$STD node_modules/.bin/ng build
|
||||||
$STD /opt/metube/.venv/bin/python -m pip install pipenv
|
msg_ok "Built Frontend"
|
||||||
msg_ok "Python Environment Ready"
|
|
||||||
|
|
||||||
msg_info "Installing Backend Requirements"
|
|
||||||
cd /opt/metube
|
|
||||||
$STD /opt/metube/.venv/bin/pipenv install
|
|
||||||
msg_ok "Installed Backend"
|
|
||||||
|
|
||||||
msg_info "Restoring Environment File"
|
|
||||||
if [[ -f /opt/metube_bak/.env ]]; then
|
|
||||||
cp /opt/metube_bak/.env /opt/metube/.env
|
|
||||||
fi
|
|
||||||
msg_ok "Restored .env"
|
|
||||||
|
|
||||||
if [[ ! -d /opt/metube/.venv ]]; then
|
|
||||||
msg_info "Migrating to uv-based environment"
|
|
||||||
PYTHON_VERSION="3.13" setup_uv
|
PYTHON_VERSION="3.13" setup_uv
|
||||||
$STD uv venv /opt/metube/.venv
|
|
||||||
$STD /opt/metube/.venv/bin/python -m ensurepip --upgrade
|
|
||||||
$STD /opt/metube/.venv/bin/python -m pip install --upgrade pip
|
|
||||||
$STD /opt/metube/.venv/bin/python -m pip install pipenv
|
|
||||||
$STD /opt/metube/.venv/bin/pipenv install
|
|
||||||
$STD /opt/metube/.venv/bin/pipenv update yt-dlp
|
|
||||||
|
|
||||||
msg_info "Patching systemd Service"
|
msg_info "Installing Backend Requirements"
|
||||||
cat <<EOF >/etc/systemd/system/metube.service
|
cd /opt/metube
|
||||||
|
$STD uv sync
|
||||||
|
msg_ok "Installed Backend"
|
||||||
|
|
||||||
|
msg_info "Restoring Environment File"
|
||||||
|
if [[ -f /opt/metube_bak/.env ]]; then
|
||||||
|
cp /opt/metube_bak/.env /opt/metube/.env
|
||||||
|
fi
|
||||||
|
msg_ok "Restored .env"
|
||||||
|
|
||||||
|
if grep -q 'pipenv' /etc/systemd/system/metube.service; then
|
||||||
|
msg_info "Patching systemd Service"
|
||||||
|
cat <<EOF >/etc/systemd/system/metube.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Metube - YouTube Downloader
|
Description=Metube - YouTube Downloader
|
||||||
After=network.target
|
After=network.target
|
||||||
@@ -90,30 +84,31 @@ After=network.target
|
|||||||
Type=simple
|
Type=simple
|
||||||
WorkingDirectory=/opt/metube
|
WorkingDirectory=/opt/metube
|
||||||
EnvironmentFile=/opt/metube/.env
|
EnvironmentFile=/opt/metube/.env
|
||||||
ExecStart=/opt/metube/.venv/bin/pipenv run python3 app/main.py
|
ExecStart=/opt/metube/.venv/bin/python3 app/main.py
|
||||||
Restart=always
|
Restart=always
|
||||||
User=root
|
User=root
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
msg_ok "Patched systemd Service"
|
msg_ok "Patched systemd Service"
|
||||||
|
fi
|
||||||
|
$STD systemctl daemon-reload
|
||||||
|
msg_ok "Service Updated"
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -rf /opt/metube_bak
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned Up"
|
||||||
|
|
||||||
|
msg_info "Starting ${APP} Service"
|
||||||
|
systemctl start metube
|
||||||
|
sleep 1
|
||||||
|
msg_ok "Started ${APP} Service"
|
||||||
|
|
||||||
|
msg_ok "Updated Successfully!"
|
||||||
fi
|
fi
|
||||||
$STD systemctl daemon-reload
|
|
||||||
msg_ok "Service Updated"
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
rm -rf /opt/metube_bak
|
|
||||||
$STD apt-get -y autoremove
|
|
||||||
$STD apt-get -y autoclean
|
|
||||||
msg_ok "Cleaned Up"
|
|
||||||
|
|
||||||
msg_info "Starting ${APP} Service"
|
|
||||||
systemctl enable -q --now metube
|
|
||||||
sleep 1
|
|
||||||
msg_ok "Started ${APP} Service"
|
|
||||||
|
|
||||||
msg_ok "Updated Successfully!"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -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="22" NODE_MODULE="yarn@latest" setup_nodejs
|
||||||
|
|
||||||
if check_for_gh_release "monica" "monicahq/monica"; then
|
if check_for_gh_release "monica" "monicahq/monica"; then
|
||||||
msg_info "Stopping Service"
|
msg_info "Stopping Service"
|
||||||
systemctl stop apache2
|
systemctl stop apache2
|
||||||
@@ -43,6 +46,7 @@ function update_script() {
|
|||||||
cp -r /opt/monica-backup/.env /opt/monica
|
cp -r /opt/monica-backup/.env /opt/monica
|
||||||
cp -r /opt/monica-backup/storage/* /opt/monica/storage/
|
cp -r /opt/monica-backup/storage/* /opt/monica/storage/
|
||||||
$STD composer install --no-interaction --no-dev
|
$STD composer install --no-interaction --no-dev
|
||||||
|
$STD yarn config set ignore-engines true
|
||||||
$STD yarn install
|
$STD yarn install
|
||||||
$STD yarn run production
|
$STD yarn run production
|
||||||
$STD php artisan monica:update --force
|
$STD php artisan monica:update --force
|
||||||
|
|||||||
55
ct/myip.sh
Normal file
55
ct/myip.sh
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://ipcheck.ing/
|
||||||
|
|
||||||
|
APP="MyIP"
|
||||||
|
var_tags="${var_tags:-network}"
|
||||||
|
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 [[ ! -d /opt/myip ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "myip" "jason5ng32/MyIP"; then
|
||||||
|
msg_info "Stopping Services"
|
||||||
|
systemctl stop myip
|
||||||
|
msg_ok "Stopped Services"
|
||||||
|
|
||||||
|
cp /opt/myip/.env /opt
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "myip" "jason5ng32/MyIP" "tarball"
|
||||||
|
mv /opt/.env /opt/myip
|
||||||
|
|
||||||
|
msg_info "Starting Services"
|
||||||
|
systemctl start myip
|
||||||
|
msg_ok "Started Services"
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:18966${CL}"
|
||||||
@@ -41,7 +41,8 @@ EOF
|
|||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Updating ${APP} LXC"
|
msg_info "Updating ${APP} LXC"
|
||||||
$STD npm update -g n8n
|
rm -rf /usr/lib/node_modules/.n8n-* /usr/lib/node_modules/n8n
|
||||||
|
$STD npm install -g n8n --force
|
||||||
systemctl restart n8n
|
systemctl restart n8n
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
exit
|
exit
|
||||||
|
|||||||
32
ct/ntfy.sh
32
ct/ntfy.sh
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: tteck (tteckster)
|
# Author: CrazyWolf13
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://ntfy.sh/
|
# Source: https://ntfy.sh/
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
|||||||
var_ram="${var_ram:-512}"
|
var_ram="${var_ram:-512}"
|
||||||
var_disk="${var_disk:-2}"
|
var_disk="${var_disk:-2}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-13}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@@ -23,13 +23,31 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
if [[ ! -d /var ]]; then
|
if [[ ! -d /etc/ntfy ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -f /etc/apt/keyrings/archive.heckel.io.gpg ]; then
|
||||||
|
msg_info "Correcting old Ntfy Repository"
|
||||||
|
rm -f /etc/apt/keyrings/archive.heckel.io.gpg
|
||||||
|
rm -f /etc/apt/sources.list.d/archive.heckel.io.list
|
||||||
|
rm -f /etc/apt/sources.list.d/archive.heckel.io.list.bak
|
||||||
|
rm -f /etc/apt/sources.list.d/archive.heckel.io.sources
|
||||||
|
curl -fsSL -o /etc/apt/keyrings/ntfy.gpg https://archive.ntfy.sh/apt/keyring.gpg
|
||||||
|
cat <<'EOF' >/etc/apt/sources.list.d/ntfy.sources
|
||||||
|
Types: deb
|
||||||
|
URIs: https://archive.ntfy.sh/apt/
|
||||||
|
Suites: stable
|
||||||
|
Components: main
|
||||||
|
Signed-By: /etc/apt/keyrings/ntfy.gpg
|
||||||
|
EOF
|
||||||
|
msg_ok "Corrected old Ntfy Repository"
|
||||||
|
fi
|
||||||
|
|
||||||
msg_info "Updating $APP LXC"
|
msg_info "Updating $APP LXC"
|
||||||
$STD apt-get update
|
$STD apt update
|
||||||
$STD apt-get -y upgrade
|
$STD apt -y upgrade
|
||||||
msg_ok "Updated $APP LXC"
|
msg_ok "Updated $APP LXC"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
@@ -41,4 +59,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
|
||||||
|
|||||||
@@ -28,6 +28,13 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
if ! [[ $(dpkg -s python3-lxml-html-clean 2>/dev/null) ]]; then
|
||||||
|
$STD apt-get install python3-lxml
|
||||||
|
curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/universe/l/lxml-html-clean/python3-lxml-html-clean_0.1.1-1_all.deb" -o /opt/python3-lxml-html-clean.deb
|
||||||
|
$STD dpkg -i /opt/python3-lxml-html-clean.deb
|
||||||
|
rm -f /opt/python3-lxml-html-clean.deb
|
||||||
|
fi
|
||||||
|
|
||||||
RELEASE=$(curl -fsSL https://nightly.odoo.com/ | grep -oE 'href="[0-9]+\.[0-9]+/nightly"' | head -n1 | cut -d'"' -f2 | cut -d/ -f1)
|
RELEASE=$(curl -fsSL https://nightly.odoo.com/ | grep -oE 'href="[0-9]+\.[0-9]+/nightly"' | head -n1 | cut -d'"' -f2 | cut -d/ -f1)
|
||||||
LATEST_VERSION=$(curl -fsSL "https://nightly.odoo.com/${RELEASE}/nightly/deb/" |
|
LATEST_VERSION=$(curl -fsSL "https://nightly.odoo.com/${RELEASE}/nightly/deb/" |
|
||||||
grep -oP "odoo_${RELEASE}\.\d+_all\.deb" |
|
grep -oP "odoo_${RELEASE}\.\d+_all\.deb" |
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ function update_script() {
|
|||||||
msg_info "Stopping Service"
|
msg_info "Stopping Service"
|
||||||
systemctl stop ollama
|
systemctl stop ollama
|
||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
curl -fsSLO https://ollama.com/download/ollama-linux-amd64.tgz
|
curl -fsSLO -C - https://ollama.com/download/ollama-linux-amd64.tgz
|
||||||
rm -rf /usr/lib/ollama
|
rm -rf /usr/lib/ollama
|
||||||
rm -rf /usr/bin/ollama
|
rm -rf /usr/bin/ollama
|
||||||
tar -C /usr -xzf ollama-linux-amd64.tgz
|
tar -C /usr -xzf ollama-linux-amd64.tgz
|
||||||
@@ -64,7 +64,7 @@ function update_script() {
|
|||||||
fi
|
fi
|
||||||
systemctl stop open-webui.service
|
systemctl stop open-webui.service
|
||||||
$STD npm install --force
|
$STD npm install --force
|
||||||
export NODE_OPTIONS="--max-old-space-size=3584"
|
export NODE_OPTIONS="--max-old-space-size=6000"
|
||||||
$STD npm run build
|
$STD npm run build
|
||||||
cd ./backend
|
cd ./backend
|
||||||
$STD pip install -r requirements.txt -U
|
$STD pip install -r requirements.txt -U
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" 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"
|
||||||
systemctl stop outline
|
systemctl stop outline
|
||||||
@@ -37,7 +39,7 @@ function update_script() {
|
|||||||
cp /opt/outline/.env /opt
|
cp /opt/outline/.env /opt
|
||||||
msg_ok "Backup created"
|
msg_ok "Backup created"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "outline" "outline/outline" "tarball"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "outline" "outline/outline" "tarball"
|
||||||
|
|
||||||
msg_info "Updating ${APP}"
|
msg_info "Updating ${APP}"
|
||||||
cd /opt/outline
|
cd /opt/outline
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
|||||||
APP="Overseerr"
|
APP="Overseerr"
|
||||||
var_tags="${var_tags:-media}"
|
var_tags="${var_tags:-media}"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-4096}"
|
||||||
var_disk="${var_disk:-8}"
|
var_disk="${var_disk:-8}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-12}"
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ function update_script() {
|
|||||||
if check_for_gh_release "paymenter" "paymenter/paymenter"; then
|
if check_for_gh_release "paymenter" "paymenter/paymenter"; then
|
||||||
msg_info "Updating ${APP}"
|
msg_info "Updating ${APP}"
|
||||||
cd /opt/paymenter
|
cd /opt/paymenter
|
||||||
$STD php artisan p:upgrade --no-interaction
|
$STD php artisan app:upgrade --no-interaction
|
||||||
echo "${CHECK_UPDATE_RELEASE}" >~/.paymenter
|
echo "${CHECK_UPDATE_RELEASE}" >~/.paymenter
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -32,8 +32,10 @@ function update_script() {
|
|||||||
systemctl stop plant-it
|
systemctl stop plant-it
|
||||||
msg_ok "Stopped $APP"
|
msg_ok "Stopped $APP"
|
||||||
|
|
||||||
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "plant-it" "MDeLuise/plant-it" "singlefile" "latest" "/opt/plant-it/backend" "server.jar"
|
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "plant-it" "MDeLuise/plant-it" "singlefile" "0.10.0" "/opt/plant-it/backend" "server.jar"
|
||||||
fetch_and_deploy_gh_release "plant-it-front" "MDeLuise/plant-it" "prebuild" "latest" "/opt/plant-it/frontend" "client.tar.gz"
|
fetch_and_deploy_gh_release "plant-it-front" "MDeLuise/plant-it" "prebuild" "0.10.0" "/opt/plant-it/frontend" "client.tar.gz"
|
||||||
|
msg_warn "Application is updated to latest Web version (v0.10.0). There will be no more updates available."
|
||||||
|
msg_warn "Please read: https://github.com/MDeLuise/plant-it/releases/tag/1.0.0"
|
||||||
|
|
||||||
msg_info "Starting $APP"
|
msg_info "Starting $APP"
|
||||||
systemctl start plant-it
|
systemctl start plant-it
|
||||||
|
|||||||
@@ -40,7 +40,10 @@ function update_script() {
|
|||||||
|
|
||||||
fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "*-linux-amd64.tar.gz"
|
fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "*-linux-amd64.tar.gz"
|
||||||
ln -sf /opt/pulse/bin/pulse /usr/local/bin/pulse
|
ln -sf /opt/pulse/bin/pulse /usr/local/bin/pulse
|
||||||
chown -R pulse:pulse /etc/pulse /opt/pulse
|
mkdir -p /etc/pulse
|
||||||
|
chown pulse:pulse /etc/pulse
|
||||||
|
chown -R pulse:pulse /opt/pulse
|
||||||
|
chmod 700 /etc/pulse
|
||||||
if [[ -f "$SERVICE_PATH"/pulse-backend.service ]]; then
|
if [[ -f "$SERVICE_PATH"/pulse-backend.service ]]; then
|
||||||
mv "$SERVICE_PATH"/pulse-backend.service "$SERVICE_PATH"/pulse.service
|
mv "$SERVICE_PATH"/pulse-backend.service "$SERVICE_PATH"/pulse.service
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,17 +1,18 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: tteck (tteckster)
|
# Author: michelroegl-brunner
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://petio.tv/
|
# Source: https://www.debian.org/
|
||||||
|
|
||||||
APP="Petio"
|
APP="PVE-Scripts-Local"
|
||||||
var_tags="${var_tags:-media}"
|
var_tags="${var_tags:-pve-scripts-local}"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-1024}"
|
var_ram="${var_ram:-4096}"
|
||||||
var_disk="${var_disk:-4}"
|
var_disk="${var_disk:-4}"
|
||||||
var_os="${var_os:-ubuntu}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-20.04}"
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
variables
|
variables
|
||||||
@@ -22,16 +23,11 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
if [[ ! -d /opt/Petio ]]; then
|
if [[ ! -d /var ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
msg_info "Updating $APP"
|
msg_info "No Update function implementd"
|
||||||
systemctl stop petio.service
|
|
||||||
curl -fsSL https://petio.tv/releases/latest -o petio-latest.zip
|
|
||||||
$STD unzip petio-latest.zip -d /opt/Petio
|
|
||||||
systemctl start petio.service
|
|
||||||
msg_ok "Updated $APP"
|
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,4 +38,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7777${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
||||||
@@ -42,7 +42,7 @@ function update_script() {
|
|||||||
mv /opt/tandoor /opt/tandoor.bak
|
mv /opt/tandoor /opt/tandoor.bak
|
||||||
msg_ok "Backup Created"
|
msg_ok "Backup Created"
|
||||||
|
|
||||||
NODE_VERSION="20" NODE_MODULE="yarn" setup_nodejs
|
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
|
||||||
PYTHON_VERSION="3.13" setup_uv
|
PYTHON_VERSION="3.13" setup_uv
|
||||||
fetch_and_deploy_gh_release "tandoor" "TandoorRecipes/recipes" "tarball" "latest" "/opt/tandoor"
|
fetch_and_deploy_gh_release "tandoor" "TandoorRecipes/recipes" "tarball" "latest" "/opt/tandoor"
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
|||||||
var_ram="${var_ram:-4096}"
|
var_ram="${var_ram:-4096}"
|
||||||
var_disk="${var_disk:-6}"
|
var_disk="${var_disk:-6}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-13}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@@ -33,22 +33,23 @@ function update_script() {
|
|||||||
systemctl stop tracktor
|
systemctl stop tracktor
|
||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
msg_info "Creating Backup"
|
msg_info "Correcting Services"
|
||||||
cp /opt/tracktor/app/backend/.env /opt/tracktor.env
|
if [ -f /opt/tracktor/app/backend/.env ]; then
|
||||||
msg_ok "Created Backup"
|
mv /opt/tracktor/app/backend/.env /opt/tracktor.env
|
||||||
|
echo 'AUTH_PIN=123456' >> /opt/tracktor.env
|
||||||
|
sed -i 's|^EnvironmentFile=.*|EnvironmentFile=/opt/tracktor.env|' /etc/systemd/system/tracktor.service
|
||||||
|
systemctl daemon-reload
|
||||||
|
fi
|
||||||
|
msg_ok "Corrected Services"
|
||||||
|
|
||||||
setup_nodejs
|
setup_nodejs
|
||||||
fetch_and_deploy_gh_release "tracktor" "javedh-dev/tracktor" "tarball" "latest" "/opt/tracktor"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "tracktor" "javedh-dev/tracktor" "tarball" "latest" "/opt/tracktor"
|
||||||
|
|
||||||
msg_info "Updating ${APP}"
|
msg_info "Updating tracktor"
|
||||||
cd /opt/tracktor
|
cd /opt/tracktor
|
||||||
$STD npm install
|
$STD npm install
|
||||||
$STD npm run build
|
$STD npm run build
|
||||||
msg_ok "Updated $APP"
|
msg_ok "Updated tracktor"
|
||||||
|
|
||||||
msg_info "Restoring Backup"
|
|
||||||
cp /opt/tracktor.env /opt/tracktor/app/backend/.env
|
|
||||||
msg_ok "Restored Backup"
|
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start tracktor
|
systemctl start tracktor
|
||||||
|
|||||||
79
ct/tunarr.sh
Normal file
79
ct/tunarr.sh
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: chrisbenincasa
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://tunarr.com/
|
||||||
|
|
||||||
|
APP="Tunarr"
|
||||||
|
var_tags="${var_tags:-iptv}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-1024}"
|
||||||
|
var_disk="${var_disk:-5}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -d /opt/tunarr ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
if check_for_gh_release "tunarr" "chrisbenincasa/tunarr"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop tunarr
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Creating Backup"
|
||||||
|
if [ -d "/usr/local/share/tunarr" ]; then
|
||||||
|
tar -czf "/opt/${APP}_backup_$(date +%F).tar.gz" /usr/local/share/tunarr $STD
|
||||||
|
msg_ok "Backup Created"
|
||||||
|
else
|
||||||
|
msg_error "Backup failed: /usr/local/share/tunarr does not exist"
|
||||||
|
fi
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "tunarr" "chrisbenincasa/tunarr" "singlefile" "latest" "/opt/tunarr" "*linux-x64"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start tunarr
|
||||||
|
msg_ok "Started Service"
|
||||||
|
msg_ok "Update Successfully"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop tunarr
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz"
|
||||||
|
|
||||||
|
msg_info "Set ErsatzTV-ffmpeg links"
|
||||||
|
chmod +x /opt/ErsatzTV-ffmpeg/bin/*
|
||||||
|
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffmpeg /usr/local/bin/ffmpeg
|
||||||
|
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffplay /usr/local/bin/ffplay
|
||||||
|
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffprobe /usr/local/bin/ffprobe
|
||||||
|
msg_ok "ffmpeg links set"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start tunarr
|
||||||
|
msg_ok "Started Service"
|
||||||
|
msg_ok "Update 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}"
|
||||||
53
ct/upsnap.sh
Normal file
53
ct/upsnap.sh
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/seriousm4x/UpSnap
|
||||||
|
|
||||||
|
APP="UpSnap"
|
||||||
|
var_tags="${var_tags:-network}"
|
||||||
|
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/upsnap ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "upsnap" "seriousm4x/UpSnap"; then
|
||||||
|
msg_info "Stopping Services"
|
||||||
|
systemctl stop upsnap
|
||||||
|
msg_ok "Stopped Services"
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "upsnap" "seriousm4x/UpSnap" "prebuild" "latest" "/opt/upsnap" "UpSnap_*_linux_amd64.zip"
|
||||||
|
|
||||||
|
msg_info "Starting Services"
|
||||||
|
systemctl start upsnap
|
||||||
|
msg_ok "Started Services"
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}"
|
||||||
49
ct/verdaccio.sh
Normal file
49
ct/verdaccio.sh
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: BrynnJKnight
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://verdaccio.org/
|
||||||
|
|
||||||
|
APP="Verdaccio"
|
||||||
|
var_tags="${var_tags:-dev-tools;npm;registry}"
|
||||||
|
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 [[ ! -f /etc/systemd/system/verdaccio.service ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_info "Updating LXC Container"
|
||||||
|
$STD apt update
|
||||||
|
$STD apt -y upgrade
|
||||||
|
msg_ok "Updated LXC Container"
|
||||||
|
|
||||||
|
NODE_VERSION="22" NODE_MODULE="verdaccio" setup_nodejs
|
||||||
|
systemctl restart verdaccio
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4873${CL}"
|
||||||
63
ct/warracker.sh
Normal file
63
ct/warracker.sh
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: BvdBerg01
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/sassanix/Warracker/
|
||||||
|
|
||||||
|
APP="Warracker"
|
||||||
|
var_tags="${var_tags:-warranty}"
|
||||||
|
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 [[ ! -d /opt/warracker ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "warracker" "sassanix/Warracker"; then
|
||||||
|
msg_info "Stopping Services"
|
||||||
|
systemctl stop warrackermigration
|
||||||
|
systemctl stop warracker
|
||||||
|
systemctl stop nginx
|
||||||
|
msg_ok "Stopped Services"
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "warracker" "sassanix/Warracker" "tarball" "latest" "/opt/warracker"
|
||||||
|
|
||||||
|
msg_info "Updating Warracker"
|
||||||
|
cd /opt/warracker/backend
|
||||||
|
$STD uv venv .venv
|
||||||
|
$STD source .venv/bin/activate
|
||||||
|
$STD uv pip install -r requirements.txt
|
||||||
|
msg_ok "Updated Warracker"
|
||||||
|
|
||||||
|
msg_info "Starting Services"
|
||||||
|
systemctl start warracker
|
||||||
|
systemctl start nginx
|
||||||
|
msg_ok "Started Services"
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
|
||||||
@@ -9,7 +9,7 @@ APP="Wazuh"
|
|||||||
var_tags="${var_tags:-security;monitoring}"
|
var_tags="${var_tags:-security;monitoring}"
|
||||||
var_cpu="${var_cpu:-4}"
|
var_cpu="${var_cpu:-4}"
|
||||||
var_ram="${var_ram:-4096}"
|
var_ram="${var_ram:-4096}"
|
||||||
var_disk="${var_disk:-18}"
|
var_disk="${var_disk:-25}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-12}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
@@ -41,4 +41,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:443${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:443${CL}"
|
||||||
|
|||||||
65
ct/zabbix.sh
65
ct/zabbix.sh
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
|||||||
var_ram="${var_ram:-4096}"
|
var_ram="${var_ram:-4096}"
|
||||||
var_disk="${var_disk:-6}"
|
var_disk="${var_disk:-6}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-13}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@@ -23,37 +23,72 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
|
|
||||||
if [[ ! -f /etc/zabbix/zabbix_server.conf ]]; then
|
if [[ ! -f /etc/zabbix/zabbix_server.conf ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
msg_info "Stopping ${APP} Services"
|
|
||||||
systemctl stop zabbix-server zabbix-agent2
|
|
||||||
msg_ok "Stopped ${APP} Services"
|
|
||||||
|
|
||||||
msg_info "Updating $APP LXC"
|
. /etc/os-release
|
||||||
|
if [ "$VERSION_CODENAME" != "trixie" ]; then
|
||||||
|
msg_error "Unsupported Debian version: $VERSION_CODENAME – please upgrade to Debian 13 (Trixie) before updating Zabbix."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if systemctl list-unit-files | grep -q zabbix-agent2.service; then
|
||||||
|
AGENT_SERVICE="zabbix-agent2"
|
||||||
|
else
|
||||||
|
AGENT_SERVICE="zabbix-agent"
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_info "Stopping Services"
|
||||||
|
systemctl stop zabbix-server $AGENT_SERVICE
|
||||||
|
msg_ok "Stopped Services"
|
||||||
|
|
||||||
|
msg_info "Updating Zabbix"
|
||||||
mkdir -p /opt/zabbix-backup/
|
mkdir -p /opt/zabbix-backup/
|
||||||
cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
|
cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
|
||||||
cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/
|
cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/
|
||||||
cp -R /usr/share/zabbix/ /opt/zabbix-backup/
|
cp -R /usr/share/zabbix/ /opt/zabbix-backup/
|
||||||
#cp -R /usr/share/zabbix-* /opt/zabbix-backup/ Remove temporary
|
|
||||||
rm -Rf /etc/apt/sources.list.d/zabbix.list
|
rm -Rf /etc/apt/sources.list.d/zabbix.list
|
||||||
cd /tmp
|
cd /tmp
|
||||||
curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ |
|
curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ |
|
||||||
grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 |
|
grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 |
|
||||||
xargs -I{} echo "https://repo.zabbix.com/zabbix/{}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb")" \
|
xargs -I{} echo "https://repo.zabbix.com/zabbix/{}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian13_all.deb")" \
|
||||||
-o /tmp/zabbix-release_latest+debian12_all.deb
|
-o /tmp/zabbix-release_latest+debian13_all.deb
|
||||||
$STD dpkg -i zabbix-release_latest+debian12_all.deb
|
$STD dpkg -i zabbix-release_latest+debian13_all.deb
|
||||||
$STD apt-get update
|
$STD apt update
|
||||||
$STD apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-*
|
|
||||||
|
|
||||||
msg_info "Starting ${APP} Services"
|
$STD apt install --only-upgrade zabbix-server-pgsql zabbix-frontend-php php8.4-pgsql
|
||||||
systemctl start zabbix-server zabbix-agent2
|
|
||||||
|
if [ "$AGENT_SERVICE" = "zabbix-agent2" ]; then
|
||||||
|
$STD apt install --only-upgrade zabbix-agent2 zabbix-agent2-plugin-postgresql
|
||||||
|
if [ -f /etc/zabbix/zabbix_agent2.d/plugins.d/nvidia.conf ]; then
|
||||||
|
sed -i 's|^Plugins.NVIDIA.System.Path=.*|# Plugins.NVIDIA.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-nvidia-gpu|' \
|
||||||
|
/etc/zabbix/zabbix_agent2.d/plugins.d/nvidia.conf
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
$STD apt install --only-upgrade zabbix-agent
|
||||||
|
fi
|
||||||
|
|
||||||
|
if command -v fping >/dev/null 2>&1; then
|
||||||
|
FPING_PATH=$(command -v fping)
|
||||||
|
sed -i "s|^#\?FpingLocation=.*|FpingLocation=$FPING_PATH|" /etc/zabbix/zabbix_server.conf
|
||||||
|
fi
|
||||||
|
if command -v fping6 >/dev/null 2>&1; then
|
||||||
|
FPING6_PATH=$(command -v fping6)
|
||||||
|
sed -i "s|^#\?Fping6Location=.*|Fping6Location=$FPING6_PATH|" /etc/zabbix/zabbix_server.conf
|
||||||
|
fi
|
||||||
|
msg_ok "Updated Zabbix"
|
||||||
|
|
||||||
|
msg_info "Starting Services"
|
||||||
|
systemctl start zabbix-server $AGENT_SERVICE
|
||||||
systemctl restart apache2
|
systemctl restart apache2
|
||||||
msg_ok "Started ${APP} Services"
|
msg_ok "Started Services"
|
||||||
|
|
||||||
msg_info "Cleaning Up"
|
msg_info "Cleaning Up"
|
||||||
rm -rf /tmp/zabbix-release_latest+debian12_all.deb
|
rm -rf /tmp/zabbix-release_latest+debian13_all.deb
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
exit
|
exit
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox VE LXC Tag",
|
"name": "PVE LXC Tag",
|
||||||
"slug": "add-iptag",
|
"slug": "add-iptag",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
@@ -1,51 +1,51 @@
|
|||||||
{
|
{
|
||||||
"name": "AdGuard Home",
|
"name": "AdGuard Home",
|
||||||
"slug": "adguard",
|
"slug": "adguard",
|
||||||
"categories": [
|
"categories": [
|
||||||
5
|
5
|
||||||
],
|
],
|
||||||
"date_created": "2024-04-28",
|
"date_created": "2024-04-28",
|
||||||
"type": "ct",
|
"type": "ct",
|
||||||
"updateable": true,
|
"updateable": true,
|
||||||
"privileged": false,
|
"privileged": false,
|
||||||
"interface_port": 3000,
|
"interface_port": 3000,
|
||||||
"documentation": "https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started",
|
"documentation": "https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started",
|
||||||
"website": "https://adguard.com/en/adguard-home/overview.html",
|
"website": "https://adguard.com/en/adguard-home/overview.html",
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/adguard-home.webp",
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/adguard-home.webp",
|
||||||
"config_path": "/opt/AdGuardHome/AdGuardHome.yaml",
|
"config_path": "/opt/AdGuardHome/AdGuardHome.yaml",
|
||||||
"description": "AdGuard Home is an open-source, self-hosted network-wide ad blocker. It blocks advertisements, trackers, phishing and malware websites, and provides protection against online threats. AdGuard Home is a DNS-based solution, which means it blocks ads and malicious content at the network level, before it even reaches your device. It runs on your home network and can be easily configured and managed through a web-based interface. It provides detailed statistics and logs, allowing you to see which websites are being blocked, and why. AdGuard Home is designed to be fast, lightweight, and easy to use, making it an ideal solution for home users who want to block ads, protect their privacy, and improve the speed and security of their online experience.",
|
"description": "AdGuard Home is an open-source, self-hosted network-wide ad blocker. It blocks advertisements, trackers, phishing and malware websites, and provides protection against online threats. AdGuard Home is a DNS-based solution, which means it blocks ads and malicious content at the network level, before it even reaches your device. It runs on your home network and can be easily configured and managed through a web-based interface. It provides detailed statistics and logs, allowing you to see which websites are being blocked, and why. AdGuard Home is designed to be fast, lightweight, and easy to use, making it an ideal solution for home users who want to block ads, protect their privacy, and improve the speed and security of their online experience.",
|
||||||
"install_methods": [
|
"install_methods": [
|
||||||
{
|
{
|
||||||
"type": "default",
|
"type": "default",
|
||||||
"script": "ct/adguard.sh",
|
"script": "ct/adguard.sh",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 1,
|
"cpu": 1,
|
||||||
"ram": 512,
|
"ram": 512,
|
||||||
"hdd": 2,
|
"hdd": 2,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "13"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "alpine",
|
|
||||||
"script": "ct/alpine-adguard.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": 1,
|
|
||||||
"ram": 256,
|
|
||||||
"hdd": 1,
|
|
||||||
"os": "alpine",
|
|
||||||
"version": "3.22"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default_credentials": {
|
|
||||||
"username": null,
|
|
||||||
"password": null
|
|
||||||
},
|
},
|
||||||
"notes": [
|
{
|
||||||
{
|
"type": "alpine",
|
||||||
"text": "Adguard Home can be updated via the user interface.",
|
"script": "ct/alpine-adguard.sh",
|
||||||
"type": "info"
|
"resources": {
|
||||||
}
|
"cpu": 1,
|
||||||
]
|
"ram": 256,
|
||||||
|
"hdd": 1,
|
||||||
|
"os": "alpine",
|
||||||
|
"version": "3.22"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "AdGuard Home can only be updated via the user interface.",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 2048,
|
"ram": 2048,
|
||||||
"hdd": 4,
|
"hdd": 4,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "13"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"script": "ct/booklore.sh",
|
"script": "ct/booklore.sh",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 3,
|
"cpu": 3,
|
||||||
"ram": 2048,
|
"ram": 3072,
|
||||||
"hdd": 7,
|
"hdd": 7,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "12"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"categories": [
|
"categories": [
|
||||||
21
|
21
|
||||||
],
|
],
|
||||||
"date_created": "2024-05-11",
|
"date_created": "2025-09-17",
|
||||||
"type": "ct",
|
"type": "ct",
|
||||||
"updateable": true,
|
"updateable": true,
|
||||||
"privileged": false,
|
"privileged": false,
|
||||||
@@ -21,10 +21,21 @@
|
|||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 1,
|
"cpu": 1,
|
||||||
"ram": 512,
|
"ram": 512,
|
||||||
"hdd": 4,
|
"hdd": 6,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "12"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "alpine",
|
||||||
|
"script": "ct/alpine-caddy.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 256,
|
||||||
|
"hdd": 3,
|
||||||
|
"os": "alpine",
|
||||||
|
"version": "3.22"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"default_credentials": {
|
"default_credentials": {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox VE LXC Cleaner",
|
"name": "PVE LXC Cleaner",
|
||||||
"slug": "clean-lxcs",
|
"slug": "clean-lxcs",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox Clean Orphaned LVM",
|
"name": "PVE Clean Orphaned LVM",
|
||||||
"slug": "clean-orphaned-lvm",
|
"slug": "clean-orphaned-lvm",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 512,
|
"ram": 512,
|
||||||
"hdd": 2,
|
"hdd": 2,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "13"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -32,5 +32,10 @@
|
|||||||
"username": null,
|
"username": null,
|
||||||
"password": null
|
"password": null
|
||||||
},
|
},
|
||||||
"notes": []
|
"notes": [
|
||||||
|
{
|
||||||
|
"type": "info",
|
||||||
|
"text": "The file `/etc/sysconfig/CosmosCloud` is optional. If you need custom settings, you can create it yourself."
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox VE Cron LXC Updater",
|
"name": "PVE Cron LXC Updater",
|
||||||
"slug": "cron-update-lxcs",
|
"slug": "cron-update-lxcs",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
"website": null,
|
"website": null,
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
|
||||||
"config_path": "",
|
"config_path": "",
|
||||||
"description": "This script will add/remove a crontab schedule that updates all LXCs every Sunday at midnight.",
|
"description": "This script will add/remove a crontab schedule that updates the operating system of all LXCs every Sunday at midnight.",
|
||||||
"install_methods": [
|
"install_methods": [
|
||||||
{
|
{
|
||||||
"type": "default",
|
"type": "default",
|
||||||
|
|||||||
@@ -39,6 +39,10 @@
|
|||||||
{
|
{
|
||||||
"type": "info",
|
"type": "info",
|
||||||
"text": "Synapse-Admin is running on port 5173"
|
"text": "Synapse-Admin is running on port 5173"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "info",
|
||||||
|
"text": "For bridges Installation methods (WhatsApp, Signal, Discord, etc.), see: ´https://docs.mau.fi/bridges/go/setup.html´"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
48
frontend/public/json/execute.json
Normal file
48
frontend/public/json/execute.json
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
{
|
||||||
|
"name": "PVE LXC Execute Command",
|
||||||
|
"slug": "lxc-execute",
|
||||||
|
"categories": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"date_created": "2025-09-18",
|
||||||
|
"type": "pve",
|
||||||
|
"updateable": false,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": null,
|
||||||
|
"documentation": null,
|
||||||
|
"website": null,
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
|
||||||
|
"config_path": "",
|
||||||
|
"description": "This script allows administrators to execute a custom command inside one or multiple LXC containers on a Proxmox VE node. Containers can be selectively excluded via an interactive checklist. If a container is stopped, the script will automatically start it, run the command, and then shut it down again. Only Debian and Ubuntu based containers are supported.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "tools/pve/execute.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": null,
|
||||||
|
"ram": null,
|
||||||
|
"hdd": null,
|
||||||
|
"os": null,
|
||||||
|
"version": null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Execute within the Proxmox shell.",
|
||||||
|
"type": "info"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Non-Debian/Ubuntu containers will be skipped automatically.",
|
||||||
|
"type": "info"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Stopped containers will be started temporarily to run the command, then shut down again.",
|
||||||
|
"type": "warning"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox VE LXC Filesystem Trim",
|
"name": "PVE LXC Filesystem Trim",
|
||||||
"slug": "fstrim",
|
"slug": "fstrim",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
52
frontend/public/json/ghostfolio.json
Normal file
52
frontend/public/json/ghostfolio.json
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
{
|
||||||
|
"name": "Ghostfolio",
|
||||||
|
"slug": "ghostfolio",
|
||||||
|
"categories": [
|
||||||
|
23
|
||||||
|
],
|
||||||
|
"date_created": "2025-09-29",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 3333,
|
||||||
|
"documentation": "https://github.com/ghostfolio/ghostfolio?tab=readme-ov-file#self-hosting",
|
||||||
|
"website": "https://ghostfol.io/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/ghostfolio.webp",
|
||||||
|
"config_path": "/opt/ghostfolio/.env",
|
||||||
|
"description": "Ghostfolio is an open source wealth management software built with web technology. The application empowers busy people to keep track of stocks, ETFs or cryptocurrencies and make solid, data-driven investment decisions.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/ghostfolio.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 4096,
|
||||||
|
"hdd": 8,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "13"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Create your first user account by visiting the web interface and clicking 'Get Started'. The first user will automatically get admin privileges.",
|
||||||
|
"type": "info"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Database and Redis credentials: `cat ~/ghostfolio.creds`",
|
||||||
|
"type": "info"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Optional: CoinGecko API keys can be added during installation or later in the .env file for enhanced cryptocurrency data.",
|
||||||
|
"type": "info"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Build process requires 4GB RAM (runtime: ~2GB). A temporary swap file will be created automatically if insufficient memory is detected.",
|
||||||
|
"type": "warning"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
35
frontend/public/json/globaleaks.json
Normal file
35
frontend/public/json/globaleaks.json
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"name": "GlobaLeaks",
|
||||||
|
"slug": "globaleaks",
|
||||||
|
"categories": [
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"date_created": "2025-09-18",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 443,
|
||||||
|
"documentation": "https://docs.globaleaks.org",
|
||||||
|
"website": "https://www.globaleaks.org/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/globaleaks.webp",
|
||||||
|
"config_path": "",
|
||||||
|
"description": "GlobaLeaks is a free and open-source whistleblowing software enabling anyone to easily set up and maintain a secure reporting platform.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/globaleaks.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 1024,
|
||||||
|
"hdd": 4,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "13"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": []
|
||||||
|
}
|
||||||
40
frontend/public/json/goaway.json
Normal file
40
frontend/public/json/goaway.json
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "GoAway",
|
||||||
|
"slug": "goaway",
|
||||||
|
"categories": [
|
||||||
|
5
|
||||||
|
],
|
||||||
|
"date_created": "2025-09-25",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 8080,
|
||||||
|
"documentation": "https://github.com/pommee/goaway#configuration-file",
|
||||||
|
"config_path": "/opt/goaway/config/settings.yaml",
|
||||||
|
"website": "https://github.com/pommee/goaway",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/goaway.webp",
|
||||||
|
"description": "Lightweight DNS sinkhole written in Go with a modern dashboard client. Very good looking new alternative to Pi-Hole and Adguard Home.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/goaway.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 1024,
|
||||||
|
"hdd": 4,
|
||||||
|
"os": "Debian",
|
||||||
|
"version": "13"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Type `cat ~/goaway.creds` to see login credentials.",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -32,6 +32,10 @@
|
|||||||
"password": null
|
"password": null
|
||||||
},
|
},
|
||||||
"notes": [
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Containerized version doesn't allow Home Assistant add-ons.",
|
||||||
|
"type": "warning"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
|
"text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
|
||||||
"type": "warning"
|
"type": "warning"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox VE Host Backup",
|
"name": "PVE Host Backup",
|
||||||
"slug": "host-backup",
|
"slug": "host-backup",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 4096,
|
"ram": 4096,
|
||||||
"hdd": 20,
|
"hdd": 20,
|
||||||
"os": "Debian",
|
"os": "Debian",
|
||||||
"version": "12"
|
"version": "13"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
40
frontend/public/json/joplin-server.json
Normal file
40
frontend/public/json/joplin-server.json
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "Joplin Server",
|
||||||
|
"slug": "joplin-server",
|
||||||
|
"categories": [
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"date_created": "2025-09-24",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 22300,
|
||||||
|
"documentation": "https://joplinapp.org/help/",
|
||||||
|
"config_path": "/opt/joplin-server/.env",
|
||||||
|
"website": "https://joplinapp.org/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/joplin.webp",
|
||||||
|
"description": "Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/joplin-server.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 4096,
|
||||||
|
"hdd": 20,
|
||||||
|
"os": "Debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": "admin@localhost",
|
||||||
|
"password": "admin"
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Application can take some time to build, depending on your host speed. Please be patient.",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox VE Kernel Clean",
|
"name": "PVE Kernel Clean",
|
||||||
"slug": "kernel-clean",
|
"slug": "kernel-clean",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox VE Kernel Pin",
|
"name": "PVE Kernel Pin",
|
||||||
"slug": "kernel-pin",
|
"slug": "kernel-pin",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 2048,
|
"ram": 2048,
|
||||||
"hdd": 4,
|
"hdd": 4,
|
||||||
"os": "Debian",
|
"os": "Debian",
|
||||||
"version": "12"
|
"version": "13"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Container LXC Deletion",
|
"name": "PVE LXC Deletion",
|
||||||
"slug": "lxc-delete",
|
"slug": "lxc-delete",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
@@ -1,31 +1,186 @@
|
|||||||
{
|
{
|
||||||
"categories": [
|
"categories": [
|
||||||
{ "name": "Proxmox & Virtualization", "id": 1, "sort_order": 1.0, "description": "Tools and scripts to manage Proxmox VE and virtualization platforms effectively." },
|
{
|
||||||
{ "name": "Operating Systems", "id": 2, "sort_order": 2.0, "description": "Scripts for deploying and managing various operating systems." },
|
"name": "Proxmox & Virtualization",
|
||||||
{ "name": "Containers & Docker", "id": 3, "sort_order": 3.0, "description": "Solutions for containerization using Docker and related technologies." },
|
"id": 1,
|
||||||
{ "name": "Network & Firewall", "id": 4, "sort_order": 4.0, "description": "Enhance network security and configure firewalls with ease." },
|
"sort_order": 1.0,
|
||||||
{ "name": "Adblock & DNS", "id": 5, "sort_order": 5.0, "description": "Optimize your network with DNS and ad-blocking solutions." },
|
"description": "Tools and scripts to manage Proxmox VE and virtualization platforms effectively.",
|
||||||
{ "name": "Authentication & Security", "id": 6, "sort_order": 6.0, "description": "Secure your infrastructure with authentication and security tools." },
|
"icon": "server"
|
||||||
{ "name": "Backup & Recovery", "id": 7, "sort_order": 7.0, "description": "Reliable backup and recovery scripts to protect your data." },
|
},
|
||||||
{ "name": "Databases", "id": 8, "sort_order": 8.0, "description": "Deploy and manage robust database systems with ease." },
|
{
|
||||||
{ "name": "Monitoring & Analytics", "id": 9, "sort_order": 9.0, "description": "Monitor system performance and analyze data seamlessly." },
|
"name": "Operating Systems",
|
||||||
{ "name": "Dashboards & Frontends", "id": 10, "sort_order": 10.0, "description": "Create interactive dashboards and user-friendly frontends." },
|
"id": 2,
|
||||||
{ "name": "Files & Downloads", "id": 11, "sort_order": 11.0, "description": "Manage file sharing and downloading solutions efficiently." },
|
"sort_order": 2.0,
|
||||||
{ "name": "Documents & Notes", "id": 12, "sort_order": 12.0, "description": "Organize and manage documents and note-taking tools." },
|
"description": "Scripts for deploying and managing various operating systems.",
|
||||||
{ "name": "Media & Streaming", "id": 13, "sort_order": 13.0, "description": "Stream and manage media effortlessly across devices." },
|
"icon": "monitor"
|
||||||
{ "name": "*Arr Suite", "id": 14, "sort_order": 14.0, "description": "Automated media management with the popular *Arr suite tools." },
|
},
|
||||||
{ "name": "NVR & Cameras", "id": 15, "sort_order": 15.0, "description": "Manage network video recorders and camera setups." },
|
{
|
||||||
{ "name": "IoT & Smart Home", "id": 16, "sort_order": 16.0, "description": "Control and automate IoT devices and smart home systems." },
|
"name": "Containers & Docker",
|
||||||
{ "name": "ZigBee, Z-Wave & Matter", "id": 17, "sort_order": 17.0, "description": "Solutions for ZigBee, Z-Wave, and Matter-based device management." },
|
"id": 3,
|
||||||
{ "name": "MQTT & Messaging", "id": 18, "sort_order": 18.0, "description": "Set up reliable messaging and MQTT-based communication systems." },
|
"sort_order": 3.0,
|
||||||
{ "name": "Automation & Scheduling", "id": 19, "sort_order": 19.0, "description": "Automate tasks and manage scheduling with powerful tools." },
|
"description": "Solutions for containerization using Docker and related technologies.",
|
||||||
{ "name": "AI / Coding & Dev-Tools", "id": 20, "sort_order": 20.0, "description": "Leverage AI and developer tools for smarter coding workflows." },
|
"icon": "box"
|
||||||
{ "name": "Webservers & Proxies", "id": 21, "sort_order": 21.0, "description": "Deploy and configure web servers and proxy solutions." },
|
},
|
||||||
{ "name": "Bots & ChatOps", "id": 22, "sort_order": 22.0, "description": "Enhance collaboration with bots and ChatOps integrations." },
|
{
|
||||||
{ "name": "Finance & Budgeting", "id": 23, "sort_order": 23.0, "description": "Track expenses and manage budgets efficiently." },
|
"name": "Network & Firewall",
|
||||||
{ "name": "Gaming & Leisure", "id": 24, "sort_order": 24.0, "description": "Scripts for gaming servers and leisure-related tools." },
|
"id": 4,
|
||||||
{ "name": "Business & ERP", "id": 25, "sort_order": 25.0, "description": "Streamline business operations with ERP and management tools." },
|
"sort_order": 4.0,
|
||||||
{ "name": "Miscellaneous", "id": 0, "sort_order": 99.0, "description": "General scripts and tools that don't fit into other categories." }
|
"description": "Enhance network security and configure firewalls with ease.",
|
||||||
]
|
"icon": "shield"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Adblock & DNS",
|
||||||
|
"id": 5,
|
||||||
|
"sort_order": 5.0,
|
||||||
|
"description": "Optimize your network with DNS and ad-blocking solutions.",
|
||||||
|
"icon": "ban"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Authentication & Security",
|
||||||
|
"id": 6,
|
||||||
|
"sort_order": 6.0,
|
||||||
|
"description": "Secure your infrastructure with authentication and security tools.",
|
||||||
|
"icon": "lock"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Backup & Recovery",
|
||||||
|
"id": 7,
|
||||||
|
"sort_order": 7.0,
|
||||||
|
"description": "Reliable backup and recovery scripts to protect your data.",
|
||||||
|
"icon": "archive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Databases",
|
||||||
|
"id": 8,
|
||||||
|
"sort_order": 8.0,
|
||||||
|
"description": "Deploy and manage robust database systems with ease.",
|
||||||
|
"icon": "database"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Monitoring & Analytics",
|
||||||
|
"id": 9,
|
||||||
|
"sort_order": 9.0,
|
||||||
|
"description": "Monitor system performance and analyze data seamlessly.",
|
||||||
|
"icon": "bar-chart"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Dashboards & Frontends",
|
||||||
|
"id": 10,
|
||||||
|
"sort_order": 10.0,
|
||||||
|
"description": "Create interactive dashboards and user-friendly frontends.",
|
||||||
|
"icon": "layout"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Files & Downloads",
|
||||||
|
"id": 11,
|
||||||
|
"sort_order": 11.0,
|
||||||
|
"description": "Manage file sharing and downloading solutions efficiently.",
|
||||||
|
"icon": "download"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Documents & Notes",
|
||||||
|
"id": 12,
|
||||||
|
"sort_order": 12.0,
|
||||||
|
"description": "Organize and manage documents and note-taking tools.",
|
||||||
|
"icon": "file-text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Media & Streaming",
|
||||||
|
"id": 13,
|
||||||
|
"sort_order": 13.0,
|
||||||
|
"description": "Stream and manage media effortlessly across devices.",
|
||||||
|
"icon": "play"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "*Arr Suite",
|
||||||
|
"id": 14,
|
||||||
|
"sort_order": 14.0,
|
||||||
|
"description": "Automated media management with the popular *Arr suite tools.",
|
||||||
|
"icon": "tv"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVR & Cameras",
|
||||||
|
"id": 15,
|
||||||
|
"sort_order": 15.0,
|
||||||
|
"description": "Manage network video recorders and camera setups.",
|
||||||
|
"icon": "camera"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IoT & Smart Home",
|
||||||
|
"id": 16,
|
||||||
|
"sort_order": 16.0,
|
||||||
|
"description": "Control and automate IoT devices and smart home systems.",
|
||||||
|
"icon": "home"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ZigBee, Z-Wave & Matter",
|
||||||
|
"id": 17,
|
||||||
|
"sort_order": 17.0,
|
||||||
|
"description": "Solutions for ZigBee, Z-Wave, and Matter-based device management.",
|
||||||
|
"icon": "radio"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "MQTT & Messaging",
|
||||||
|
"id": 18,
|
||||||
|
"sort_order": 18.0,
|
||||||
|
"description": "Set up reliable messaging and MQTT-based communication systems.",
|
||||||
|
"icon": "message-circle"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Automation & Scheduling",
|
||||||
|
"id": 19,
|
||||||
|
"sort_order": 19.0,
|
||||||
|
"description": "Automate tasks and manage scheduling with powerful tools.",
|
||||||
|
"icon": "clock"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AI / Coding & Dev-Tools",
|
||||||
|
"id": 20,
|
||||||
|
"sort_order": 20.0,
|
||||||
|
"description": "Leverage AI and developer tools for smarter coding workflows.",
|
||||||
|
"icon": "code"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Webservers & Proxies",
|
||||||
|
"id": 21,
|
||||||
|
"sort_order": 21.0,
|
||||||
|
"description": "Deploy and configure web servers and proxy solutions.",
|
||||||
|
"icon": "globe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Bots & ChatOps",
|
||||||
|
"id": 22,
|
||||||
|
"sort_order": 22.0,
|
||||||
|
"description": "Enhance collaboration with bots and ChatOps integrations.",
|
||||||
|
"icon": "bot"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Finance & Budgeting",
|
||||||
|
"id": 23,
|
||||||
|
"sort_order": 23.0,
|
||||||
|
"description": "Track expenses and manage budgets efficiently.",
|
||||||
|
"icon": "dollar-sign"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Gaming & Leisure",
|
||||||
|
"id": 24,
|
||||||
|
"sort_order": 24.0,
|
||||||
|
"description": "Scripts for gaming servers and leisure-related tools.",
|
||||||
|
"icon": "gamepad-2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Business & ERP",
|
||||||
|
"id": 25,
|
||||||
|
"sort_order": 25.0,
|
||||||
|
"description": "Streamline business operations with ERP and management tools.",
|
||||||
|
"icon": "building"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Miscellaneous",
|
||||||
|
"id": 0,
|
||||||
|
"sort_order": 99.0,
|
||||||
|
"description": "General scripts and tools that don't fit into other categories.",
|
||||||
|
"icon": "more-horizontal"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox VE Processor Microcode",
|
"name": "PVE Processor Microcode",
|
||||||
"slug": "microcode",
|
"slug": "microcode",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox VE Monitor-All",
|
"name": "PVE Monitor-All",
|
||||||
"slug": "monitor-all",
|
"slug": "monitor-all",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
35
frontend/public/json/myip.json
Normal file
35
frontend/public/json/myip.json
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"name": "MyIP",
|
||||||
|
"slug": "myip",
|
||||||
|
"categories": [
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"date_created": "2025-09-29",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"config_path": "/opt/myip/.env",
|
||||||
|
"interface_port": 18966,
|
||||||
|
"documentation": "https://github.com/jason5ng32/MyIP#-environment-variable",
|
||||||
|
"website": "https://ipcheck.ing/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/myip.webp",
|
||||||
|
"description": "The best IP Toolbox. Easy to check what's your IPs, IP geolocation, check for DNS leaks, examine WebRTC connections, speed test, ping test, MTR test, check website availability, whois search and more!",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/myip.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 512,
|
||||||
|
"hdd": 2,
|
||||||
|
"os": "Debian",
|
||||||
|
"version": "13"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": []
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox VE Netdata",
|
"name": "PVE Netdata",
|
||||||
"slug": "netdata",
|
"slug": "netdata",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 512,
|
"ram": 512,
|
||||||
"hdd": 2,
|
"hdd": 2,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "13"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -31,5 +31,10 @@
|
|||||||
"username": null,
|
"username": null,
|
||||||
"password": null
|
"password": null
|
||||||
},
|
},
|
||||||
"notes": []
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Script contains optional installation of Ollama.",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"script": "ct/overseerr.sh",
|
"script": "ct/overseerr.sh",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 2,
|
"cpu": 2,
|
||||||
"ram": 2048,
|
"ram": 4096,
|
||||||
"hdd": 8,
|
"hdd": 8,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "12"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox Backup Server Processor Microcode",
|
"name": "PBS Processor Microcode",
|
||||||
"slug": "pbs-microcode",
|
"slug": "pbs-microcode",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Petio",
|
|
||||||
"slug": "petio",
|
|
||||||
"categories": [
|
|
||||||
13
|
|
||||||
],
|
|
||||||
"date_created": "2024-06-12",
|
|
||||||
"type": "ct",
|
|
||||||
"updateable": true,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": 7777,
|
|
||||||
"documentation": "https://docs.petio.tv/",
|
|
||||||
"website": "https://petio.tv/",
|
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/petio.webp",
|
|
||||||
"config_path": "",
|
|
||||||
"description": "Petio is a third party companion app available to Plex server owners to allow their users to request, review and discover content.",
|
|
||||||
"install_methods": [
|
|
||||||
{
|
|
||||||
"type": "default",
|
|
||||||
"script": "ct/petio.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": 2,
|
|
||||||
"ram": 1024,
|
|
||||||
"hdd": 4,
|
|
||||||
"os": "ubuntu",
|
|
||||||
"version": "20.04"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default_credentials": {
|
|
||||||
"username": null,
|
|
||||||
"password": null
|
|
||||||
},
|
|
||||||
"notes": []
|
|
||||||
}
|
|
||||||
44
frontend/public/json/phpmyadmin.json
Normal file
44
frontend/public/json/phpmyadmin.json
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"name": "PhpMyAdmin",
|
||||||
|
"slug": "phpmyadmin",
|
||||||
|
"categories": [
|
||||||
|
8
|
||||||
|
],
|
||||||
|
"date_created": "2025-10-01",
|
||||||
|
"type": "addon",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": null,
|
||||||
|
"documentation": "https://www.phpmyadmin.net/docs/",
|
||||||
|
"config_path": "Debian/Ubuntu: /var/www/html/phpMyAdmin | Alpine: /usr/share/phpmyadmin",
|
||||||
|
"website": "https://www.phpmyadmin.net/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/phpmyadmin.webp",
|
||||||
|
"description": "phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL over the Web. phpMyAdmin supports a wide range of operations on MySQL and MariaDB. Frequently used operations (managing databases, tables, columns, relations, indexes, users, permissions, etc) can be performed via the user interface, while you still have the ability to directly execute any SQL statement.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "tools/addon/phpmyadmin.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": null,
|
||||||
|
"ram": null,
|
||||||
|
"hdd": null,
|
||||||
|
"os": null,
|
||||||
|
"version": null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Execute within an existing LXC Console",
|
||||||
|
"type": "warning"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "To update or uninstall run bash call again",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox Backup Server Post Install",
|
"name": "PBS Post Install",
|
||||||
"slug": "post-pbs-install",
|
"slug": "post-pbs-install",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
"website": null,
|
"website": null,
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
|
||||||
"config_path": "",
|
"config_path": "",
|
||||||
"description": "The script will give options to Disable the Enterprise Repo, Add/Correct PBS Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Backup Server and Reboot PBS.",
|
"description": "The script is designed for Proxmox Backup Server (PBS) and will give options to Disable the Enterprise Repo, Add/Correct PBS Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Backup Server and Reboot PBS.",
|
||||||
"install_methods": [
|
"install_methods": [
|
||||||
{
|
{
|
||||||
"type": "default",
|
"type": "default",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox Mail Gateway Post Install",
|
"name": "PMG Post Install",
|
||||||
"slug": "post-pmg-install",
|
"slug": "post-pmg-install",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
"website": null,
|
"website": null,
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
|
||||||
"config_path": "",
|
"config_path": "",
|
||||||
"description": "The script will give options to Disable the Enterprise Repo, Add/Correct PMG Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Mail Gateway and Reboot PMG.",
|
"description": "The script is designed for Proxmox Mail Gateway and will give options to Disable the Enterprise Repo, Add/Correct PMG Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Mail Gateway and Reboot PMG.",
|
||||||
"install_methods": [
|
"install_methods": [
|
||||||
{
|
{
|
||||||
"type": "default",
|
"type": "default",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox VE Post Install",
|
"name": "PVE Post Install",
|
||||||
"slug": "post-pve-install",
|
"slug": "post-pve-install",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
{
|
{
|
||||||
"text": "Set a password after installation for postgres user by running `echo \"ALTER USER postgres with encrypted password 'your_password';\" | sudo -u postgres psql`",
|
"text": "Set a password after installation for postgres user by running `echo \"ALTER USER postgres with encrypted password 'your_password';\" | sudo -u postgres psql`",
|
||||||
"type": "info"
|
"type": "info"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Debian script offers versions `15, 16, 17, 18`, while Alpine script offers versions `15, 16, 17`.",
|
||||||
|
"type": "info"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox Backup Server",
|
"name": "Proxmox Backup Server (PBS)",
|
||||||
"slug": "proxmox-backup-server",
|
"slug": "proxmox-backup-server",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox Datacenter Manager",
|
"name": "Proxmox Datacenter Manager (PDM)",
|
||||||
"slug": "proxmox-datacenter-manager",
|
"slug": "proxmox-datacenter-manager",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox Mail Gateway",
|
"name": "Proxmox Mail Gateway (PMG)",
|
||||||
"slug": "proxmox-mail-gateway",
|
"slug": "proxmox-mail-gateway",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user