Compare commits

..

193 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
7ddc50bfe7 Update CHANGELOG.md (#7951)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-28 00:15:09 +00:00
community-scripts-pr-app[bot]
484a46beb1 Update versions.json (#7950)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-28 02:14:45 +02:00
community-scripts-pr-app[bot]
b85d1e5062 Update CHANGELOG.md (#7948)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-27 21:12:00 +00:00
Slaviša Arežina
05e41f67e1 Update goaway-install.sh (#7946) 2025-09-27 23:11:38 +02:00
community-scripts-pr-app[bot]
bfe6445c64 Update CHANGELOG.md (#7947)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-27 20:36:34 +00:00
Chris
ffde3a731c MeTube: Various fixes (#7936) 2025-09-27 22:36:14 +02:00
community-scripts-pr-app[bot]
d5b9da8f5f Update CHANGELOG.md (#7943)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-27 18:14:55 +00:00
Slaviša Arežina
1b8d790a14 Update odoo.sh (#7941) 2025-09-27 20:14:34 +02:00
community-scripts-pr-app[bot]
175b925ae4 Update versions.json (#7939)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-27 14:04:31 +02:00
community-scripts-pr-app[bot]
38a8773d2f Update CHANGELOG.md (#7934)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-27 00:13:08 +00:00
community-scripts-pr-app[bot]
e7dafcbf3e Update versions.json (#7933)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-27 02:12:41 +02:00
community-scripts-pr-app[bot]
380fb1cfb7 Update CHANGELOG.md (#7932)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-26 20:59:46 +00:00
Slaviša Arežina
10cd6c3f0b Odoo: Fix missing dependencies (#7931)
* Fix odoo

* Update
2025-09-26 22:59:21 +02:00
community-scripts-pr-app[bot]
710bd7f4e7 Update CHANGELOG.md (#7930)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-26 19:37:04 +00:00
Slaviša Arežina
4d72852e53 Clarify descriptions of update scripts (#7929) 2025-09-26 21:36:43 +02:00
community-scripts-pr-app[bot]
9ad538c2d2 Update CHANGELOG.md (#7926)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-26 16:42:24 +00:00
Michel Roegl-Brunner
ee3872e7e1 OpenWebUI: Update NODE_OPTIONS to increase memory limit (#7919) 2025-09-26 18:41:58 +02:00
community-scripts-pr-app[bot]
f6ca81833e Update versions.json (#7916)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-26 14:05:29 +02:00
community-scripts-pr-app[bot]
c41b18f083 Update CHANGELOG.md (#7909)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-26 00:13:48 +00:00
community-scripts-pr-app[bot]
f983f75b30 Update versions.json (#7908)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-26 02:13:21 +02:00
community-scripts-pr-app[bot]
137dd647dd Update CHANGELOG.md (#7903)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-25 13:03:41 +00:00
community-scripts-pr-app[bot]
2f5c608f45 Update CHANGELOG.md (#7902)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-25 13:03:20 +00:00
community-scripts-pr-app[bot]
b8e06c05d0 Update date in json (#7901)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-25 13:03:15 +00:00
push-app-to-main[bot]
2beb89055c 'Add new script' (#7900)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-09-25 15:02:52 +02:00
community-scripts-pr-app[bot]
308897fdc7 Update versions.json (#7898)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-25 14:07:08 +02:00
community-scripts-pr-app[bot]
5b73367c80 Update CHANGELOG.md (#7897)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-25 09:07:03 +00:00
Tobias
5c0eefa652 ntfy: bump to debian 13 (#7895)
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-09-25 11:06:39 +02:00
community-scripts-pr-app[bot]
7c5c654dbe Update CHANGELOG.md (#7896)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-25 08:49:43 +00:00
Bram Suurd
984eeedf31 Enhance category metadata in JSON and update script accordion to display icons. Added 'icon' property to categories in metadata.json and modified script-accordion component to render corresponding icons for each category. (#7894) 2025-09-25 10:49:12 +02:00
community-scripts-pr-app[bot]
7fd08cbe69 Update CHANGELOG.md (#7892)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-25 00:13:14 +00:00
community-scripts-pr-app[bot]
285447b67f Update versions.json (#7891)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-25 02:12:49 +02:00
community-scripts-pr-app[bot]
b394cdf6e0 Update CHANGELOG.md (#7884)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-24 12:28:46 +00:00
community-scripts-pr-app[bot]
ab2a6ed38e Update CHANGELOG.md (#7883)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-24 12:28:32 +00:00
community-scripts-pr-app[bot]
f8e109c529 Update .app files (#7882)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-24 12:28:28 +00:00
community-scripts-pr-app[bot]
46e4bc3a04 Update date in json (#7881)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-24 12:28:21 +00:00
push-app-to-main[bot]
d0a1f305c7 Add Script: Joplin Server (#7879)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-09-24 14:28:02 +02:00
community-scripts-pr-app[bot]
6948e1f695 Update CHANGELOG.md (#7880)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-24 12:26:43 +00:00
Slaviša Arežina
8c860da4ed Fix dependencies (#7877) 2025-09-24 14:26:19 +02:00
community-scripts-pr-app[bot]
d32e9fad59 Update versions.json (#7878)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-24 14:06:22 +02:00
community-scripts-pr-app[bot]
9096a388c7 Update CHANGELOG.md (#7873)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-24 07:42:47 +00:00
Michel Roegl-Brunner
9f0efc27df Update name in lxc-delete.json to 'PVE LXC Deletion' (#7872) 2025-09-24 09:42:20 +02:00
community-scripts-pr-app[bot]
06ca6e2087 Update CHANGELOG.md (#7871)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-24 00:13:00 +00:00
community-scripts-pr-app[bot]
8c48ea6718 Update versions.json (#7870)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-24 02:12:36 +02:00
community-scripts-pr-app[bot]
b626e705eb Update CHANGELOG.md (#7869)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 20:39:42 +00:00
community-scripts-pr-app[bot]
f103d09c09 Update CHANGELOG.md (#7867)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 19:35:46 +00:00
Chris
82a7d252ab Bump Immich to v1.143.1 (#7864) 2025-09-23 21:35:27 +02:00
community-scripts-pr-app[bot]
48af77e928 Update CHANGELOG.md (#7866)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 19:21:34 +00:00
Chris
d24308a409 Manage My Damn Life: use NodeJS 22 (#7861) 2025-09-23 21:21:05 +02:00
community-scripts-pr-app[bot]
584365fff1 Update CHANGELOG.md (#7863)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 19:03:42 +00:00
Giovanni Pellerano
95c54dccd7 Improve globaleaks install ensuring install can proceed without user input (#7860) 2025-09-23 21:03:15 +02:00
community-scripts-pr-app[bot]
eb28463d86 Update CHANGELOG.md (#7859)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 18:01:51 +00:00
community-scripts-pr-app[bot]
bddde99252 Update CHANGELOG.md (#7858)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 18:01:39 +00:00
Chris
f1f8c1b279 BookLore: increase RAM (#7855)
- Build was failing due to OOM
2025-09-23 20:01:24 +02:00
community-scripts-pr-app[bot]
37a0a4add9 Update CHANGELOG.md (#7857)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 18:01:15 +00:00
Chris
02cede3f5d tools.func: Check for /usr/local/bin in PATH during yq setup (#7856)
- My Booklore update failed due to yq not being found despite installed
2025-09-23 20:00:48 +02:00
community-scripts-pr-app[bot]
42a7d57a42 Update versions.json (#7851)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 14:05:40 +02:00
community-scripts-pr-app[bot]
53b5f0d1fe Update CHANGELOG.md (#7850)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 11:23:29 +00:00
CanbiZ
4a56d8d9aa Remove not exist admin credentials from output (#7849) 2025-09-23 13:23:03 +02:00
community-scripts-pr-app[bot]
f819188a5e Update CHANGELOG.md (#7847)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 10:11:48 +00:00
Slaviša Arežina
4d6e3e5977 Update openwebui.json (#7843) 2025-09-23 12:11:21 +02:00
community-scripts-pr-app[bot]
d6fc527200 Update CHANGELOG.md (#7846)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 10:07:01 +00:00
community-scripts-pr-app[bot]
c103c3b03d Update CHANGELOG.md (#7845)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 10:06:51 +00:00
CanbiZ
2d290cb27f VM: Increase pv & xz functions (HA OS / Umbrel OS) (#7838) 2025-09-23 12:06:35 +02:00
community-scripts-pr-app[bot]
883efd1cd2 Update CHANGELOG.md (#7844)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 10:06:31 +00:00
CanbiZ
1f40670ea0 cosmos: add info note for configuration file (#7824) 2025-09-23 12:06:07 +02:00
community-scripts-pr-app[bot]
cec4e2d5c1 Update CHANGELOG.md (#7841)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 09:40:12 +00:00
CanbiZ
1fafb3f661 Suppress wrong errors from uv shell integration in setup_uv (#7822) 2025-09-23 11:39:46 +02:00
community-scripts-pr-app[bot]
b56b053e8b Update CHANGELOG.md (#7840)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 09:38:32 +00:00
CanbiZ
21f98835dc Update Tandoor install scripts for newer dependencies (#7826) 2025-09-23 11:38:07 +02:00
community-scripts-pr-app[bot]
ab455d7748 Update CHANGELOG.md (#7839)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 09:36:51 +00:00
CanbiZ
5382fa1dbd Update Monica and Outline to use Node.js 22 (#7833) 2025-09-23 11:36:29 +02:00
community-scripts-pr-app[bot]
6fa1938360 Update CHANGELOG.md (#7837)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 08:47:49 +00:00
community-scripts-pr-app[bot]
2a2df5b5cc Update CHANGELOG.md (#7836)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 08:47:27 +00:00
CanbiZ
f99d582eb5 ElementSynapse: add note for Bridge Install Methods (#7820) 2025-09-23 10:47:25 +02:00
community-scripts-pr-app[bot]
d3f24ae5b2 Update CHANGELOG.md (#7835)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 08:47:05 +00:00
CanbiZ
25e89f7bac Refactor Caddyfile configuration for headscale-admin (#7821) 2025-09-23 10:47:00 +02:00
community-scripts-pr-app[bot]
2686753448 Update CHANGELOG.md (#7834)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 08:46:56 +00:00
CanbiZ
19678e2534 Update Zabbix install for Debian 13 and agent selection (#7819) 2025-09-23 10:46:32 +02:00
community-scripts-pr-app[bot]
1ac8f90281 Update CHANGELOG.md (#7832)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 08:46:29 +00:00
Tobias
7cd3e40f9c tracktor: bump to debian 13 | feature bump (#7818) 2025-09-23 10:46:03 +02:00
community-scripts-pr-app[bot]
42191bdb5a Update CHANGELOG.md (#7831)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 08:45:46 +00:00
CanbiZ
aab1a9bce5 LiteLLM: Bump to Debian 13 & add deps (#7815) 2025-09-23 10:45:20 +02:00
community-scripts-pr-app[bot]
208226065b Update CHANGELOG.md (#7830)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 08:44:49 +00:00
community-scripts-pr-app[bot]
54e62749be Update CHANGELOG.md (#7829)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 08:44:40 +00:00
community-scripts-pr-app[bot]
2a8e2e62cd Update date in json (#7827)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-23 10:44:24 +02:00
CanbiZ
b15d7be4c3 Improve subscription element removal in post-install script (#7814) 2025-09-23 10:44:14 +02:00
community-scripts-pr-app[bot]
e208bc110b Update CHANGELOG.md (#7828)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 08:43:52 +00:00
push-app-to-main[bot]
b26ad61a33 UpSnap (#7825)
* 'Add new script'

* Remove redundant success message in upsnap.sh

* Update upsnap.json

* Fix JSON formatting in upsnap.json

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-09-23 10:43:29 +02:00
community-scripts-pr-app[bot]
5beaec9514 Update CHANGELOG.md (#7823)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 07:47:32 +00:00
CanbiZ
3a668870b7 gh: remove ai autolabel test (#7817) 2025-09-23 09:47:05 +02:00
community-scripts-pr-app[bot]
3266962630 Update CHANGELOG.md (#7816)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 06:14:21 +00:00
Chris
2a3f5d7b47 Immich: bump to v1.143.0 (#7801) 2025-09-23 08:13:57 +02:00
community-scripts-pr-app[bot]
fb4c3cf9e9 Update CHANGELOG.md (#7813)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 05:00:17 +00:00
Slaviša Arežina
e96ea4eb40 Fix release fetching (#7807) 2025-09-23 06:59:52 +02:00
community-scripts-pr-app[bot]
dfbe5f03ce Update CHANGELOG.md (#7810)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 00:14:05 +00:00
community-scripts-pr-app[bot]
9c53c70f6b Update versions.json (#7809)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-23 02:13:40 +02:00
community-scripts-pr-app[bot]
a3c7f468ef Update versions.json (#7800)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-22 14:05:53 +02:00
community-scripts-pr-app[bot]
605f7a0330 Update CHANGELOG.md (#7797)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-22 07:52:02 +00:00
Slaviša Arežina
306627378e Update shell check (#7796) 2025-09-22 09:51:34 +02:00
community-scripts-pr-app[bot]
0e464cb192 Update CHANGELOG.md (#7795)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-22 06:08:06 +00:00
Slaviša Arežina
277f6ce7d1 Paymenter: Installation and update fixes (#7792) 2025-09-22 08:07:33 +02:00
community-scripts-pr-app[bot]
a6d6f79943 Update CHANGELOG.md (#7794)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-22 00:13:28 +00:00
community-scripts-pr-app[bot]
a7ced850ab Update versions.json (#7793)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-22 02:13:01 +02:00
community-scripts-pr-app[bot]
eadca5f81f Update CHANGELOG.md (#7789)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-21 16:56:56 +00:00
HeedfulCrayon
5ab375fd89 fix openwebui update and installer (#7788)
* Update curl command to support resuming downloads

* fix: correct curl command for downloading Ollama to support resuming
2025-09-21 18:56:31 +02:00
community-scripts-pr-app[bot]
2dc95b6b22 Update CHANGELOG.md (#7787)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-21 16:14:33 +00:00
Tobias
57dd3d5a44 tracktor: add: cleanup before upgrade (#7782)
* tracktor: add: cleanup before upgrade

* tracktor: change to new clean_install
2025-09-21 18:14:12 +02:00
community-scripts-pr-app[bot]
25ddf48190 Update CHANGELOG.md (#7786)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-21 14:20:44 +00:00
CanbiZ
01b6bec1fe Implement clean install option in tools.func (#7785) 2025-09-21 16:20:18 +02:00
community-scripts-pr-app[bot]
d1ff8201b1 Update versions.json (#7784)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-21 14:05:18 +02:00
community-scripts-pr-app[bot]
c5c5ba1ede Update CHANGELOG.md (#7783)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-21 09:40:57 +00:00
HeedfulCrayon
e3aabd81a3 Update Ollama Installer in OpenWebUI to resume downloads if interrupted (#7779)
* Fix curl command options for downloading file

* Update curl command for Ollama installation
2025-09-21 11:40:33 +02:00
community-scripts-pr-app[bot]
4713941415 Update CHANGELOG.md (#7781)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-21 06:29:01 +00:00
CanbiZ
adda76f587 caddy: modify disk size and implement xCaddy update (#7775) 2025-09-21 08:28:39 +02:00
community-scripts-pr-app[bot]
cf597b6a26 Update CHANGELOG.md (#7780)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-21 06:28:35 +00:00
CanbiZ
20e8730a34 Harmonize and shorten JSON Names for PVE/PBS/PMG (#7773) 2025-09-21 08:28:14 +02:00
CanbiZ
9ce9de8e84 Fix regex to extract MySQL version correctly (#7774) 2025-09-21 08:28:07 +02:00
community-scripts-pr-app[bot]
ac3f969016 Update CHANGELOG.md (#7777)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-21 00:13:58 +00:00
community-scripts-pr-app[bot]
c0597842f8 Update versions.json (#7776)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-21 02:13:30 +02:00
community-scripts-pr-app[bot]
667d354059 Update CHANGELOG.md (#7767)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-20 16:26:54 +00:00
Michel Roegl-Brunner
d56c1e2f50 checkmk.sh update (#7765) 2025-09-20 18:26:28 +02:00
community-scripts-pr-app[bot]
3dfbc2d6ea Update versions.json (#7764)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-20 14:05:36 +02:00
community-scripts-pr-app[bot]
31b33d370e Update CHANGELOG.md (#7760)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-20 08:01:43 +00:00
Slaviša Arežina
d4d4c0e07a Increase resources (#7759) 2025-09-20 10:01:19 +02:00
community-scripts-pr-app[bot]
aded4d5809 Update CHANGELOG.md (#7758)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-20 07:02:31 +00:00
Michel Roegl-Brunner
c00308524b Replace Ubuntu 20.04 with Debian 13 in bug report template (#7757) 2025-09-20 09:02:08 +02:00
community-scripts-pr-app[bot]
fef7786714 Update CHANGELOG.md (#7756)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-20 00:12:08 +00:00
community-scripts-pr-app[bot]
0dfd337a9a Update versions.json (#7755)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-20 02:11:46 +02:00
community-scripts-pr-app[bot]
d99862fa24 Update CHANGELOG.md (#7747)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-19 18:52:42 +00:00
Slaviša Arežina
ac08d385c0 SigNoz: Fix wrong URL for Zookeeper (#7742)
* Fix install

* Update signoz-install.sh
2025-09-19 20:52:11 +02:00
community-scripts-pr-app[bot]
7a9de76acb Update CHANGELOG.md (#7745)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-19 12:57:29 +00:00
community-scripts-pr-app[bot]
35f3f043a7 Update CHANGELOG.md (#7744)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-19 12:57:13 +00:00
community-scripts-pr-app[bot]
4276df26d7 Update date in json (#7743)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-19 12:57:07 +00:00
push-app-to-main[bot]
5fec573533 Tunarr (#7735)
* 'Add new script'

* Refactor Intel Hardware Acceleration installation script

* Refactor hardware acceleration setup in tunarr-install.sh

Updated prompts and adjusted user group permissions for hardware acceleration setup.

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-09-19 14:56:46 +02:00
community-scripts-pr-app[bot]
ebd269a808 Update versions.json (#7740)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-19 14:07:04 +02:00
community-scripts-pr-app[bot]
532c0a95bb Update CHANGELOG.md (#7734)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-19 00:12:32 +00:00
community-scripts-pr-app[bot]
c078b11aa9 Update versions.json (#7733)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-19 02:12:09 +02:00
community-scripts-pr-app[bot]
ab8b025824 Update CHANGELOG.md (#7729)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-18 19:16:16 +00:00
Chris
e2044a0572 Immich: Debian Trixie (#7728)
* Immich: Debian Trixie

- Use Debian Stable repo for all dependencies
- Remove unneeded dependencies
- Replace `libmimalloc2.0` with `libmimalloc3`
- Remove pre-1.140.x workarounds
- Pin an Intel OpenVINO dependency
- Force use of Python3.11 for machine-learning builds
- Unpin custom photo-library revisions
- Remove old vchord patches
- Remove DB collation version refresh
- Exit on detection of Debian 12 or below with message
- Force hardlink as pnpm import method (fixes #7192)

* Update immich.sh

---------

Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-09-18 21:15:54 +02:00
community-scripts-pr-app[bot]
59e65eaba3 Update CHANGELOG.md (#7727)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-18 18:11:19 +00:00
Tobias
a2306d6b32 Delay chmod after updating beszel (#7725) 2025-09-18 20:10:51 +02:00
community-scripts-pr-app[bot]
3e71af1895 Update CHANGELOG.md (#7724)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-18 17:04:20 +00:00
Giovanni Pellerano
8a3b41867b Remove redundant globaleaks configuration (#7723) 2025-09-18 19:03:53 +02:00
community-scripts-pr-app[bot]
b4b9efeff2 Update CHANGELOG.md (#7722)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-18 13:23:20 +00:00
CanbiZ
5e2168b2d1 Cloudflared: Bump to Debian 13 (#7719) 2025-09-18 15:22:51 +02:00
community-scripts-pr-app[bot]
c00c1deb79 Update CHANGELOG.md (#7721)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-18 13:20:42 +00:00
CanbiZ
37e3739bd2 Update AdGuard Home to Debian 13 and improve install (#7720) 2025-09-18 15:20:15 +02:00
community-scripts-pr-app[bot]
f5eda37397 Update versions.json (#7718)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-18 14:07:02 +02:00
community-scripts-pr-app[bot]
9e42c801f1 Update .app files (#7717)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-18 13:26:53 +02:00
community-scripts-pr-app[bot]
e4d6dfc885 Update CHANGELOG.md (#7716)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-18 10:57:57 +00:00
Slaviša Arežina
14894f84b6 Alpine-Caddy (#7711) 2025-09-18 12:57:30 +02:00
community-scripts-pr-app[bot]
b5f70e6e77 Update CHANGELOG.md (#7715)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-18 10:56:31 +00:00
CanbiZ
2919ce16f1 pve-tool: execute.sh by @jeroenzwart (#7708) 2025-09-18 12:56:01 +02:00
community-scripts-pr-app[bot]
38cf6b2f46 Update CHANGELOG.md (#7714)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-18 10:20:34 +00:00
community-scripts-pr-app[bot]
c390fb925d Update CHANGELOG.md (#7713)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-18 10:20:15 +00:00
community-scripts-pr-app[bot]
a28fdac3f0 Update date in json (#7712)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-18 10:20:12 +00:00
push-app-to-main[bot]
41b27b31dc GlobaLeaks (#7707)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-09-18 12:19:52 +02:00
CanbiZ
7ef8afe4d2 Refactor autolabeler workflow to simplify steps 2025-09-18 12:06:04 +02:00
CanbiZ
694d9c203e Refactor AI label review workflow and improve config 2025-09-18 12:03:52 +02:00
CanbiZ
76dcc45e9f Update autolabeler to use environment variable for config 2025-09-18 12:01:42 +02:00
CanbiZ
a0952e9f69 Use jq to load priority config from JSON 2025-09-18 11:58:39 +02:00
community-scripts-pr-app[bot]
3bd6b6e540 Update CHANGELOG.md (#7710)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-18 09:53:42 +00:00
community-scripts-pr-app[bot]
61be53cc26 Update CHANGELOG.md (#7709)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-18 09:53:28 +00:00
CanbiZ
02eda516df Add label priority configuration for GitHub 2025-09-18 11:53:20 +02:00
CanbiZ
25213fabaa Add AI label review step to autolabeler workflow 2025-09-18 11:53:02 +02:00
Zachary Laughlin
ad8a4f63c4 Add warning note about containerized version limitations (#7704) 2025-09-18 09:30:09 +02:00
community-scripts-pr-app[bot]
bcce0e20c1 Update CHANGELOG.md (#7706)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-18 06:55:10 +00:00
Chris
515c4073c4 Gatus: check for GO path before update (#7705) 2025-09-18 08:54:47 +02:00
community-scripts-pr-app[bot]
30e22ff661 Update CHANGELOG.md (#7703)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-18 00:12:12 +00:00
community-scripts-pr-app[bot]
8265abfb20 Update versions.json (#7702)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-18 02:11:50 +02:00
community-scripts-pr-app[bot]
b40d061f3e Update CHANGELOG.md (#7699)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-17 20:09:44 +00:00
Tobias
efe598d6ec beszel: fix: binary permission after upgrade (#7697) 2025-09-17 22:09:17 +02:00
community-scripts-pr-app[bot]
82caa8769e Update CHANGELOG.md (#7696)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-17 15:26:48 +00:00
CanbiZ
7961023f8c Improve: SECURITY.md for clarity and detail + Adding PVE9 as supported (#7690) 2025-09-17 17:26:17 +02:00
community-scripts-pr-app[bot]
ea58fdb7e0 Update CHANGELOG.md (#7694)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-17 14:43:27 +00:00
community-scripts-pr-app[bot]
238895534a Update CHANGELOG.md (#7693)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-17 14:43:07 +00:00
Slaviša Arežina
cc1c2f84ca Refactor: Grist (#7681)
* Refactor

* Refactor
2025-09-17 16:42:54 +02:00
Slaviša Arežina
3aff0d9d7e RabbitMQ: Update repositories (#7689)
* Update repos

* Update

* Update

* Update
2025-09-17 16:42:37 +02:00
community-scripts-pr-app[bot]
7cd332680a Update versions.json (#7688)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-17 14:05:41 +02:00
community-scripts-pr-app[bot]
382e679842 Update CHANGELOG.md (#7685)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-17 08:17:57 +00:00
hanneshier
a3b5f798de Add docker compose pull for actually updating images (#7682) 2025-09-17 10:17:29 +02:00
community-scripts-pr-app[bot]
c22630c887 Update CHANGELOG.md (#7684)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-17 08:04:07 +00:00
CanbiZ
542f260f31 Debian-LXC: Bump to Debian 13 Trixie (#7683) 2025-09-17 10:03:42 +02:00
community-scripts-pr-app[bot]
a40cc130bd Update CHANGELOG.md (#7680)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-17 06:57:26 +00:00
Chris
7311f1b843 Bump Immich to v1.142.1 (#7675)
- no changes to script required
2025-09-17 08:57:01 +02:00
community-scripts-pr-app[bot]
acd9bb1357 Update CHANGELOG.md (#7678)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-17 00:13:46 +00:00
community-scripts-pr-app[bot]
e2e2459bfd Update versions.json (#7677)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-17 02:13:20 +02:00
community-scripts-pr-app[bot]
caeba37a2e Update versions.json (#7672)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-16 14:05:53 +02:00
community-scripts-pr-app[bot]
44a8c70437 Update CHANGELOG.md (#7670)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-16 09:40:28 +00:00
CanbiZ
1860f4b2ee Improve OpenWrt VM boot and readiness check (#7669)
* Improve OpenWrt VM boot and readiness check

Replaces the fixed sleep and repeated configuration attempts with a loop that waits for the VM to be ready using 'qm agent ping'. Configuration commands are now sent only after OpenWrt is confirmed to be ready, improving reliability and startup efficiency.

* Update openwrt-vm.sh

* Add VM running check before configuring OpenWrt network

Wrapped network configuration commands in a check to ensure the VM is running before sending commands. This prevents errors if the VM is not active and provides appropriate success or error messages.

* Enable and update VM cleanup logic in openwrt-vm.sh

Uncommented and updated the cleanup_vmid function to stop and destroy the VM if it exists. Also enabled its invocation in the error handler to ensure proper resource cleanup on errors.
2025-09-16 11:40:05 +02:00
community-scripts-pr-app[bot]
bf0bac1523 Update CHANGELOG.md (#7668)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-16 09:12:15 +00:00
CanbiZ
b6bfe9a4b6 hortusfox: fix update check (#7667) 2025-09-16 11:11:54 +02:00
CanbiZ
634386ea50 destroy vm revert openwrt 2025-09-16 11:00:28 +02:00
125 changed files with 3124 additions and 1182 deletions

View File

@@ -60,7 +60,7 @@ body:
- Alpine - Alpine
- Debian 11 - Debian 11
- Debian 12 - Debian 12
- Ubuntu 20.04 - Debian 13
- Ubuntu 22.04 - Ubuntu 22.04
- Ubuntu 24.04 - Ubuntu 24.04
- Ubuntu 24.10 - Ubuntu 24.10

View File

@@ -10,8 +10,239 @@
> [!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-09-28
## 2025-09-27
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- GoAway: Make admin password aquisition more reliable [@tremor021](https://github.com/tremor021) ([#7946](https://github.com/community-scripts/ProxmoxVE/pull/7946))
- MeTube: Various fixes [@vhsdream](https://github.com/vhsdream) ([#7936](https://github.com/community-scripts/ProxmoxVE/pull/7936))
- Oddo: Fix typo in update procedure [@tremor021](https://github.com/tremor021) ([#7941](https://github.com/community-scripts/ProxmoxVE/pull/7941))
## 2025-09-26
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Odoo: Fix missing dependencies [@tremor021](https://github.com/tremor021) ([#7931](https://github.com/community-scripts/ProxmoxVE/pull/7931))
- OpenWebUI: Update NODE_OPTIONS to increase memory limit [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7919](https://github.com/community-scripts/ProxmoxVE/pull/7919))
### 🌐 Website
- #### 📝 Script Information
- Clarify descriptions of update scripts [@tremor021](https://github.com/tremor021) ([#7929](https://github.com/community-scripts/ProxmoxVE/pull/7929))
## 2025-09-25
### 🆕 New Scripts
- GoAway ([#7900](https://github.com/community-scripts/ProxmoxVE/pull/7900))
### 🚀 Updated Scripts
- #### ✨ New Features
- ntfy: bump to debian 13 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7895](https://github.com/community-scripts/ProxmoxVE/pull/7895))
### 🌐 Website
- #### ✨ New Features
- feat: add menu icons to website [@BramSuurdje](https://github.com/BramSuurdje) ([#7894](https://github.com/community-scripts/ProxmoxVE/pull/7894))
## 2025-09-24
### 🆕 New Scripts
- Add Script: Joplin Server ([#7879](https://github.com/community-scripts/ProxmoxVE/pull/7879))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Monica: Fix dependencies [@tremor021](https://github.com/tremor021) ([#7877](https://github.com/community-scripts/ProxmoxVE/pull/7877))
### 🌐 Website
- #### 📝 Script Information
- Update name in lxc-delete.json to 'PVE LXC Deletion' [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7872](https://github.com/community-scripts/ProxmoxVE/pull/7872))
## 2025-09-23
### 🆕 New Scripts
- UpSnap ([#7825](https://github.com/community-scripts/ProxmoxVE/pull/7825))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- tools.func: Check for /usr/local/bin in PATH during yq setup [@vhsdream](https://github.com/vhsdream) ([#7856](https://github.com/community-scripts/ProxmoxVE/pull/7856))
- BookLore: increase RAM [@vhsdream](https://github.com/vhsdream) ([#7855](https://github.com/community-scripts/ProxmoxVE/pull/7855))
- Bump Immich to v1.143.1 [@vhsdream](https://github.com/vhsdream) ([#7864](https://github.com/community-scripts/ProxmoxVE/pull/7864))
- zabbix: Remove not exist admin credentials from output [@MickLesk](https://github.com/MickLesk) ([#7849](https://github.com/community-scripts/ProxmoxVE/pull/7849))
- Suppress wrong errors from uv shell integration in setup_uv [@MickLesk](https://github.com/MickLesk) ([#7822](https://github.com/community-scripts/ProxmoxVE/pull/7822))
- Refactor Caddyfile configuration for headscale-admin [@MickLesk](https://github.com/MickLesk) ([#7821](https://github.com/community-scripts/ProxmoxVE/pull/7821))
- Improve subscription element removal (mobile) in post-pve script [@MickLesk](https://github.com/MickLesk) ([#7814](https://github.com/community-scripts/ProxmoxVE/pull/7814))
- Blocky: Fix release fetching [@tremor021](https://github.com/tremor021) ([#7807](https://github.com/community-scripts/ProxmoxVE/pull/7807))
- #### ✨ New Features
- Improve globaleaks install ensuring install can proceed without user … [@evilaliv3](https://github.com/evilaliv3) ([#7860](https://github.com/community-scripts/ProxmoxVE/pull/7860))
- Manage My Damn Life: use NodeJS 22 [@vhsdream](https://github.com/vhsdream) ([#7861](https://github.com/community-scripts/ProxmoxVE/pull/7861))
- VM: Increase pv & xz functions (HA OS / Umbrel OS) [@MickLesk](https://github.com/MickLesk) ([#7838](https://github.com/community-scripts/ProxmoxVE/pull/7838))
- Tandoor: update for newer dependencies (psql) + bump nodejs to 22 [@MickLesk](https://github.com/MickLesk) ([#7826](https://github.com/community-scripts/ProxmoxVE/pull/7826))
- Update Monica and Outline to use Node.js 22 [@MickLesk](https://github.com/MickLesk) ([#7833](https://github.com/community-scripts/ProxmoxVE/pull/7833))
- Update Zabbix install for Debian 13 and agent selection [@MickLesk](https://github.com/MickLesk) ([#7819](https://github.com/community-scripts/ProxmoxVE/pull/7819))
- tracktor: bump to debian 13 | feature bump [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7818](https://github.com/community-scripts/ProxmoxVE/pull/7818))
- LiteLLM: Bump to Debian 13 & add deps [@MickLesk](https://github.com/MickLesk) ([#7815](https://github.com/community-scripts/ProxmoxVE/pull/7815))
- Immich: bump to v1.143.0 [@vhsdream](https://github.com/vhsdream) ([#7801](https://github.com/community-scripts/ProxmoxVE/pull/7801))
### 🧰 Maintenance
- #### 📂 Github
- gh: remove ai autolabel test [@MickLesk](https://github.com/MickLesk) ([#7817](https://github.com/community-scripts/ProxmoxVE/pull/7817))
### 🌐 Website
- #### 📝 Script Information
- OpenWebUI: Add information about Ollama [@tremor021](https://github.com/tremor021) ([#7843](https://github.com/community-scripts/ProxmoxVE/pull/7843))
- cosmos: add info note for configuration file [@MickLesk](https://github.com/MickLesk) ([#7824](https://github.com/community-scripts/ProxmoxVE/pull/7824))
- ElementSynapse: add note for Bridge Install Methods [@MickLesk](https://github.com/MickLesk) ([#7820](https://github.com/community-scripts/ProxmoxVE/pull/7820))
## 2025-09-22
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- [core]: Update detection of current running subshell [@tremor021](https://github.com/tremor021) ([#7796](https://github.com/community-scripts/ProxmoxVE/pull/7796))
- Paymenter: Installation and update fixes [@tremor021](https://github.com/tremor021) ([#7792](https://github.com/community-scripts/ProxmoxVE/pull/7792))
## 2025-09-21
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- fix openwebui update and installer [@HeedfulCrayon](https://github.com/HeedfulCrayon) ([#7788](https://github.com/community-scripts/ProxmoxVE/pull/7788))
- tracktor: add: cleanup before upgrade [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7782](https://github.com/community-scripts/ProxmoxVE/pull/7782))
- Fix regex to extract MySQL version correctly [@MickLesk](https://github.com/MickLesk) ([#7774](https://github.com/community-scripts/ProxmoxVE/pull/7774))
- Update Ollama Installer in OpenWebUI to resume downloads if interrupted [@HeedfulCrayon](https://github.com/HeedfulCrayon) ([#7779](https://github.com/community-scripts/ProxmoxVE/pull/7779))
- #### ✨ New Features
- Implement clean install option in tools.func (fetch_and_deploy_gh_release) [@MickLesk](https://github.com/MickLesk) ([#7785](https://github.com/community-scripts/ProxmoxVE/pull/7785))
- caddy: modify disk size and implement xCaddy update [@MickLesk](https://github.com/MickLesk) ([#7775](https://github.com/community-scripts/ProxmoxVE/pull/7775))
### 🌐 Website
- #### 📝 Script Information
- Harmonize and shorten JSON Names for PVE/PBS/PMG [@MickLesk](https://github.com/MickLesk) ([#7773](https://github.com/community-scripts/ProxmoxVE/pull/7773))
## 2025-09-20
### 🚀 Updated Scripts
- checkmk.sh Update: Revert old Pr [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7765](https://github.com/community-scripts/ProxmoxVE/pull/7765))
- #### 🐞 Bug Fixes
- Wazuh: Increase HDD size [@tremor021](https://github.com/tremor021) ([#7759](https://github.com/community-scripts/ProxmoxVE/pull/7759))
### 🧰 Maintenance
- #### 📂 Github
- Add Debian 13 in bug report template [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7757](https://github.com/community-scripts/ProxmoxVE/pull/7757))
## 2025-09-19
### 🆕 New Scripts
- Tunarr ([#7735](https://github.com/community-scripts/ProxmoxVE/pull/7735))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- SigNoz: Fix wrong URL for Zookeeper [@tremor021](https://github.com/tremor021) ([#7742](https://github.com/community-scripts/ProxmoxVE/pull/7742))
## 2025-09-18
### 🆕 New Scripts
- Alpine-Caddy [@tremor021](https://github.com/tremor021) ([#7711](https://github.com/community-scripts/ProxmoxVE/pull/7711))
- pve-tool: execute.sh by @jeroenzwart [@MickLesk](https://github.com/MickLesk) ([#7708](https://github.com/community-scripts/ProxmoxVE/pull/7708))
- GlobaLeaks ([#7707](https://github.com/community-scripts/ProxmoxVE/pull/7707))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Delay chmod after updating beszel [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7725](https://github.com/community-scripts/ProxmoxVE/pull/7725))
- Remove redundant globaleaks configuration [@evilaliv3](https://github.com/evilaliv3) ([#7723](https://github.com/community-scripts/ProxmoxVE/pull/7723))
- Gatus: check for GO path before update [@vhsdream](https://github.com/vhsdream) ([#7705](https://github.com/community-scripts/ProxmoxVE/pull/7705))
- #### ✨ New Features
- Cloudflared: Bump to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#7719](https://github.com/community-scripts/ProxmoxVE/pull/7719))
- AdGuard Home: Bump to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#7720](https://github.com/community-scripts/ProxmoxVE/pull/7720))
- #### 🔧 Refactor
- Immich: Debian Trixie [@vhsdream](https://github.com/vhsdream) ([#7728](https://github.com/community-scripts/ProxmoxVE/pull/7728))
### 🌐 Website
- #### 📝 Script Information
- Add Warning for Containerized Home Assistant [@ZaxLofful](https://github.com/ZaxLofful) ([#7704](https://github.com/community-scripts/ProxmoxVE/pull/7704))
## 2025-09-17
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- beszel: fix: binary permission after upgrade [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7697](https://github.com/community-scripts/ProxmoxVE/pull/7697))
- RabbitMQ: Update repositories [@tremor021](https://github.com/tremor021) ([#7689](https://github.com/community-scripts/ProxmoxVE/pull/7689))
- Komodo: Add docker compose pull for actually updating docker container [@hanneshier](https://github.com/hanneshier) ([#7682](https://github.com/community-scripts/ProxmoxVE/pull/7682))
- #### ✨ New Features
- Debian-LXC: Bump to Debian 13 Trixie [@MickLesk](https://github.com/MickLesk) ([#7683](https://github.com/community-scripts/ProxmoxVE/pull/7683))
- Bump Immich to v1.142.1 [@vhsdream](https://github.com/vhsdream) ([#7675](https://github.com/community-scripts/ProxmoxVE/pull/7675))
- #### 🔧 Refactor
- Refactor: Grist [@tremor021](https://github.com/tremor021) ([#7681](https://github.com/community-scripts/ProxmoxVE/pull/7681))
### 🧰 Maintenance
- #### 📂 Github
- Improve: SECURITY.md for clarity and detail + Adding PVE9 as supported [@MickLesk](https://github.com/MickLesk) ([#7690](https://github.com/community-scripts/ProxmoxVE/pull/7690))
## 2025-09-16 ## 2025-09-16
### 🚀 Updated Scripts
- Improve OpenWrt VM boot and readiness check [@MickLesk](https://github.com/MickLesk) ([#7669](https://github.com/community-scripts/ProxmoxVE/pull/7669))
- #### 🐞 Bug Fixes
- hortusfox: fix update check [@MickLesk](https://github.com/MickLesk) ([#7667](https://github.com/community-scripts/ProxmoxVE/pull/7667))
## 2025-09-15 ## 2025-09-15
### 🆕 New Scripts ### 🆕 New Scripts

View File

@@ -1,24 +1,64 @@
# Security Policy
## Supported Versions ## Supported Versions
This project currently supports the following versions of Proxmox VE:
This project currently supports the following versions of Proxmox VE (PVE):
| Version | Supported | | Version | Supported |
| ------- | ------------------ | | ------- | ------------------ |
| 9.0.x | :white_check_mark: |
| 8.4.x | :white_check_mark: | | 8.4.x | :white_check_mark: |
| 8.3.x | :white_check_mark: | | 8.3.x | :white_check_mark: |
| 8.2.x | :white_check_mark: | | 8.2.x | :white_check_mark: |
| 8.1.x | :white_check_mark: | | 8.1.x | :white_check_mark: |
| 8.0.x | Limited support* ❕| | 8.0.x | Limited support* ❕ |
| < 8.0 | :x: | | < 8.0 | :x: |
*Version 8.0.x has limited support. Security updates may not be provided for all issues in this version. *Version 8.0.x has limited support. Security updates may not be provided for all issues affecting this version.
---
## Reporting a Vulnerability ## Reporting a Vulnerability
Security vulnerabilities shouldnt be reported publicly to prevent potential exploitation. Instead, please report any vulnerabilities privately by reaching out directly to us. You can either join our [Discord server](https://discord.gg/jsYVk5JBxq) and send a direct message to a maintainer or contact us via email at contact@community-scripts.org. Be sure to include a detailed description of the vulnerability and the steps to reproduce it. Thank you for helping us keep our project secure! Security vulnerabilities must not be reported publicly to avoid potential exploitation.
Instead, please report them privately via one of the following channels:
Once a vulnerability has been reported, the project maintainers will review it and acknowledge the report within 7 business days. We will then work to address the vulnerability and provide a fix as soon as possible. Depending on the severity of the issue, a patch may be released immediately or included in the next scheduled update. - **Discord**: Join our [Discord server](https://discord.gg/jsYVk5JBxq) and send a direct message to a maintainer.
- **Email**: Write to us at **contact@community-scripts.org** with the subject line:
`Vulnerability Report - <Project/Script Name>`.
Please note that not all reported vulnerabilities may be accepted. The project maintainers reserve the right to decline a vulnerability report if it is deemed to be a low-risk issue or if it conflicts with the project's design or architecture. In such cases, we will provide an explanation for the decision. When reporting a vulnerability, please provide:
If you have any questions or concerns about this security policy, please don't hesitate to contact the project maintainers. - A clear description of the issue
- Steps to reproduce the vulnerability
- Affected versions or environments
- (Optional) Suggested fixes or workarounds
---
## Response Process
1. **Acknowledgment**
- We will review and acknowledge your report within **7 business days**.
2. **Assessment**
- The maintainers will verify the issue and classify its severity.
- Depending on impact, a patch may be released immediately or scheduled for the next update.
3. **Resolution**
- Critical security fixes will be prioritized.
- Non-critical issues may be deferred or declined with an explanation.
---
## Disclaimer
Not all reported issues will be treated as vulnerabilities.
Reports may be declined if they are deemed:
- Low-risk
- Out of project scope
- Conflicting with intended design or architecture
---
If you have any questions or concerns about this security policy, please reach out to the maintainers through the contact options above.

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}" var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}" var_disk="${var_disk:-2}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -20,15 +20,15 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /opt/AdGuardHome ]]; then if [[ ! -d /opt/AdGuardHome ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "Adguard Home should be updated via the user interface."
exit exit
fi
msg_error "Adguard Home can only be updated via the user interface."
exit
} }
start start
@@ -38,4 +38,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

47
ct/alpine-caddy.sh Normal file
View File

@@ -0,0 +1,47 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: cobalt (cobaltgit)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://caddyserver.com/
APP="Alpine-Caddy"
var_tags="${var_tags:-webserver}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-256}"
var_disk="${var_disk:-3}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.22}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /etc/caddy ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC"
$STD apk -U upgrade
msg_ok "Updated $APP LXC"
msg_info "Restarting Caddy"
rc-service caddy restart
msg_ok "Restarted Caddy"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"

View File

@@ -33,6 +33,7 @@ function update_script() {
msg_info "Updating $APP" msg_info "Updating $APP"
$STD /opt/beszel/beszel update $STD /opt/beszel/beszel update
sleep 2 && chmod +x /opt/beszel/beszel
msg_ok "Updated $APP" msg_ok "Updated $APP"
msg_info "Starting $APP" msg_info "Starting $APP"
@@ -49,4 +50,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following IP:${CL}" echo -e "${INFO}${YW} Access it using the following IP:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}"

View File

@@ -40,7 +40,7 @@ function update_script() {
rm -rf /opt/blocky rm -rf /opt/blocky
msg_ok "Removed Old Version" msg_ok "Removed Old Version"
fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_linux_x86_64.tar.gz" fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_Linux_x86_64.tar.gz"
msg_info "Restore Config" msg_info "Restore Config"
mv /opt/config.yml /opt/blocky/config.yml mv /opt/config.yml /opt/blocky/config.yml

View File

@@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
APP="BookLore" APP="BookLore"
var_tags="${var_tags:-books;library}" var_tags="${var_tags:-books;library}"
var_cpu="${var_cpu:-3}" var_cpu="${var_cpu:-3}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-3072}"
var_disk="${var_disk:-7}" var_disk="${var_disk:-7}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"

View File

@@ -9,7 +9,7 @@ APP="Caddy"
var_tags="${var_tags:-webserver}" var_tags="${var_tags:-webserver}"
var_cpu="${var_cpu:-1}" var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}" var_ram="${var_ram:-512}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-6}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
@@ -31,6 +31,19 @@ function update_script() {
$STD apt-get update $STD apt-get update
$STD apt-get -y upgrade $STD apt-get -y upgrade
msg_ok "Updated $APP LXC" msg_ok "Updated $APP LXC"
if command -v xcaddy >/dev/null 2>&1; then
install_go
msg_info "Updating xCaddy"
cd /opt
RELEASE=$(curl -fsSL https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk -F '"' '{print $4}')
VERSION="${RELEASE#v}"
curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${VERSION}_linux_amd64.deb" -o "xcaddy_${VERSION}_linux_amd64.deb"
$STD dpkg -i "xcaddy_${VERSION}_linux_amd64.deb"
rm -f "xcaddy_${VERSION}_linux_amd64.deb"
$STD xcaddy build
msg_ok "Updated xCaddy"
fi
exit exit
} }
@@ -41,4 +54,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"

View File

@@ -27,21 +27,21 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "checkmk" "checkmk/checkmk"; then
RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | tr ' ' '\n' | grep -Ev 'rc|b' | sort -V | tail -n 1) RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | tr ' ' '\n' | grep -Ev 'rc|b' | sort -V | tail -n 1)
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Updating ${APP} to v${RELEASE}"
$STD omd stop monitoring $STD omd stop monitoring
$STD omd cp monitoring monitoringbackup $STD omd cp monitoring monitoringbackup
curl -fsSL "https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb" -o "/opt/checkmk.deb" curl -fsSL "https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb" -o "/opt/checkmk.deb"
$STD apt-get install -y /opt/checkmk.deb $STD apt-get install -y /opt/checkmk.deb
$STD omd --force -V ${RELEASE}.cre update --conflict=install monitoring $STD omd --force -V ${RELEASE}.cre update --conflict=install monitoring
$STD omd start monitoring $STD omd start monitoring
$STD omd -f rm monitoringbackup $STD omd -f rm monitoringbackup
$STD omd cleanup $STD omd cleanup
rm -rf /opt/checkmk.deb rm -rf /opt/checkmk.deb
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
fi
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}" var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}" var_disk="${var_disk:-2}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -20,18 +20,18 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /var ]]; then if [[ ! -f /etc/systemd/system/cloudflared.service ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
$STD apt-get update $STD apt update
$STD apt-get -y upgrade $STD apt -y upgrade
msg_ok "Updated $APP LXC" msg_ok "Updated $APP LXC"
exit exit
} }
start start
@@ -39,4 +39,4 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}" var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}" var_disk="${var_disk:-2}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -28,8 +28,8 @@ function update_script() {
exit exit
fi fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
$STD apt-get update $STD apt update
$STD apt-get -y upgrade $STD apt -y upgrade
msg_ok "Updated $APP LXC" msg_ok "Updated $APP LXC"
exit exit
} }

View File

@@ -33,6 +33,11 @@ function update_script() {
systemctl stop gatus systemctl stop gatus
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
if [[ :$PATH: != *":/usr/local/bin:"* ]]; then
echo 'export PATH="/usr/local/bin:$PATH"' >>~/.bashrc
source ~/.bashrc
fi
mv /opt/gatus/config/config.yaml /opt mv /opt/gatus/config/config.yaml /opt
rm -rf /opt/gatus rm -rf /opt/gatus
fetch_and_deploy_gh_release "gatus" "TwiN/gatus" fetch_and_deploy_gh_release "gatus" "TwiN/gatus"

43
ct/globaleaks.sh Normal file
View File

@@ -0,0 +1,43 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 communtiy-scripts ORG
# Author: Giovanni Pellerano (evilaliv3)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/globaleaks/globaleaks-whistleblowing-software
APP="GlobaLeaks"
var_tags="${var_tags:-whistleblowing-software}"
var_disk="${var_disk:-4}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /usr/sbin/globaleaks ]]; then
msg_error "No ${APP} installation found!"
exit
fi
msg_info "Updating $APP LXC"
$STD apt update
$STD apt -y upgrade
msg_ok "Updated $APP LXC"
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN} ${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}${CL}"

54
ct/goaway.sh Normal file
View File

@@ -0,0 +1,54 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/pommee/goaway
APP="GoAway"
var_tags="${var_tags:-network}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/goaway ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "goaway" "pommee/goaway"; then
msg_info "Stopping Services"
systemctl stop goaway
msg_ok "Stopped Services"
fetch_and_deploy_gh_release "goaway" "pommee/goaway" "prebuild" "latest" "/opt/goaway" "goaway_*_linux_amd64.tar.gz"
msg_info "Starting Services"
systemctl start goaway
msg_ok "Started Services"
msg_ok "Updated Successfully"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"

View File

@@ -1,5 +1,8 @@
#!/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
# Author: cfurrow | Co-Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/gristlabs/grist-core # Source: https://github.com/gristlabs/grist-core
APP="Grist" APP="Grist"
@@ -26,57 +29,34 @@ function update_script() {
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "grist" "gristlabs/grist-core"; then
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping ${APP} Service" msg_info "Stopping ${APP} Service"
systemctl stop grist systemctl stop grist
msg_ok "Stopped ${APP} Service" msg_ok "Stopped ${APP} Service"
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Creating backup"
rm -rf /opt/grist_bak
cd /opt
rm -rf grist_bak
mv grist grist_bak mv grist grist_bak
curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip") msg_ok "Backup created"
$STD unzip v$RELEASE.zip
mv grist-core-${RELEASE} grist
fetch_and_deploy_gh_release "grist" "gristlabs/grist-core" "tarball"
msg_info "Updating ${APP}"
mkdir -p grist/docs mkdir -p grist/docs
cp -n /opt/grist_bak/.env /opt/grist/.env
cp -n grist_bak/.env grist/.env || true cp -r /opt/grist_bak/docs/* /opt/grist/docs/
cp -r grist_bak/docs/* grist/docs/ || true cp /opt/grist_bak/grist-sessions.db /opt/grist/grist-sessions.db
cp grist_bak/grist-sessions.db grist/grist-sessions.db || true cp /opt/grist_bak/landing.db /opt/grist/landing.db
cp grist_bak/landing.db grist/landing.db || true
cd grist
msg_info "Installing Dependencies"
$STD yarn install $STD yarn install
msg_ok "Installed Dependencies"
msg_info "Building"
$STD yarn run build:prod $STD yarn run build:prod
msg_ok "Done building"
msg_info "Installing Python"
$STD yarn run install:python $STD yarn run install:python
msg_ok "Installed Python" msg_ok "Updated ${APP}"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting ${APP} Service" msg_info "Starting ${APP} Service"
systemctl start grist systemctl start grist
msg_ok "Started ${APP} Service" msg_ok "Started ${APP} Service"
msg_info "Cleaning up" msg_ok "Updated Successfully"
rm -rf /opt/v$RELEASE.zip
msg_ok "Cleaned"
msg_ok "Updated Successfully!\n"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

6
ct/headers/alpine-caddy Normal file
View File

@@ -0,0 +1,6 @@
___ __ _ ______ __ __
/ | / /___ (_)___ ___ / ____/___ _____/ /___/ /_ __
/ /| | / / __ \/ / __ \/ _ \______/ / / __ `/ __ / __ / / / /
/ ___ |/ / /_/ / / / / / __/_____/ /___/ /_/ / /_/ / /_/ / /_/ /
/_/ |_/_/ .___/_/_/ /_/\___/ \____/\__,_/\__,_/\__,_/\__, /
/_/ /____/

6
ct/headers/globaleaks Normal file
View File

@@ -0,0 +1,6 @@
________ __ __ __
/ ____/ /___ / /_ ____ _/ / ___ ____ _/ /_______
/ / __/ / __ \/ __ \/ __ `/ / / _ \/ __ `/ //_/ ___/
/ /_/ / / /_/ / /_/ / /_/ / /___/ __/ /_/ / ,< (__ )
\____/_/\____/_.___/\__,_/_____/\___/\__,_/_/|_/____/

6
ct/headers/goaway Normal file
View File

@@ -0,0 +1,6 @@
______ ___
/ ____/___ / |_ ______ ___ __
/ / __/ __ \/ /| | | /| / / __ `/ / / /
/ /_/ / /_/ / ___ | |/ |/ / /_/ / /_/ /
\____/\____/_/ |_|__/|__/\__,_/\__, /
/____/

6
ct/headers/joplin-server Normal file
View File

@@ -0,0 +1,6 @@
__ ___ _____
/ /___ ____ / (_)___ / ___/___ ______ _____ _____
__ / / __ \/ __ \/ / / __ \______\__ \/ _ \/ ___/ | / / _ \/ ___/
/ /_/ / /_/ / /_/ / / / / / /_____/__/ / __/ / | |/ / __/ /
\____/\____/ .___/_/_/_/ /_/ /____/\___/_/ |___/\___/_/
/_/

6
ct/headers/tunarr Normal file
View File

@@ -0,0 +1,6 @@
______
/_ __/_ ______ ____ ___________
/ / / / / / __ \/ __ `/ ___/ ___/
/ / / /_/ / / / / /_/ / / / /
/_/ \__,_/_/ /_/\__,_/_/ /_/

6
ct/headers/upsnap Normal file
View File

@@ -0,0 +1,6 @@
__ __ _____
/ / / /___ / ___/____ ____ _____
/ / / / __ \\__ \/ __ \/ __ `/ __ \
/ /_/ / /_/ /__/ / / / / /_/ / /_/ /
\____/ .___/____/_/ /_/\__,_/ .___/
/_/ /_/

View File

@@ -53,3 +53,5 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}Headscale API: ${IP}/api (no Frontend) | headscale-admin: http://${IP}/admin/${CL}"

View File

@@ -27,7 +27,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "danielbrendel" "hortusfox-web"; then if check_for_gh_release "hortusfox" "danielbrendel/hortusfox-web"; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop apache2 systemctl stop apache2
msg_ok "Stopped Service" msg_ok "Stopped Service"

View File

@@ -11,7 +11,7 @@ var_disk="${var_disk:-20}"
var_cpu="${var_cpu:-4}" var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-4096}" var_ram="${var_ram:-4096}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -27,11 +27,22 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if [[ -f /etc/apt/sources.list.d/immich.list ]]; then
msg_error "Wrong Debian version detected!"
msg_error "You must upgrade your LXC to Debian Trixie before updating."
msg_error "Please visit https://github.com/community-scripts/ProxmoxVE/discussions/7726 for details."
echo "${TAB3} If you have upgraded your LXC to Trixie and you still see this message, please open an Issue in the Community-Scripts repo."
exit
fi
setup_uv setup_uv
PNPM_VERSION="$(curl -fsSL "https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/package.json" | jq -r '.packageManager | split("@")[1]')" PNPM_VERSION="$(curl -fsSL "https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/package.json" | jq -r '.packageManager | split("@")[1]')"
NODE_VERSION="22" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs NODE_VERSION="22" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs
if dpkg -l | grep -q "libmimalloc2.0"; then
$STD apt-get update && $STD apt-get install -y libmimalloc3
fi
STAGING_DIR=/opt/staging STAGING_DIR=/opt/staging
BASE_DIR=${STAGING_DIR}/base-images BASE_DIR=${STAGING_DIR}/base-images
SOURCE_DIR=${STAGING_DIR}/image-source SOURCE_DIR=${STAGING_DIR}/image-source
@@ -45,8 +56,10 @@ function update_script() {
for url in "${INTEL_URLS[@]}"; do for url in "${INTEL_URLS[@]}"; do
curl -fsSLO "$url" curl -fsSLO "$url"
done done
$STD apt-mark unhold libigdgmm12
$STD apt install -y ./*.deb $STD apt install -y ./*.deb
rm ./*.deb rm ./*.deb
$STD apt-mark hold libigdgmm12
msg_ok "Intel iGPU dependencies updated" msg_ok "Intel iGPU dependencies updated"
fi fi
rm ~/Dockerfile rm ~/Dockerfile
@@ -61,7 +74,7 @@ function update_script() {
done done
msg_ok "Image-processing libraries up to date" msg_ok "Image-processing libraries up to date"
fi fi
RELEASE="1.142.0" RELEASE="1.143.1"
if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then
msg_info "Stopping Services" msg_info "Stopping Services"
systemctl stop immich-web systemctl stop immich-web
@@ -78,22 +91,10 @@ function update_script() {
if [[ ! -f ~/.vchord_version ]] || [[ "$VCHORD_RELEASE" != "$(cat ~/.vchord_version)" ]]; then if [[ ! -f ~/.vchord_version ]] || [[ "$VCHORD_RELEASE" != "$(cat ~/.vchord_version)" ]]; then
msg_info "Updating VectorChord" msg_info "Updating VectorChord"
if [[ ! -f ~/.vchord_version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then
$STD sudo -u postgres pg_dumpall --clean --if-exists --username=postgres | gzip >/etc/postgresql/immich-db-vchord0.3.0.sql.gz
chown postgres /etc/postgresql/immich-db-vchord0.3.0.sql.gz
$STD sudo -u postgres gunzip --stdout /etc/postgresql/immich-db-vchord0.3.0.sql.gz |
sed -e "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" \
-e "/vchordrq.prewarm_dim/d" |
sudo -u postgres psql
fi
curl -fsSL "https://github.com/tensorchord/vectorchord/releases/download/${VCHORD_RELEASE}/postgresql-16-vchord_${VCHORD_RELEASE}-1_amd64.deb" -o vchord.deb curl -fsSL "https://github.com/tensorchord/vectorchord/releases/download/${VCHORD_RELEASE}/postgresql-16-vchord_${VCHORD_RELEASE}-1_amd64.deb" -o vchord.deb
$STD apt install -y ./vchord.deb $STD apt install -y ./vchord.deb
$STD sudo -u postgres psql -d immich -c "ALTER EXTENSION vchord UPDATE;" $STD sudo -u postgres psql -d immich -c "ALTER EXTENSION vchord UPDATE;"
systemctl restart postgresql systemctl restart postgresql
if [[ ! -f ~/.vchord_version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then
$STD sudo -u postgres psql -d immich -c "REINDEX INDEX face_index;"
$STD sudo -u postgres psql -d immich -c "REINDEX INDEX clip_index;"
fi
echo "$VCHORD_RELEASE" >~/.vchord_version echo "$VCHORD_RELEASE" >~/.vchord_version
rm ./vchord.deb rm ./vchord.deb
msg_ok "Updated VectorChord to v${VCHORD_RELEASE}" msg_ok "Updated VectorChord to v${VCHORD_RELEASE}"
@@ -126,9 +127,6 @@ EOF
msg_info "Updating ${APP} web and microservices" msg_info "Updating ${APP} web and microservices"
cd "$SRC_DIR"/server cd "$SRC_DIR"/server
if [[ "$RELEASE" == "1.135.1" ]]; then
rm ./src/schema/migrations/1750323941566-UnsetPrewarmDimParameter.ts
fi
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0 export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
export CI=1 export CI=1
corepack enable corepack enable
@@ -144,6 +142,7 @@ EOF
# openapi & web build # openapi & web build
cd "$SRC_DIR" cd "$SRC_DIR"
echo "packageImportMethod: hardlink" >>./pnpm-workspace.yaml
$STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install $STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install
$STD pnpm --filter @immich/sdk --filter immich-web build $STD pnpm --filter @immich/sdk --filter immich-web build
cp -a web/build "$APP_DIR"/www cp -a web/build "$APP_DIR"/www
@@ -158,16 +157,16 @@ EOF
msg_ok "Updated ${APP} web and microservices" msg_ok "Updated ${APP} web and microservices"
cd "$SRC_DIR"/machine-learning cd "$SRC_DIR"/machine-learning
mkdir -p "$ML_DIR" mkdir -p "$ML_DIR" && chown -R immich:immich "$ML_DIR"
export VIRTUAL_ENV="${ML_DIR}"/ml-venv export VIRTUAL_ENV="${ML_DIR}"/ml-venv
if [[ -f ~/.openvino ]]; then if [[ -f ~/.openvino ]]; then
msg_info "Updating HW-accelerated machine-learning" msg_info "Updating HW-accelerated machine-learning"
$STD /usr/local/bin/uv sync --extra openvino --no-cache --active $STD sudo --preserve-env=VIRTUAL_ENV -nu immich uv sync --extra openvino --active -n -p python3.11 --managed-python
patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so" patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so"
msg_ok "Updated HW-accelerated machine-learning" msg_ok "Updated HW-accelerated machine-learning"
else else
msg_info "Updating machine-learning" msg_info "Updating machine-learning"
$STD /usr/local/bin/uv sync --extra cpu --no-cache --active $STD sudo --preserve-env=VIRTUAL_ENV -nu immich uv sync --extra cpu --active -n -p python3.11 --managed-python
msg_ok "Updated machine-learning" msg_ok "Updated machine-learning"
fi fi
cd "$SRC_DIR" cd "$SRC_DIR"
@@ -186,10 +185,6 @@ EOF
ln -s "$GEO_DIR" "$APP_DIR" ln -s "$GEO_DIR" "$APP_DIR"
chown -R immich:immich "$INSTALL_DIR" chown -R immich:immich "$INSTALL_DIR"
if [[ ! -f ~/.debian_version.bak ]]; then
cp /etc/debian_version ~/.debian_version.bak
sed -i 's/.*/13.0/' /etc/debian_version
fi
msg_ok "Updated ${APP} to v${RELEASE}" msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Cleaning up" msg_info "Cleaning up"
@@ -205,8 +200,7 @@ function compile_libjxl() {
SOURCE=${SOURCE_DIR}/libjxl SOURCE=${SOURCE_DIR}/libjxl
JPEGLI_LIBJPEG_LIBRARY_SOVERSION="62" JPEGLI_LIBJPEG_LIBRARY_SOVERSION="62"
JPEGLI_LIBJPEG_LIBRARY_VERSION="62.3.0" JPEGLI_LIBJPEG_LIBRARY_VERSION="62.3.0"
# : "${LIBJXL_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libjxl.json)}" : "${LIBJXL_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libjxl.json)}"
: "${LIBJXL_REVISION:=794a5dcf0d54f9f0b20d288a12e87afb91d20dfc}"
if [[ "$LIBJXL_REVISION" != "$(grep 'libjxl' ~/.immich_library_revisions | awk '{print $2}')" ]]; then if [[ "$LIBJXL_REVISION" != "$(grep 'libjxl' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
msg_info "Recompiling libjxl" msg_info "Recompiling libjxl"
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
@@ -253,8 +247,7 @@ function compile_libheif() {
$STD apt-get install -y libaom-dev $STD apt-get install -y libaom-dev
local update="required" local update="required"
fi fi
# : "${LIBHEIF_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libheif.json)}" : "${LIBHEIF_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libheif.json)}"
: "${LIBHEIF_REVISION:=35dad50a9145332a7bfdf1ff6aef6801fb613d68}"
if [[ "${update:-}" ]] || [[ "$LIBHEIF_REVISION" != "$(grep 'libheif' ~/.immich_library_revisions | awk '{print $2}')" ]]; then if [[ "${update:-}" ]] || [[ "$LIBHEIF_REVISION" != "$(grep 'libheif' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
msg_info "Recompiling libheif" msg_info "Recompiling libheif"
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
@@ -285,9 +278,7 @@ function compile_libheif() {
function compile_libraw() { function compile_libraw() {
SOURCE=${SOURCE_DIR}/libraw SOURCE=${SOURCE_DIR}/libraw
local update : "${LIBRAW_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libraw.json)}"
# : "${LIBRAW_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libraw.json)}"
: "${LIBRAW_REVISION:=09bea31181b43e97959ee5452d91e5bc66365f1f}"
if [[ "$LIBRAW_REVISION" != "$(grep 'libraw' ~/.immich_library_revisions | awk '{print $2}')" ]]; then if [[ "$LIBRAW_REVISION" != "$(grep 'libraw' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
msg_info "Recompiling libraw" msg_info "Recompiling libraw"
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
@@ -308,15 +299,15 @@ function compile_libraw() {
function compile_imagemagick() { function compile_imagemagick() {
SOURCE=$SOURCE_DIR/imagemagick SOURCE=$SOURCE_DIR/imagemagick
# : "${IMAGEMAGICK_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/imagemagick.json)}" : "${IMAGEMAGICK_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/imagemagick.json)}"
: "${IMAGEMAGICK_REVISION:=8289a3388a085ad5ae81aa6812f21554bdfd54f2}" if [[ "$IMAGEMAGICK_REVISION" != "$(grep 'imagemagick' ~/.immich_library_revisions | awk '{print $2}')" ]] ||
if [[ "$IMAGEMAGICK_REVISION" != "$(grep 'imagemagick' ~/.immich_library_revisions | awk '{print $2}')" ]]; then ! grep -q 'DMAGICK_LIBRAW' /usr/local/lib/ImageMagick-7*/config-Q16HDRI/configure.xml; then
msg_info "Recompiling ImageMagick" msg_info "Recompiling ImageMagick"
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
$STD git clone https://github.com/ImageMagick/ImageMagick.git "$SOURCE" $STD git clone https://github.com/ImageMagick/ImageMagick.git "$SOURCE"
cd "$SOURCE" cd "$SOURCE"
$STD git reset --hard "$IMAGEMAGICK_REVISION" $STD git reset --hard "$IMAGEMAGICK_REVISION"
$STD ./configure --with-modules $STD ./configure --with-modules CPPFLAGS="-DMAGICK_LIBRAW_VERSION_TAIL=202502"
$STD make -j"$(nproc)" $STD make -j"$(nproc)"
$STD make install $STD make install
ldconfig /usr/local/lib ldconfig /usr/local/lib
@@ -329,8 +320,7 @@ function compile_imagemagick() {
function compile_libvips() { function compile_libvips() {
SOURCE=$SOURCE_DIR/libvips SOURCE=$SOURCE_DIR/libvips
# : "${LIBVIPS_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libvips.json)}" : "${LIBVIPS_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libvips.json)}"
: "${LIBVIPS_REVISION:=8fa37a64547e392d3808eed8d72adab7e02b3d00}"
if [[ "$LIBVIPS_REVISION" != "$(grep 'libvips' ~/.immich_library_revisions | awk '{print $2}')" ]]; then if [[ "$LIBVIPS_REVISION" != "$(grep 'libvips' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
msg_info "Recompiling libvips" msg_info "Recompiling libvips"
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi

62
ct/joplin-server.sh Normal file
View File

@@ -0,0 +1,62 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://joplinapp.org/
APP="Joplin-Server"
var_tags="${var_tags:-notes}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-20}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/joplin-server ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "joplin-server" "laurent22/joplin"; then
msg_info "Stopping Services"
systemctl stop joplin-server
msg_ok "Stopped Services"
fetch_and_deploy_gh_release "joplin-server" "laurent22/joplin" "tarball" "latest"
msg_info "Updating ${APP}"
cd /opt/joplin-server
sed -i "/onenote-converter/d" packages/lib/package.json
$STD yarn config set --home enableTelemetry 0
export BUILD_SEQUENCIAL=1
$STD yarn install --inline-builds
msg_ok "Updated ${APP}"
msg_info "Starting Services"
systemctl start joplin-server
msg_ok "Started Services"
msg_ok "Updated Successfully"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:22300${CL}"

View File

@@ -59,6 +59,7 @@ function update_script() {
if ! grep -qxF 'COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups' /opt/komodo/compose.env; then if ! grep -qxF 'COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups' /opt/komodo/compose.env; then
sed -i '/^COMPOSE_KOMODO_IMAGE_TAG=latest$/a COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups' /opt/komodo/compose.env sed -i '/^COMPOSE_KOMODO_IMAGE_TAG=latest$/a COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups' /opt/komodo/compose.env
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

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-4}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -29,23 +29,24 @@ function update_script() {
exit exit
fi fi
msg_info "Stopping ${APP}" msg_info "Stopping Service"
systemctl stop litellm systemctl stop litellm
msg_ok "Stopped ${APP}" msg_ok "Stopped Service"
VENV_PATH="/opt/litellm/.venv" VENV_PATH="/opt/litellm/.venv"
PYTHON_VERSION="3.13" setup_uv PYTHON_VERSION="3.13" setup_uv
msg_info "Updating $APP" msg_info "Updating LiteLLM"
$STD "$VENV_PATH/bin/python" -m pip install --upgrade litellm[proxy] prisma $STD "$VENV_PATH/bin/python" -m pip install --upgrade litellm[proxy] prisma
msg_ok "LiteLLM updated"
msg_info "Updating DB Schema" msg_info "Updating DB Schema"
$STD uv --directory=/opt/litellm run litellm --config /opt/litellm/litellm.yaml --use_prisma_db_push --skip_server_startup $STD uv --directory=/opt/litellm run litellm --config /opt/litellm/litellm.yaml --use_prisma_db_push --skip_server_startup
msg_ok "DB Schema Updated" msg_ok "DB Schema Updated"
msg_info "Starting ${APP}" msg_info "Starting Service"
systemctl start litellm systemctl start litellm
msg_ok "Started ${APP}" msg_ok "Started Service"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
exit exit
} }

View File

@@ -35,12 +35,15 @@ function update_script() {
msg_info "Creating Backup" msg_info "Creating Backup"
cp /opt/mmdl/.env /opt/mmdl.env cp /opt/mmdl/.env /opt/mmdl.env
rm -rf /opt/mmdl
msg_ok "Backup Created" msg_ok "Backup Created"
fetch_and_deploy_gh_release "mmdl" "intri-in/manage-my-damn-life-nextjs" "tarball" fetch_and_deploy_gh_release "mmdl" "intri-in/manage-my-damn-life-nextjs" "tarball"
NODE_VERSION="22" setup_nodejs
msg_info "Configuring ${APP}" msg_info "Configuring ${APP}"
cd /opt/mmdl cd /opt/mmdl
export NEXT_TELEMETRY_DISABLED=1
$STD npm install $STD npm install
$STD npm run migrate $STD npm run migrate
$STD npm run build $STD npm run build

View File

@@ -29,59 +29,53 @@ function update_script() {
exit exit
fi fi
msg_info "Stopping ${APP} Service" if [[ $(echo ":$PATH:" != *":/usr/local/bin:"*) ]]; then
systemctl stop metube echo 'export PATH="/usr/local/bin:$PATH"' >>~/.bashrc
msg_ok "Stopped ${APP} Service" source ~/.bashrc
if ! command -v deno &>/dev/null; then
msg_info "Backing up Old Installation" export DENO_INSTALL="/usr/local"
if [[ -d /opt/metube_bak ]]; then curl -fsSL https://deno.land/install.sh | $STD sh -s -- -y
rm -rf /opt/metube_bak else
$STD deno upgrade
fi
fi fi
mv /opt/metube /opt/metube_bak
msg_ok "Backup created"
msg_info "Cloning Latest ${APP} Release" if check_for_gh_release "metube" "alexta69/metube"; then
$STD git clone https://github.com/alexta69/metube /opt/metube msg_info "Stopping ${APP} Service"
msg_ok "Cloned ${APP}" systemctl stop metube
msg_ok "Stopped ${APP} Service"
msg_info "Building Frontend" msg_info "Backing up Old Installation"
cd /opt/metube/ui if [[ -d /opt/metube_bak ]]; then
$STD npm install rm -rf /opt/metube_bak
$STD node_modules/.bin/ng build fi
msg_ok "Built Frontend" mv /opt/metube /opt/metube_bak
msg_ok "Backup created"
PYTHON_VERSION="3.13" setup_uv fetch_and_deploy_gh_release "metube" "alexta69/metube" "tarball" "latest"
msg_info "Setting up Python Environment (uv)" msg_info "Building Frontend"
$STD uv venv /opt/metube/.venv cd /opt/metube/ui
$STD /opt/metube/.venv/bin/python -m ensurepip --upgrade $STD npm install
$STD /opt/metube/.venv/bin/python -m pip install --upgrade pip $STD node_modules/.bin/ng build
$STD /opt/metube/.venv/bin/python -m pip install pipenv msg_ok "Built Frontend"
msg_ok "Python Environment Ready"
msg_info "Installing Backend Requirements"
cd /opt/metube
$STD /opt/metube/.venv/bin/pipenv install
msg_ok "Installed Backend"
msg_info "Restoring Environment File"
if [[ -f /opt/metube_bak/.env ]]; then
cp /opt/metube_bak/.env /opt/metube/.env
fi
msg_ok "Restored .env"
if [[ ! -d /opt/metube/.venv ]]; then
msg_info "Migrating to uv-based environment"
PYTHON_VERSION="3.13" setup_uv PYTHON_VERSION="3.13" setup_uv
$STD uv venv /opt/metube/.venv
$STD /opt/metube/.venv/bin/python -m ensurepip --upgrade
$STD /opt/metube/.venv/bin/python -m pip install --upgrade pip
$STD /opt/metube/.venv/bin/python -m pip install pipenv
$STD /opt/metube/.venv/bin/pipenv install
$STD /opt/metube/.venv/bin/pipenv update yt-dlp
msg_info "Patching systemd Service" msg_info "Installing Backend Requirements"
cat <<EOF >/etc/systemd/system/metube.service cd /opt/metube
$STD uv sync --frozen --no-dev
msg_ok "Installed Backend"
msg_info "Restoring Environment File"
if [[ -f /opt/metube_bak/.env ]]; then
cp /opt/metube_bak/.env /opt/metube/.env
fi
msg_ok "Restored .env"
if grep -q 'pipenv' /etc/systemd/system/metube.service; then
msg_info "Patching systemd Service"
cat <<EOF >/etc/systemd/system/metube.service
[Unit] [Unit]
Description=Metube - YouTube Downloader Description=Metube - YouTube Downloader
After=network.target After=network.target
@@ -90,30 +84,31 @@ After=network.target
Type=simple Type=simple
WorkingDirectory=/opt/metube WorkingDirectory=/opt/metube
EnvironmentFile=/opt/metube/.env EnvironmentFile=/opt/metube/.env
ExecStart=/opt/metube/.venv/bin/pipenv run python3 app/main.py ExecStart=/opt/metube/.venv/bin/python3 app/main.py
Restart=always Restart=always
User=root User=root
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
EOF EOF
msg_ok "Patched systemd Service" msg_ok "Patched systemd Service"
fi
$STD systemctl daemon-reload
msg_ok "Service Updated"
msg_info "Cleaning up"
rm -rf /opt/metube_bak
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned Up"
msg_info "Starting ${APP} Service"
systemctl start metube
sleep 1
msg_ok "Started ${APP} Service"
msg_ok "Updated Successfully!"
fi fi
$STD systemctl daemon-reload
msg_ok "Service Updated"
msg_info "Cleaning up"
rm -rf /opt/metube_bak
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned Up"
msg_info "Starting ${APP} Service"
systemctl enable -q --now metube
sleep 1
msg_ok "Started ${APP} Service"
msg_ok "Updated Successfully!"
} }
start start

View File

@@ -27,6 +27,9 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
if check_for_gh_release "monica" "monicahq/monica"; then if check_for_gh_release "monica" "monicahq/monica"; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop apache2 systemctl stop apache2
@@ -43,6 +46,7 @@ function update_script() {
cp -r /opt/monica-backup/.env /opt/monica cp -r /opt/monica-backup/.env /opt/monica
cp -r /opt/monica-backup/storage/* /opt/monica/storage/ cp -r /opt/monica-backup/storage/* /opt/monica/storage/
$STD composer install --no-interaction --no-dev $STD composer install --no-interaction --no-dev
$STD yarn config set ignore-engines true
$STD yarn install $STD yarn install
$STD yarn run production $STD yarn run production
$STD php artisan monica:update --force $STD php artisan monica:update --force

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2025 community-scripts ORG
# Author: tteck (tteckster) # Author: CrazyWolf13
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://ntfy.sh/ # Source: https://ntfy.sh/
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}" var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}" var_disk="${var_disk:-2}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -23,13 +23,31 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /var ]]; then if [[ ! -d /etc/ntfy ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if [ -f /etc/apt/keyrings/archive.heckel.io.gpg ]; then
msg_info "Correcting old Ntfy Repository"
rm -f /etc/apt/keyrings/archive.heckel.io.gpg
rm -f /etc/apt/sources.list.d/archive.heckel.io.list
rm -f /etc/apt/sources.list.d/archive.heckel.io.list.bak
rm -f /etc/apt/sources.list.d/archive.heckel.io.sources
curl -fsSL -o /etc/apt/keyrings/ntfy.gpg https://archive.ntfy.sh/apt/keyring.gpg
cat <<'EOF' >/etc/apt/sources.list.d/ntfy.sources
Types: deb
URIs: https://archive.ntfy.sh/apt/
Suites: stable
Components: main
Signed-By: /etc/apt/keyrings/ntfy.gpg
EOF
msg_ok "Corrected old Ntfy Repository"
fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
$STD apt-get update $STD apt update
$STD apt-get -y upgrade $STD apt -y upgrade
msg_ok "Updated $APP LXC" msg_ok "Updated $APP LXC"
exit exit
} }
@@ -41,4 +59,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"

View File

@@ -28,6 +28,13 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit 1 exit 1
fi fi
if ! [[ $(dpkg -s python3-lxml-html-clean 2>/dev/null) ]]; then
$STD apt-get install python3-lxml
curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/universe/l/lxml-html-clean/python3-lxml-html-clean_0.1.1-1_all.deb" -o /opt/python3-lxml-html-clean.deb
$STD dpkg -i /opt/python3-lxml-html-clean.deb
rm -f /opt/python3-lxml-html-clean.deb
fi
RELEASE=$(curl -fsSL https://nightly.odoo.com/ | grep -oE 'href="[0-9]+\.[0-9]+/nightly"' | head -n1 | cut -d'"' -f2 | cut -d/ -f1) RELEASE=$(curl -fsSL https://nightly.odoo.com/ | grep -oE 'href="[0-9]+\.[0-9]+/nightly"' | head -n1 | cut -d'"' -f2 | cut -d/ -f1)
LATEST_VERSION=$(curl -fsSL "https://nightly.odoo.com/${RELEASE}/nightly/deb/" | LATEST_VERSION=$(curl -fsSL "https://nightly.odoo.com/${RELEASE}/nightly/deb/" |
grep -oP "odoo_${RELEASE}\.\d+_all\.deb" | grep -oP "odoo_${RELEASE}\.\d+_all\.deb" |

View File

@@ -36,7 +36,7 @@ function update_script() {
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop ollama systemctl stop ollama
msg_ok "Stopped Service" msg_ok "Stopped Service"
curl -fsSLO https://ollama.com/download/ollama-linux-amd64.tgz curl -fsSLO -C - https://ollama.com/download/ollama-linux-amd64.tgz
rm -rf /usr/lib/ollama rm -rf /usr/lib/ollama
rm -rf /usr/bin/ollama rm -rf /usr/bin/ollama
tar -C /usr -xzf ollama-linux-amd64.tgz tar -C /usr -xzf ollama-linux-amd64.tgz
@@ -64,7 +64,7 @@ function update_script() {
fi fi
systemctl stop open-webui.service systemctl stop open-webui.service
$STD npm install --force $STD npm install --force
export NODE_OPTIONS="--max-old-space-size=3584" export NODE_OPTIONS="--max-old-space-size=6000"
$STD npm run build $STD npm run build
cd ./backend cd ./backend
$STD pip install -r requirements.txt -U $STD pip install -r requirements.txt -U

View File

@@ -28,6 +28,8 @@ function update_script() {
exit exit
fi fi
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
if check_for_gh_release "outline" "outline/outline"; then if check_for_gh_release "outline" "outline/outline"; then
msg_info "Stopping Services" msg_info "Stopping Services"
systemctl stop outline systemctl stop outline
@@ -37,7 +39,7 @@ function update_script() {
cp /opt/outline/.env /opt cp /opt/outline/.env /opt
msg_ok "Backup created" msg_ok "Backup created"
fetch_and_deploy_gh_release "outline" "outline/outline" "tarball" CLEAN_INSTALL=1 fetch_and_deploy_gh_release "outline" "outline/outline" "tarball"
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
cd /opt/outline cd /opt/outline

View File

@@ -39,7 +39,7 @@ function update_script() {
if check_for_gh_release "paymenter" "paymenter/paymenter"; then if check_for_gh_release "paymenter" "paymenter/paymenter"; then
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
cd /opt/paymenter cd /opt/paymenter
$STD php artisan p:upgrade --no-interaction $STD php artisan app:upgrade --no-interaction
echo "${CHECK_UPDATE_RELEASE}" >~/.paymenter echo "${CHECK_UPDATE_RELEASE}" >~/.paymenter
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
fi fi

View File

@@ -20,26 +20,40 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /etc/rabbitmq ]]; then if [[ ! -d /etc/rabbitmq ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Stopping ${APP} Service"
systemctl stop rabbitmq-server
msg_ok "Stopped ${APP} Service"
msg_info "Updating..."
$STD apt install --only-upgrade rabbitmq-server
msg_ok "Update Successfully"
msg_info "Starting ${APP}"
systemctl start rabbitmq-server
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
exit exit
fi
if grep -q "dl.cloudsmith.io" /etc/apt/sources.list.d/rabbitmq.list; then
rm -f /etc/apt/sources.list.d/rabbitmq.list
cat <<EOF >/etc/apt/sources.list.d/rabbitmq.list
## Modern Erlang/OTP releases
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-erlang/debian/bookworm bookworm main
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-erlang/debian/bookworm bookworm main
## Provides modern RabbitMQ releases
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-server/debian/bookworm bookworm main
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-server/debian/bookworm bookworm main
EOF
$STD apt-get update
fi
msg_info "Stopping ${APP} Service"
systemctl stop rabbitmq-server
msg_ok "Stopped ${APP} Service"
msg_info "Updating..."
$STD apt install --only-upgrade rabbitmq-server
msg_ok "Update Successfully"
msg_info "Starting ${APP}"
systemctl start rabbitmq-server
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
exit
} }
start start
@@ -49,4 +63,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:15672${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:15672${CL}"

View File

@@ -42,7 +42,7 @@ function update_script() {
mv /opt/tandoor /opt/tandoor.bak mv /opt/tandoor /opt/tandoor.bak
msg_ok "Backup Created" msg_ok "Backup Created"
NODE_VERSION="20" NODE_MODULE="yarn" setup_nodejs NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
PYTHON_VERSION="3.13" setup_uv PYTHON_VERSION="3.13" setup_uv
fetch_and_deploy_gh_release "tandoor" "TandoorRecipes/recipes" "tarball" "latest" "/opt/tandoor" fetch_and_deploy_gh_release "tandoor" "TandoorRecipes/recipes" "tarball" "latest" "/opt/tandoor"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}" var_ram="${var_ram:-4096}"
var_disk="${var_disk:-6}" var_disk="${var_disk:-6}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -33,22 +33,23 @@ function update_script() {
systemctl stop tracktor systemctl stop tracktor
msg_ok "Stopped Service" msg_ok "Stopped Service"
msg_info "Creating Backup" msg_info "Correcting Services"
cp /opt/tracktor/app/backend/.env /opt/tracktor.env if [ -f /opt/tracktor/app/backend/.env ]; then
msg_ok "Created Backup" mv /opt/tracktor/app/backend/.env /opt/tracktor.env
echo 'AUTH_PIN=123456' >> /opt/tracktor.env
sed -i 's|^EnvironmentFile=.*|EnvironmentFile=/opt/tracktor.env|' /etc/systemd/system/tracktor.service
systemctl daemon-reload
fi
msg_ok "Corrected Services"
setup_nodejs setup_nodejs
fetch_and_deploy_gh_release "tracktor" "javedh-dev/tracktor" "tarball" "latest" "/opt/tracktor" CLEAN_INSTALL=1 fetch_and_deploy_gh_release "tracktor" "javedh-dev/tracktor" "tarball" "latest" "/opt/tracktor"
msg_info "Updating ${APP}" msg_info "Updating tracktor"
cd /opt/tracktor cd /opt/tracktor
$STD npm install $STD npm install
$STD npm run build $STD npm run build
msg_ok "Updated $APP" msg_ok "Updated tracktor"
msg_info "Restoring Backup"
cp /opt/tracktor.env /opt/tracktor/app/backend/.env
msg_ok "Restored Backup"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start tracktor systemctl start tracktor

79
ct/tunarr.sh Normal file
View File

@@ -0,0 +1,79 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: chrisbenincasa
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://tunarr.com/
APP="Tunarr"
var_tags="${var_tags:-iptv}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-5}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/tunarr ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "tunarr" "chrisbenincasa/tunarr"; then
msg_info "Stopping Service"
systemctl stop tunarr
msg_ok "Stopped Service"
msg_info "Creating Backup"
if [ -d "/usr/local/share/tunarr" ]; then
tar -czf "/opt/${APP}_backup_$(date +%F).tar.gz" /usr/local/share/tunarr $STD
msg_ok "Backup Created"
else
msg_error "Backup failed: /usr/local/share/tunarr does not exist"
fi
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "tunarr" "chrisbenincasa/tunarr" "singlefile" "latest" "/opt/tunarr" "*linux-x64"
msg_info "Starting Service"
systemctl start tunarr
msg_ok "Started Service"
msg_ok "Update Successfully"
fi
if check_for_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg"; then
msg_info "Stopping Service"
systemctl stop tunarr
msg_ok "Stopped Service"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz"
msg_info "Set ErsatzTV-ffmpeg links"
chmod +x /opt/ErsatzTV-ffmpeg/bin/*
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffmpeg /usr/local/bin/ffmpeg
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffplay /usr/local/bin/ffplay
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffprobe /usr/local/bin/ffprobe
msg_ok "ffmpeg links set"
msg_info "Starting Service"
systemctl start tunarr
msg_ok "Started Service"
msg_ok "Update Successfully"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}"

53
ct/upsnap.sh Normal file
View File

@@ -0,0 +1,53 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/seriousm4x/UpSnap
APP="UpSnap"
var_tags="${var_tags:-network}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/upsnap ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "upsnap" "seriousm4x/UpSnap"; then
msg_info "Stopping Services"
systemctl stop upsnap
msg_ok "Stopped Services"
fetch_and_deploy_gh_release "upsnap" "seriousm4x/UpSnap" "prebuild" "latest" "/opt/upsnap" "UpSnap_*_linux_amd64.zip"
msg_info "Starting Services"
systemctl start upsnap
msg_ok "Started Services"
msg_ok "Updated Successfully"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}"

View File

@@ -9,7 +9,7 @@ APP="Wazuh"
var_tags="${var_tags:-security;monitoring}" var_tags="${var_tags:-security;monitoring}"
var_cpu="${var_cpu:-4}" var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-4096}" var_ram="${var_ram:-4096}"
var_disk="${var_disk:-18}" var_disk="${var_disk:-25}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
@@ -41,4 +41,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:443${CL}" echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:443${CL}"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}" var_ram="${var_ram:-4096}"
var_disk="${var_disk:-6}" var_disk="${var_disk:-6}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -23,37 +23,72 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -f /etc/zabbix/zabbix_server.conf ]]; then if [[ ! -f /etc/zabbix/zabbix_server.conf ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Stopping ${APP} Services"
systemctl stop zabbix-server zabbix-agent2
msg_ok "Stopped ${APP} Services"
msg_info "Updating $APP LXC" . /etc/os-release
if [ "$VERSION_CODENAME" != "trixie" ]; then
msg_error "Unsupported Debian version: $VERSION_CODENAME please upgrade to Debian 13 (Trixie) before updating Zabbix."
exit 1
fi
if systemctl list-unit-files | grep -q zabbix-agent2.service; then
AGENT_SERVICE="zabbix-agent2"
else
AGENT_SERVICE="zabbix-agent"
fi
msg_info "Stopping Services"
systemctl stop zabbix-server $AGENT_SERVICE
msg_ok "Stopped Services"
msg_info "Updating Zabbix"
mkdir -p /opt/zabbix-backup/ mkdir -p /opt/zabbix-backup/
cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/ cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/ cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/
cp -R /usr/share/zabbix/ /opt/zabbix-backup/ cp -R /usr/share/zabbix/ /opt/zabbix-backup/
#cp -R /usr/share/zabbix-* /opt/zabbix-backup/ Remove temporary
rm -Rf /etc/apt/sources.list.d/zabbix.list rm -Rf /etc/apt/sources.list.d/zabbix.list
cd /tmp cd /tmp
curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ | curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ |
grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 | grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 |
xargs -I{} echo "https://repo.zabbix.com/zabbix/{}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb")" \ xargs -I{} echo "https://repo.zabbix.com/zabbix/{}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian13_all.deb")" \
-o /tmp/zabbix-release_latest+debian12_all.deb -o /tmp/zabbix-release_latest+debian13_all.deb
$STD dpkg -i zabbix-release_latest+debian12_all.deb $STD dpkg -i zabbix-release_latest+debian13_all.deb
$STD apt-get update $STD apt update
$STD apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-*
msg_info "Starting ${APP} Services" $STD apt install --only-upgrade zabbix-server-pgsql zabbix-frontend-php php8.4-pgsql
systemctl start zabbix-server zabbix-agent2
if [ "$AGENT_SERVICE" = "zabbix-agent2" ]; then
$STD apt install --only-upgrade zabbix-agent2 zabbix-agent2-plugin-postgresql
if [ -f /etc/zabbix/zabbix_agent2.d/plugins.d/nvidia.conf ]; then
sed -i 's|^Plugins.NVIDIA.System.Path=.*|# Plugins.NVIDIA.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-nvidia-gpu|' \
/etc/zabbix/zabbix_agent2.d/plugins.d/nvidia.conf
fi
else
$STD apt install --only-upgrade zabbix-agent
fi
if command -v fping >/dev/null 2>&1; then
FPING_PATH=$(command -v fping)
sed -i "s|^#\?FpingLocation=.*|FpingLocation=$FPING_PATH|" /etc/zabbix/zabbix_server.conf
fi
if command -v fping6 >/dev/null 2>&1; then
FPING6_PATH=$(command -v fping6)
sed -i "s|^#\?Fping6Location=.*|Fping6Location=$FPING6_PATH|" /etc/zabbix/zabbix_server.conf
fi
msg_ok "Updated Zabbix"
msg_info "Starting Services"
systemctl start zabbix-server $AGENT_SERVICE
systemctl restart apache2 systemctl restart apache2
msg_ok "Started ${APP} Services" msg_ok "Started Services"
msg_info "Cleaning Up" msg_info "Cleaning Up"
rm -rf /tmp/zabbix-release_latest+debian12_all.deb rm -rf /tmp/zabbix-release_latest+debian13_all.deb
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
exit exit

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox VE LXC Tag", "name": "PVE LXC Tag",
"slug": "add-iptag", "slug": "add-iptag",
"categories": [ "categories": [
1 1

View File

@@ -1,51 +1,51 @@
{ {
"name": "AdGuard Home", "name": "AdGuard Home",
"slug": "adguard", "slug": "adguard",
"categories": [ "categories": [
5 5
], ],
"date_created": "2024-04-28", "date_created": "2024-04-28",
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": 3000, "interface_port": 3000,
"documentation": "https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started", "documentation": "https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started",
"website": "https://adguard.com/en/adguard-home/overview.html", "website": "https://adguard.com/en/adguard-home/overview.html",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/adguard-home.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/adguard-home.webp",
"config_path": "/opt/AdGuardHome/AdGuardHome.yaml", "config_path": "/opt/AdGuardHome/AdGuardHome.yaml",
"description": "AdGuard Home is an open-source, self-hosted network-wide ad blocker. It blocks advertisements, trackers, phishing and malware websites, and provides protection against online threats. AdGuard Home is a DNS-based solution, which means it blocks ads and malicious content at the network level, before it even reaches your device. It runs on your home network and can be easily configured and managed through a web-based interface. It provides detailed statistics and logs, allowing you to see which websites are being blocked, and why. AdGuard Home is designed to be fast, lightweight, and easy to use, making it an ideal solution for home users who want to block ads, protect their privacy, and improve the speed and security of their online experience.", "description": "AdGuard Home is an open-source, self-hosted network-wide ad blocker. It blocks advertisements, trackers, phishing and malware websites, and provides protection against online threats. AdGuard Home is a DNS-based solution, which means it blocks ads and malicious content at the network level, before it even reaches your device. It runs on your home network and can be easily configured and managed through a web-based interface. It provides detailed statistics and logs, allowing you to see which websites are being blocked, and why. AdGuard Home is designed to be fast, lightweight, and easy to use, making it an ideal solution for home users who want to block ads, protect their privacy, and improve the speed and security of their online experience.",
"install_methods": [ "install_methods": [
{ {
"type": "default", "type": "default",
"script": "ct/adguard.sh", "script": "ct/adguard.sh",
"resources": { "resources": {
"cpu": 1, "cpu": 1,
"ram": 512, "ram": 512,
"hdd": 2, "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "13"
} }
},
{
"type": "alpine",
"script": "ct/alpine-adguard.sh",
"resources": {
"cpu": 1,
"ram": 256,
"hdd": 1,
"os": "alpine",
"version": "3.22"
}
}
],
"default_credentials": {
"username": null,
"password": null
}, },
"notes": [ {
{ "type": "alpine",
"text": "Adguard Home can be updated via the user interface.", "script": "ct/alpine-adguard.sh",
"type": "info" "resources": {
} "cpu": 1,
] "ram": 256,
"hdd": 1,
"os": "alpine",
"version": "3.22"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "AdGuard Home can only be updated via the user interface.",
"type": "info"
}
]
} }

View File

@@ -20,7 +20,7 @@
"script": "ct/booklore.sh", "script": "ct/booklore.sh",
"resources": { "resources": {
"cpu": 3, "cpu": 3,
"ram": 2048, "ram": 3072,
"hdd": 7, "hdd": 7,
"os": "debian", "os": "debian",
"version": "12" "version": "12"

View File

@@ -4,7 +4,7 @@
"categories": [ "categories": [
21 21
], ],
"date_created": "2024-05-11", "date_created": "2025-09-17",
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
@@ -21,10 +21,21 @@
"resources": { "resources": {
"cpu": 1, "cpu": 1,
"ram": 512, "ram": 512,
"hdd": 4, "hdd": 6,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }
},
{
"type": "alpine",
"script": "ct/alpine-caddy.sh",
"resources": {
"cpu": 1,
"ram": 256,
"hdd": 3,
"os": "alpine",
"version": "3.22"
}
} }
], ],
"default_credentials": { "default_credentials": {

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox VE LXC Cleaner", "name": "PVE LXC Cleaner",
"slug": "clean-lxcs", "slug": "clean-lxcs",
"categories": [ "categories": [
1 1

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox Clean Orphaned LVM", "name": "PVE Clean Orphaned LVM",
"slug": "clean-orphaned-lvm", "slug": "clean-orphaned-lvm",
"categories": [ "categories": [
1 1

View File

@@ -23,7 +23,7 @@
"ram": 512, "ram": 512,
"hdd": 2, "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "13"
} }
} }
], ],

View File

@@ -32,5 +32,10 @@
"username": null, "username": null,
"password": null "password": null
}, },
"notes": [] "notes": [
{
"type": "info",
"text": "The file `/etc/sysconfig/CosmosCloud` is optional. If you need custom settings, you can create it yourself."
}
]
} }

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox VE Cron LXC Updater", "name": "PVE Cron LXC Updater",
"slug": "cron-update-lxcs", "slug": "cron-update-lxcs",
"categories": [ "categories": [
1 1
@@ -13,7 +13,7 @@
"website": null, "website": null,
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
"config_path": "", "config_path": "",
"description": "This script will add/remove a crontab schedule that updates all LXCs every Sunday at midnight.", "description": "This script will add/remove a crontab schedule that updates the operating system of all LXCs every Sunday at midnight.",
"install_methods": [ "install_methods": [
{ {
"type": "default", "type": "default",

View File

@@ -23,7 +23,7 @@
"ram": 512, "ram": 512,
"hdd": 2, "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "13"
} }
} }
], ],

View File

@@ -39,6 +39,10 @@
{ {
"type": "info", "type": "info",
"text": "Synapse-Admin is running on port 5173" "text": "Synapse-Admin is running on port 5173"
},
{
"type": "info",
"text": "For bridges Installation methods (WhatsApp, Signal, Discord, etc.), see: ´https://docs.mau.fi/bridges/go/setup.html´"
} }
] ]
} }

View File

@@ -0,0 +1,48 @@
{
"name": "PVE LXC Execute Command",
"slug": "lxc-execute",
"categories": [
1
],
"date_created": "2025-09-18",
"type": "pve",
"updateable": false,
"privileged": false,
"interface_port": null,
"documentation": null,
"website": null,
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
"config_path": "",
"description": "This script allows administrators to execute a custom command inside one or multiple LXC containers on a Proxmox VE node. Containers can be selectively excluded via an interactive checklist. If a container is stopped, the script will automatically start it, run the command, and then shut it down again. Only Debian and Ubuntu based containers are supported.",
"install_methods": [
{
"type": "default",
"script": "tools/pve/execute.sh",
"resources": {
"cpu": null,
"ram": null,
"hdd": null,
"os": null,
"version": null
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Execute within the Proxmox shell.",
"type": "info"
},
{
"text": "Non-Debian/Ubuntu containers will be skipped automatically.",
"type": "info"
},
{
"text": "Stopped containers will be started temporarily to run the command, then shut down again.",
"type": "warning"
}
]
}

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox VE LXC Filesystem Trim", "name": "PVE LXC Filesystem Trim",
"slug": "fstrim", "slug": "fstrim",
"categories": [ "categories": [
1 1

View File

@@ -0,0 +1,35 @@
{
"name": "GlobaLeaks",
"slug": "globaleaks",
"categories": [
0
],
"date_created": "2025-09-18",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 443,
"documentation": "https://docs.globaleaks.org",
"website": "https://www.globaleaks.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/globaleaks.webp",
"config_path": "",
"description": "GlobaLeaks is a free and open-source whistleblowing software enabling anyone to easily set up and maintain a secure reporting platform.",
"install_methods": [
{
"type": "default",
"script": "ct/globaleaks.sh",
"resources": {
"cpu": 2,
"ram": 1024,
"hdd": 4,
"os": "debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -0,0 +1,40 @@
{
"name": "GoAway",
"slug": "goaway",
"categories": [
5
],
"date_created": "2025-09-25",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8080,
"documentation": "https://github.com/pommee/goaway#configuration-file",
"config_path": "/opt/goaway/config/settings.yaml",
"website": "https://github.com/pommee/goaway",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/goaway.webp",
"description": "Lightweight DNS sinkhole written in Go with a modern dashboard client. Very good looking new alternative to Pi-Hole and Adguard Home.",
"install_methods": [
{
"type": "default",
"script": "ct/goaway.sh",
"resources": {
"cpu": 1,
"ram": 1024,
"hdd": 4,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Type `cat ~/goaway.creds` to see login credentials.",
"type": "info"
}
]
}

View File

@@ -13,7 +13,7 @@
"website": "https://www.getgrist.com/", "website": "https://www.getgrist.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/grist.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/grist.webp",
"config_path": "/opt/grist/.env", "config_path": "/opt/grist/.env",
"description": "Grist is a modern, open source spreadsheet that goes beyond the grid", "description": "Grist is like a spreadsheet + database hybrid. It lets you store structured data, use relational links between tables, apply formulas (even with Python), build custom layouts (cards, forms, dashboards), set fine-grained access rules, and visualize data with charts or pivot-tables.",
"install_methods": [ "install_methods": [
{ {
"type": "default", "type": "default",

View File

@@ -32,6 +32,10 @@
"password": null "password": null
}, },
"notes": [ "notes": [
{
"text": "Containerized version doesn't allow Home Assistant add-ons.",
"type": "warning"
},
{ {
"text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.", "text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
"type": "warning" "type": "warning"

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox VE Host Backup", "name": "PVE Host Backup",
"slug": "host-backup", "slug": "host-backup",
"categories": [ "categories": [
1 1

View File

@@ -23,7 +23,7 @@
"ram": 4096, "ram": 4096,
"hdd": 20, "hdd": 20,
"os": "Debian", "os": "Debian",
"version": "12" "version": "13"
} }
} }
], ],

View File

@@ -0,0 +1,40 @@
{
"name": "Joplin Server",
"slug": "joplin-server",
"categories": [
12
],
"date_created": "2025-09-24",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 22300,
"documentation": "https://joplinapp.org/help/",
"config_path": "/opt/joplin-server/.env",
"website": "https://joplinapp.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/joplin.webp",
"description": "Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.",
"install_methods": [
{
"type": "default",
"script": "ct/joplin-server.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 20,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": "admin@localhost",
"password": "admin"
},
"notes": [
{
"text": "Application can take some time to build, depending on your host speed. Please be patient.",
"type": "info"
}
]
}

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox VE Kernel Clean", "name": "PVE Kernel Clean",
"slug": "kernel-clean", "slug": "kernel-clean",
"categories": [ "categories": [
1 1

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox VE Kernel Pin", "name": "PVE Kernel Pin",
"slug": "kernel-pin", "slug": "kernel-pin",
"categories": [ "categories": [
1 1

View File

@@ -23,7 +23,7 @@
"ram": 2048, "ram": 2048,
"hdd": 4, "hdd": 4,
"os": "Debian", "os": "Debian",
"version": "12" "version": "13"
} }
} }
], ],

View File

@@ -1,5 +1,5 @@
{ {
"name": "Container LXC Deletion", "name": "PVE LXC Deletion",
"slug": "lxc-delete", "slug": "lxc-delete",
"categories": [ "categories": [
1 1

View File

@@ -1,31 +1,186 @@
{ {
"categories": [ "categories": [
{ "name": "Proxmox & Virtualization", "id": 1, "sort_order": 1.0, "description": "Tools and scripts to manage Proxmox VE and virtualization platforms effectively." }, {
{ "name": "Operating Systems", "id": 2, "sort_order": 2.0, "description": "Scripts for deploying and managing various operating systems." }, "name": "Proxmox & Virtualization",
{ "name": "Containers & Docker", "id": 3, "sort_order": 3.0, "description": "Solutions for containerization using Docker and related technologies." }, "id": 1,
{ "name": "Network & Firewall", "id": 4, "sort_order": 4.0, "description": "Enhance network security and configure firewalls with ease." }, "sort_order": 1.0,
{ "name": "Adblock & DNS", "id": 5, "sort_order": 5.0, "description": "Optimize your network with DNS and ad-blocking solutions." }, "description": "Tools and scripts to manage Proxmox VE and virtualization platforms effectively.",
{ "name": "Authentication & Security", "id": 6, "sort_order": 6.0, "description": "Secure your infrastructure with authentication and security tools." }, "icon": "server"
{ "name": "Backup & Recovery", "id": 7, "sort_order": 7.0, "description": "Reliable backup and recovery scripts to protect your data." }, },
{ "name": "Databases", "id": 8, "sort_order": 8.0, "description": "Deploy and manage robust database systems with ease." }, {
{ "name": "Monitoring & Analytics", "id": 9, "sort_order": 9.0, "description": "Monitor system performance and analyze data seamlessly." }, "name": "Operating Systems",
{ "name": "Dashboards & Frontends", "id": 10, "sort_order": 10.0, "description": "Create interactive dashboards and user-friendly frontends." }, "id": 2,
{ "name": "Files & Downloads", "id": 11, "sort_order": 11.0, "description": "Manage file sharing and downloading solutions efficiently." }, "sort_order": 2.0,
{ "name": "Documents & Notes", "id": 12, "sort_order": 12.0, "description": "Organize and manage documents and note-taking tools." }, "description": "Scripts for deploying and managing various operating systems.",
{ "name": "Media & Streaming", "id": 13, "sort_order": 13.0, "description": "Stream and manage media effortlessly across devices." }, "icon": "monitor"
{ "name": "*Arr Suite", "id": 14, "sort_order": 14.0, "description": "Automated media management with the popular *Arr suite tools." }, },
{ "name": "NVR & Cameras", "id": 15, "sort_order": 15.0, "description": "Manage network video recorders and camera setups." }, {
{ "name": "IoT & Smart Home", "id": 16, "sort_order": 16.0, "description": "Control and automate IoT devices and smart home systems." }, "name": "Containers & Docker",
{ "name": "ZigBee, Z-Wave & Matter", "id": 17, "sort_order": 17.0, "description": "Solutions for ZigBee, Z-Wave, and Matter-based device management." }, "id": 3,
{ "name": "MQTT & Messaging", "id": 18, "sort_order": 18.0, "description": "Set up reliable messaging and MQTT-based communication systems." }, "sort_order": 3.0,
{ "name": "Automation & Scheduling", "id": 19, "sort_order": 19.0, "description": "Automate tasks and manage scheduling with powerful tools." }, "description": "Solutions for containerization using Docker and related technologies.",
{ "name": "AI / Coding & Dev-Tools", "id": 20, "sort_order": 20.0, "description": "Leverage AI and developer tools for smarter coding workflows." }, "icon": "box"
{ "name": "Webservers & Proxies", "id": 21, "sort_order": 21.0, "description": "Deploy and configure web servers and proxy solutions." }, },
{ "name": "Bots & ChatOps", "id": 22, "sort_order": 22.0, "description": "Enhance collaboration with bots and ChatOps integrations." }, {
{ "name": "Finance & Budgeting", "id": 23, "sort_order": 23.0, "description": "Track expenses and manage budgets efficiently." }, "name": "Network & Firewall",
{ "name": "Gaming & Leisure", "id": 24, "sort_order": 24.0, "description": "Scripts for gaming servers and leisure-related tools." }, "id": 4,
{ "name": "Business & ERP", "id": 25, "sort_order": 25.0, "description": "Streamline business operations with ERP and management tools." }, "sort_order": 4.0,
{ "name": "Miscellaneous", "id": 0, "sort_order": 99.0, "description": "General scripts and tools that don't fit into other categories." } "description": "Enhance network security and configure firewalls with ease.",
] "icon": "shield"
},
{
"name": "Adblock & DNS",
"id": 5,
"sort_order": 5.0,
"description": "Optimize your network with DNS and ad-blocking solutions.",
"icon": "ban"
},
{
"name": "Authentication & Security",
"id": 6,
"sort_order": 6.0,
"description": "Secure your infrastructure with authentication and security tools.",
"icon": "lock"
},
{
"name": "Backup & Recovery",
"id": 7,
"sort_order": 7.0,
"description": "Reliable backup and recovery scripts to protect your data.",
"icon": "archive"
},
{
"name": "Databases",
"id": 8,
"sort_order": 8.0,
"description": "Deploy and manage robust database systems with ease.",
"icon": "database"
},
{
"name": "Monitoring & Analytics",
"id": 9,
"sort_order": 9.0,
"description": "Monitor system performance and analyze data seamlessly.",
"icon": "bar-chart"
},
{
"name": "Dashboards & Frontends",
"id": 10,
"sort_order": 10.0,
"description": "Create interactive dashboards and user-friendly frontends.",
"icon": "layout"
},
{
"name": "Files & Downloads",
"id": 11,
"sort_order": 11.0,
"description": "Manage file sharing and downloading solutions efficiently.",
"icon": "download"
},
{
"name": "Documents & Notes",
"id": 12,
"sort_order": 12.0,
"description": "Organize and manage documents and note-taking tools.",
"icon": "file-text"
},
{
"name": "Media & Streaming",
"id": 13,
"sort_order": 13.0,
"description": "Stream and manage media effortlessly across devices.",
"icon": "play"
},
{
"name": "*Arr Suite",
"id": 14,
"sort_order": 14.0,
"description": "Automated media management with the popular *Arr suite tools.",
"icon": "tv"
},
{
"name": "NVR & Cameras",
"id": 15,
"sort_order": 15.0,
"description": "Manage network video recorders and camera setups.",
"icon": "camera"
},
{
"name": "IoT & Smart Home",
"id": 16,
"sort_order": 16.0,
"description": "Control and automate IoT devices and smart home systems.",
"icon": "home"
},
{
"name": "ZigBee, Z-Wave & Matter",
"id": 17,
"sort_order": 17.0,
"description": "Solutions for ZigBee, Z-Wave, and Matter-based device management.",
"icon": "radio"
},
{
"name": "MQTT & Messaging",
"id": 18,
"sort_order": 18.0,
"description": "Set up reliable messaging and MQTT-based communication systems.",
"icon": "message-circle"
},
{
"name": "Automation & Scheduling",
"id": 19,
"sort_order": 19.0,
"description": "Automate tasks and manage scheduling with powerful tools.",
"icon": "clock"
},
{
"name": "AI / Coding & Dev-Tools",
"id": 20,
"sort_order": 20.0,
"description": "Leverage AI and developer tools for smarter coding workflows.",
"icon": "code"
},
{
"name": "Webservers & Proxies",
"id": 21,
"sort_order": 21.0,
"description": "Deploy and configure web servers and proxy solutions.",
"icon": "globe"
},
{
"name": "Bots & ChatOps",
"id": 22,
"sort_order": 22.0,
"description": "Enhance collaboration with bots and ChatOps integrations.",
"icon": "bot"
},
{
"name": "Finance & Budgeting",
"id": 23,
"sort_order": 23.0,
"description": "Track expenses and manage budgets efficiently.",
"icon": "dollar-sign"
},
{
"name": "Gaming & Leisure",
"id": 24,
"sort_order": 24.0,
"description": "Scripts for gaming servers and leisure-related tools.",
"icon": "gamepad-2"
},
{
"name": "Business & ERP",
"id": 25,
"sort_order": 25.0,
"description": "Streamline business operations with ERP and management tools.",
"icon": "building"
},
{
"name": "Miscellaneous",
"id": 0,
"sort_order": 99.0,
"description": "General scripts and tools that don't fit into other categories.",
"icon": "more-horizontal"
}
]
} }

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox VE Processor Microcode", "name": "PVE Processor Microcode",
"slug": "microcode", "slug": "microcode",
"categories": [ "categories": [
1 1

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox VE Monitor-All", "name": "PVE Monitor-All",
"slug": "monitor-all", "slug": "monitor-all",
"categories": [ "categories": [
1 1

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox VE Netdata", "name": "PVE Netdata",
"slug": "netdata", "slug": "netdata",
"categories": [ "categories": [
1 1

View File

@@ -23,7 +23,7 @@
"ram": 512, "ram": 512,
"hdd": 2, "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "13"
} }
} }
], ],

View File

@@ -31,5 +31,10 @@
"username": null, "username": null,
"password": null "password": null
}, },
"notes": [] "notes": [
{
"text": "Script contains optional installation of Ollama.",
"type": "info"
}
]
} }

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox Backup Server Processor Microcode", "name": "PBS Processor Microcode",
"slug": "pbs-microcode", "slug": "pbs-microcode",
"categories": [ "categories": [
1 1

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox Backup Server Post Install", "name": "PBS Post Install",
"slug": "post-pbs-install", "slug": "post-pbs-install",
"categories": [ "categories": [
1 1
@@ -13,7 +13,7 @@
"website": null, "website": null,
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
"config_path": "", "config_path": "",
"description": "The script will give options to Disable the Enterprise Repo, Add/Correct PBS Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Backup Server and Reboot PBS.", "description": "The script is designed for Proxmox Backup Server (PBS) and will give options to Disable the Enterprise Repo, Add/Correct PBS Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Backup Server and Reboot PBS.",
"install_methods": [ "install_methods": [
{ {
"type": "default", "type": "default",

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox Mail Gateway Post Install", "name": "PMG Post Install",
"slug": "post-pmg-install", "slug": "post-pmg-install",
"categories": [ "categories": [
1 1
@@ -13,7 +13,7 @@
"website": null, "website": null,
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
"config_path": "", "config_path": "",
"description": "The script will give options to Disable the Enterprise Repo, Add/Correct PMG Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Mail Gateway and Reboot PMG.", "description": "The script is designed for Proxmox Mail Gateway and will give options to Disable the Enterprise Repo, Add/Correct PMG Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Mail Gateway and Reboot PMG.",
"install_methods": [ "install_methods": [
{ {
"type": "default", "type": "default",

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox VE Post Install", "name": "PVE Post Install",
"slug": "post-pve-install", "slug": "post-pve-install",
"categories": [ "categories": [
1 1

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox Backup Server", "name": "Proxmox Backup Server (PBS)",
"slug": "proxmox-backup-server", "slug": "proxmox-backup-server",
"categories": [ "categories": [
1 1

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox Datacenter Manager", "name": "Proxmox Datacenter Manager (PDM)",
"slug": "proxmox-datacenter-manager", "slug": "proxmox-datacenter-manager",
"categories": [ "categories": [
1 1

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox Mail Gateway", "name": "Proxmox Mail Gateway (PMG)",
"slug": "proxmox-mail-gateway", "slug": "proxmox-mail-gateway",
"categories": [ "categories": [
1 1

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox VE CPU Scaling Governor", "name": "PVE CPU Scaling Governor",
"slug": "scaling-governor", "slug": "scaling-governor",
"categories": [ "categories": [
1 1

View File

@@ -10,7 +10,7 @@
"privileged": false, "privileged": false,
"interface_port": 3000, "interface_port": 3000,
"documentation": "https://tracktor.bytedge.in/introduction.html", "documentation": "https://tracktor.bytedge.in/introduction.html",
"config_path": "/opt/tracktor/app/server/.env", "config_path": "/opt/tracktor.env",
"website": "https://tracktor.bytedge.in/", "website": "https://tracktor.bytedge.in/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tracktor.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tracktor.webp",
"description": "Tracktor is an open-source web application for comprehensive vehicle management.\nEasily track fuel consumption, maintenance, insurance, and regulatory documents for all your vehicles in one place.", "description": "Tracktor is an open-source web application for comprehensive vehicle management.\nEasily track fuel consumption, maintenance, insurance, and regulatory documents for all your vehicles in one place.",
@@ -23,17 +23,17 @@
"ram": 1024, "ram": 1024,
"hdd": 6, "hdd": 6,
"os": "Debian", "os": "Debian",
"version": "12" "version": "13"
} }
} }
], ],
"default_credentials": { "default_credentials": {
"username": null, "username": null,
"password": null "password": "123456"
}, },
"notes": [ "notes": [
{ {
"text": "Please check and update the '/opt/tracktor/app/backend/.env' file if using behind reverse proxy.", "text": "Please check and update the '/opt/tracktor.env' file if using behind reverse proxy.",
"type": "info" "type": "info"
} }
] ]

View File

@@ -0,0 +1,35 @@
{
"name": "Tunarr",
"slug": "tunarr",
"categories": [
13
],
"date_created": "2025-09-19",
"type": "ct",
"updateable": true,
"privileged": false,
"config_path": "/opt/tunarr/.env",
"interface_port": 8000,
"documentation": "https://tunarr.com/",
"website": "https://tunarr.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tunarr.webp",
"description": "Create a classic TV experience using your own media - IPTV backed by Plex/Jellyfin/Emby.",
"install_methods": [
{
"type": "default",
"script": "ct/tunarr.sh",
"resources": {
"cpu": 2,
"ram": 1024,
"hdd": 5,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox VE LXC Updater", "name": "PVE LXC Updater",
"slug": "update-lxcs", "slug": "update-lxcs",
"categories": [ "categories": [
1 1
@@ -13,7 +13,7 @@
"website": null, "website": null,
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/linuxcontainers.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/linuxcontainers.webp",
"config_path": "", "config_path": "",
"description": "This script has been created to simplify and speed up the process of updating all LXC containers across various Linux distributions, such as Ubuntu, Debian, Devuan, Alpine Linux, CentOS-Rocky-Alma, Fedora, and ArchLinux. It's designed to automatically skip templates and specific containers during the update, enhancing its convenience and usability.", "description": "This script has been created to simplify and speed up the process of updating the operating system running inside LXC containers across various Linux distributions, such as Ubuntu, Debian, Devuan, Alpine Linux, CentOS-Rocky-Alma, Fedora, and ArchLinux. It's designed to automatically skip templates and specific containers during the update, enhancing its convenience and usability.",
"install_methods": [ "install_methods": [
{ {
"type": "default", "type": "default",
@@ -35,6 +35,10 @@
{ {
"text": "Execute within the Proxmox shell", "text": "Execute within the Proxmox shell",
"type": "info" "type": "info"
},
{
"text": "The script updates only the operating system of the LXC container. It DOES NOT update the application installed within the container!",
"type": "warning"
} }
] ]
} }

View File

@@ -1,5 +1,5 @@
{ {
"name": "Proxmox Update Repositories", "name": "PVE Update Repositories",
"slug": "update-repo", "slug": "update-repo",
"categories": [ "categories": [
1 1

View File

@@ -0,0 +1,40 @@
{
"name": "UpSnap",
"slug": "upsnap",
"categories": [
4
],
"date_created": "2025-09-23",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8090,
"documentation": "https://github.com/seriousm4x/UpSnap/wiki",
"config_path": "",
"website": "https://github.com/seriousm4x/UpSnap",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/upsnap.webp",
"description": "UpSnap is a self-hosted web app that lets you wake up, manage and monitor devices on your network with ease. Built with SvelteKit, Go and PocketBase, it offers a clean dashboard, scheduled wake-ups, device discovery and secure user management.",
"install_methods": [
{
"type": "default",
"script": "ct/upsnap.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 2,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "The first user you register will be the admin user.",
"type": "info"
}
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -21,7 +21,7 @@
"resources": { "resources": {
"cpu": 4, "cpu": 4,
"ram": 4096, "ram": 4096,
"hdd": 18, "hdd": 25,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@@ -23,7 +23,7 @@
"ram": 4096, "ram": 4096,
"hdd": 6, "hdd": 6,
"os": "debian", "os": "debian",
"version": "12" "version": "13"
} }
} }
], ],
@@ -33,11 +33,19 @@
}, },
"notes": [ "notes": [
{ {
"text": "Database credentials: `cat zabbix.creds`", "text": "Database credentials: `cat ~/zabbix.creds`",
"type": "info" "type": "info"
}, },
{ {
"text": "Zabbix agent 2 is used by default", "text": "You can choose between Zabbix agent (classic) and agent2 (modern) during installation",
"type": "info"
},
{
"text": "For agent2 the PostgreSQL plugin is installed by default; all plugins are optional",
"type": "info"
},
{
"text": "If agent2 with NVIDIA plugin is installed in an environment without GPU, the installer disables it automatically",
"type": "info" "type": "info"
} }
] ]

View File

@@ -1,4 +1,5 @@
import { useCallback, useEffect, useRef, useState } from "react"; import { useCallback, useEffect, useRef, useState } from "react";
import * as Icons from "lucide-react";
import Image from "next/image"; import Image from "next/image";
import Link from "next/link"; import Link from "next/link";
@@ -9,6 +10,17 @@ import { formattedBadge } from "@/components/command-menu";
import { basePath } from "@/config/site-config"; import { basePath } from "@/config/site-config";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
function getCategoryIcon(iconName: string) {
// Convert kebab-case to PascalCase for Lucide icon names
const pascalCaseName = iconName
.split("-")
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
.join("");
const IconComponent = (Icons as any)[pascalCaseName];
return IconComponent ? <IconComponent className="size-4 text-[#0083c3] mr-2" /> : null;
}
export default function ScriptAccordion({ export default function ScriptAccordion({
items, items,
selectedScript, selectedScript,
@@ -81,10 +93,13 @@ export default function ScriptAccordion({
)} )}
> >
<div className="mr-2 flex w-full items-center justify-between"> <div className="mr-2 flex w-full items-center justify-between">
<span className="pl-2 text-left"> <div className="flex items-center pl-2 text-left">
{category.name} {getCategoryIcon(category.icon)}
{" "} <span>
</span> {category.name}
{" "}
</span>
</div>
<span className="rounded-full bg-gray-200 px-2 py-1 text-xs text-muted-foreground hover:no-underline dark:bg-blue-800/20"> <span className="rounded-full bg-gray-200 px-2 py-1 text-xs text-muted-foreground hover:no-underline dark:bg-blue-800/20">
{category.scripts.length} {category.scripts.length}
</span> </span>
@@ -103,10 +118,9 @@ export default function ScriptAccordion({
query: { id: script.slug, category: category.name }, query: { id: script.slug, category: category.name },
}} }}
prefetch={false} prefetch={false}
className={`flex cursor-pointer items-center justify-between gap-1 px-1 py-1 text-muted-foreground hover:rounded-lg hover:bg-accent/60 hover:dark:bg-accent/20 ${ className={`flex cursor-pointer items-center justify-between gap-1 px-1 py-1 text-muted-foreground hover:rounded-lg hover:bg-accent/60 hover:dark:bg-accent/20 ${selectedScript === script.slug
selectedScript === script.slug ? "rounded-lg bg-accent font-semibold dark:bg-accent/30 dark:text-white"
? "rounded-lg bg-accent font-semibold dark:bg-accent/30 dark:text-white" : ""
: ""
}`} }`}
onClick={() => { onClick={() => {
handleSelected(script.slug); handleSelected(script.slug);

View File

@@ -41,6 +41,8 @@ export type Category = {
name: string; name: string;
id: number; id: number;
sort_order: number; sort_order: number;
description: string;
icon: string;
scripts: Script[]; scripts: Script[];
}; };

View File

@@ -13,9 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
msg_info "Installing AdGuard Home" fetch_and_deploy_gh_release "AdGuardHome" "AdguardTeam/AdGuardHome" "prebuild" "latest" "/opt/AdGuardHome" "AdGuardHome_linux_amd64.tar.gz"
$STD tar zxvf <(curl -fsSL https://static.adtidy.org/adguardhome/release/AdGuardHome_linux_amd64.tar.gz) -C /opt
msg_ok "Installed AdGuard Home"
msg_info "Creating Service" msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/AdGuardHome.service cat <<EOF >/etc/systemd/system/AdGuardHome.service
@@ -45,6 +43,7 @@ motd_ssh
customize customize
msg_info "Cleaning up" msg_info "Cleaning up"
$STD apt-get -y autoremove $STD apt -y autoremove
$STD apt-get -y autoclean $STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@@ -0,0 +1,70 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: cobalt (cobaltgit)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://caddyserver.com/
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Caddy"
$STD apk add --no-cache caddy caddy-openrc
cat <<EOF >/etc/caddy/Caddyfile
:80 {
# Set this path to your site's directory.
root * /var/www/html
# Enable the static file server.
file_server
# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080
# Or serve a PHP site through php-fpm:
# php_fastcgi localhost:9000
}
EOF
mkdir -p /var/www/html
cat <<EOF >/var/www/html/index.html
<!DOCTYPE html>
<html>
<head>
<title>Caddy works!</title>
</head>
<body>
<h1>Hello Caddy!</h1>
<p>For more information, refer to the Caddy <a href="https://caddyserver.com/docs/">documentation</a><p>
</body>
</html>
EOF
msg_ok "Installed Caddy"
read -r -p "${TAB3}Would you like to install xCaddy Addon? <y/N> " prompt
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
GO_VERSION="$(curl -fsSL https://go.dev/VERSION?m=text | head -1 | cut -c3-)" setup_go
msg_info "Setup xCaddy"
cd /opt
RELEASE=$(curl -fsSL https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.tar.gz" -o "xcaddy_${RELEASE:1}_linux_amd64.tar.gz"
$STD tar xzf xcaddy_"${RELEASE:1}"_linux_amd64.tar.gz -C /usr/local/bin xcaddy
rm -rf /opt/xcaddy*
$STD xcaddy build
msg_ok "Setup xCaddy"
fi
msg_info "Enabling Caddy Service"
$STD rc-update add caddy default
msg_ok "Enabled Caddy Service"
msg_info "Starting Caddy"
$STD service caddy start
msg_ok "Started Caddy"
motd_ssh
customize

View File

@@ -13,7 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_linux_x86_64.tar.gz" fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_Linux_x86_64.tar.gz"
msg_info "Configuring Blocky" msg_info "Configuring Blocky"
if systemctl is-active systemd-resolved >/dev/null 2>&1; then if systemctl is-active systemd-resolved >/dev/null 2>&1; then

View File

@@ -15,11 +15,16 @@ update_os
msg_info "Installing Cloudflared" msg_info "Installing Cloudflared"
mkdir -p --mode=0755 /usr/share/keyrings mkdir -p --mode=0755 /usr/share/keyrings
VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)"
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg >/usr/share/keyrings/cloudflare-main.gpg curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg >/usr/share/keyrings/cloudflare-main.gpg
echo "deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared $VERSION main" >/etc/apt/sources.list.d/cloudflared.list cat <<EOF >/etc/apt/sources.list.d/cloudflared.sources
$STD apt-get update Types: deb
$STD apt-get install -y cloudflared URIs: https://pkg.cloudflare.com/cloudflared/
Suites: any
Components: main
Signed-By: /usr/share/keyrings/cloudflare-main.gpg
EOF
$STD apt update
$STD apt install -y cloudflared
msg_ok "Installed Cloudflared" msg_ok "Installed Cloudflared"
read -r -p "${TAB3}Would you like to configure cloudflared as a DNS-over-HTTPS (DoH) proxy? <y/N> " prompt read -r -p "${TAB3}Would you like to configure cloudflared as a DNS-over-HTTPS (DoH) proxy? <y/N> " prompt
@@ -61,6 +66,7 @@ motd_ssh
customize customize
msg_info "Cleaning up" msg_info "Cleaning up"
$STD apt-get -y autoremove $STD apt -y autoremove
$STD apt-get -y autoclean $STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@@ -17,6 +17,8 @@ motd_ssh
customize customize
msg_info "Cleaning up" msg_info "Cleaning up"
$STD apt-get -y autoremove $STD apt -y autoremove
$STD apt-get -y autoclean $STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@@ -0,0 +1,30 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Giovanni Pellerano (evilaliv3)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/globaleaks/globaleaks-whistleblowing-software
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Setup GlobaLeaks"
DISTRO_CODENAME="$(awk -F= '/^VERSION_CODENAME=/{print $2}' /etc/os-release)"
curl -fsSL https://deb.globaleaks.org/globaleaks.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/globaleaks.gpg
echo "deb [signed-by=/etc/apt/trusted.gpg.d/globaleaks.gpg] http://deb.globaleaks.org $DISTRO_CODENAME/" >/etc/apt/sources.list.d/globaleaks.list
echo 'APPARMOR_SANDBOXING=0' >/etc/default/globaleaks
$STD apt update
$STD apt -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold install globaleaks
msg_ok "Setup GlobaLeaks"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

62
install/goaway-install.sh Normal file
View File

@@ -0,0 +1,62 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/pommee/goaway
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y net-tools
msg_ok "Installed Dependencies"
fetch_and_deploy_gh_release "goaway" "pommee/goaway" "prebuild" "latest" "/opt/goaway" "goaway_*_linux_amd64.tar.gz"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/goaway.service
[Unit]
Description=GoAway Service
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/goaway
ExecStart=/opt/goaway/goaway
StandardOutput=file:/var/log/goaway.log
StandardError=inherit
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now goaway
sleep 10
for i in {1..30}; do
ADMIN_PASS=$(awk -F': ' "/Randomly generated admin password:/ {print \$2; exit}" /var/log/goaway.log)
[ -n "$ADMIN_PASS" ] && break
sleep 1
done
{
echo "GoAway Credentials"
echo "Admin User: admin"
echo "Admin Password: $ADMIN_PASS"
} >>~/goaway.creds
msg_ok "Service Created"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG # Copyright (c) 2021-2025 community-scripts ORG
# Author: cfurrow # Author: cfurrow | 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/gristlabs/grist-core # Source: https://github.com/gristlabs/grist-core
@@ -17,20 +17,15 @@ msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
make \ make \
ca-certificates \ ca-certificates \
python3.11-venv python3-venv
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
fetch_and_deploy_gh_release "grist" "gristlabs/grist-core" "tarball"
msg_info "Installing Grist" msg_info "Installing Grist"
RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
export CYPRESS_INSTALL_BINARY=0 export CYPRESS_INSTALL_BINARY=0
export NODE_OPTIONS="--max-old-space-size=2048" export NODE_OPTIONS="--max-old-space-size=2048"
cd /opt cd /opt/grist
curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
$STD unzip v$RELEASE.zip
mv grist-core-${RELEASE} grist
cd grist
$STD yarn install $STD yarn install
$STD yarn run build:prod $STD yarn run build:prod
$STD yarn run install:python $STD yarn run install:python
@@ -64,7 +59,6 @@ motd_ssh
customize customize
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf /opt/v${RELEASE}.zip
$STD apt-get -y autoremove $STD apt-get -y autoremove
$STD apt-get -y autoclean $STD apt-get -y autoclean
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@@ -24,26 +24,24 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
$STD caddy stop $STD caddy stop
rm /etc/caddy/Caddyfile rm /etc/caddy/Caddyfile
cat <<'EOF' >/etc/caddy/Caddyfile cat <<'EOF' >/etc/caddy/Caddyfile
:{$PORT:80} :80
redir /admin /admin/
handle_path /admin* { handle_path /admin* {
root * /opt/headscale-admin root * /opt/headscale-admin
encode gzip zstd encode gzip zstd
# Correct MIME types for JS/WASM header {
header { X-Content-Type-Options nosniff
@js_files path *.js }
@wasm_files path *.wasm
Content-Type @js_files application/javascript try_files {path} {path}/ /opt/headscale-admin/index.html
Content-Type @wasm_files application/wasm file_server
}
X-Content-Type-Options nosniff handle /api/* {
} reverse_proxy localhost:8080
# Fallback for SPA routing
try_files {path} {path}/ index.html
file_server
} }
EOF EOF

Some files were not shown because too many files have changed in this diff Show More