mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-11-05 19:02:50 +00:00
Compare commits
193 Commits
add-script
...
tremor021-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
86b1cfd5af | ||
|
|
b20854d299 | ||
|
|
ac2141b9e9 | ||
|
|
5a92816946 | ||
|
|
2d9d62118f | ||
|
|
6fcae07454 | ||
|
|
106e2efc2a | ||
|
|
5b4f67f94f | ||
|
|
d54b3a0bdb | ||
|
|
490f65eac8 | ||
|
|
44ccf3e886 | ||
|
|
c6f08d09c4 | ||
|
|
851f0dc37c | ||
|
|
da6cff182c | ||
|
|
c8c23ca1cb | ||
|
|
f7ec037a38 | ||
|
|
8896e6c964 | ||
|
|
7c583c7aa0 | ||
|
|
6e3aeab72f | ||
|
|
0c4658394d | ||
|
|
ec7f6dd34d | ||
|
|
5ff2bb4109 | ||
|
|
de828aa565 | ||
|
|
4bf2846efa | ||
|
|
a04a2e1297 | ||
|
|
28a6b688b9 | ||
|
|
0e4ef69d23 | ||
|
|
37403b554e | ||
|
|
034c55b2a3 | ||
|
|
a1f8cb1bae | ||
|
|
08ec932787 | ||
|
|
5a01dd2ec9 | ||
|
|
7aaaa9a71f | ||
|
|
cbc2ba1832 | ||
|
|
ee02bc1977 | ||
|
|
fda22e8890 | ||
|
|
6f52a6cff9 | ||
|
|
be539981f8 | ||
|
|
2009da9a79 | ||
|
|
a5fb2c0fb6 | ||
|
|
ac32d7a304 | ||
|
|
3fe234b021 | ||
|
|
b9404efc57 | ||
|
|
304de66ec1 | ||
|
|
9f565d3914 | ||
|
|
e702c552c5 | ||
|
|
b853739fdc | ||
|
|
c84c44804f | ||
|
|
f77c2594c3 | ||
|
|
b3849dbf2b | ||
|
|
2cd02870c5 | ||
|
|
f6da623676 | ||
|
|
a4e1d261af | ||
|
|
909dbc20ce | ||
|
|
3a1f1bf813 | ||
|
|
0adc827c69 | ||
|
|
279d3d391a | ||
|
|
15047893bc | ||
|
|
8b54f615a8 | ||
|
|
57d435647b | ||
|
|
fe2734f96a | ||
|
|
01f1985d2d | ||
|
|
92f9033981 | ||
|
|
e1603bebec | ||
|
|
abdbca59ff | ||
|
|
6c662ae6ea | ||
|
|
5c04c89f3f | ||
|
|
fba1d16626 | ||
|
|
3666f4981f | ||
|
|
db9809a817 | ||
|
|
e69da3846a | ||
|
|
cfb76fd0ab | ||
|
|
fb11b1a0e2 | ||
|
|
66b8d6cb90 | ||
|
|
1723775c55 | ||
|
|
8852def9a6 | ||
|
|
249a02754a | ||
|
|
65c79447ea | ||
|
|
a6607734b7 | ||
|
|
a8d5fc9bc8 | ||
|
|
0e7a089949 | ||
|
|
e208b571b9 | ||
|
|
327544c737 | ||
|
|
1c8b7b4e7e | ||
|
|
6e5140314f | ||
|
|
622f85db23 | ||
|
|
55be335b66 | ||
|
|
5db685f235 | ||
|
|
14027a605a | ||
|
|
5f0dba82ad | ||
|
|
c0087bf8aa | ||
|
|
691fc48915 | ||
|
|
fe9e894e79 | ||
|
|
43356df77f | ||
|
|
e4b96ec200 | ||
|
|
01a63d0a9d | ||
|
|
0a4a64ca0c | ||
|
|
4cdb43065d | ||
|
|
add12ef634 | ||
|
|
3ab5167d8a | ||
|
|
b16a7f4562 | ||
|
|
fa3f993256 | ||
|
|
c0894cb612 | ||
|
|
3b96230327 | ||
|
|
99617f265a | ||
|
|
1fe00c2493 | ||
|
|
05fd03d160 | ||
|
|
e837ebb0e5 | ||
|
|
8e1a9ffb07 | ||
|
|
af991286dc | ||
|
|
c1205691e7 | ||
|
|
394787e10e | ||
|
|
e37ef10283 | ||
|
|
130e3c7efe | ||
|
|
634a847c06 | ||
|
|
c92f9d5518 | ||
|
|
c7fffd85d3 | ||
|
|
2ae62055a6 | ||
|
|
e6bd1b5759 | ||
|
|
55120ae165 | ||
|
|
4672934701 | ||
|
|
560e1fdad3 | ||
|
|
e60020a998 | ||
|
|
dfda118e65 | ||
|
|
6d7c318dec | ||
|
|
9c39c9cd67 | ||
|
|
0ed95ea9cb | ||
|
|
433119e830 | ||
|
|
a794358c14 | ||
|
|
0f69e8cc69 | ||
|
|
2e34f534eb | ||
|
|
1c9d325ae8 | ||
|
|
a117cb7a34 | ||
|
|
33d61e45c4 | ||
|
|
69a6590ab0 | ||
|
|
0f2117ceba | ||
|
|
87ae749eba | ||
|
|
cc4b944b3b | ||
|
|
1c14b31a05 | ||
|
|
395e522430 | ||
|
|
5277be0bc3 | ||
|
|
bd8d91057e | ||
|
|
de35c2a1f9 | ||
|
|
f151c80b8b | ||
|
|
5f607a3132 | ||
|
|
14bcaa054f | ||
|
|
3d01a3bc03 | ||
|
|
389e40e6f0 | ||
|
|
e94666c4d5 | ||
|
|
f81cac1f70 | ||
|
|
b8b5e92fd2 | ||
|
|
c160079447 | ||
|
|
9dc31f48ef | ||
|
|
49c8e29a56 | ||
|
|
0f1abd953f | ||
|
|
56c5067853 | ||
|
|
ee8e7f5bf0 | ||
|
|
b2b892c430 | ||
|
|
ef4fab1a2c | ||
|
|
dc358da26f | ||
|
|
345708aae6 | ||
|
|
bcdbbc4678 | ||
|
|
af0bd86db4 | ||
|
|
c188984601 | ||
|
|
489339ce4e | ||
|
|
523d2b66bd | ||
|
|
9a40d53d06 | ||
|
|
a257a77f63 | ||
|
|
25251add27 | ||
|
|
ea1021095d | ||
|
|
932de62b38 | ||
|
|
8fd8bb407e | ||
|
|
8ece0e3676 | ||
|
|
b34a449d9f | ||
|
|
60be24660d | ||
|
|
a2be293397 | ||
|
|
e44e8a30d1 | ||
|
|
3cd8d0d08b | ||
|
|
2d95a73923 | ||
|
|
3743af8c78 | ||
|
|
f91daa6b72 | ||
|
|
4685612685 | ||
|
|
f4106db935 | ||
|
|
4a4dbfa15e | ||
|
|
475ccd7a33 | ||
|
|
b36b4258cc | ||
|
|
8ab6e2d469 | ||
|
|
22e71e5a05 | ||
|
|
edb105fad9 | ||
|
|
6584d658e1 | ||
|
|
6877f53853 | ||
|
|
83ad8433bd | ||
|
|
da552dcbd8 |
209
CHANGELOG.md
209
CHANGELOG.md
@@ -10,8 +10,217 @@
|
|||||||
> [!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-30
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Livebook ([#8739](https://github.com/community-scripts/ProxmoxVE/pull/8739))
|
||||||
|
- Reitti ([#8736](https://github.com/community-scripts/ProxmoxVE/pull/8736))
|
||||||
|
- BentoPDF ([#8735](https://github.com/community-scripts/ProxmoxVE/pull/8735))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Add explicit exit calls to update_script functions [@MickLesk](https://github.com/MickLesk) ([#8752](https://github.com/community-scripts/ProxmoxVE/pull/8752))
|
||||||
|
- kimai: Set global SQL mode to empty in install script [@MickLesk](https://github.com/MickLesk) ([#8747](https://github.com/community-scripts/ProxmoxVE/pull/8747))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- core: add function cleanup_lxc [@MickLesk](https://github.com/MickLesk) ([#8749](https://github.com/community-scripts/ProxmoxVE/pull/8749))
|
||||||
|
- Asterisk: add interactive version selection to installer [@MickLesk](https://github.com/MickLesk) ([#8726](https://github.com/community-scripts/ProxmoxVE/pull/8726))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Cronicle: Update default credentials [@tremor021](https://github.com/tremor021) ([#8720](https://github.com/community-scripts/ProxmoxVE/pull/8720))
|
||||||
|
|
||||||
|
## 2025-10-29
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Docker-VM: add workaround for libguestfs issue on Proxmox VE 9+ [@MickLesk](https://github.com/MickLesk) ([#8722](https://github.com/community-scripts/ProxmoxVE/pull/8722))
|
||||||
|
- Dispatcharr: add folders in installer / add more build ressources [@MickLesk](https://github.com/MickLesk) ([#8708](https://github.com/community-scripts/ProxmoxVE/pull/8708))
|
||||||
|
- LibreTranslate: bump torch version [@MickLesk](https://github.com/MickLesk) ([#8710](https://github.com/community-scripts/ProxmoxVE/pull/8710))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Archivebox: add Chromium and Node modules [@MickLesk](https://github.com/MickLesk) ([#8725](https://github.com/community-scripts/ProxmoxVE/pull/8725))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- tracktor: refactor envfile [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8711](https://github.com/community-scripts/ProxmoxVE/pull/8711))
|
||||||
|
- Kimai / Ghost / ManageMyDamnLife: Switch to MariaDB [@MickLesk](https://github.com/MickLesk) ([#8712](https://github.com/community-scripts/ProxmoxVE/pull/8712))
|
||||||
|
|
||||||
|
## 2025-10-28
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Update alpine-komodo.sh fixing missing pull images command [@glopes](https://github.com/glopes) ([#8689](https://github.com/community-scripts/ProxmoxVE/pull/8689))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Update SABnzbd. Include par2cmdline-turbo [@burgerga](https://github.com/burgerga) ([#8648](https://github.com/community-scripts/ProxmoxVE/pull/8648))
|
||||||
|
- jotty: Add more ENV VARS (disabled) [@vhsdream](https://github.com/vhsdream) ([#8688](https://github.com/community-scripts/ProxmoxVE/pull/8688))
|
||||||
|
- Bump bazarr to Debian 13 [@burgerga](https://github.com/burgerga) ([#8677](https://github.com/community-scripts/ProxmoxVE/pull/8677))
|
||||||
|
- Update flaresolverr to Debian 13 [@burgerga](https://github.com/burgerga) ([#8672](https://github.com/community-scripts/ProxmoxVE/pull/8672))
|
||||||
|
|
||||||
|
## 2025-10-27
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Dispatcharr ([#8658](https://github.com/community-scripts/ProxmoxVE/pull/8658))
|
||||||
|
- Garage | Alpine-Garage ([#8656](https://github.com/community-scripts/ProxmoxVE/pull/8656))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Add typescript and esbuild to browserless setup [@MickLesk](https://github.com/MickLesk) ([#8666](https://github.com/community-scripts/ProxmoxVE/pull/8666))
|
||||||
|
- jellyfin: fix: intel deps [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8657](https://github.com/community-scripts/ProxmoxVE/pull/8657))
|
||||||
|
|
||||||
|
## 2025-10-26
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- ComfyUI ([#8633](https://github.com/community-scripts/ProxmoxVE/pull/8633))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- PiHole: Bump to Debian 12 [@MickLesk](https://github.com/MickLesk) ([#8649](https://github.com/community-scripts/ProxmoxVE/pull/8649))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Refactor: Mylar3 [@tremor021](https://github.com/tremor021) ([#8642](https://github.com/community-scripts/ProxmoxVE/pull/8642))
|
||||||
|
|
||||||
|
## 2025-10-25
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- PatchMon ([#8632](https://github.com/community-scripts/ProxmoxVE/pull/8632))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- UrBackup Server: Fix install going interactive [@tremor021](https://github.com/tremor021) ([#8622](https://github.com/community-scripts/ProxmoxVE/pull/8622))
|
||||||
|
|
||||||
|
## 2025-10-24
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Fix config path for BunkerWeb [@Nonolanlan1007](https://github.com/Nonolanlan1007) ([#8618](https://github.com/community-scripts/ProxmoxVE/pull/8618))
|
||||||
|
- Update logo URL in guardian.json [@HydroshieldMKII](https://github.com/HydroshieldMKII) ([#8615](https://github.com/community-scripts/ProxmoxVE/pull/8615))
|
||||||
|
|
||||||
|
## 2025-10-23
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Radicale: Update dependencies [@ilofX](https://github.com/ilofX) ([#8603](https://github.com/community-scripts/ProxmoxVE/pull/8603))
|
||||||
|
- Various Downgrades to Debian 12 (MySQL / OMW / Technitium) [@MickLesk](https://github.com/MickLesk) ([#8595](https://github.com/community-scripts/ProxmoxVE/pull/8595))
|
||||||
|
- MeTube: Fix inserting path into .bashrc [@tremor021](https://github.com/tremor021) ([#8589](https://github.com/community-scripts/ProxmoxVE/pull/8589))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Refactor: Kavita + Updated tools.func (no-same-owner) [@MickLesk](https://github.com/MickLesk) ([#8594](https://github.com/community-scripts/ProxmoxVE/pull/8594))
|
||||||
|
- tools.func: update update_check messages for clarity [@MickLesk](https://github.com/MickLesk) ([#8588](https://github.com/community-scripts/ProxmoxVE/pull/8588))
|
||||||
|
|
||||||
|
## 2025-10-22
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Refactor: Full Change & Feature-Bump of tools.func [@MickLesk](https://github.com/MickLesk) ([#8409](https://github.com/community-scripts/ProxmoxVE/pull/8409))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- part-db: use helper-script php function [@MickLesk](https://github.com/MickLesk) ([#8575](https://github.com/community-scripts/ProxmoxVE/pull/8575))
|
||||||
|
- omada: remove static mongodb install [@MickLesk](https://github.com/MickLesk) ([#8577](https://github.com/community-scripts/ProxmoxVE/pull/8577))
|
||||||
|
|
||||||
|
## 2025-10-21
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- rwMarkable: migrate from rwMarkable => jotty [@vhsdream](https://github.com/vhsdream) ([#8554](https://github.com/community-scripts/ProxmoxVE/pull/8554))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Guardian: Added validation before copying file and fix build command error [@HydroshieldMKII](https://github.com/HydroshieldMKII) ([#8553](https://github.com/community-scripts/ProxmoxVE/pull/8553))
|
||||||
|
- Unifi: Bump libssl debian version to new update [@fastiuk](https://github.com/fastiuk) ([#8547](https://github.com/community-scripts/ProxmoxVE/pull/8547))
|
||||||
|
- Alpine-TeamSpeak-Server: Fix release version fetching [@tremor021](https://github.com/tremor021) ([#8537](https://github.com/community-scripts/ProxmoxVE/pull/8537))
|
||||||
|
- jellyfin: fix opencl dep for ubuntu [@MickLesk](https://github.com/MickLesk) ([#8535](https://github.com/community-scripts/ProxmoxVE/pull/8535))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Refactor: ProjectSend [@tremor021](https://github.com/tremor021) ([#8552](https://github.com/community-scripts/ProxmoxVE/pull/8552))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Open Archiver: Fix application icon [@tremor021](https://github.com/tremor021) ([#8542](https://github.com/community-scripts/ProxmoxVE/pull/8542))
|
||||||
|
|
||||||
|
## 2025-10-20
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- jellyfin: fix: version conflict [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8520](https://github.com/community-scripts/ProxmoxVE/pull/8520))
|
||||||
|
- Paperless-AI: Increase CPU and RAM [@MickLesk](https://github.com/MickLesk) ([#8507](https://github.com/community-scripts/ProxmoxVE/pull/8507))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Enhance error message for container creation failure [@MickLesk](https://github.com/MickLesk) ([#8511](https://github.com/community-scripts/ProxmoxVE/pull/8511))
|
||||||
|
- Filebrowser-Quantum: change initial config to newer default [@MickLesk](https://github.com/MickLesk) ([#8497](https://github.com/community-scripts/ProxmoxVE/pull/8497))
|
||||||
|
|
||||||
|
- #### 💥 Breaking Changes
|
||||||
|
|
||||||
|
- Remove: GoMFT [@MickLesk](https://github.com/MickLesk) ([#8499](https://github.com/community-scripts/ProxmoxVE/pull/8499))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- palmr: update node to v24 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8521](https://github.com/community-scripts/ProxmoxVE/pull/8521))
|
||||||
|
- jellyfin: add: intel dependencies [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8508](https://github.com/community-scripts/ProxmoxVE/pull/8508))
|
||||||
|
- Jellyfin: ensure libjemalloc is used / increase hdd space [@MickLesk](https://github.com/MickLesk) ([#8494](https://github.com/community-scripts/ProxmoxVE/pull/8494))
|
||||||
|
|
||||||
|
## 2025-10-19
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- rwMarkable: Increase RAM [@vhsdream](https://github.com/vhsdream) ([#8482](https://github.com/community-scripts/ProxmoxVE/pull/8482))
|
||||||
|
- changedetection: fix: update [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8480](https://github.com/community-scripts/ProxmoxVE/pull/8480))
|
||||||
|
|
||||||
## 2025-10-18
|
## 2025-10-18
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Open-Archiver ([#8452](https://github.com/community-scripts/ProxmoxVE/pull/8452))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Cronicle: Dont copy init.d service file [@tremor021](https://github.com/tremor021) ([#8451](https://github.com/community-scripts/ProxmoxVE/pull/8451))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Refactor: Nginx Proxy Manager [@MickLesk](https://github.com/MickLesk) ([#8453](https://github.com/community-scripts/ProxmoxVE/pull/8453))
|
||||||
|
|
||||||
## 2025-10-17
|
## 2025-10-17
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ function update_script() {
|
|||||||
msg_info "Restarting AdGuard Home"
|
msg_info "Restarting AdGuard Home"
|
||||||
$STD rc-service adguardhome restart
|
$STD rc-service adguardhome restart
|
||||||
msg_ok "Restarted AdGuard Home"
|
msg_ok "Restarted AdGuard Home"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -75,7 +75,6 @@ function update_script() {
|
|||||||
else
|
else
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ function update_script() {
|
|||||||
msg_info "Restarting Caddy"
|
msg_info "Restarting Caddy"
|
||||||
rc-service caddy restart
|
rc-service caddy restart
|
||||||
msg_ok "Restarted Caddy"
|
msg_ok "Restarted Caddy"
|
||||||
exit
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ function update_script() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ function update_script() {
|
|||||||
msg_info "Restarting Forgejo"
|
msg_info "Restarting Forgejo"
|
||||||
$STD rc-service forgejo restart
|
$STD rc-service forgejo restart
|
||||||
msg_ok "Restarted Forgejo"
|
msg_ok "Restarted Forgejo"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
63
ct/alpine-garage.sh
Normal file
63
ct/alpine-garage.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: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://garagehq.deuxfleurs.fr/
|
||||||
|
|
||||||
|
APP="Alpine-Garage"
|
||||||
|
var_tags="${var_tags:-alpine;object-storage}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-512}"
|
||||||
|
var_disk="${var_disk:-5}"
|
||||||
|
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
|
||||||
|
if [[ ! -f /usr/local/bin/garage ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
GITEA_RELEASE=$(curl -fsSL https://api.github.com/repos/deuxfleurs-org/garage/tags | jq -r '.[0].name')
|
||||||
|
if [[ "${GITEA_RELEASE}" != "$(cat ~/.garage 2>/dev/null)" ]] || [[ ! -f ~/.garage ]]; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
rc-service garage stop || true
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Backing Up Data"
|
||||||
|
cp /usr/local/bin/garage /usr/local/bin/garage.old 2>/dev/null || true
|
||||||
|
cp /etc/garage.toml /etc/garage.toml.bak 2>/dev/null || true
|
||||||
|
msg_ok "Backed Up Data"
|
||||||
|
|
||||||
|
msg_info "Updating Garage"
|
||||||
|
curl -fsSL "https://garagehq.deuxfleurs.fr/_releases/${GITEA_RELEASE}/x86_64-unknown-linux-musl/garage" -o /usr/local/bin/garage
|
||||||
|
chmod +x /usr/local/bin/garage
|
||||||
|
echo "${GITEA_RELEASE}" >~/.garage
|
||||||
|
msg_ok "Updated Garage"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
rc-service garage start || rc-service garage restart
|
||||||
|
msg_ok "Started Service"
|
||||||
|
msg_ok "Update Successfully!"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. Garage is already at ${GITEA_RELEASE}"
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
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}"
|
||||||
@@ -48,7 +48,6 @@ function update_script() {
|
|||||||
else
|
else
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ function update_script() {
|
|||||||
msg_info "Restarting Gitea"
|
msg_info "Restarting Gitea"
|
||||||
rc-service gitea restart
|
rc-service gitea restart
|
||||||
msg_ok "Restarted Gitea"
|
msg_ok "Restarted Gitea"
|
||||||
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ function update_script() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ function update_script() {
|
|||||||
else
|
else
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,9 +52,10 @@ function update_script() {
|
|||||||
mv "$BACKUP_FILE" "$COMPOSE_FILE"
|
mv "$BACKUP_FILE" "$COMPOSE_FILE"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
$STD docker compose -p komodo -f "$COMPOSE_FILE" --env-file /opt/komodo/compose.env pull
|
||||||
$STD docker compose -p komodo -f "$COMPOSE_FILE" --env-file /opt/komodo/compose.env up -d
|
$STD docker compose -p komodo -f "$COMPOSE_FILE" --env-file /opt/komodo/compose.env up -d
|
||||||
msg_ok "Updated ${APP}"
|
msg_ok "Updated ${APP}"
|
||||||
exit
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ function update_script() {
|
|||||||
msg_info "Restarting MariaDB"
|
msg_info "Restarting MariaDB"
|
||||||
$STD rc-service mariadb restart
|
$STD rc-service mariadb restart
|
||||||
msg_ok "Restarted MariaDB"
|
msg_ok "Restarted MariaDB"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ function update_script() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ function update_script() {
|
|||||||
msg_info "Updating Node-RED"
|
msg_info "Updating Node-RED"
|
||||||
$STD npm install -g --unsafe-perm node-red
|
$STD npm install -g --unsafe-perm node-red
|
||||||
msg_ok "Updated Node-RED"
|
msg_ok "Updated Node-RED"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ function update_script() {
|
|||||||
msg_info "Restarting PostgreSQL"
|
msg_info "Restarting PostgreSQL"
|
||||||
$STD rc-service postgresql restart
|
$STD rc-service postgresql restart
|
||||||
msg_ok "Restarted PostgreSQL"
|
msg_ok "Restarted PostgreSQL"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ function update_script() {
|
|||||||
msg_info "Restarting Prometheus"
|
msg_info "Restarting Prometheus"
|
||||||
$STD rc-service prometheus restart
|
$STD rc-service prometheus restart
|
||||||
msg_ok "Restarted Prometheus"
|
msg_ok "Restarted Prometheus"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ function update_script() {
|
|||||||
else
|
else
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,9 +41,8 @@ function update_script() {
|
|||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
$STD rc-service redlib start
|
$STD rc-service redlib start
|
||||||
msg_ok "Started Service"
|
msg_ok "Started Service"
|
||||||
|
|
||||||
msg_ok "Update Successful"
|
msg_ok "Update Successful"
|
||||||
exit
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -31,8 +31,7 @@ function update_script() {
|
|||||||
msg_info "Restarting Syncthing"
|
msg_info "Restarting Syncthing"
|
||||||
$STD rc-service syncthing restart
|
$STD rc-service syncthing restart
|
||||||
msg_ok "Restarted Syncthing"
|
msg_ok "Restarted Syncthing"
|
||||||
|
exit 0
|
||||||
exit 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ function update_script() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
set +o pipefail && RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n 's/.teamspeak3-server_linux_amd64-([0-9]+.[0-9]+.[0-9]+)./\1/p' | head -1) && set -o pipefail
|
set +o pipefail && RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n 's/.*teamspeak3-server_linux_amd64-\([0-9.]*[0-9]\).*/\1/p' | head -1) && set -o pipefail
|
||||||
|
|
||||||
if [ "${RELEASE}" != "$(cat ~/.teamspeak-server)" ] || [ ! -f ~/.teamspeak-server ]; then
|
if [ "${RELEASE}" != "$(cat ~/.teamspeak-server)" ] || [ ! -f ~/.teamspeak-server ]; then
|
||||||
msg_info "Updating ${APP} LXC"
|
msg_info "Updating ${APP} LXC"
|
||||||
@@ -44,7 +44,6 @@ function update_script() {
|
|||||||
else
|
else
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ function update_script() {
|
|||||||
msg_info "Upgrading traefik from edge"
|
msg_info "Upgrading traefik from edge"
|
||||||
$STD apk add traefik --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community
|
$STD apk add traefik --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community
|
||||||
msg_ok "Upgraded traefik"
|
msg_ok "Upgraded traefik"
|
||||||
exit
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -31,8 +31,7 @@ function update_script() {
|
|||||||
msg_info "Restarting Transmission"
|
msg_info "Restarting Transmission"
|
||||||
$STD rc-service transmission-daemon restart
|
$STD rc-service transmission-daemon restart
|
||||||
msg_ok "Restarted Transmission"
|
msg_ok "Restarted Transmission"
|
||||||
|
exit 0
|
||||||
exit 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ function update_script() {
|
|||||||
$STD ./wgd.sh start
|
$STD ./wgd.sh start
|
||||||
msg_ok "WGDashboard updated"
|
msg_ok "WGDashboard updated"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,12 +28,18 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="22" NODE_MODULE="@postlight/parser@latest,single-file-cli@latest" setup_nodejs
|
||||||
PYTHON_VERSION="3.13" setup_uv
|
PYTHON_VERSION="3.13" setup_uv
|
||||||
|
|
||||||
msg_info "Stopping ArchiveBox"
|
if ! dpkg -l | grep -q "^ii chromium "; then
|
||||||
|
msg_info "Installing System Dependencies"
|
||||||
|
$STD apt-get install -y chromium
|
||||||
|
msg_ok "Installed System Dependencies"
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_info "Stopping Service"
|
||||||
systemctl stop archivebox
|
systemctl stop archivebox
|
||||||
msg_ok "Stopped ArchiveBox"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
msg_info "Upgrading Playwright"
|
msg_info "Upgrading Playwright"
|
||||||
$STD uv pip install playwright --system
|
$STD uv pip install playwright --system
|
||||||
@@ -46,11 +52,10 @@ function update_script() {
|
|||||||
sudo -u archivebox archivebox init
|
sudo -u archivebox archivebox init
|
||||||
msg_ok "Updated ArchiveBox"
|
msg_ok "Updated ArchiveBox"
|
||||||
|
|
||||||
msg_info "Starting ArchiveBox"
|
msg_info "Starting Service"
|
||||||
systemctl start archivebox
|
systemctl start archivebox
|
||||||
msg_ok "Started ArchiveBox"
|
msg_ok "Started Service"
|
||||||
|
msg_ok "Updated Successfully!"
|
||||||
msg_ok "Updated Successfully"
|
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
19
ct/bazarr.sh
19
ct/bazarr.sh
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
|||||||
var_ram="${var_ram:-1024}"
|
var_ram="${var_ram:-1024}"
|
||||||
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"
|
||||||
@@ -28,15 +28,28 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if check_for_gh_release "bazarr" "morpheus65535/bazarr"; then
|
if check_for_gh_release "bazarr" "morpheus65535/bazarr"; then
|
||||||
PYTHON_VERSION="3.13" setup_uv
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop bazarr
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
PYTHON_VERSION="3.12" setup_uv
|
||||||
fetch_and_deploy_gh_release "bazarr" "morpheus65535/bazarr" "prebuild" "latest" "/opt/bazarr" "bazarr.zip"
|
fetch_and_deploy_gh_release "bazarr" "morpheus65535/bazarr" "prebuild" "latest" "/opt/bazarr" "bazarr.zip"
|
||||||
|
|
||||||
msg_info "Setup Bazarr"
|
msg_info "Setup Bazarr"
|
||||||
mkdir -p /var/lib/bazarr/
|
mkdir -p /var/lib/bazarr/
|
||||||
chmod 775 /opt/bazarr /var/lib/bazarr/
|
chmod 775 /opt/bazarr /var/lib/bazarr/
|
||||||
|
if [[ ! -d /opt/bazarr/venv/ ]]; then
|
||||||
|
$STD uv venv /opt/bazarr/venv --python 3.12
|
||||||
|
sed -i "s|ExecStart=/usr/bin/python3 /opt/bazarr/bazarr.py|ExecStart=/opt/bazarr/venv/bin/python3 /opt/bazarr/bazarr.py|g" /etc/systemd/system/bazarr.service
|
||||||
|
systemctl daemon-reload
|
||||||
|
fi
|
||||||
sed -i.bak 's/--only-binary=Pillow//g' /opt/bazarr/requirements.txt
|
sed -i.bak 's/--only-binary=Pillow//g' /opt/bazarr/requirements.txt
|
||||||
$STD uv pip install -r /opt/bazarr/requirements.txt --system
|
$STD uv pip install -r /opt/bazarr/requirements.txt --python /opt/bazarr/venv/bin/python3
|
||||||
msg_ok "Setup Bazarr"
|
msg_ok "Setup Bazarr"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start bazarr
|
||||||
|
msg_ok "Started Service"
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
fi
|
fi
|
||||||
exit
|
exit
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
#!/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 community-scripts ORG
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: Slaviša Arežina (tremor021)
|
# Author: vhsdream
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://github.com/StarFleetCPTN/GoMFT
|
# Source: https://github.com/alam00000/bentopdf
|
||||||
|
|
||||||
APP="GoMFT"
|
APP="BentoPDF"
|
||||||
var_tags="${var_tags:-backup}"
|
var_tags="${var_tags:-pdf-editor}"
|
||||||
var_cpu="${var_cpu:-1}"
|
var_cpu="${var_cpu:-1}"
|
||||||
var_ram="${var_ram:-512}"
|
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"
|
||||||
@@ -23,22 +23,31 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
|
if [[ ! -d /opt/bentopdf ]]; then
|
||||||
if [[ ! -d "/opt/gomft" ]]; then
|
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if check_for_gh_release "gomft" "StarFleetCPTN/GoMFT"; then
|
|
||||||
msg_info "Stopping $APP"
|
|
||||||
systemctl stop gomft
|
|
||||||
msg_ok "Stopped $APP"
|
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "gomft" "StarFleetCPTN/GoMFT" "singlefile" "latest" "/opt/gomft" "gomft*linux-amd64"
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
msg_info "Starting $APP"
|
if check_for_gh_release "bentopdf" "alam00000/bentopdf"; then
|
||||||
systemctl start gomft
|
msg_info "Stopping Service"
|
||||||
msg_ok "Started $APP"
|
systemctl stop bentopdf
|
||||||
msg_ok "Update Successful"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "bentopdf" "alam00000/bentopdf" "tarball" "latest" "/opt/bentopdf"
|
||||||
|
|
||||||
|
msg_info "Updating BentoPDF"
|
||||||
|
cd /opt/bentopdf
|
||||||
|
$STD npm ci --no-audit --no-fund
|
||||||
|
export SIMPLE_MODE=true
|
||||||
|
$STD npm run build -- --mode production
|
||||||
|
msg_ok "Updated BentoPDF"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start bentopdf
|
||||||
|
msg_ok "Started Service"
|
||||||
|
msg_ok "Updated Successfully!"
|
||||||
fi
|
fi
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
@@ -54,8 +54,9 @@ function update_script() {
|
|||||||
msg_error "PLEASE MAKE A BACKUP FIRST!"
|
msg_error "PLEASE MAKE A BACKUP FIRST!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully!"
|
||||||
fi
|
fi
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ function update_script() {
|
|||||||
$STD /opt/browserless/node_modules/playwright-core/cli.js install --force chrome
|
$STD /opt/browserless/node_modules/playwright-core/cli.js install --force chrome
|
||||||
$STD /opt/browserless/node_modules/playwright-core/cli.js install --force msedge
|
$STD /opt/browserless/node_modules/playwright-core/cli.js install --force msedge
|
||||||
$STD /opt/browserless/node_modules/playwright-core/cli.js install chromium firefox webkit
|
$STD /opt/browserless/node_modules/playwright-core/cli.js install chromium firefox webkit
|
||||||
$STD npm install --prefix /opt/browserless esbuild typescript ts-node @types/node
|
$STD npm install --prefix /opt/browserless esbuild typescript ts-node @types/node --save-dev
|
||||||
$STD npm run build --prefix /opt/browserless
|
$STD npm run build --prefix /opt/browserless
|
||||||
$STD npm run build:function --prefix /opt/browserless
|
$STD npm run build:function --prefix /opt/browserless
|
||||||
$STD npm prune production --prefix /opt/browserless
|
$STD npm prune production --prefix /opt/browserless
|
||||||
|
|||||||
42
ct/comfyui.sh
Normal file
42
ct/comfyui.sh
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
#!/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: jdacode
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/comfyanonymous/ComfyUI
|
||||||
|
|
||||||
|
APP="ComfyUI"
|
||||||
|
var_tags="${var_tags:-ai}"
|
||||||
|
var_cpu="${var_cpu:-4}"
|
||||||
|
var_ram="${var_ram:-8192}"
|
||||||
|
var_disk="${var_disk:-25}"
|
||||||
|
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/${APP} ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
msg_error "To update use the ${APP} Manager."
|
||||||
|
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}:8188${CL}"
|
||||||
@@ -28,6 +28,7 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
msg_ok "${APP} updates itself automatically!"
|
msg_ok "${APP} updates itself automatically!"
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -61,11 +61,7 @@ function update_script() {
|
|||||||
$STD node bin/build.js dist
|
$STD node bin/build.js dist
|
||||||
sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
|
sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
|
||||||
$STD /opt/cronicle/bin/control.sh start
|
$STD /opt/cronicle/bin/control.sh start
|
||||||
$STD cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled
|
|
||||||
chmod 775 /etc/init.d/cronicled
|
|
||||||
$STD update-rc.d cronicled defaults
|
|
||||||
msg_ok "Installed Cronicle Worker"
|
msg_ok "Installed Cronicle Worker"
|
||||||
|
|
||||||
echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n"
|
echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|||||||
136
ct/dispatcharr.sh
Normal file
136
ct/dispatcharr.sh
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
#!/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: ekke85 | MickLesk
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/Dispatcharr/Dispatcharr
|
||||||
|
|
||||||
|
APP="Dispatcharr"
|
||||||
|
var_tags="${var_tags:-media;arr}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-8}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -d "/opt/dispatcharr" ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
setup_uv
|
||||||
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
|
if check_for_gh_release "Dispatcharr" "Dispatcharr/Dispatcharr"; then
|
||||||
|
msg_info "Stopping Services"
|
||||||
|
systemctl stop dispatcharr-celery
|
||||||
|
systemctl stop dispatcharr-celerybeat
|
||||||
|
systemctl stop dispatcharr-daphne
|
||||||
|
systemctl stop dispatcharr
|
||||||
|
msg_ok "Stopped Services"
|
||||||
|
|
||||||
|
msg_info "Creating Backup"
|
||||||
|
BACKUP_FILE="/opt/dispatcharr_backup_$(date +%F_%H-%M-%S).tar.gz"
|
||||||
|
if [[ -f /opt/dispatcharr/.env ]]; then
|
||||||
|
cp /opt/dispatcharr/.env /tmp/dispatcharr.env.backup
|
||||||
|
fi
|
||||||
|
if [[ -f /opt/dispatcharr/start-gunicorn.sh ]]; then
|
||||||
|
cp /opt/dispatcharr/start-gunicorn.sh /tmp/start-gunicorn.sh.backup
|
||||||
|
fi
|
||||||
|
if [[ -f /opt/dispatcharr/start-celery.sh ]]; then
|
||||||
|
cp /opt/dispatcharr/start-celery.sh /tmp/start-celery.sh.backup
|
||||||
|
fi
|
||||||
|
if [[ -f /opt/dispatcharr/start-celerybeat.sh ]]; then
|
||||||
|
cp /opt/dispatcharr/start-celerybeat.sh /tmp/start-celerybeat.sh.backup
|
||||||
|
fi
|
||||||
|
if [[ -f /opt/dispatcharr/start-daphne.sh ]]; then
|
||||||
|
cp /opt/dispatcharr/start-daphne.sh /tmp/start-daphne.sh.backup
|
||||||
|
fi
|
||||||
|
if [[ -f /opt/dispatcharr/.env ]]; then
|
||||||
|
set -o allexport
|
||||||
|
source /opt/dispatcharr/.env
|
||||||
|
set +o allexport
|
||||||
|
if [[ -n "$POSTGRES_DB" ]] && [[ -n "$POSTGRES_USER" ]] && [[ -n "$POSTGRES_PASSWORD" ]]; then
|
||||||
|
PGPASSWORD=$POSTGRES_PASSWORD pg_dump -U $POSTGRES_USER -h ${POSTGRES_HOST:-localhost} $POSTGRES_DB >/tmp/dispatcharr_db_$(date +%F).sql
|
||||||
|
msg_info "Database backup created"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
$STD tar -czf "$BACKUP_FILE" -C /opt dispatcharr /tmp/dispatcharr_db_*.sql
|
||||||
|
msg_ok "Backup created: $BACKUP_FILE"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "dispatcharr" "Dispatcharr/Dispatcharr"
|
||||||
|
|
||||||
|
msg_info "Updating Dispatcharr Backend"
|
||||||
|
if [[ -f /tmp/dispatcharr.env.backup ]]; then
|
||||||
|
mv /tmp/dispatcharr.env.backup /opt/dispatcharr/.env
|
||||||
|
fi
|
||||||
|
if [[ -f /tmp/start-gunicorn.sh.backup ]]; then
|
||||||
|
mv /tmp/start-gunicorn.sh.backup /opt/dispatcharr/start-gunicorn.sh
|
||||||
|
fi
|
||||||
|
if [[ -f /tmp/start-celery.sh.backup ]]; then
|
||||||
|
mv /tmp/start-celery.sh.backup /opt/dispatcharr/start-celery.sh
|
||||||
|
fi
|
||||||
|
if [[ -f /tmp/start-celerybeat.sh.backup ]]; then
|
||||||
|
mv /tmp/start-celerybeat.sh.backup /opt/dispatcharr/start-celerybeat.sh
|
||||||
|
fi
|
||||||
|
if [[ -f /tmp/start-daphne.sh.backup ]]; then
|
||||||
|
mv /tmp/start-daphne.sh.backup /opt/dispatcharr/start-daphne.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd /opt/dispatcharr
|
||||||
|
rm -rf .venv
|
||||||
|
$STD uv venv
|
||||||
|
$STD uv pip install -r requirements.txt --index-strategy unsafe-best-match
|
||||||
|
$STD uv pip install gunicorn gevent celery redis daphne
|
||||||
|
msg_ok "Updated Dispatcharr Backend"
|
||||||
|
|
||||||
|
msg_info "Building Frontend"
|
||||||
|
cd /opt/dispatcharr/frontend
|
||||||
|
$STD npm install --legacy-peer-deps
|
||||||
|
$STD npm run build
|
||||||
|
msg_ok "Built Frontend"
|
||||||
|
|
||||||
|
msg_info "Running Django Migrations"
|
||||||
|
cd /opt/dispatcharr
|
||||||
|
if [[ -f .env ]]; then
|
||||||
|
set -o allexport
|
||||||
|
source .env
|
||||||
|
set +o allexport
|
||||||
|
fi
|
||||||
|
$STD uv run python manage.py migrate --noinput
|
||||||
|
$STD uv run python manage.py collectstatic --noinput
|
||||||
|
msg_ok "Migrations Complete"
|
||||||
|
|
||||||
|
msg_info "Starting Services"
|
||||||
|
systemctl start dispatcharr
|
||||||
|
systemctl start dispatcharr-celery
|
||||||
|
systemctl start dispatcharr-celerybeat
|
||||||
|
systemctl start dispatcharr-daphne
|
||||||
|
msg_ok "Started Services"
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f /tmp/dispatcharr_db_*.sql
|
||||||
|
msg_ok "Cleanup completed"
|
||||||
|
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}${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"
|
||||||
@@ -28,13 +28,18 @@ 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.25"; then
|
if [[ $(grep -E '^VERSION_ID=' /etc/os-release) == *"12"* ]]; then
|
||||||
|
msg_error "Wrong Debian version detected!"
|
||||||
|
msg_error "You must upgrade your LXC to Debian Trixie before updating."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr"; then
|
||||||
msg_info "Stopping service"
|
msg_info "Stopping service"
|
||||||
systemctl stop flaresolverr
|
systemctl stop flaresolverr
|
||||||
msg_ok "Stopped service"
|
msg_ok "Stopped service"
|
||||||
|
|
||||||
rm -rf /opt/flaresolverr
|
rm -rf /opt/flaresolverr
|
||||||
fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "v3.3.25" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz"
|
fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "latest" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz"
|
||||||
|
|
||||||
msg_info "Starting service"
|
msg_info "Starting service"
|
||||||
systemctl start flaresolverr
|
systemctl start flaresolverr
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ function update_script() {
|
|||||||
chmod +x /opt/freshrss/cli/sensitive-log.sh
|
chmod +x /opt/freshrss/cli/sensitive-log.sh
|
||||||
systemctl restart apache2
|
systemctl restart apache2
|
||||||
msg_ok "Fixed wrong permissions"
|
msg_ok "Fixed wrong permissions"
|
||||||
|
exit
|
||||||
else
|
else
|
||||||
msg_error "FreshRSS should be updated via the user interface."
|
msg_error "FreshRSS should be updated via the user interface."
|
||||||
exit
|
exit
|
||||||
|
|||||||
64
ct/garage.sh
Normal file
64
ct/garage.sh
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://garagehq.deuxfleurs.fr/
|
||||||
|
|
||||||
|
APP="Garage"
|
||||||
|
var_tags="${var_tags:-object-storage}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
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 [[ ! -f /usr/local/bin/garage ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
GITEA_RELEASE=$(curl -fsSL https://api.github.com/repos/deuxfleurs-org/garage/tags | jq -r '.[0].name')
|
||||||
|
if [[ "${GITEA_RELEASE}" != "$(cat ~/.garage 2>/dev/null)" ]] || [[ ! -f ~/.garage ]]; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop garage
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Backing Up Data"
|
||||||
|
cp /usr/local/bin/garage /usr/local/bin/garage.old 2>/dev/null || true
|
||||||
|
cp /etc/garage.toml /etc/garage.toml.bak 2>/dev/null || true
|
||||||
|
msg_ok "Backed Up Data"
|
||||||
|
|
||||||
|
msg_info "Updating Garage"
|
||||||
|
curl -fsSL "https://garagehq.deuxfleurs.fr/_releases/${GITEA_RELEASE}/x86_64-unknown-linux-musl/garage" -o /usr/local/bin/garage
|
||||||
|
chmod +x /usr/local/bin/garage
|
||||||
|
echo "${GITEA_RELEASE}" >~/.garage
|
||||||
|
msg_ok "Updated Garage"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start garage
|
||||||
|
msg_ok "Started Service"
|
||||||
|
msg_ok "Update Successfully!"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. Garage is already at ${GITEA_RELEASE}"
|
||||||
|
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}"
|
||||||
@@ -24,12 +24,9 @@ function update_script() {
|
|||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
|
|
||||||
if ! dpkg-query -W -f='${Status}' mariadb-server 2>/dev/null | grep -q "install ok installed"; then
|
|
||||||
setup_mysql
|
|
||||||
fi
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Updating ${APP} LXC"
|
msg_info "Updating Ghost"
|
||||||
if command -v ghost &>/dev/null; then
|
if command -v ghost &>/dev/null; then
|
||||||
current_version=$(ghost version | grep 'Ghost-CLI version' | awk '{print $3}')
|
current_version=$(ghost version | grep 'Ghost-CLI version' | awk '{print $3}')
|
||||||
latest_version=$(npm show ghost-cli version)
|
latest_version=$(npm show ghost-cli version)
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ function update_script() {
|
|||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt -y upgrade
|
$STD apt -y upgrade
|
||||||
msg_ok "Updated $APP LXC"
|
msg_ok "Updated $APP LXC"
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -40,9 +40,9 @@ if check_for_gh_release "guardian" "HydroshieldMKII/Guardian" ; then
|
|||||||
msg_ok "Backed up Database"
|
msg_ok "Backed up Database"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cp /opt/guardian/.env /opt
|
[[ -f "/opt/guardian/.env" ]] && cp "/opt/guardian/.env" "/opt"
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "guardian" "HydroshieldMKII/Guardian" "tarball" "latest" "/opt/guardian"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "guardian" "HydroshieldMKII/Guardian" "tarball" "latest" "/opt/guardian"
|
||||||
mv /opt/.env /opt/guardian
|
[[ -f "/opt/.env" ]] && mv "/opt/.env" "/opt/guardian"
|
||||||
|
|
||||||
if [[ -f "/tmp/plex-guard.db.backup" ]] ; then
|
if [[ -f "/tmp/plex-guard.db.backup" ]] ; then
|
||||||
msg_info "Restoring Database"
|
msg_info "Restoring Database"
|
||||||
@@ -58,7 +58,8 @@ if check_for_gh_release "guardian" "HydroshieldMKII/Guardian" ; then
|
|||||||
|
|
||||||
cd /opt/guardian/frontend
|
cd /opt/guardian/frontend
|
||||||
$STD npm ci
|
$STD npm ci
|
||||||
$STD DEPLOYMENT_MODE=standalone npm run build
|
export DEPLOYMENT_MODE=standalone
|
||||||
|
$STD npm run build
|
||||||
msg_ok "Updated Guardian"
|
msg_ok "Updated Guardian"
|
||||||
|
|
||||||
msg_info "Starting Services"
|
msg_info "Starting Services"
|
||||||
|
|||||||
6
ct/headers/alpine-garage
Normal file
6
ct/headers/alpine-garage
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
___ __ _ ______
|
||||||
|
/ | / /___ (_)___ ___ / ____/___ __________ _____ ____
|
||||||
|
/ /| | / / __ \/ / __ \/ _ \______/ / __/ __ `/ ___/ __ `/ __ `/ _ \
|
||||||
|
/ ___ |/ / /_/ / / / / / __/_____/ /_/ / /_/ / / / /_/ / /_/ / __/
|
||||||
|
/_/ |_/_/ .___/_/_/ /_/\___/ \____/\__,_/_/ \__,_/\__, /\___/
|
||||||
|
/_/ /____/
|
||||||
6
ct/headers/bentopdf
Normal file
6
ct/headers/bentopdf
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
____ __ ____ ____ ______
|
||||||
|
/ __ )___ ____ / /_____ / __ \/ __ \/ ____/
|
||||||
|
/ __ / _ \/ __ \/ __/ __ \/ /_/ / / / / /_
|
||||||
|
/ /_/ / __/ / / / /_/ /_/ / ____/ /_/ / __/
|
||||||
|
/_____/\___/_/ /_/\__/\____/_/ /_____/_/
|
||||||
|
|
||||||
6
ct/headers/comfyui
Normal file
6
ct/headers/comfyui
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
______ ____ __ ______
|
||||||
|
/ ____/___ ____ ___ / __/_ __/ / / / _/
|
||||||
|
/ / / __ \/ __ `__ \/ /_/ / / / / / // /
|
||||||
|
/ /___/ /_/ / / / / / / __/ /_/ / /_/ // /
|
||||||
|
\____/\____/_/ /_/ /_/_/ \__, /\____/___/
|
||||||
|
/____/
|
||||||
6
ct/headers/dispatcharr
Normal file
6
ct/headers/dispatcharr
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
____ _ __ __
|
||||||
|
/ __ \(_)________ ____ _/ /______/ /_ ____ ___________
|
||||||
|
/ / / / / ___/ __ \/ __ `/ __/ ___/ __ \/ __ `/ ___/ ___/
|
||||||
|
/ /_/ / (__ ) /_/ / /_/ / /_/ /__/ / / / /_/ / / / /
|
||||||
|
/_____/_/____/ .___/\__,_/\__/\___/_/ /_/\__,_/_/ /_/
|
||||||
|
/_/
|
||||||
6
ct/headers/garage
Normal file
6
ct/headers/garage
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
______
|
||||||
|
/ ____/___ __________ _____ ____
|
||||||
|
/ / __/ __ `/ ___/ __ `/ __ `/ _ \
|
||||||
|
/ /_/ / /_/ / / / /_/ / /_/ / __/
|
||||||
|
\____/\__,_/_/ \__,_/\__, /\___/
|
||||||
|
/____/
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
______ __ _______________
|
|
||||||
/ ____/___ / |/ / ____/_ __/
|
|
||||||
/ / __/ __ \/ /|_/ / /_ / /
|
|
||||||
/ /_/ / /_/ / / / / __/ / /
|
|
||||||
\____/\____/_/ /_/_/ /_/
|
|
||||||
|
|
||||||
6
ct/headers/jotty
Normal file
6
ct/headers/jotty
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
_ __ __
|
||||||
|
(_)___ / /_/ /___ __
|
||||||
|
/ / __ \/ __/ __/ / / /
|
||||||
|
/ / /_/ / /_/ /_/ /_/ /
|
||||||
|
__/ /\____/\__/\__/\__, /
|
||||||
|
/___/ /____/
|
||||||
6
ct/headers/livebook
Normal file
6
ct/headers/livebook
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
__ _ __ __
|
||||||
|
/ / (_) _____ / /_ ____ ____ / /__
|
||||||
|
/ / / / | / / _ \/ __ \/ __ \/ __ \/ //_/
|
||||||
|
/ /___/ /| |/ / __/ /_/ / /_/ / /_/ / ,<
|
||||||
|
/_____/_/ |___/\___/_.___/\____/\____/_/|_|
|
||||||
|
|
||||||
6
ct/headers/open-archiver
Normal file
6
ct/headers/open-archiver
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
____ ___ __ _
|
||||||
|
/ __ \____ ___ ____ / | __________/ /_ (_) _____ _____
|
||||||
|
/ / / / __ \/ _ \/ __ \______/ /| | / ___/ ___/ __ \/ / | / / _ \/ ___/
|
||||||
|
/ /_/ / /_/ / __/ / / /_____/ ___ |/ / / /__/ / / / /| |/ / __/ /
|
||||||
|
\____/ .___/\___/_/ /_/ /_/ |_/_/ \___/_/ /_/_/ |___/\___/_/
|
||||||
|
/_/
|
||||||
6
ct/headers/patchmon
Normal file
6
ct/headers/patchmon
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
____ __ __ __ ___
|
||||||
|
/ __ \____ _/ /______/ /_ / |/ /___ ____
|
||||||
|
/ /_/ / __ `/ __/ ___/ __ \/ /|_/ / __ \/ __ \
|
||||||
|
/ ____/ /_/ / /_/ /__/ / / / / / / /_/ / / / /
|
||||||
|
/_/ \__,_/\__/\___/_/ /_/_/ /_/\____/_/ /_/
|
||||||
|
|
||||||
6
ct/headers/reitti
Normal file
6
ct/headers/reitti
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
____ _ __ __ _
|
||||||
|
/ __ \___ (_) /_/ /_(_)
|
||||||
|
/ /_/ / _ \/ / __/ __/ /
|
||||||
|
/ _, _/ __/ / /_/ /_/ /
|
||||||
|
/_/ |_|\___/_/\__/\__/_/
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@ APP="Jellyfin"
|
|||||||
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:-2048}"
|
||||||
var_disk="${var_disk:-8}"
|
var_disk="${var_disk:-16}"
|
||||||
var_os="${var_os:-ubuntu}"
|
var_os="${var_os:-ubuntu}"
|
||||||
var_version="${var_version:-24.04}"
|
var_version="${var_version:-24.04}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
@@ -27,11 +27,29 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
msg_info "Updating ${APP} LXC"
|
|
||||||
$STD apt-get update
|
if ! grep -qEi 'ubuntu' /etc/os-release; then
|
||||||
$STD apt-get -y upgrade
|
msg_info "Updating Intel Dependencies"
|
||||||
$STD apt-get -y --with-new-pkgs upgrade jellyfin jellyfin-server
|
rm .intel-*
|
||||||
msg_ok "Updated ${APP} LXC"
|
fetch_and_deploy_gh_release "intel-igc-core-2" "intel/intel-graphics-compiler" "binary" "latest" "" "intel-igc-core-2_*_amd64.deb"
|
||||||
|
fetch_and_deploy_gh_release "intel-igc-opencl-2" "intel/intel-graphics-compiler" "binary" "latest" "" "intel-igc-opencl-2_*_amd64.deb"
|
||||||
|
fetch_and_deploy_gh_release "intel-libgdgmm12" "intel/compute-runtime" "binary" "latest" "" "libigdgmm12_*_amd64.deb"
|
||||||
|
fetch_and_deploy_gh_release "intel-opencl-icd" "intel/compute-runtime" "binary" "latest" "" "intel-opencl-icd_*_amd64.deb"
|
||||||
|
msg_ok "Updated Intel Dependencies"
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_info "Updating Jellyfin"
|
||||||
|
if ! dpkg -s libjemalloc2 >/dev/null 2>&1; then
|
||||||
|
$STD apt install -y libjemalloc2
|
||||||
|
fi
|
||||||
|
if [[ ! -f /usr/lib/libjemalloc.so ]]; then
|
||||||
|
ln -sf /usr/lib/x86_64-linux-gnu/libjemalloc.so.2 /usr/lib/libjemalloc.so
|
||||||
|
fi
|
||||||
|
$STD apt update
|
||||||
|
$STD apt -y upgrade
|
||||||
|
$STD apt -y --with-new-pkgs upgrade jellyfin jellyfin-server
|
||||||
|
msg_ok "Updated Jellyfin"
|
||||||
|
msg_ok "Update Successfully!"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
74
ct/jotty.sh
Normal file
74
ct/jotty.sh
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: vhsdream
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/fccview/jotty
|
||||||
|
|
||||||
|
APP="jotty"
|
||||||
|
var_tags="${var_tags:-tasks;notes}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-3072}"
|
||||||
|
var_disk="${var_disk:-6}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -d /opt/jotty ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "jotty" "fccview/jotty"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop jotty
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Backing up configuration & data"
|
||||||
|
cd /opt/jotty
|
||||||
|
cp ./.env /opt/app.env
|
||||||
|
$STD tar -cf /opt/data_config.tar ./data ./config
|
||||||
|
msg_ok "Backed up configuration & data"
|
||||||
|
|
||||||
|
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "jotty" "fccview/jotty" "tarball" "latest" "/opt/jotty"
|
||||||
|
|
||||||
|
msg_info "Updating app"
|
||||||
|
cd /opt/jotty
|
||||||
|
$STD yarn --frozen-lockfile
|
||||||
|
$STD yarn next telemetry disable
|
||||||
|
$STD yarn build
|
||||||
|
msg_ok "Updated app"
|
||||||
|
|
||||||
|
msg_info "Restoring configuration & data"
|
||||||
|
mv /opt/app.env /opt/jotty/.env
|
||||||
|
$STD tar -xf /opt/data_config.tar
|
||||||
|
msg_ok "Restored configuration & data"
|
||||||
|
|
||||||
|
msg_info "Restarting ${APP} service"
|
||||||
|
systemctl start jotty
|
||||||
|
msg_ok "Restarted ${APP} service"
|
||||||
|
rm /opt/data_config.tar
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
||||||
21
ct/kavita.sh
21
ct/kavita.sh
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
|||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-2048}"
|
||||||
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:-13}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@@ -27,15 +27,20 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
msg_info "Updating $APP LXC"
|
|
||||||
|
if check_for_gh_release "kavita" "Kareadita/Kavita"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
systemctl stop kavita
|
systemctl stop kavita
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/Kareadita/Kavita/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
msg_ok "Service Stopped"
|
||||||
$STD tar -xvzf <(curl -fsSL https://github.com/Kareadita/Kavita/releases/download/$RELEASE/kavita-linux-x64.tar.gz) --no-same-owner
|
|
||||||
rm -rf Kavita/config
|
fetch_and_deploy_gh_release "kavita" "Kareadita/Kavita" "prebuild" "latest" "/opt/Kavita" "kavita-linux-x64.tar.gz"
|
||||||
cp -r Kavita/* /opt/Kavita
|
chmod +x /opt/Kavita/Kavita && chown root:root /opt/Kavita/Kavita
|
||||||
rm -rf Kavita
|
|
||||||
|
msg_info "Starting Service"
|
||||||
systemctl start kavita
|
systemctl start kavita
|
||||||
msg_ok "Updated $APP LXC"
|
msg_ok "Service Started"
|
||||||
|
msg_ok "Update Successfully!"
|
||||||
|
fi
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
41
ct/kimai.sh
41
ct/kimai.sh
@@ -23,32 +23,21 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
if ! command -v lsb_release; then
|
|
||||||
apt install -y lsb-release
|
|
||||||
fi
|
|
||||||
if [[ ! -d /opt/kimai ]]; then
|
if [[ ! -d /opt/kimai ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2)
|
CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2)
|
||||||
if [[ "$CURRENT_PHP" != "8.4" ]]; then
|
if [[ "$CURRENT_PHP" != "8.4" ]]; then
|
||||||
msg_info "Migrating PHP $CURRENT_PHP to 8.4"
|
msg_info "Migrating PHP $CURRENT_PHP to 8.4"
|
||||||
$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
PHP_VERSION="8.4" PHP_MODULE="gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm" PHP_APACHE="YES" setup_php
|
||||||
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
|
||||||
$STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get remove -y php"${CURRENT_PHP//./}"*
|
|
||||||
$STD apt-get install -y \
|
|
||||||
php8.4 composer \
|
|
||||||
php8.4-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm} \
|
|
||||||
libapache2-mod-php8.4
|
|
||||||
msg_ok "Migrated PHP $CURRENT_PHP to 8.4"
|
msg_ok "Migrated PHP $CURRENT_PHP to 8.4"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
if check_for_gh_release "kimai" "kimai/kimai"; then
|
||||||
BACKUP_DIR="/opt/kimai_backup"
|
BACKUP_DIR="/opt/kimai_backup"
|
||||||
|
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
|
||||||
msg_info "Stopping Apache2"
|
msg_info "Stopping Apache2"
|
||||||
systemctl stop apache2
|
systemctl stop apache2
|
||||||
msg_ok "Stopped Apache2"
|
msg_ok "Stopped Apache2"
|
||||||
@@ -60,15 +49,9 @@ function update_script() {
|
|||||||
[ -f /opt/kimai/config/packages/local.yaml ] && cp /opt/kimai/config/packages/local.yaml "$BACKUP_DIR/"
|
[ -f /opt/kimai/config/packages/local.yaml ] && cp /opt/kimai/config/packages/local.yaml "$BACKUP_DIR/"
|
||||||
msg_ok "Backup completed"
|
msg_ok "Backup completed"
|
||||||
|
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
fetch_and_deploy_gh_release "kimai" "kimai/kimai"
|
||||||
trap "echo Unable to download release file for version ${RELEASE}; try again later" ERR
|
|
||||||
set -e
|
msg_info "Updating Kimai"
|
||||||
curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip")
|
|
||||||
$STD unzip "${RELEASE}".zip
|
|
||||||
set +e
|
|
||||||
trap - ERR
|
|
||||||
rm -rf /opt/kimai
|
|
||||||
mv kimai-"${RELEASE}" /opt/kimai
|
|
||||||
[ -d "$BACKUP_DIR/var" ] && cp -r "$BACKUP_DIR/var" /opt/kimai/
|
[ -d "$BACKUP_DIR/var" ] && cp -r "$BACKUP_DIR/var" /opt/kimai/
|
||||||
[ -f "$BACKUP_DIR/.env" ] && cp "$BACKUP_DIR/.env" /opt/kimai/
|
[ -f "$BACKUP_DIR/.env" ] && cp "$BACKUP_DIR/.env" /opt/kimai/
|
||||||
[ -f "$BACKUP_DIR/local.yaml" ] && cp "$BACKUP_DIR/local.yaml" /opt/kimai/config/packages/
|
[ -f "$BACKUP_DIR/local.yaml" ] && cp "$BACKUP_DIR/local.yaml" /opt/kimai/config/packages/
|
||||||
@@ -76,8 +59,7 @@ function update_script() {
|
|||||||
cd /opt/kimai
|
cd /opt/kimai
|
||||||
$STD composer install --no-dev --optimize-autoloader
|
$STD composer install --no-dev --optimize-autoloader
|
||||||
$STD bin/console kimai:update
|
$STD bin/console kimai:update
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
msg_ok "Updated Kimai"
|
||||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
|
||||||
|
|
||||||
msg_info "Starting Apache2"
|
msg_info "Starting Apache2"
|
||||||
systemctl start apache2
|
systemctl start apache2
|
||||||
@@ -90,14 +72,7 @@ function update_script() {
|
|||||||
chown -R www-data:www-data /opt/*
|
chown -R www-data:www-data /opt/*
|
||||||
chmod -R 777 /opt/*
|
chmod -R 777 /opt/*
|
||||||
msg_ok "Setup Permissions"
|
msg_ok "Setup Permissions"
|
||||||
|
msg_ok "Updated Successfully!"
|
||||||
msg_info "Cleaning Up"
|
|
||||||
rm -rf "${RELEASE}".zip
|
|
||||||
rm -rf "$BACKUP_DIR"
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
msg_ok "Updated Successfully"
|
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
|
||||||
fi
|
fi
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,21 +28,24 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if check_for_gh_release "libretranslate" "LibreTranslate/LibreTranslate"; then
|
|
||||||
msg_info "Stopping $APP"
|
|
||||||
systemctl stop libretranslate
|
|
||||||
msg_ok "Stopped $APP"
|
|
||||||
|
|
||||||
msg_info "Updating $APP"
|
setup_uv
|
||||||
|
|
||||||
|
if check_for_gh_release "libretranslate" "LibreTranslate/LibreTranslate"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop libretranslate
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Updating LibreTranslate"
|
||||||
cd /opt/libretranslate
|
cd /opt/libretranslate
|
||||||
source .venv/bin/activate
|
source .venv/bin/activate
|
||||||
$STD pip install -U libretranslate
|
$STD pip install -U libretranslate
|
||||||
msg_ok "Updated $APP"
|
msg_ok "Updated LibreTranslate"
|
||||||
|
|
||||||
msg_info "Starting $APP"
|
msg_info "Starting Service"
|
||||||
systemctl start libretranslate
|
systemctl start libretranslate
|
||||||
msg_ok "Started $APP"
|
msg_ok "Started Service"
|
||||||
msg_ok "Update Successful"
|
msg_ok "Update Successfully!"
|
||||||
fi
|
fi
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|||||||
64
ct/livebook.sh
Executable file
64
ct/livebook.sh
Executable file
@@ -0,0 +1,64 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/refs/heads/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: dkuku
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/livebook-dev/livebook
|
||||||
|
|
||||||
|
APP="Livebook"
|
||||||
|
var_tags="${var_tags:-development}"
|
||||||
|
var_disk="${var_disk:-4}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-1024}"
|
||||||
|
var_os="${var_os:-ubuntu}"
|
||||||
|
var_version="${var_version:-24.04}"
|
||||||
|
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/livebook/.mix/escripts/livebook ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "livebook" "livebook-dev/livebook"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop livebook
|
||||||
|
msg_info "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Updating Container"
|
||||||
|
$STD apt update
|
||||||
|
$STD apt upgrade -y
|
||||||
|
msg_ok "Updated Container"
|
||||||
|
|
||||||
|
msg_info "Updating Livebook"
|
||||||
|
source /opt/livebook/.env
|
||||||
|
cd /opt/livebook
|
||||||
|
$STD mix escript.install hex livebook --force
|
||||||
|
|
||||||
|
chown -R livebook:livebook /opt/livebook /data
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start livebook
|
||||||
|
msg_info "Started Service"
|
||||||
|
|
||||||
|
msg_ok "Updated Successfully!"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
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}"
|
||||||
@@ -50,6 +50,7 @@ function update_script() {
|
|||||||
else
|
else
|
||||||
msg_ok "$APP is already up to date (${RELEASE})"
|
msg_ok "$APP is already up to date (${RELEASE})"
|
||||||
fi
|
fi
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ function update_script() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $(echo ":$PATH:" != *":/usr/local/bin:"*) ]]; then
|
if [[ $(echo ":$PATH:" != *":/usr/local/bin:"*) ]]; then
|
||||||
echo 'export PATH="/usr/local/bin:$PATH"' >>~/.bashrc
|
echo -e "\nexport PATH=\"/usr/local/bin:\$PATH\"" >>~/.bashrc
|
||||||
source ~/.bashrc
|
source ~/.bashrc
|
||||||
if ! command -v deno &>/dev/null; then
|
if ! command -v deno &>/dev/null; then
|
||||||
export DENO_INSTALL="/usr/local"
|
export DENO_INSTALL="/usr/local"
|
||||||
@@ -110,6 +110,7 @@ EOF
|
|||||||
|
|
||||||
msg_ok "Updated Successfully!"
|
msg_ok "Updated Successfully!"
|
||||||
fi
|
fi
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
14
ct/mylar3.sh
14
ct/mylar3.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 community-scripts ORG
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: davalanche
|
# Author: davalanche | Co-Author: Slaviša Arežina (tremor021)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://github.com/mylar3/mylar3
|
# Source: https://github.com/mylar3/mylar3
|
||||||
|
|
||||||
@@ -25,16 +25,10 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/mylar3/mylar3/releases/latest | jq -r '.tag_name')
|
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
if check_for_gh_release "mylar3" "mylar3/mylar3"; then
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
fetch_and_deploy_gh_release "mylar3" "mylar3/mylar3" "tarball"
|
||||||
rm -rf /opt/mylar3/* /opt/mylar3/.*
|
|
||||||
curl -fsSL "https://github.com/mylar3/mylar3/archive/refs/tags/${RELEASE}.tar.gz" | tar -xz --strip-components=1 -C /opt/mylar3
|
|
||||||
systemctl restart mylar3
|
systemctl restart mylar3
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
|
||||||
fi
|
fi
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
|||||||
var_ram="${var_ram:-1024}"
|
var_ram="${var_ram:-1024}"
|
||||||
var_disk="${var_disk:-4}"
|
var_disk="${var_disk:-4}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-13}"
|
var_version="${var_version:-12}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
|||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-2048}"
|
||||||
var_disk="${var_disk:-8}"
|
var_disk="${var_disk:-8}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-13}"
|
var_version="${var_version:-12}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
|
|||||||
@@ -28,12 +28,21 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! command -v pnpm &>/dev/null; then
|
if command -v node &> /dev/null; then
|
||||||
msg_info "Installing pnpm"
|
CURRENT_NODE_VERSION=$(node --version | cut -d'v' -f2 | cut -d'.' -f1)
|
||||||
#export NODE_OPTIONS=--openssl-legacy-provider
|
if [[ "$CURRENT_NODE_VERSION" != "22" ]]; then
|
||||||
$STD npm install -g pnpm@8.15
|
systemctl stop openresty
|
||||||
msg_ok "Installed pnpm"
|
apt-get purge -y nodejs npm
|
||||||
|
apt-get autoremove -y
|
||||||
|
rm -rf /usr/local/bin/node /usr/local/bin/npm
|
||||||
|
rm -rf /usr/local/lib/node_modules
|
||||||
|
rm -rf ~/.npm
|
||||||
|
rm -rf /root/.npm
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
|
||||||
|
export NODE_OPTIONS="--openssl-legacy-provider"
|
||||||
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest |
|
RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest |
|
||||||
grep "tag_name" |
|
grep "tag_name" |
|
||||||
@@ -49,9 +58,10 @@ function update_script() {
|
|||||||
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json
|
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json
|
||||||
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json
|
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json
|
||||||
cd ./frontend || exit
|
cd ./frontend || exit
|
||||||
$STD pnpm install
|
# Replace node-sass with sass in package.json before installation
|
||||||
$STD pnpm upgrade
|
sed -i 's/"node-sass".*$/"sass": "^1.92.1",/g' package.json
|
||||||
$STD pnpm run build
|
$STD yarn install --network-timeout 600000
|
||||||
|
$STD yarn build
|
||||||
)
|
)
|
||||||
msg_ok "Built Frontend"
|
msg_ok "Built Frontend"
|
||||||
|
|
||||||
@@ -71,7 +81,7 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Setting up Environment"
|
msg_info "Setting up Environment"
|
||||||
ln -sf /usr/bin/python3 /usr/bin/python
|
ln -sf /usr/bin/python3 /usr/bin/python
|
||||||
ln -sf /usr/bin/certbot /opt/certbot/bin/certbot
|
ln -sf /opt/certbot/bin/certbot /usr/local/bin/certbot
|
||||||
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
|
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
|
||||||
ln -sf /usr/local/openresty/nginx/ /etc/nginx
|
ln -sf /usr/local/openresty/nginx/ /etc/nginx
|
||||||
sed -i 's+^daemon+#daemon+g' docker/rootfs/etc/nginx/nginx.conf
|
sed -i 's+^daemon+#daemon+g' docker/rootfs/etc/nginx/nginx.conf
|
||||||
@@ -113,7 +123,12 @@ function update_script() {
|
|||||||
cp -r frontend/app-images/* /app/frontend/images
|
cp -r frontend/app-images/* /app/frontend/images
|
||||||
cp -r backend/* /app
|
cp -r backend/* /app
|
||||||
cp -r global/* /app/global
|
cp -r global/* /app/global
|
||||||
$STD python3 -m pip install --no-cache-dir --break-system-packages certbot-dns-cloudflare
|
|
||||||
|
# Update Certbot and plugins in virtual environment
|
||||||
|
if [ -d /opt/certbot ]; then
|
||||||
|
$STD /opt/certbot/bin/pip install --upgrade pip setuptools wheel
|
||||||
|
$STD /opt/certbot/bin/pip install --upgrade certbot certbot-dns-cloudflare
|
||||||
|
fi
|
||||||
msg_ok "Setup Environment"
|
msg_ok "Setup Environment"
|
||||||
|
|
||||||
msg_info "Initializing Backend"
|
msg_info "Initializing Backend"
|
||||||
@@ -134,7 +149,8 @@ function update_script() {
|
|||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
cd /app || exit
|
cd /app || exit
|
||||||
$STD pnpm install
|
export NODE_OPTIONS="--openssl-legacy-provider"
|
||||||
|
$STD yarn install --network-timeout 600000
|
||||||
msg_ok "Initialized Backend"
|
msg_ok "Initialized Backend"
|
||||||
|
|
||||||
msg_info "Starting Services"
|
msg_info "Starting Services"
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ function update_script() {
|
|||||||
msg_ok "Started Service"
|
msg_ok "Started Service"
|
||||||
msg_ok "Updated successfully!\n"
|
msg_ok "Updated successfully!\n"
|
||||||
fi
|
fi
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
|||||||
var_ram="${var_ram:-1024}"
|
var_ram="${var_ram:-1024}"
|
||||||
var_disk="${var_disk:-4}"
|
var_disk="${var_disk:-4}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-13}"
|
var_version="${var_version:-12}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
|
|||||||
61
ct/open-archiver.sh
Normal file
61
ct/open-archiver.sh
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://openarchiver.com/
|
||||||
|
|
||||||
|
APP="Open-Archiver"
|
||||||
|
var_tags="${var_tags:-os}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-3072}"
|
||||||
|
var_disk="${var_disk:-8}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -d /opt/openarchiver ]]; then
|
||||||
|
msg_error "No Open Archiver Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "openarchiver" "LogicLabs-OU/OpenArchiver"; then
|
||||||
|
msg_info "Stopping Services"
|
||||||
|
systemctl stop openarchiver
|
||||||
|
msg_ok "Stopped Services"
|
||||||
|
|
||||||
|
cp /opt/openarchiver/.env /opt/openarchiver.env
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "openarchiver" "LogicLabs-OU/OpenArchiver" "tarball" "latest" "/opt/openarchiver"
|
||||||
|
mv /opt/openarchiver.env /opt/openarchiver/.env
|
||||||
|
|
||||||
|
msg_info "Updating Open Archiver"
|
||||||
|
$STD pnpm install --shamefully-hoist --frozen-lockfile --prod=false
|
||||||
|
$STD pnpm build
|
||||||
|
$STD pnpm db:migrate
|
||||||
|
msg_ok "Updated Open Archiver"
|
||||||
|
|
||||||
|
msg_info "Starting Services"
|
||||||
|
systemctl start openarchiver
|
||||||
|
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}:3000${CL}"
|
||||||
@@ -37,7 +37,7 @@ function update_script() {
|
|||||||
fetch_and_deploy_gh_release "Palmr" "kyantech/Palmr" "tarball" "latest" "/opt/palmr"
|
fetch_and_deploy_gh_release "Palmr" "kyantech/Palmr" "tarball" "latest" "/opt/palmr"
|
||||||
|
|
||||||
PNPM="$(jq -r '.packageManager' /opt/palmr/package.json)"
|
PNPM="$(jq -r '.packageManager' /opt/palmr/package.json)"
|
||||||
NODE_VERSION="20" NODE_MODULE="$PNPM" setup_nodejs
|
NODE_VERSION="24" NODE_MODULE="$PNPM" setup_nodejs
|
||||||
|
|
||||||
msg_info "Updating ${APP}"
|
msg_info "Updating ${APP}"
|
||||||
cd /opt/palmr/apps/server
|
cd /opt/palmr/apps/server
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
|||||||
|
|
||||||
APP="Paperless-AI"
|
APP="Paperless-AI"
|
||||||
var_tags="${var_tags:-ai;document}"
|
var_tags="${var_tags:-ai;document}"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-4}"
|
||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-4096}"
|
||||||
var_disk="${var_disk:-20}"
|
var_disk="${var_disk:-20}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-13}"
|
var_version="${var_version:-13}"
|
||||||
|
|||||||
76
ct/patchmon.sh
Normal file
76
ct/patchmon.sh
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
#!/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: vhsdream
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/PatchMon/PatchMon
|
||||||
|
|
||||||
|
APP="PatchMon"
|
||||||
|
var_tags="${var_tags:-monitoring}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-4}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -d "/opt/patchmon" ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
if check_for_gh_release "PatchMon" "PatchMon/PatchMon"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop patchmon-server
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Creating Backup"
|
||||||
|
cp /opt/patchmon/backend/.env /opt/backend.env
|
||||||
|
cp /opt/patchmon/frontend/.env /opt/frontend.env
|
||||||
|
msg_ok "Backup Created"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "PatchMon" "PatchMon/PatchMon" "tarball" "latest" "/opt/patchmon"
|
||||||
|
|
||||||
|
msg_info "Updating PatchMon"
|
||||||
|
cd /opt/patchmon
|
||||||
|
export NODE_ENV=production
|
||||||
|
$STD npm install --no-audit --no-fund --no-save --ignore-scripts
|
||||||
|
cd /opt/patchmon/backend
|
||||||
|
$STD npm install --no-audit --no-fund --no-save --ignore-scripts
|
||||||
|
cd /opt/patchmon/frontend
|
||||||
|
$STD npm install --include=dev --no-audit --no-fund --no-save --ignore-scripts
|
||||||
|
$STD npm run build
|
||||||
|
cd /opt/patchmon/backend
|
||||||
|
mv /opt/backend.env /opt/patchmon/backend/.env
|
||||||
|
mv /opt/frontend.env /opt/patchmon/frontend/.env
|
||||||
|
$STD npx prisma migrate deploy
|
||||||
|
$STD npx prisma generate
|
||||||
|
msg_ok "Updated PatchMon"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start patchmon-server
|
||||||
|
msg_ok "Started Service"
|
||||||
|
msg_ok "Updated Successfully!"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
|
||||||
@@ -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:-13}"
|
var_version="${var_version:-12}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@@ -27,12 +27,13 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
msg_info "Updating ${APP}"
|
msg_info "Updating PiHole"
|
||||||
set +e
|
set +e
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt upgrade -y
|
$STD apt upgrade -y
|
||||||
/usr/local/bin/pihole -up
|
/usr/local/bin/pihole -up
|
||||||
msg_ok "Updated ${APP}"
|
msg_ok "Updated PiHole"
|
||||||
|
msg_ok "Updated Successfully!"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,31 +27,28 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/projectsend/projectsend/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
if check_for_gh_release "projectsend" "projectsend/projectsend"; then
|
||||||
msg_info "Stopping Service"
|
msg_info "Stopping Service"
|
||||||
systemctl stop apache2
|
systemctl stop apache2
|
||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
msg_info "Updating ${APP} to v${RELEASE}"
|
php_ver=$(php -v | head -n 1 | awk '{print $2}')
|
||||||
cd /opt
|
if [[ ! $php_ver == "8.4"* ]]; then
|
||||||
curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -o $(basename "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip")
|
PHP_VERSION="8.4" PHP_APACHE="YES" PHP_MODULE="pdo,mysql,gettext,fileinfo" setup_php
|
||||||
$STD unzip -o "projectsend-r${RELEASE}.zip" -d projectsend
|
fi
|
||||||
|
|
||||||
|
mv /opt/projectsend/includes/sys.config.php /opt/sys.config.php
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "projectsend" "projectsend/projectsend" "prebuild" "latest" "/opt/projectsend" "projectsend-r*.zip"
|
||||||
|
mv /opt/sys.config.php /opt/projectsend/includes/sys.config.php
|
||||||
chown -R www-data:www-data /opt/projectsend
|
chown -R www-data:www-data /opt/projectsend
|
||||||
chmod -R 775 /opt/projectsend
|
chmod -R 775 /opt/projectsend
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
msg_ok "Updated $APP to v${RELEASE}"
|
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start apache2
|
systemctl start apache2
|
||||||
msg_ok "Started Service"
|
msg_ok "Started Service"
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
rm -rf "/opt/projectsend-r${RELEASE}.zip"
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
|
||||||
fi
|
fi
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,6 +66,8 @@ function update_script() {
|
|||||||
$STD unzip "$brwsr_tmp"
|
$STD unzip "$brwsr_tmp"
|
||||||
mv browserless-"$TAG"/ /opt/browserless
|
mv browserless-"$TAG"/ /opt/browserless
|
||||||
cd /opt/browserless
|
cd /opt/browserless
|
||||||
|
$STD npm install typescript
|
||||||
|
$STD npm install esbuild
|
||||||
$STD npm install
|
$STD npm install
|
||||||
rm -rf src/routes/{chrome,edge,firefox,webkit}
|
rm -rf src/routes/{chrome,edge,firefox,webkit}
|
||||||
$STD node_modules/playwright-core/cli.js install --with-deps chromium
|
$STD node_modules/playwright-core/cli.js install --with-deps chromium
|
||||||
|
|||||||
68
ct/reitti.sh
Normal file
68
ct/reitti.sh
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/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: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/dedicatedcode/reitti
|
||||||
|
|
||||||
|
APP="Reitti"
|
||||||
|
var_tags="${var_tags:-location-tracker}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-4096}"
|
||||||
|
var_disk="${var_disk:-15}"
|
||||||
|
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/reitti/reitti.jar ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
if check_for_gh_release "reitti" "dedicatedcode/reitti"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop reitti
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
rm -f /opt/reitti/reitti.jar
|
||||||
|
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "reitti" "dedicatedcode/reitti" "singlefile" "latest" "/opt/reitti" "reitti-app.jar"
|
||||||
|
mv /opt/reitti/reitti-*.jar /opt/reitti/reitti.jar
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start reitti
|
||||||
|
msg_ok "Started Service"
|
||||||
|
msg_ok "Updated Successfully!"
|
||||||
|
fi
|
||||||
|
if check_for_gh_release "photon" "dedicatedcode/reitti"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop photon
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
rm -f /opt/photon/photon.jar
|
||||||
|
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "photon" "komoot/photon" "singlefile" "latest" "/opt/photon" "photon-0*.jar"
|
||||||
|
mv /opt/photon/photon-*.jar /opt/photon/photon.jar
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start photon
|
||||||
|
msg_ok "Started Service"
|
||||||
|
msg_ok "Updated Successfully!"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"
|
||||||
@@ -8,7 +8,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
APP="rwMarkable"
|
APP="rwMarkable"
|
||||||
var_tags="${var_tags:-tasks;notes}"
|
var_tags="${var_tags:-tasks;notes}"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-3072}"
|
||||||
var_disk="${var_disk:-6}"
|
var_disk="${var_disk:-6}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-13}"
|
var_version="${var_version:-13}"
|
||||||
@@ -29,38 +29,41 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if check_for_gh_release "rwMarkable" "fccview/rwMarkable"; then
|
msg_info "Stopping service"
|
||||||
msg_info "Stopping Service"
|
systemctl -q disable --now rwmarkable
|
||||||
systemctl stop rwmarkable
|
|
||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
msg_info "Backing up configuration & data"
|
|
||||||
cd /opt/rwmarkable
|
|
||||||
cp ./.env /opt/app.env
|
|
||||||
$STD tar -cf /opt/data_config.tar ./data ./config
|
|
||||||
msg_ok "Backed up configuration & data"
|
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
|
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "rwMarkable" "fccview/rwMarkable" "tarball" "latest" "/opt/rwmarkable"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "jotty" "fccview/jotty" "tarball" "latest" "/opt/jotty"
|
||||||
|
|
||||||
msg_info "Updating app"
|
msg_info "Updating app"
|
||||||
cd /opt/rwmarkable
|
cd /opt/jotty
|
||||||
$STD yarn --frozen-lockfile
|
$STD yarn --frozen-lockfile
|
||||||
$STD yarn next telemetry disable
|
$STD yarn next telemetry disable
|
||||||
$STD yarn build
|
$STD yarn build
|
||||||
msg_ok "Updated app"
|
msg_ok "Updated app"
|
||||||
|
|
||||||
msg_info "Restoring configuration & data"
|
msg_info "Migrating configuration & data"
|
||||||
mv /opt/app.env /opt/rwmarkable/.env
|
cp /opt/rwmarkable/.env /opt/jotty/.env
|
||||||
$STD tar -xf /opt/data_config.tar
|
mkdir -p /opt/jotty/data
|
||||||
msg_ok "Restored configuration & data"
|
cp -r /opt/rwmarkable/data/* /opt/jotty/data
|
||||||
|
cp -r /opt/rwmarkable/config/* /opt/jotty/config
|
||||||
|
msg_ok "Migrated configuration & data"
|
||||||
|
|
||||||
msg_info "Restarting ${APP} service"
|
msg_info "Patching systemd service file"
|
||||||
systemctl start rwmarkable
|
sed -i 's/rw[M|m]arkable/jotty/g' /etc/systemd/system/rwmarkable.service
|
||||||
msg_ok "Restarted ${APP} service"
|
mv /etc/systemd/system/rwmarkable.service /etc/systemd/system/jotty.service
|
||||||
rm /opt/data_config.tar
|
systemctl daemon-reload
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Patched systemd service file"
|
||||||
fi
|
|
||||||
|
msg_info "Patching update script"
|
||||||
|
sed -i 's/rwmarkable/jotty/g' /usr/bin/update
|
||||||
|
msg_ok "Patched update script"
|
||||||
|
|
||||||
|
msg_info "Starting jotty service"
|
||||||
|
systemctl -q enable --now jotty
|
||||||
|
msg_ok "Started jotty service"
|
||||||
|
msg_ok "Migrated Successfully!"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,24 +24,21 @@ function update_script() {
|
|||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
|
|
||||||
|
if par2 --version | grep -q "par2cmdline-turbo"; then
|
||||||
|
fetch_and_deploy_gh_release "par2cmdline-turbo" "animetosho/par2cmdline-turbo" "prebuild" "latest" "/usr/bin/" "*-linux-amd64.zip"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ ! -d /opt/sabnzbd ]]; then
|
if [[ ! -d /opt/sabnzbd ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
setup_uv
|
if check_for_gh_release "sabnzbd-org" "sabnzbd/sabnzbd"; then
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/sabnzbd/sabnzbd/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
PYTHON_VERSION="3.13" setup_uv
|
||||||
if [[ -f /opt/${APP}_version.txt ]] && [[ "${RELEASE}" == "$(cat /opt/${APP}_version.txt)" ]]; then
|
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
setup_uv
|
|
||||||
msg_info "Updating $APP to ${RELEASE}"
|
|
||||||
systemctl stop sabnzbd
|
systemctl stop sabnzbd
|
||||||
cp -r /opt/sabnzbd /opt/sabnzbd_backup_$(date +%s)
|
cp -r /opt/sabnzbd /opt/sabnzbd_backup_$(date +%s)
|
||||||
temp_file=$(mktemp)
|
fetch_and_deploy_gh_release "sabnzbd-org" "sabnzbd/sabnzbd" "prebuild" "latest" "/opt/sabnzbd" "SABnzbd-*-src.tar.gz"
|
||||||
curl -fsSL "https://github.com/sabnzbd/sabnzbd/releases/download/${RELEASE}/SABnzbd-${RELEASE}-src.tar.gz" -o "$temp_file"
|
|
||||||
tar -xzf "$temp_file" -C /opt/sabnzbd --strip-components=1
|
|
||||||
rm -f "$temp_file"
|
|
||||||
if [[ ! -d /opt/sabnzbd/venv ]]; then
|
if [[ ! -d /opt/sabnzbd/venv ]]; then
|
||||||
msg_info "Migrating SABnzbd to uv virtual environment"
|
msg_info "Migrating SABnzbd to uv virtual environment"
|
||||||
$STD uv venv /opt/sabnzbd/venv
|
$STD uv venv /opt/sabnzbd/venv
|
||||||
@@ -55,9 +52,10 @@ function update_script() {
|
|||||||
fi
|
fi
|
||||||
$STD uv pip install --upgrade pip --python=/opt/sabnzbd/venv/bin/python
|
$STD uv pip install --upgrade pip --python=/opt/sabnzbd/venv/bin/python
|
||||||
$STD uv pip install -r /opt/sabnzbd/requirements.txt --python=/opt/sabnzbd/venv/bin/python
|
$STD uv pip install -r /opt/sabnzbd/requirements.txt --python=/opt/sabnzbd/venv/bin/python
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
systemctl start sabnzbd
|
systemctl start sabnzbd
|
||||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
msg_ok "Updated Successfully"
|
||||||
|
fi
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ function update_script() {
|
|||||||
else
|
else
|
||||||
msg_ok "${APP} is already up to date (${RELEASE})"
|
msg_ok "${APP} is already up to date (${RELEASE})"
|
||||||
fi
|
fi
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|||||||
@@ -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:-13}"
|
var_version="${var_version:-12}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
|
|||||||
@@ -40,6 +40,29 @@ function update_script() {
|
|||||||
sed -i 's|^EnvironmentFile=.*|EnvironmentFile=/opt/tracktor.env|' /etc/systemd/system/tracktor.service
|
sed -i 's|^EnvironmentFile=.*|EnvironmentFile=/opt/tracktor.env|' /etc/systemd/system/tracktor.service
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
fi
|
fi
|
||||||
|
if [ ! -d "/opt/tracktor-data/uploads" ]; then
|
||||||
|
mkdir -p /opt/tracktor-data/{uploads,logs}
|
||||||
|
EXISTING_AUTH_PIN=$(grep '^AUTH_PIN=' /opt/tracktor.env 2>/dev/null | cut -d'=' -f2)
|
||||||
|
AUTH_PIN=${EXISTING_AUTH_PIN:-123456}
|
||||||
|
cat <<EOF >/opt/tracktor.env
|
||||||
|
NODE_ENV=production
|
||||||
|
DB_PATH=/opt/tracktor-data/tracktor.db
|
||||||
|
UPLOADS_DIR="/opt/tracktor-data/uploads"
|
||||||
|
LOG_DIR="/opt/tracktor-data/logs"
|
||||||
|
# If server host is not set by default it will run on all interfaces - 0.0.0.0
|
||||||
|
# SERVER_HOST=""
|
||||||
|
SERVER_PORT=3000
|
||||||
|
# Set this if you want to secure your endpoints otherwise default will be "*"
|
||||||
|
CORS_ORIGINS="*"
|
||||||
|
# Set this if you are using backend and frontend separately.
|
||||||
|
# PUBLIC_API_BASE_URL=""
|
||||||
|
LOG_REQUESTS=true
|
||||||
|
LOG_LEVEL="info"
|
||||||
|
AUTH_PIN=${AUTH_PIN}
|
||||||
|
# PUBLIC_DEMO_MODE=false
|
||||||
|
# FORCE_DATA_SEED=false
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
msg_ok "Corrected Services"
|
msg_ok "Corrected Services"
|
||||||
|
|
||||||
setup_nodejs
|
setup_nodejs
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 1024,
|
"ram": 1024,
|
||||||
"hdd": 4,
|
"hdd": 4,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "13"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
35
frontend/public/json/bentopdf.json
Normal file
35
frontend/public/json/bentopdf.json
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"name": "BentoPDF",
|
||||||
|
"slug": "bentopdf",
|
||||||
|
"categories": [
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"date_created": "2025-10-30",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 8080,
|
||||||
|
"documentation": "https://github.com/alam00000/bentopdf",
|
||||||
|
"website": "https://www.bentopdf.com",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/bentopdf.webp",
|
||||||
|
"config_path": "",
|
||||||
|
"description": "A privacy-first, 100% client-side PDF Toolkit. No signups/accounts, works in the browser, online or offline.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/bentopdf.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 2048,
|
||||||
|
"hdd": 4,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "13"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": []
|
||||||
|
}
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
"documentation": "https://docs.bunkerweb.io/latest/",
|
"documentation": "https://docs.bunkerweb.io/latest/",
|
||||||
"website": "https://www.bunkerweb.io/",
|
"website": "https://www.bunkerweb.io/",
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/bunkerweb.webp",
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/bunkerweb.webp",
|
||||||
"config_path": "/opt/bunkerweb/variables.env",
|
"config_path": "/etc/bunkerweb/variables.env",
|
||||||
"description": "BunkerWeb is a security-focused web server that enhances web application protection. It guards against common web vulnerabilities like SQL injection, XSS, and CSRF. It features simple setup and configuration using a YAML file, customizable security rules, and provides detailed logs for traffic monitoring and threat detection.",
|
"description": "BunkerWeb is a security-focused web server that enhances web application protection. It guards against common web vulnerabilities like SQL injection, XSS, and CSRF. It features simple setup and configuration using a YAML file, customizable security rules, and provides detailed logs for traffic monitoring and threat detection.",
|
||||||
"install_methods": [
|
"install_methods": [
|
||||||
{
|
{
|
||||||
|
|||||||
44
frontend/public/json/comfyui.json
Normal file
44
frontend/public/json/comfyui.json
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"name": "ComfyUI",
|
||||||
|
"slug": "comfyui",
|
||||||
|
"categories": [
|
||||||
|
20
|
||||||
|
],
|
||||||
|
"date_created": "2025-10-26",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"config_path": "/opt",
|
||||||
|
"interface_port": 8188,
|
||||||
|
"documentation": "https://github.com/comfyanonymous/ComfyUI",
|
||||||
|
"website": "https://www.comfy.org/",
|
||||||
|
"logo": "https://framerusercontent.com/images/3cNQMWKzIhIrQ5KErBm7dSmbd2w.png",
|
||||||
|
"description": "ComfyUI is a node-based interface and inference engine for generative AI. Users can combine various AI models and operations through nodes to achieve highly customizable and controllable content generation.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/comfyui.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 4,
|
||||||
|
"ram": 8192,
|
||||||
|
"hdd": 25,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "13"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Application takes long time to install. Please be patient!",
|
||||||
|
"type": "warning"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Please check that you have installed the drivers for your GPU.",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -28,8 +28,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"default_credentials": {
|
"default_credentials": {
|
||||||
"username": null,
|
"username": "admin",
|
||||||
"password": null
|
"password": "admin"
|
||||||
},
|
},
|
||||||
"notes": [
|
"notes": [
|
||||||
{
|
{
|
||||||
|
|||||||
35
frontend/public/json/dispatcharr.json
Normal file
35
frontend/public/json/dispatcharr.json
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"name": "Dispatcharr",
|
||||||
|
"slug": "dispatcharr",
|
||||||
|
"categories": [
|
||||||
|
14
|
||||||
|
],
|
||||||
|
"date_created": "2025-10-27",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 9191,
|
||||||
|
"documentation": "https://dispatcharr.github.io/Dispatcharr-Docs/",
|
||||||
|
"website": "https://github.com/Dispatcharr/Dispatcharr",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/dispatcharr.webp",
|
||||||
|
"config_path": "/opt/dispatcharr/.env",
|
||||||
|
"description": "Dispatcharr is an open-source powerhouse for managing IPTV streams and EPG data with elegance and control. Born from necessity and built with passion, it started as a personal project by OkinawaBoss and evolved with contributions from legends like dekzter, SergeantPanda and Bucatini.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/dispatcharr.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 2048,
|
||||||
|
"hdd": 8,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "13"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": []
|
||||||
|
}
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 2048,
|
"ram": 2048,
|
||||||
"hdd": 4,
|
"hdd": 4,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "13"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -31,10 +31,5 @@
|
|||||||
"username": null,
|
"username": null,
|
||||||
"password": null
|
"password": null
|
||||||
},
|
},
|
||||||
"notes": [
|
"notes": []
|
||||||
{
|
|
||||||
"text": "Flaresolverr is pinned to Version 3.3.25 because they add an breaking python package which doesn't work with debian 12.`",
|
|
||||||
"type": "info"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|||||||
59
frontend/public/json/garage.json
Normal file
59
frontend/public/json/garage.json
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
{
|
||||||
|
"name": "Garage",
|
||||||
|
"slug": "garage",
|
||||||
|
"categories": [
|
||||||
|
8
|
||||||
|
],
|
||||||
|
"date_created": "2025-10-27",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 3900,
|
||||||
|
"documentation": "https://garagehq.deuxfleurs.fr/documentation/quick-start/",
|
||||||
|
"website": "https://garagehq.deuxfleurs.fr/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/garage.webp",
|
||||||
|
"config_path": "/etc/garage.toml",
|
||||||
|
"description": "Garage is a lightweight, self-hosted, S3-compatible object storage service built for distributed environments. It is designed to be simple, efficient, and easy to deploy across multiple nodes.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/garage.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 1024,
|
||||||
|
"hdd": 5,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "13"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "alpine",
|
||||||
|
"script": "ct/alpine-garage.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 512,
|
||||||
|
"hdd": 5,
|
||||||
|
"os": "alpine",
|
||||||
|
"version": "3.22"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "The Garage configuration file is located at `/etc/garage.toml`. You can edit RPC and API bindings, tokens, and data directories there.",
|
||||||
|
"type": "info"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Admin API runs by default on port `3903`, S3 API on port `3900`, Web UI on `3902`. Adjust firewall rules accordingly.",
|
||||||
|
"type": "warning"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "To view your generated tokens and RPC secret, check `~/garage.creds` after installation.",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "GoMFT",
|
|
||||||
"slug": "gomft",
|
|
||||||
"categories": [
|
|
||||||
7
|
|
||||||
],
|
|
||||||
"date_created": "2025-03-18",
|
|
||||||
"type": "ct",
|
|
||||||
"updateable": true,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": 8080,
|
|
||||||
"documentation": "https://github.com/StarFleetCPTN/GoMFT#configuration",
|
|
||||||
"website": "https://github.com/StarFleetCPTN/GoMFT",
|
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/gomft.webp",
|
|
||||||
"config_path": "/opt/gomft/.env",
|
|
||||||
"description": "GoMFT is a web-based managed file transfer application built with Go, leveraging rclone for robust file transfer capabilities. It provides a user-friendly interface for configuring, scheduling, and monitoring file transfers across various storage providers.",
|
|
||||||
"install_methods": [
|
|
||||||
{
|
|
||||||
"type": "default",
|
|
||||||
"script": "ct/gomft.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": 1,
|
|
||||||
"ram": 512,
|
|
||||||
"hdd": 4,
|
|
||||||
"os": "debian",
|
|
||||||
"version": "12"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default_credentials": {
|
|
||||||
"username": "admin@example.com",
|
|
||||||
"password": "admin"
|
|
||||||
},
|
|
||||||
"notes": [
|
|
||||||
{
|
|
||||||
"text": "For additional configuration options check the documentation.",
|
|
||||||
"type": "info"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
"documentation": "https://github.com/HydroshieldMKII/Guardian/blob/main/README.md",
|
"documentation": "https://github.com/HydroshieldMKII/Guardian/blob/main/README.md",
|
||||||
"config_path": "/opt/guardian/.env",
|
"config_path": "/opt/guardian/.env",
|
||||||
"website": "https://github.com/HydroshieldMKII/Guardian",
|
"website": "https://github.com/HydroshieldMKII/Guardian",
|
||||||
"logo": null,
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/guardian-plex.webp",
|
||||||
"description": "Guardian is a lightweight companion app for Plex that lets you monitor, approve or block devices in real time. It helps you enforce per-user or global policies, stop unwanted sessions automatically and grant temporary access - all through a simple web interface.",
|
"description": "Guardian is a lightweight companion app for Plex that lets you monitor, approve or block devices in real time. It helps you enforce per-user or global policies, stop unwanted sessions automatically and grant temporary access - all through a simple web interface.",
|
||||||
"install_methods": [
|
"install_methods": [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 2,
|
"cpu": 2,
|
||||||
"ram": 2048,
|
"ram": 2048,
|
||||||
"hdd": 8,
|
"hdd": 16,
|
||||||
"os": "ubuntu",
|
"os": "ubuntu",
|
||||||
"version": "24.04"
|
"version": "24.04"
|
||||||
}
|
}
|
||||||
|
|||||||
40
frontend/public/json/jotty.json
Normal file
40
frontend/public/json/jotty.json
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "jotty",
|
||||||
|
"slug": "jotty",
|
||||||
|
"categories": [
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"date_created": "2025-10-21",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 3000,
|
||||||
|
"documentation": "https://github.com/fccview/jotty/blob/main/README.md",
|
||||||
|
"website": "https://github.com/fccview/jotty",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/jotty.webp",
|
||||||
|
"config_path": "/opt/jotty/.env",
|
||||||
|
"description": "A simple, self-hosted app for your checklists and notes. Tired of bloated, cloud-based to-do apps? jotty is a lightweight alternative for managing your personal checklists and notes. It's built with Next.js 14, is easy to deploy, and keeps all your data on your own server.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/jotty.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 3072,
|
||||||
|
"hdd": 6,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "13"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "jotty was previously named rwMarkable",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 2048,
|
"ram": 2048,
|
||||||
"hdd": 8,
|
"hdd": 8,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "13"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
40
frontend/public/json/livebook.json
Normal file
40
frontend/public/json/livebook.json
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "Livebook",
|
||||||
|
"slug": "livebook",
|
||||||
|
"categories": [
|
||||||
|
20
|
||||||
|
],
|
||||||
|
"date_created": "2025-10-30",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 8080,
|
||||||
|
"documentation": "https://hexdocs.pm/livebook/readme.html",
|
||||||
|
"config_path": null,
|
||||||
|
"website": "https://livebook.dev",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/livebook.webp",
|
||||||
|
"description": "Elixir Livebook is an interactive, web-based notebook platform for Elixir that combines code, documentation, and visualizations in a single document. Similar to Jupyter notebooks, it allows developers to write and execute Elixir code in real-time, making it ideal for data exploration, prototyping, learning, and collaborative development. Livebook features rich markdown support, built-in charting capabilities, and seamless integration with the Elixir ecosystem.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/livebook.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 1024,
|
||||||
|
"hdd": 4,
|
||||||
|
"os": "Ubuntu",
|
||||||
|
"version": "24.04"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Show initial Livebook password: `cat ~/livebook.creds`",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "MySQL",
|
|
||||||
"slug": "mysql",
|
|
||||||
"categories": [
|
|
||||||
8
|
|
||||||
],
|
|
||||||
"date_created": "2024-10-10",
|
|
||||||
"type": "ct",
|
|
||||||
"updateable": true,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": null,
|
|
||||||
"documentation": "https://dev.mysql.com/doc/",
|
|
||||||
"website": "https://www.mysql.com/",
|
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mysql.webp",
|
|
||||||
"config_path": "",
|
|
||||||
"description": "MySQL is an open-source relational database management system (RDBMS) that uses SQL for managing and manipulating data. It is known for its scalability, reliability, and high performance, making it suitable for small to large-scale applications. Key features include support for ACID transactions, data replication for high availability, and compatibility with various programming languages like Python, PHP, and Java.",
|
|
||||||
"install_methods": [
|
|
||||||
{
|
|
||||||
"type": "default",
|
|
||||||
"script": "ct/mysql.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": 1,
|
|
||||||
"ram": 1024,
|
|
||||||
"hdd": 4,
|
|
||||||
"os": "debian",
|
|
||||||
"version": "13"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default_credentials": {
|
|
||||||
"username": null,
|
|
||||||
"password": null
|
|
||||||
},
|
|
||||||
"notes": [
|
|
||||||
{
|
|
||||||
"text": "Database credentials: `cat mysql.creds`",
|
|
||||||
"type": "info"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "With an option to install the MySQL 8.4 LTS release instead of MySQL 8.0",
|
|
||||||
"type": "info"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "If installed, access phpMyAdmin at `http://<LXC_IP>/phpMyAdmin`, case sensitive.",
|
|
||||||
"type": "info"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
48
frontend/public/json/mysql.json.bak
Normal file
48
frontend/public/json/mysql.json.bak
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
{
|
||||||
|
"name": "MySQL",
|
||||||
|
"slug": "mysql",
|
||||||
|
"categories": [
|
||||||
|
8
|
||||||
|
],
|
||||||
|
"date_created": "2024-10-10",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": null,
|
||||||
|
"documentation": "https://dev.mysql.com/doc/",
|
||||||
|
"website": "https://www.mysql.com/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mysql.webp",
|
||||||
|
"config_path": "",
|
||||||
|
"description": "MySQL is an open-source relational database management system (RDBMS) that uses SQL for managing and manipulating data. It is known for its scalability, reliability, and high performance, making it suitable for small to large-scale applications. Key features include support for ACID transactions, data replication for high availability, and compatibility with various programming languages like Python, PHP, and Java.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/mysql.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 1024,
|
||||||
|
"hdd": 4,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Database credentials: `cat mysql.creds`",
|
||||||
|
"type": "info"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "With an option to install the MySQL 8.4 LTS release instead of MySQL 8.0",
|
||||||
|
"type": "info"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "If installed, access phpMyAdmin at `http://<LXC_IP>/phpMyAdmin`, case sensitive.",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 2048,
|
"ram": 2048,
|
||||||
"hdd": 8,
|
"hdd": 8,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "13"
|
"version": "12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 1024,
|
"ram": 1024,
|
||||||
"hdd": 4,
|
"hdd": 4,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "13"
|
"version": "12"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
40
frontend/public/json/open-archiver.json
Normal file
40
frontend/public/json/open-archiver.json
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "Open-Archiver",
|
||||||
|
"slug": "open-archiver",
|
||||||
|
"categories": [
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"date_created": "2025-10-18",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 3000,
|
||||||
|
"documentation": "https://docs.openarchiver.com/",
|
||||||
|
"config_path": "/opt/openarchiver/.env",
|
||||||
|
"website": "https://openarchiver.com/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/open-archiver.webp",
|
||||||
|
"description": "Open Archiver is a secure, self-hosted email archiving solution, and it's completely open source. Get an email archiver that enables full-text search across email and attachments. Create a permanent, searchable, and compliant mail archive from Google Workspace, Microsoft 35, and any IMAP server.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/open-archiver.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 3072,
|
||||||
|
"hdd": 8,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "13"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Data directory is: `/opt/openarchiver-data`. If you have a lot of email, you might consider mounting external storage to this directory.",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -19,8 +19,8 @@
|
|||||||
"type": "default",
|
"type": "default",
|
||||||
"script": "ct/paperless-ai.sh",
|
"script": "ct/paperless-ai.sh",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 2,
|
"cpu": 4,
|
||||||
"ram": 2048,
|
"ram": 4096,
|
||||||
"hdd": 20,
|
"hdd": 20,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "13"
|
"version": "13"
|
||||||
|
|||||||
35
frontend/public/json/patchmon.json
Normal file
35
frontend/public/json/patchmon.json
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"name": "PatchMon",
|
||||||
|
"slug": "patchmon",
|
||||||
|
"categories": [
|
||||||
|
9
|
||||||
|
],
|
||||||
|
"date_created": "2025-10-25",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 3399,
|
||||||
|
"documentation": "https://docs.patchmon.net",
|
||||||
|
"website": "https://patchmon.net",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/patchmon.webp",
|
||||||
|
"config_path": "/opt/patchmon/backend/.env, /opt/patchmon/frontend/.env",
|
||||||
|
"description": "Monitor Linux patches across all your hosts with real-time visibility, security update tracking, and comprehensive package management.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/patchmon.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 2048,
|
||||||
|
"hdd": 4,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "13"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": []
|
||||||
|
}
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 512,
|
"ram": 512,
|
||||||
"hdd": 2,
|
"hdd": 2,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "13"
|
"version": "12"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
40
frontend/public/json/reitti.json
Normal file
40
frontend/public/json/reitti.json
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "Reitti",
|
||||||
|
"slug": "reitti",
|
||||||
|
"categories": [
|
||||||
|
21
|
||||||
|
],
|
||||||
|
"date_created": "2025-10-30",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 8080,
|
||||||
|
"documentation": "https://www.dedicatedcode.com/projects/reitti/",
|
||||||
|
"config_path": "/opt/reitti/.env",
|
||||||
|
"website": "https://www.dedicatedcode.com/projects/reitti/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/reitti.webp",
|
||||||
|
"description": "Reitti is a self-hosted location tracking and analysis platform that detects significant places, trip patterns, and integrates with OwnTracks, GPSLogger, and Immich. It uses PostgreSQL + PostGIS, RabbitMQ, Redis, and an optional Photon geocoder.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/reitti.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 4096,
|
||||||
|
"hdd": 15,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "13"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": "admin",
|
||||||
|
"password": "admin"
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Photon Geocoder running at http://127.0.0.1:2322. Photon is fully setup, but without sample data. (filesize is big) -> checkout our guide: `https://github.com/community-scripts/ProxmoxVE/discussions/8737`.",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user