Compare commits

...

545 Commits

Author SHA1 Message Date
vhsdream
43f02bfc4d Immich: remove commented out psql commands 2025-05-24 16:52:01 -04:00
vhsdream
8b89fb0b52 Immich: increase disk resource; add logic for determining upload location change
- Increasing disk resources to 20GB
- Adding 'IMMICH_MEDIA_LOCATION' env var to .env - edit this to change
Immich upload location
- Read IMMICH_MEDIA_LOCATION from env during update for dynamic symlinks
2025-05-24 13:41:23 -04:00
app-header-generator[bot]
1c484d21be
Update versions.json (#452)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-24 12:34:24 +00:00
app-header-generator[bot]
c5f88156e7
Update .app files (#451)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-24 06:40:50 +00:00
CanbiZ
39fd09330a
Merge pull request #446 from omiinaya/convertx
New Script: ConvertX
2025-05-24 08:40:30 +02:00
app-header-generator[bot]
941477b515
Update versions.json (#450)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-24 01:25:04 +00:00
vhsdream
42641590a9 Immich: increase disk to 16GB; add message about RAM usage for OpenVINO option 2025-05-23 13:11:36 -04:00
vhsdream
ba74e60fe3 Immich: test removal of psql extension commands 2025-05-23 08:58:33 -04:00
app-header-generator[bot]
b9919f8e83
Update versions.json (#449)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-23 12:37:26 +00:00
Michel Roegl-Brunner
42c2690c1e
Update delete_new_script.yaml 2025-05-23 12:55:36 +02:00
app-header-generator[bot]
6a040c95aa
Update .app files (#448)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-23 10:51:30 +00:00
CanbiZ
f1c93fc941 remove 2025-05-23 12:51:05 +02:00
CanbiZ
d2a41c0c61 update icons 2025-05-23 12:49:16 +02:00
CanbiZ
2741ef8498 dev create_lxc performance & stabl. 2025-05-23 12:47:35 +02:00
CanbiZ
21f7b6a63a test 2025-05-23 11:37:42 +02:00
CanbiZ
4321c41f22 performance lxc-creation 2025-05-23 11:31:05 +02:00
CanbiZ
c1b8f35715 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-23 11:25:48 +02:00
CanbiZ
bc6b9afabd Update create_lxc.sh 2025-05-23 11:25:46 +02:00
Omar
e49c02db8c correcting tar cleanup directory 2025-05-23 03:02:12 -04:00
Omar
f6775ba8a7 correcting build.func source 2025-05-23 03:00:24 -04:00
Omar
d0e2f720fc removing curl as not needed 2025-05-23 02:48:31 -04:00
Omar
cf2482cdd1 updating as requested 2025-05-23 02:47:05 -04:00
app-header-generator[bot]
7f0efac009
Update .app files (#447)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-23 06:29:59 +00:00
CanbiZ
88b1ca23f4 - 2025-05-23 08:29:34 +02:00
CanbiZ
4369db931c test 2025-05-23 08:27:13 +02:00
Omar
2173432f97 restarting after updating. 2025-05-23 00:22:48 -04:00
Omar
94beb36e17 init 2025-05-23 00:14:13 -04:00
app-header-generator[bot]
dbcd1db4dc
Update versions.json (#444)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-23 01:28:00 +00:00
vhsdream
7ab488e7f3 Immich.sh: Uninstall previous database extension package 2025-05-22 15:49:53 -04:00
vhsdream
58ad137936 Immich: alternate method of migration 2025-05-22 15:31:00 -04:00
vhsdream
0163e04f1c Immich: replace vectors.so with vchord.so in postgresql.conf 2025-05-22 13:20:39 -04:00
Tobias
c3ca49abc9
Update gitea-mirror-install.sh 2025-05-22 16:32:18 +02:00
Tobias
9ee42682a1
Update gitea-mirror.sh 2025-05-22 16:31:40 +02:00
Tobias
1a5e606a93
Create gitea-mirror-install.sh 2025-05-22 16:31:22 +02:00
Tobias
4e195d0aca
Update gitea-mirror.sh 2025-05-22 16:14:19 +02:00
CanbiZ
4185c237ca Update build.func 2025-05-22 14:57:32 +02:00
CanbiZ
9686d22890 Update build.func 2025-05-22 14:57:15 +02:00
CanbiZ
36ae2dab59 Update build.func 2025-05-22 14:55:49 +02:00
CanbiZ
74931496f6 Update build.func 2025-05-22 14:53:54 +02:00
CanbiZ
de9b58b5e7 Update build.func 2025-05-22 14:52:25 +02:00
CanbiZ
6f0848be86 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-22 14:46:01 +02:00
CanbiZ
c938d74ecb Update build.func 2025-05-22 14:46:00 +02:00
app-header-generator[bot]
29ceeec5b0
Update versions.json (#443)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-22 12:39:30 +00:00
CanbiZ
973b1b03d2 Update build.func 2025-05-22 14:33:02 +02:00
CanbiZ
4a1a4b949c Update build.func 2025-05-22 14:31:15 +02:00
CanbiZ
563769904f test 2025-05-22 14:25:39 +02:00
CanbiZ
c829611d1a Update build.func 2025-05-22 14:24:33 +02:00
CanbiZ
6924312beb Update argus.sh 2025-05-22 14:21:32 +02:00
CanbiZ
41dd87877b Update build.func 2025-05-22 14:20:11 +02:00
CanbiZ
8ea8e23898 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-22 14:18:21 +02:00
CanbiZ
aa030679a7 Update build.func 2025-05-22 14:18:20 +02:00
vhsdream
bc0554a987 Immich: change env to use vectorchord 2025-05-22 08:15:10 -04:00
CanbiZ
4f3b893e7d Update api.func 2025-05-22 14:14:02 +02:00
CanbiZ
8f03b009cb Update argus.sh 2025-05-22 14:13:10 +02:00
CanbiZ
eef5977f4f Update argus-install.sh 2025-05-22 14:10:54 +02:00
CanbiZ
9038a1d43d Update pulse.sh 2025-05-22 14:09:00 +02:00
CanbiZ
2a925def1d Update pulse.sh 2025-05-22 13:57:21 +02:00
CanbiZ
bf332429b7 Update pulse.sh 2025-05-22 13:57:07 +02:00
CanbiZ
e64dea0ee2 Update pulse.sh 2025-05-22 13:55:21 +02:00
CanbiZ
a19483bc5b Update pulse.sh 2025-05-22 13:54:19 +02:00
CanbiZ
90cd1745f2 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-22 13:53:39 +02:00
CanbiZ
491683276f Update pulse.sh 2025-05-22 13:53:23 +02:00
vhsdream
d0d1f25860 immich.sh: fix issue with sed command 2025-05-22 07:27:08 -04:00
vhsdream
e832770c41 Immich: remove build-lock copy command 2025-05-22 07:14:38 -04:00
CanbiZ
76506bcbfd Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-22 13:13:47 +02:00
CanbiZ
4fb5911400 Update pulse-install.sh 2025-05-22 13:13:46 +02:00
vhsdream
d82a6cc91c fix immich.sh 2025-05-22 07:00:33 -04:00
CanbiZ
b5e17cdaeb Update pulse-install.sh 2025-05-22 12:24:37 +02:00
CanbiZ
b9b85f5782 Update pulse-install.sh 2025-05-22 12:23:47 +02:00
CanbiZ
94a5104975 Update pulse.json 2025-05-22 12:22:50 +02:00
CanbiZ
1aa4e654d3 Update pulse-install.sh 2025-05-22 12:13:02 +02:00
CanbiZ
5a0f0dc934 Update pulse-install.sh 2025-05-22 12:07:11 +02:00
CanbiZ
dadf2d929d fix json 2025-05-22 12:05:51 +02:00
CanbiZ
a03ed4d018 Update pulse-install.sh 2025-05-22 12:03:53 +02:00
CanbiZ
378ad7e7f2 Update pulse-install.sh 2025-05-22 12:03:02 +02:00
CanbiZ
92445d4ae8 fixes 2025-05-22 11:53:51 +02:00
CanbiZ
ce23c8146a FUSE 2025-05-22 11:09:41 +02:00
CanbiZ
c976dd4184 Update pve-privilege-converter.sh 2025-05-22 11:00:28 +02:00
CanbiZ
08fb1cce8b Update pve-privilege-converter.sh 2025-05-22 10:55:40 +02:00
CanbiZ
d2d54c1bf1 Update pve-privilege-converter.sh 2025-05-22 10:52:20 +02:00
CanbiZ
380318d545 Update pve-privilege-converter.sh 2025-05-22 10:48:54 +02:00
CanbiZ
493aa8dfe2 test 2025-05-22 10:47:54 +02:00
app-header-generator[bot]
f2aca21d24
Update .app files (#442)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-22 08:44:32 +00:00
CanbiZ
0dd24be0be Update generate-app-headers.sh 2025-05-22 10:42:41 +02:00
CanbiZ
a44a13f81b fixes 2025-05-22 10:37:09 +02:00
CanbiZ
3e8f4cc4ba Update lyrionmusicserver-install.sh 2025-05-22 10:32:39 +02:00
CanbiZ
5c106d65d0 privilege converter 2025-05-22 10:30:51 +02:00
app-header-generator[bot]
c5e8428e68
Update .app files (#441)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-22 05:02:58 +00:00
Omar Minaya
46973e6118
rebasing... (#438) 2025-05-22 05:02:39 +00:00
Tobias
a0633e94f8
start work on gitea-mirror script 2025-05-22 07:02:21 +02:00
vhsdream
d5e4de57e1 Immich: Untested fix for 1.133.0
- checks if installed version is <1.133.0 and upgrades/migrates to
VectorChord in immich.sh
- Fresh install now uses VectorChord in immich-install.sh
2025-05-21 22:20:44 -04:00
app-header-generator[bot]
2f58662ff7
Update versions.json (#439)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-22 01:27:55 +00:00
CanbiZ
835090396a Update healthchecks-install.sh 2025-05-21 15:23:07 +02:00
CanbiZ
562aa611f0 Update healthchecks-install.sh 2025-05-21 15:03:16 +02:00
CanbiZ
db79261e56 Update healthchecks-install.sh 2025-05-21 14:59:39 +02:00
CanbiZ
1fd66479f6 test 2025-05-21 14:58:16 +02:00
app-header-generator[bot]
f554b54c4d
Update .app files (#435)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-21 12:38:58 +00:00
CanbiZ
fcc33fb2b2 fix some things 2025-05-21 14:38:32 +02:00
CanbiZ
d0561b05a8 Update debian-install.sh 2025-05-21 12:41:09 +02:00
CanbiZ
21d96e62a1 Update immich-install.sh 2025-05-21 11:20:33 +02:00
CanbiZ
583f137424 cleanup 2025-05-21 10:09:43 +02:00
CanbiZ
d0c0fd2a72 update icons 2025-05-21 08:59:09 +02:00
CanbiZ
e10e31211a some fixes 2025-05-21 08:52:52 +02:00
CanbiZ
2aaa7ee87a Update configarr.sh 2025-05-21 08:36:27 +02:00
CanbiZ
92ca930cae fixes 2025-05-21 08:27:00 +02:00
app-header-generator[bot]
e43ecba808
Update .app files (#432)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-21 06:27:00 +00:00
CanbiZ
9982d8eeb6
Merge pull request #416 from omiinaya/kasm
New Script: Kasm
2025-05-21 08:26:29 +02:00
app-header-generator[bot]
b509f1203c
Update versions.json (#431)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-21 01:37:02 +00:00
Omar Minaya
df0839f8d6 applying suggested changes. 2025-05-20 15:49:25 -04:00
Omar Minaya
118d744f54 applying suggested changes. 2025-05-20 15:14:45 -04:00
Omar Minaya
e75ddec54a correcting build.func source 2025-05-20 14:38:37 -04:00
Omar Minaya
7b0864596b using new build.func for tun and fuse 2025-05-20 14:37:19 -04:00
Omar Minaya
e392e5722d Merge branch 'main' of https://github.com/omiinaya/ProxmoxVED into kasm 2025-05-20 14:36:37 -04:00
CanbiZ
46497cdc8d Update build.func 2025-05-20 17:12:34 +02:00
CanbiZ
f6fbb209e9 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-20 17:11:37 +02:00
CanbiZ
9f612cafbb test 2025-05-20 17:11:07 +02:00
app-header-generator[bot]
5c253045d8
[core] update .app files (#430)
* Update argus.sh

* Update .app files

---------

Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-20 15:10:59 +00:00
app-header-generator[bot]
0f2af7f39f
Update .app files (#429)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-20 15:10:49 +00:00
CanbiZ
16d6e24f16 Update argus.sh 2025-05-20 17:10:33 +02:00
CanbiZ
5cce814831 Update argus.sh 2025-05-20 17:10:22 +02:00
CanbiZ
c2530348ee Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-20 17:08:46 +02:00
CanbiZ
ee8a808c29 Update build.func 2025-05-20 17:08:45 +02:00
CanbiZ
4e8067e485
Merge pull request #303 from aliaksei135/garmin-grafana
Add garmin-grafana LXC script
2025-05-20 16:57:13 +02:00
CanbiZ
1adf9d06ef
Merge pull request #260 from rcourtman/add-pulse
Add Pulse LXC script
2025-05-20 16:56:56 +02:00
app-header-generator[bot]
683d0e7279
Update versions.json (#427)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-20 12:39:51 +00:00
85c2c99b12 Add LXC-Updater 2025-05-20 14:07:15 +02:00
tremor021
8e1d8bdefa Update oweb 2025-05-20 11:20:04 +02:00
tremor021
98368bdd1b update 2025-05-20 10:54:39 +02:00
CanbiZ
6b1a5349ca Update tools.func 2025-05-20 10:08:34 +02:00
17a862c810 Config File 2025-05-20 10:03:23 +02:00
4cd307543a Config File 2025-05-20 10:02:14 +02:00
cb477e91f1 Config File 2025-05-20 09:59:55 +02:00
7edc2132c2 Config File 2025-05-20 09:57:58 +02:00
957ba3c430 Config File 2025-05-20 09:57:50 +02:00
aebc3cddde Config File 2025-05-20 09:54:41 +02:00
ef0fcb96a1 Config File 2025-05-20 09:52:16 +02:00
24dc2c887a Config File 2025-05-20 09:46:16 +02:00
b8e3bb02d3 Config File 2025-05-20 09:45:04 +02:00
5bdcf2f2bd Config File 2025-05-20 09:43:20 +02:00
77080e6fb5 Config File 2025-05-20 09:38:35 +02:00
27da0b98fe Config File 2025-05-20 09:38:35 +02:00
CanbiZ
d7c78f3269 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-20 09:36:40 +02:00
ece6c7c07b Config File 2025-05-20 09:32:58 +02:00
CanbiZ
bfcd955c0b - 2025-05-20 09:32:49 +02:00
CanbiZ
09273f00dd Update install.func 2025-05-20 09:31:52 +02:00
CanbiZ
3684c3d3b2 Update build.func 2025-05-20 09:31:38 +02:00
CanbiZ
87143ae90f Update core.func 2025-05-20 09:31:04 +02:00
CanbiZ
91852f78ca Update build.func 2025-05-20 09:29:32 +02:00
CanbiZ
5161a371ed Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-20 09:27:27 +02:00
CanbiZ
5f5478b19f test 2025-05-20 09:27:11 +02:00
c3420494dd Config File 2025-05-20 09:26:50 +02:00
74bcd30ef3 Config File 2025-05-20 09:25:32 +02:00
a8bb5347a3 Config File 2025-05-20 09:24:45 +02:00
5f8f57023f Config File 2025-05-20 09:22:00 +02:00
CanbiZ
0e626b5028 reverted 2025-05-20 09:19:14 +02:00
CanbiZ
8428c9a449 test 2025-05-20 09:16:53 +02:00
CanbiZ
cd808970cc Update build.func 2025-05-20 09:14:07 +02:00
CanbiZ
b26c438707 Update build.func 2025-05-20 09:11:42 +02:00
CanbiZ
e1edebd91c Update build.func 2025-05-20 09:02:25 +02:00
CanbiZ
10b980fb86 trap handler 2025-05-20 08:52:48 +02:00
app-header-generator[bot]
1f98e049d2
Update versions.json (#426)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-20 01:37:01 +00:00
tremor021
b8e8a5048b Update oweb 2025-05-19 23:23:05 +02:00
tremor021
e59cc56253 Update oweb 2025-05-19 22:48:48 +02:00
app-header-generator[bot]
cc51e7d9c9
Update .app files (#425)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-19 20:36:43 +00:00
tremor021
2da7eaa41a test 2025-05-19 22:36:09 +02:00
CanbiZ
21bd9618c0 Update argus.json 2025-05-19 14:47:49 +02:00
CanbiZ
1fab51e698 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-19 14:45:22 +02:00
CanbiZ
9d3dea7950 Create argus.json 2025-05-19 14:45:16 +02:00
app-header-generator[bot]
fa09116826
Update .app files (#424)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-19 12:43:41 +00:00
CanbiZ
6e9e4fdcba Argus 2025-05-19 14:43:19 +02:00
app-header-generator[bot]
dd97a162ee
Update versions.json (#423)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-19 12:39:56 +00:00
CanbiZ
8e172e1fd1 Create argus-install.sh 2025-05-19 14:38:26 +02:00
app-header-generator[bot]
cd5be58c84
Update .app files (#421)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-19 11:32:06 +00:00
CanbiZ
b033ef7619 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-19 13:31:42 +02:00
CanbiZ
764a21ef09 Update alpine-homarr.sh 2025-05-19 13:31:38 +02:00
app-header-generator[bot]
a5f64865a6
Update .app files (#420)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-19 11:29:04 +00:00
CanbiZ
fd9889bf8a test 2025-05-19 13:28:43 +02:00
app-header-generator[bot]
d0742ccc0b
Update .app files (#418)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-19 08:03:29 +00:00
finkerle
fcea354de2
Add install script for configarr (#401) 2025-05-19 10:03:09 +02:00
Omar
5bd9c47128 Merge branch 'main' of https://github.com/omiinaya/ProxmoxVED into kasm 2025-05-18 22:09:30 -04:00
Omar
df13dd31b2 init 2025-05-18 21:49:44 -04:00
app-header-generator[bot]
0cc61a148f
Update versions.json (#417)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-19 01:40:24 +00:00
vhsdream
b59473fcf1 immich.sh: use existing array to update installed library revisions file 2025-05-18 18:19:36 -04:00
vhsdream
2569cadee3 immich.sh: correct paths for library revisions and revamp comparison logic 2025-05-18 18:15:57 -04:00
vhsdream
39c97b9aa0 Immich-install.sh: correct paths for libjxl patches 2025-05-18 16:16:32 -04:00
vhsdream
87283b61d2 Immich-install.sh: add labels to library revision tracking 2025-05-18 16:06:58 -04:00
Tobias
eb143cc65a
Update homarr.sh 2025-05-18 19:55:05 +02:00
Tobias
49e71dc56a
Update homarr.sh 2025-05-18 19:52:54 +02:00
Tobias
247f056231
Update homarr.sh 2025-05-18 19:46:58 +02:00
Tobias
0f0a5feaa7
Update homarr.sh 2025-05-18 19:46:15 +02:00
Tobias
00bbe722b7
Update homarr.sh 2025-05-18 19:44:03 +02:00
Tobias
5eb5062a27
Update homarr.sh 2025-05-18 19:41:11 +02:00
Tobias
563270cb5e
Update homarr.sh 2025-05-18 19:34:03 +02:00
Tobias
9004f93ddc
Update homarr.sh 2025-05-18 19:28:37 +02:00
app-header-generator[bot]
36e7dfafff
Update .app files (#414)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-18 15:29:53 +00:00
tremor021
d950fa275e Update app title 2025-05-18 17:29:18 +02:00
app-header-generator[bot]
e561064e85
Update .app files (#413)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-18 15:23:38 +00:00
tremor021
2a6341c952 Add jitsi-meet script 2025-05-18 17:22:58 +02:00
vhsdream
77103dce4b Immich: fix paths to versioned json for image-processing builds 2025-05-18 10:09:22 -04:00
Bas van den Berg
b01fa88815 Fix issues 2025-05-18 15:24:10 +02:00
Bas van den Berg
6405db3a53 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-18 15:12:54 +02:00
Bas van den Berg
bcf0a65cd4 Update bar-assistant-install.sh 2025-05-18 15:12:45 +02:00
app-header-generator[bot]
4bc100b31d
Update versions.json (#412)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-18 12:34:59 +00:00
Bas van den Berg
0f0d883e96 Update bar-assistant-install.sh 2025-05-18 10:43:29 +02:00
Bas van den Berg
728d0b6c78 Update bar-assistant-install.sh 2025-05-18 10:26:33 +02:00
app-header-generator[bot]
752069af38
Update versions.json (#411)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-18 01:41:07 +00:00
app-header-generator[bot]
8634d3f88b
Update versions.json (#410)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-17 12:34:35 +00:00
Bas van den Berg
4a9e202c9c Update bar-assistant-install.sh 2025-05-17 12:13:26 +02:00
app-header-generator[bot]
daf76da6c9
Update versions.json (#409)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-17 01:26:42 +00:00
tremor021
4b12e672d4 Update homarr 2025-05-16 23:22:56 +02:00
Tobias
d593d4e8ad
Update homarr.sh 2025-05-16 23:15:11 +02:00
Tobias
8c881cbe26
Update homarr.sh 2025-05-16 23:11:18 +02:00
Tobias
34fc83e475
Update homarr.sh 2025-05-16 23:09:44 +02:00
Tobias
30abe3e9bc
Update homarr.sh 2025-05-16 22:46:49 +02:00
Tobias
80b63ac95d
Update homarr.sh 2025-05-16 22:40:13 +02:00
Tobias
42f61c1f5b
Update homarr.sh 2025-05-16 22:32:49 +02:00
app-header-generator[bot]
f101782fcb
Update .app files (#408)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-16 20:31:11 +00:00
Tobias
83af3038da
Update homarr.sh 2025-05-16 22:30:51 +02:00
app-header-generator[bot]
efcbd6c3ae
Update versions.json (#407)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-16 12:39:11 +00:00
1c7909cf19 Refactor variable assignments in build function for enhanced configuration management 2025-05-16 12:20:08 +02:00
d76551cd43 Improve APT-Cacher IP validation and handling in config_file function 2025-05-16 12:17:33 +02:00
adb5031166 Add default values for unset variables in build function for improved handling 2025-05-16 12:13:39 +02:00
ccc3c72bb9 Update password check in config_file function for clarity and consistency 2025-05-16 12:08:44 +02:00
19d6c289a7 Add default values for unset variables in build function for improved robustness 2025-05-16 12:07:47 +02:00
8b44ac6874 Add additional variable assignments in build function for improved configuration handling 2025-05-16 12:05:12 +02:00
bd5eeaca30 Update password handling in config_file function to use PW_CONFIG for clarity and improve validation checks 2025-05-16 11:09:29 +02:00
8fb0cc90a7 Fix VERBOSE variable assignment for consistency in build function 2025-05-16 11:04:11 +02:00
6ab44f93e9 Update VERBOSE variable assignment to use VERB for consistency in build function 2025-05-16 11:02:32 +02:00
30d0b807b8 Refactor config_file function to improve variable expansion handling for SSH and VERBOSE checks 2025-05-16 11:01:09 +02:00
033ec6731a Set default value for TAGS in config_file function to ensure tags are initialized 2025-05-16 11:00:26 +02:00
c6613d71d4 test 2025-05-16 10:59:02 +02:00
676a85f99e test 2025-05-16 10:57:57 +02:00
5b6882f13f Fix indentation in config_file function to ensure proper script execution flow 2025-05-16 10:56:40 +02:00
749f22c72b Enhance config_file function to improve MAC address validation by allowing unset variable expansion 2025-05-16 10:55:18 +02:00
741e2942db Enhance config_file function to improve APT-Cacher IP, MTU, DNS settings, VLAN, Tags, SSH access, and Verbose mode handling with user prompts and validation 2025-05-16 10:54:45 +02:00
a0ffccfb5a Enhance config_file function to improve static IP and gateway input handling with user prompts and validation 2025-05-16 10:46:23 +02:00
7044e01015 Enhance config_file function to improve CPU and RAM allocation handling with user prompts and validation 2025-05-16 10:43:38 +02:00
5f6063f57d Enhance config_file function to improve hostname and disk size input handling with user prompts and validation 2025-05-16 10:41:29 +02:00
36809a99dc Enhance config_file function to implement robust password validation and user feedback for root password setup 2025-05-16 10:40:19 +02:00
d8947336f3 Refactor config_file function to improve handling of empty Container Type and enhance user interaction with whiptail for type selection 2025-05-16 10:38:36 +02:00
ffb7e4acd2 Enhance config_file function to handle empty Container ID and improve password variable expansion syntax 2025-05-16 10:36:59 +02:00
f9ef70473f Fix variable expansion syntax in config_file function 2025-05-16 10:35:21 +02:00
0321d3d0a4 Fix variable expansion syntax in config_file function 2025-05-16 10:34:38 +02:00
000126e2a7 Remove unnecessary blank lines and redundant base_settings call in build.func 2025-05-16 10:32:59 +02:00
4356a5592b librenms 2025-05-16 10:30:49 +02:00
5da4211b0f Remove redundant base_settings call in config_file function 2025-05-16 10:24:56 +02:00
07d02737ee librenms 2025-05-16 10:23:28 +02:00
b22e74a85a librenms 2025-05-16 10:21:08 +02:00
1014bd7638 librenms 2025-05-16 09:48:50 +02:00
3ad3d4a626 librenms 2025-05-16 09:42:42 +02:00
253d2a5b7d librenms 2025-05-16 09:35:23 +02:00
ba6dcbba4f librenms 2025-05-16 09:28:31 +02:00
CanbiZ
14c38d4193 fix media 2025-05-16 09:15:46 +02:00
9d2a50057a SSH_KEY 2025-05-16 09:10:42 +02:00
CanbiZ
a74990fb56 add babybuddy json 2025-05-16 09:09:48 +02:00
CanbiZ
971c902f3e Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-16 09:05:27 +02:00
CanbiZ
f8c9a2fa9d Update babybuddy-install.sh 2025-05-16 09:05:26 +02:00
01702a24fe Cleanup 2025-05-16 09:02:33 +02:00
b9af9155ea Changes to build.func 2025-05-16 08:55:56 +02:00
f3dfd62c16 Changes to build.func 2025-05-16 08:55:11 +02:00
CanbiZ
d3d9a7594c Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-16 08:54:46 +02:00
CanbiZ
dc77419b09 finalize 2025-05-16 08:54:37 +02:00
cb82dfb0d4 Changes to build.func 2025-05-16 08:53:30 +02:00
CanbiZ
79e83e12d0 Update babybuddy-install.sh 2025-05-16 08:45:44 +02:00
CanbiZ
09b1572c90 Update babybuddy-install.sh 2025-05-16 08:35:44 +02:00
CanbiZ
e389f015f6 Update babybuddy-install.sh 2025-05-16 08:14:07 +02:00
app-header-generator[bot]
ae69dfd36e
Update versions.json (#402)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-16 01:28:06 +00:00
d0fc6883cc Update debian 2025-05-15 16:26:32 +02:00
13e1503515 Tesing 2025-05-15 16:25:44 +02:00
9f6fde840f testing 2025-05-15 16:21:36 +02:00
931acfbfa4 Testing 2025-05-15 16:18:54 +02:00
CanbiZ
bda95f7a79 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 16:15:48 +02:00
CanbiZ
3fe924e0ca Update create_lxc.sh 2025-05-15 16:15:41 +02:00
0580b1d653 test 2025-05-15 16:13:35 +02:00
CanbiZ
6f8b0a6064 Update create_lxc.sh 2025-05-15 16:13:14 +02:00
CanbiZ
3bb7400985 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 16:11:45 +02:00
CanbiZ
8611b3ea2a Update create_lxc.sh 2025-05-15 16:11:40 +02:00
59426da3e0 tools.func 2025-05-15 16:11:08 +02:00
CanbiZ
f2dd5b140f Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 16:10:47 +02:00
CanbiZ
0c39423a5c Update create_lxc.sh 2025-05-15 16:10:40 +02:00
d9be26d116 build.func 2025-05-15 16:10:17 +02:00
92e75854cb Testing 2025-05-15 16:07:15 +02:00
bc001ed6e3 move ct_deletion 2025-05-15 16:06:13 +02:00
CanbiZ
a7cc9a39ca Update tools.func 2025-05-15 16:04:16 +02:00
CanbiZ
9eb3c07789 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 16:04:06 +02:00
CanbiZ
15d87886e3 Update tools.func 2025-05-15 16:03:33 +02:00
1b963854ce ... 2025-05-15 16:02:56 +02:00
CanbiZ
0c9c28a3e7 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 15:59:52 +02:00
CanbiZ
a4041e4fe5 Update tools.func 2025-05-15 15:59:51 +02:00
2b14665c29 build.func 2025-05-15 15:57:51 +02:00
CanbiZ
918c5051b1 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 15:53:51 +02:00
CanbiZ
bee5db8d15 Update core.func 2025-05-15 15:53:44 +02:00
17429010f4 debian-install.sh 2025-05-15 15:52:52 +02:00
CanbiZ
b94f384c7b Update core.func 2025-05-15 15:49:03 +02:00
CanbiZ
f50126511a Update tools.func 2025-05-15 15:47:10 +02:00
cc7b4102bb Try even harder to silence composer 2025-05-15 15:44:17 +02:00
20c27aa959 test remove script 2025-05-15 15:42:53 +02:00
CanbiZ
63b4e0a627 Update core.func 2025-05-15 15:42:24 +02:00
CanbiZ
1110ed29fc test 2025-05-15 15:39:21 +02:00
f947cb8338 build.func 2025-05-15 15:37:45 +02:00
CanbiZ
72e58aa982 Update debian-install.sh 2025-05-15 15:33:53 +02:00
CanbiZ
d79b5f9ef6 Update install.func 2025-05-15 15:29:09 +02:00
CanbiZ
4ccfe1e4ea Update core.func 2025-05-15 15:27:47 +02:00
7e6453a45a librenms 2025-05-15 15:26:44 +02:00
c5963f8a21 Try and silence composer 2025-05-15 15:25:06 +02:00
CanbiZ
e3d650ae8b testing spinner alpine 2025-05-15 15:21:39 +02:00
818f74ee15 changes to install_php 2025-05-15 15:15:58 +02:00
CanbiZ
bd088f0df2 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 15:10:50 +02:00
CanbiZ
0f2e609a42 testing 2025-05-15 15:10:44 +02:00
7836b8d411 DNSOK 2025-05-15 15:10:13 +02:00
CanbiZ
4ff77c52dc Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 15:07:08 +02:00
CanbiZ
d117ac6263 feature dnscheck 2025-05-15 15:06:49 +02:00
ef9cf17bdd Change CM and cross in dns check 2025-05-15 15:04:34 +02:00
CanbiZ
0c68aba810 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 15:02:44 +02:00
CanbiZ
9d4af5021b add fatal 2025-05-15 15:02:36 +02:00
3c1f478251 librenms 2025-05-15 15:01:12 +02:00
CanbiZ
1c9d0d9665 Update install.func 2025-05-15 14:59:20 +02:00
CanbiZ
5c8d79257e Update install.func 2025-05-15 14:57:56 +02:00
CanbiZ
dd85942058 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 14:52:57 +02:00
CanbiZ
4a9a5ab64c Update core.func 2025-05-15 14:52:55 +02:00
2e8e4101e4 librenms 2025-05-15 14:41:46 +02:00
7c09f84031 Silence composer 2025-05-15 14:40:21 +02:00
CanbiZ
fb1b651b3c Update core.func 2025-05-15 14:39:56 +02:00
CanbiZ
3d5467f0e5 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 14:38:36 +02:00
CanbiZ
015fd29065 Update install.func 2025-05-15 14:38:34 +02:00
app-header-generator[bot]
3453421ff7
Update versions.json (#400)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-15 12:38:31 +00:00
23c5acb9d6 Add git.community-scripts.org to dns check 2025-05-15 14:36:58 +02:00
bb519910b6 Librenms 2025-05-15 14:34:24 +02:00
CanbiZ
48361da65d Update install.func 2025-05-15 14:32:35 +02:00
CanbiZ
be202679bb Update core.func 2025-05-15 14:27:53 +02:00
CanbiZ
89e5720cc2 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 14:26:05 +02:00
CanbiZ
4c2a3157ce Update install.func 2025-05-15 14:26:03 +02:00
e6acb092b3 Freepbx.json 2025-05-15 14:25:25 +02:00
CanbiZ
b60fca3307 Update core.func 2025-05-15 14:25:12 +02:00
CanbiZ
d92fa651db Update core.func 2025-05-15 14:15:12 +02:00
CanbiZ
cae912d5ec Update core.func 2025-05-15 14:12:29 +02:00
CanbiZ
f259e06a97 Update create_lxc.sh 2025-05-15 14:06:00 +02:00
CanbiZ
6d02ec4000 Update core.func 2025-05-15 14:05:40 +02:00
CanbiZ
8198a3c0c3 Update create_lxc.sh 2025-05-15 14:02:57 +02:00
CanbiZ
644b9fec83 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 13:59:34 +02:00
CanbiZ
3734deb56f Update tools.func 2025-05-15 13:59:33 +02:00
aa46a88665 librenms 2025-05-15 13:55:40 +02:00
CanbiZ
4d3492083c Update create_lxc.sh 2025-05-15 13:55:11 +02:00
CanbiZ
38c3e318a6 Update install.func 2025-05-15 13:41:50 +02:00
CanbiZ
0731a296f5 Update core.func 2025-05-15 13:37:18 +02:00
CanbiZ
b8e9eda05b Update core.func 2025-05-15 13:34:29 +02:00
CanbiZ
18f3b2a941 Update core.func 2025-05-15 13:14:16 +02:00
CanbiZ
e59cd135df Update core.func 2025-05-15 13:07:44 +02:00
2ae6d0abc5 Update build.func 2025-05-15 11:43:54 +02:00
CanbiZ
d8a5421a11 Update core.func 2025-05-15 11:41:49 +02:00
CanbiZ
ecd561f525 Update install.func 2025-05-15 11:36:17 +02:00
CanbiZ
04d2af78a7 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 11:35:54 +02:00
CanbiZ
ae4fcc9546 Update install.func 2025-05-15 11:35:53 +02:00
362da467da Updates 2025-05-15 11:34:44 +02:00
0a07f34b4b Updates 2025-05-15 11:33:14 +02:00
CanbiZ
c7ba6705aa Update core.func 2025-05-15 11:29:06 +02:00
CanbiZ
79533c055b Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 11:25:13 +02:00
CanbiZ
5d8318df47 github resolve DNS 2025-05-15 11:25:12 +02:00
626ecd2248 Updates 2025-05-15 11:23:10 +02:00
CanbiZ
937d2f574c Update core.func 2025-05-15 11:12:13 +02:00
CanbiZ
4bd4f3d9cd Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 11:11:44 +02:00
CanbiZ
35987d3a44 Update core.func 2025-05-15 11:11:38 +02:00
e09f7f5309 LibreNMS 2025-05-15 11:11:26 +02:00
CanbiZ
cac10d70ea Update core.func 2025-05-15 11:06:11 +02:00
CanbiZ
add348f462 Update core.func 2025-05-15 11:02:27 +02:00
CanbiZ
81d9c15713 Update core.func 2025-05-15 10:54:34 +02:00
CanbiZ
6e23df9da4 test 2025-05-15 10:50:47 +02:00
CanbiZ
5f7c5deb17 Update core.func 2025-05-15 10:45:23 +02:00
CanbiZ
006d9e3c66 Update core.func 2025-05-15 10:44:58 +02:00
CanbiZ
d483aee0d9 move 2025-05-15 10:42:33 +02:00
CanbiZ
3e3ba480e4 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 10:37:28 +02:00
app-header-generator[bot]
69cca43f5c
Update versions.json (#399)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-15 08:37:31 +00:00
CanbiZ
ca8ae41880 switch scripts to deferred 2025-05-15 10:37:20 +02:00
b14c1b8b5d Changes to workflow 2025-05-15 10:36:18 +02:00
CanbiZ
103e585802 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 10:32:44 +02:00
CanbiZ
5cce8e6efd Update core.func 2025-05-15 10:32:37 +02:00
app-header-generator[bot]
4db0956d83
Update .app files (#397)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-15 08:32:27 +00:00
39825cd0cd Changes to workflow 2025-05-15 10:30:24 +02:00
CanbiZ
57a832e476 debug 2025-05-15 10:29:18 +02:00
5ea60410aa Changes to workflow 2025-05-15 10:27:12 +02:00
18a30817af Changes to workflow 2025-05-15 10:26:19 +02:00
CanbiZ
6bf0d438f9 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 10:21:15 +02:00
CanbiZ
789fcf3851 test 2025-05-15 10:21:12 +02:00
a0498a331e Update Freepbx 2025-05-15 10:17:28 +02:00
1e39073985 Update LibreNSM 2025-05-15 10:15:38 +02:00
CanbiZ
80ff5a19a6 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 10:06:27 +02:00
CanbiZ
1b5d455d8a fixes 2025-05-15 10:06:17 +02:00
9c0304206f Update LibreNMS 2025-05-15 10:06:11 +02:00
CanbiZ
b610d01325 add msg_progress 2025-05-15 10:02:47 +02:00
CanbiZ
800269916d Update core.func 2025-05-15 10:01:53 +02:00
CanbiZ
88d1339a68 Update core.func 2025-05-15 09:58:28 +02:00
CanbiZ
a6f4a69cfd Update core.func 2025-05-15 09:57:50 +02:00
53b06aa746 Update Librenms 2025-05-15 09:54:17 +02:00
CanbiZ
e33c543859 Update tools.func 2025-05-15 09:52:26 +02:00
CanbiZ
19da53f77d msg_custom 2025-05-15 09:49:18 +02:00
CanbiZ
860f4f3871 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 09:47:38 +02:00
CanbiZ
cf046389d1 Update install.func 2025-05-15 09:47:36 +02:00
7de3f5768f Bridge Detection 2025-05-15 09:46:37 +02:00
6eb1cd8488 Bridge Detection 2025-05-15 09:45:45 +02:00
CanbiZ
dae20358d3 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-15 09:44:26 +02:00
CanbiZ
46bd6a5599 spinner my head 2025-05-15 09:44:24 +02:00
7239210ead Bridge Detection 2025-05-15 09:43:52 +02:00
bb44863767 Update LibreNSM 2025-05-15 09:43:06 +02:00
6921f19bee Update LibreNSM 2025-05-15 09:40:47 +02:00
7f96fef66f Changes to Bridge detection 2025-05-15 09:40:29 +02:00
CanbiZ
14ad92198b fix mariadb crawling 2025-05-15 09:34:18 +02:00
CanbiZ
6172db2ec5 Update tools.func 2025-05-15 09:32:26 +02:00
CanbiZ
4b9b14ae1a try mariadb without value 2025-05-15 09:26:17 +02:00
CanbiZ
f49b5a661f Update core.func 2025-05-15 09:22:54 +02:00
CanbiZ
8dc69f80f2 testing mariadb 2025-05-15 09:13:20 +02:00
CanbiZ
ec2c1b946e Update core.func 2025-05-15 09:09:53 +02:00
CanbiZ
02cf584995 Update core.func 2025-05-15 09:07:06 +02:00
CanbiZ
7bf6257b02 Update tools.func 2025-05-15 09:03:12 +02:00
CanbiZ
3f24a3fcc0 Update tools.func 2025-05-15 08:53:43 +02:00
CanbiZ
02b83804e1 Update bitmagnet-install.sh 2025-05-15 08:49:15 +02:00
CanbiZ
ad0166a8b3 fixes and add ruby.-func 2025-05-15 08:48:32 +02:00
CanbiZ
c54095425e Update freepbx-install.sh 2025-05-15 08:31:38 +02:00
CanbiZ
e2ee08d3ae fix logo bitmagnet 2025-05-15 08:25:32 +02:00
CanbiZ
71128e6082 fix json 2025-05-15 08:23:16 +02:00
CanbiZ
b692e65cf6 remove odoo 2025-05-15 08:21:47 +02:00
CanbiZ
a8ef0300e2 Update odoo.sh 2025-05-15 08:20:57 +02:00
Bas van den Berg
35ddde0256
Add check if thread exist 2025-05-14 22:06:53 +02:00
tremor021
ca35a45ecd Update bitmagnet 2025-05-14 20:49:10 +02:00
tremor021
ada434223e Update bitmagnet 2025-05-14 20:47:41 +02:00
CanbiZ
269d9f0528
Merge pull request #389 from community-scripts/pr-update-app-files
[core] update .app files
2025-05-14 20:20:18 +02:00
GitHub Actions
9e2ec4af31 Update .app files 2025-05-14 18:19:11 +00:00
tremor021
620ad1b84f Update bitmagnet 2025-05-14 20:18:36 +02:00
tremor021
5493caaed5 Update bitmagnet 2025-05-14 19:47:06 +02:00
tremor021
5ebd8dc7ab Update bitmagnet 2025-05-14 19:33:09 +02:00
tremor021
f8e02e1ed5 Update bitmagnet 2025-05-14 19:27:33 +02:00
tremor021
a964925a15 Update bitmagnet 2025-05-14 19:21:34 +02:00
tremor021
6a2ff4feef Update bitmagnet 2025-05-14 19:15:40 +02:00
tremor021
56800199f7 Update Bitmagnet debian 2025-05-14 19:07:42 +02:00
tremor021
17776f3355 Update bitmagnet 2025-05-14 18:36:03 +02:00
tremor021
1b8c74a3b3 Update core.fun, add TAB3 formatting var 2025-05-14 18:35:46 +02:00
tremor021
30f0deed4c Update core.fun, add 3TAB formatting var 2025-05-14 18:34:58 +02:00
tremor021
c4dc609202 Update bitmagnet 2025-05-14 18:27:14 +02:00
tremor021
9265e10243 Update bitmagnet json 2025-05-14 18:18:53 +02:00
tremor021
7242fc2880 Update bitmagnet 2025-05-14 18:17:17 +02:00
tremor021
b82284d041 Update bitmagnet 2025-05-14 18:09:31 +02:00
tremor021
474d97322d Update bitmagnet 2025-05-14 18:06:29 +02:00
tremor021
0ded7bf751 Update bitmagnet 2025-05-14 17:57:30 +02:00
tremor021
584442e3c7 Update bitmagnet 2025-05-14 17:50:40 +02:00
tremor021
f5292249c3 Update bitmagnet 2025-05-14 17:49:17 +02:00
tremor021
a28751f37a Update bitmagnet 2025-05-14 17:42:12 +02:00
tremor021
e384cdcb3c Update bitmagnet 2025-05-14 17:29:46 +02:00
Tobias
04a07db27c
rever for homarr testing 2025-05-14 17:22:25 +02:00
Tobias
2655068e7e
Update homarr.sh 2025-05-14 17:20:04 +02:00
tremor021
0e298adc05 Update bitmagnet 2025-05-14 17:06:41 +02:00
7cd0eb9fca Librenms-install.sh 2025-05-14 16:25:18 +02:00
a59f8bef8f Librenms-install.sh 2025-05-14 16:20:40 +02:00
f9f50e945c Librenms-install.sh 2025-05-14 16:11:47 +02:00
app-header-generator[bot]
de814ffd50
Update CHANGELOG.md (#382)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-14 14:10:28 +00:00
tremor021
fcbc27ecd8 Add handling of TMDB API keys 2025-05-14 16:10:05 +02:00
48d1e7ecf6 Librenms-install.sh 2025-05-14 16:09:45 +02:00
d5388a85c3 Librenms-install.sh 2025-05-14 16:03:06 +02:00
tremor021
be8986d070 Add debian bitmagnet wip 2025-05-14 15:58:32 +02:00
9584f5e0f8 Workflows 2025-05-14 15:51:50 +02:00
25947ba60b Workflows 2025-05-14 15:51:45 +02:00
f88097e9d7 workfloW2 2025-05-14 15:48:11 +02:00
6b1165d7da Workflows 2025-05-14 15:39:10 +02:00
a7408a994b Workflows 2025-05-14 15:37:44 +02:00
8ec5dac90c Workflows 2025-05-14 15:35:14 +02:00
f3ceea5c68 Workflows 2025-05-14 15:32:33 +02:00
1d17fbb429 Workflows 2025-05-14 15:31:49 +02:00
fc625d0d07 Workflows 2025-05-14 15:31:01 +02:00
b9d6559d35 Workflows 2025-05-14 15:29:25 +02:00
4774d76495 Workflows 2025-05-14 15:28:10 +02:00
0a7bed66ea Workflows 2025-05-14 15:20:03 +02:00
tremor021
05e4ed3fc5 Update bitmagnet 2025-05-14 15:13:26 +02:00
tremor021
44b1bc01af Update bitmagnet 2025-05-14 15:13:26 +02:00
app-header-generator[bot]
c7f0208da8
Update versions.json (#379)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-14 14:39:11 +02:00
656de28402 Add automerge to workflows 2025-05-14 14:38:16 +02:00
50f52fe5c7 change sed in workflow 2025-05-14 14:35:37 +02:00
app-header-generator[bot]
4a56789328
Update CHANGELOG.md (#377)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-14 12:33:42 +00:00
CanbiZ
230e0100fe
Merge pull request #376 from community-scripts/delete-files_319_asterisk
Delete Files for asterisk after Merge to Main
2025-05-14 14:33:19 +02:00
github-actions[bot]
82361db112 Deleted files for issue: asterisk 2025-05-14 12:29:03 +00:00
CanbiZ
adef06845d Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-14 14:25:05 +02:00
CanbiZ
10ff89a117 remove lsb_release and use distroname 2025-05-14 14:25:04 +02:00
app-header-generator[bot]
47b83d93cd
Update CHANGELOG.md (#375)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-14 12:21:09 +00:00
CanbiZ
e12157c66d fix tools.func postgresql 2025-05-14 14:20:43 +02:00
CanbiZ
1aa20369e9 Update koel-install.sh 2025-05-14 13:58:19 +02:00
CanbiZ
3f20620006 Update tools.func 2025-05-14 13:57:35 +02:00
CanbiZ
1285c4b3bd Update koel-install.sh 2025-05-14 13:54:55 +02:00
CanbiZ
cddb483499 - 2025-05-14 13:54:14 +02:00
app-header-generator[bot]
f12dec0c75
Update CHANGELOG.md (#374)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-14 11:36:15 +00:00
app-header-generator[bot]
6161aed815
Update CHANGELOG.md (#373)
Co-authored-by: michel.roegl-brunner <michel.roegl-brunner@htl-braunau.at>
2025-05-14 11:35:56 +00:00
CanbiZ
5d5b18d11f Update koel-install.sh 2025-05-14 13:35:31 +02:00
CanbiZ
1746c163a5 --- 2025-05-14 13:27:51 +02:00
CanbiZ
67832266fc Update koel-install.sh 2025-05-14 13:21:50 +02:00
CanbiZ
dbb887e093 Update koel-install.sh 2025-05-14 13:14:22 +02:00
CanbiZ
7e31d6a799 Update koel-install.sh 2025-05-14 12:29:36 +02:00
CanbiZ
a13b714208 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-14 12:17:22 +02:00
CanbiZ
7cebd85b50 Update koel-install.sh 2025-05-14 12:17:21 +02:00
tremor021
3599c8bb8d Add rclone json 2025-05-14 12:11:33 +02:00
tremor021
b99494c659 Update rclone 2025-05-14 11:59:16 +02:00
tremor021
0f0664d2e3 Update rclone 2025-05-14 11:51:07 +02:00
CanbiZ
1b890c6c4a Update koel-install.sh 2025-05-14 11:49:48 +02:00
9b6fc1d095 update asterisk 2025-05-14 11:41:11 +02:00
CanbiZ
5df685f67c Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-14 11:29:33 +02:00
CanbiZ
0c072d8e62 Update koel-install.sh 2025-05-14 11:29:31 +02:00
5989417a8a Testing 2025-05-14 11:29:16 +02:00
0785ff8720 Testing 2025-05-14 11:29:02 +02:00
51008e23bd Testing 2025-05-14 11:28:43 +02:00
5bf570055d testing 2025-05-14 11:27:36 +02:00
CanbiZ
bc2bfeec1c Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-14 11:10:51 +02:00
CanbiZ
080f42a429 Update koel-install.sh 2025-05-14 11:10:50 +02:00
3f3d967a2c only show categorys wich have scripts in it 2025-05-14 11:10:22 +02:00
app-header-generator[bot]
ad0607361a
Update CHANGELOG.md (#371)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-14 09:06:45 +00:00
app-header-generator[bot]
75a9afaf56
Update CHANGELOG.md (#370)
Co-authored-by: michel.roegl-brunner <michel.roegl-brunner@htl-braunau.at>
2025-05-14 09:06:25 +00:00
app-header-generator[bot]
43d33f4a69
Update CHANGELOG.md (#369)
Co-authored-by: michel.roegl-brunner <michel.roegl-brunner@htl-braunau.at>
2025-05-14 09:06:05 +00:00
app-header-generator[bot]
c54dbef059
Update CHANGELOG.md (#368)
Co-authored-by: michel.roegl-brunner <michel.roegl-brunner@htl-braunau.at>
2025-05-14 09:05:45 +00:00
CanbiZ
6ea741bc34 Update koel.sh 2025-05-14 11:05:21 +02:00
CanbiZ
cd197e48be Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-14 10:58:10 +02:00
CanbiZ
38d9e4caeb Update koel-install.sh 2025-05-14 10:58:08 +02:00
CanbiZ
6836e234a1
Merge pull request #367 from community-scripts/pr-update-app-files
[core] update .app files
2025-05-14 10:49:24 +02:00
GitHub Actions
032fa7533c Update .app files 2025-05-14 08:48:23 +00:00
CanbiZ
706ff5b006
Merge pull request #316 from ksad/backrest-script
New Script: Backrest
2025-05-14 10:48:02 +02:00
CanbiZ
abfa33f935 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-14 10:46:47 +02:00
CanbiZ
fbf474f996 Update odoo.sh 2025-05-14 10:46:45 +02:00
app-header-generator[bot]
30faf65098
Update CHANGELOG.md (#364)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-14 08:46:10 +00:00
Michel Roegl-Brunner
e82b7ba698
Update CHANGELOG.md (#365) 2025-05-14 10:44:17 +02:00
CanbiZ
a337fa15d7 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-14 10:43:32 +02:00
CanbiZ
2ac12c5d94 remove jsons 2025-05-14 10:43:25 +02:00
606008cbe9 Update CHANGELOG.md (#1)
🛑 **New scripts must first be submitted to [ProxmoxVED](https://github.com/community-scripts/ProxmoxVED) for testing.**
PRs for new scripts that skip this process will be closed.

---

## ✍️ Description
<!-- Briefly describe your changes. -->

## 🔗 Related PR / Issue

Link: #

##  Prerequisites  (**X** in brackets)

- [ ] **Self-review completed** – Code follows project standards.
- [ ] **Tested thoroughly** – Changes work as expected.
- [ ] **No breaking changes** – Existing functionality remains intact.
- [ ] **No security risks** – No hardcoded secrets, unnecessary privilege escalations, or permission issues.

---

## 🛠️ Type of Change (**X** in brackets)

- [ ] 🐞 **Bug fix** – Resolves an issue without breaking functionality.
- [ ]  **New feature** – Adds new, non-breaking functionality.
- [ ] 💥 **Breaking change** – Alters existing functionality in a way that may require updates.
- [ ] 🆕 **New script** – A fully functional and tested script or script set.
- [ ] 🌍 **Website update** – Changes to website-related JSON files or metadata.
- [ ] 🔧 **Refactoring / Code Cleanup** – Improves readability or maintainability without changing functionality.
- [ ] 📝 **Documentation update** – Changes to `README`, `AppName.md`, `CONTRIBUTING.md`, or other docs.

---

## 🔍 Code & Security Review  (**X** in brackets)

- [ ] **Follows `Code_Audit.md` & `CONTRIBUTING.md` guidelines**
- [ ] **Uses correct script structure (`AppName.sh`, `AppName-install.sh`, `AppName.json`)**
- [ ] **No hardcoded credentials**

## 📋 Additional Information (optional)
<!-- Add any extra context, screenshots, or references. -->

Reviewed-on: #1
2025-05-14 10:43:17 +02:00
Karim SAD
6ab9a16e95 Update install/backrest-install.sh 2025-05-13 09:43:12 -04:00
enirts31
80b76212d9
Update frontend/public/json/backrest.json
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-05-13 09:37:12 -04:00
enirts31
145d116ef8
Update frontend/public/json/backrest.json
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-05-13 09:36:19 -04:00
enirts31
a4c69b211c
Update ct/backrest.sh
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-05-13 09:35:25 -04:00
enirts31
19b0c7d527
Update ct/backrest.sh
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-05-13 09:35:11 -04:00
enirts31
75812b4409
Update ct/backrest.sh
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-05-13 09:34:47 -04:00
enirts31
5fd366e9b1
Update ct/backrest.sh
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-05-13 09:34:22 -04:00
enirts31
c7c9daca80
Update ct/backrest.sh
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-05-13 09:33:59 -04:00
enirts31
60788fccbd
Update install/backrest-install.sh
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-05-13 09:33:22 -04:00
enirts31
b541ecf318
Update ct/backrest.sh
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-05-13 09:27:07 -04:00
Karim SAD
30229fe06c New Script: Backrest 2025-05-12 20:11:43 -04:00
Aliaksei Pilko
c21a9345ec PR fixes 2025-05-09 19:45:24 +01:00
Aliaksei Pilko
7d45266c30 Change URLs back to community-scripts 2025-05-09 16:47:02 +01:00
Aliaksei Pilko
89cf0e3b52 Add garmin-grafana scripts 2025-05-09 16:35:24 +01:00
CanbiZ
b30110413f
Update pulse-install.sh 2025-05-05 15:26:16 +02:00
courtmanr@gmail.com
1e7e26acf6 Refactor(update): Remove version file missing warning 2025-05-04 23:54:51 +01:00
courtmanr@gmail.com
2a50bf6ab9 Refactor(update): Address reviewer feedback on update script 2025-05-04 23:49:48 +01:00
courtmanr@gmail.com
65d85674cf Refactor: Remove shellcheck disable comments per reviewer feedback 2025-05-04 23:48:23 +01:00
courtmanr@gmail.com
a7a7988360 Refactor: Remove comments per reviewer feedback 2025-05-04 23:44:26 +01:00
courtmanr@gmail.com
8bce4aa4c1 Add Pulse LXC script and JSON definition 2025-05-04 22:51:41 +01:00
158 changed files with 5473 additions and 2801 deletions

View File

@ -25,6 +25,13 @@ jobs:
app-id: ${{ vars.APP_ID }} app-id: ${{ vars.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }} private-key: ${{ secrets.APP_PRIVATE_KEY }}
- name: Generate a token for PR approval and merge
id: generate-token-merge
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.APP_ID_APPROVE_AND_MERGE }}
private-key: ${{ secrets.APP_KEY_APPROVE_AND_MERGE }}
# Step 1: Checkout repository # Step 1: Checkout repository
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -91,14 +98,17 @@ jobs:
gh pr review $PR_NUMBER --approve gh pr review $PR_NUMBER --approve
fi fi
- name: Re-approve pull request after update - name: Approve pull request and merge
if: env.changed == 'true' if: env.changed == 'true'
env: env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} GH_TOKEN: ${{ steps.generate-token-merge.outputs.token }}
run: | run: |
PR_NUMBER=$(gh pr list --head "pr-update-app-files" --json number --jq '.[].number') git config --global user.name "github-actions-automege[bot]"
git config --global user.email "github-actions-automege[bot]@users.noreply.github.com"
PR_NUMBER=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[0].number')
if [ -n "$PR_NUMBER" ]; then if [ -n "$PR_NUMBER" ]; then
gh pr review $PR_NUMBER --approve gh pr review "$PR_NUMBER" --approve
gh pr merge "$PR_NUMBER" --squash --admin
fi fi
# Step 8: Output success message when no changes # Step 8: Output success message when no changes

View File

@ -80,7 +80,25 @@ jobs:
VAR+="${{ github.event.issue.html_url }}" VAR+="${{ github.event.issue.html_url }}"
echo "message=$VAR" >> $GITHUB_ENV echo "message=$VAR" >> $GITHUB_ENV
- name: Check if Discord thread exists
id: check_thread
run: |
ISSUE_TITLE="${{ github.event.issue.title }}"
THREAD_ID=$(curl -s -X GET "https://discord.com/api/v10/guilds/${{ secrets.DISCORD_GUILD_ID }}/threads/active" \
-H "Authorization: Bot ${{ secrets.DISCORD_BOT_TOKEN }}" \
-H "Content-Type: application/json" | \
jq -r --arg TITLE "$ISSUE_TITLE" --arg PARENT_ID "${{ secrets.DISCORD_CHANNEL_ID }}" \
'.threads[] | select(.parent_id == $PARENT_ID and .name == ("Wanted Tester for " + $TITLE)) | .id')
if [ -n "$THREAD_ID" ]; then
echo "thread_exists=true" >> "$GITHUB_OUTPUT"
else
echo "thread_exists=false" >> "$GITHUB_OUTPUT"
fi
- name: Create a forumpost in Discord - name: Create a forumpost in Discord
if: steps.check_thread.outputs.thread_exists != 'true'
id: post_to_discord id: post_to_discord
env: env:
DISCORD_CHANNEL_ID: ${{ secrets.DISCORD_CHANNEL_ID }} DISCORD_CHANNEL_ID: ${{ secrets.DISCORD_CHANNEL_ID }}
@ -106,6 +124,7 @@ jobs:
fi fi
- name: Comment on Issue - name: Comment on Issue
if: steps.check_thread.outputs.thread_exists != 'true'
id: comment_on_issue id: comment_on_issue
env: env:
MESSAGE: ${{ env.message }} MESSAGE: ${{ env.message }}

View File

@ -14,6 +14,13 @@ jobs:
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
- name: Generate a token for PR approval and merge
id: generate-token-merge
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.APP_ID_APPROVE_AND_MERGE }}
private-key: ${{ secrets.APP_KEY_APPROVE_AND_MERGE }}
- name: Extract Issue Title (Lowercase & Underscores) - name: Extract Issue Title (Lowercase & Underscores)
id: extract_title id: extract_title
run: echo "TITLE=$(echo '${{ github.event.issue.title }}' | tr '[:upper:]' '[:lower:]' | sed 's/ /_/g')" >> $GITHUB_ENV run: echo "TITLE=$(echo '${{ github.event.issue.title }}' | tr '[:upper:]' '[:lower:]' | sed 's/ /_/g')" >> $GITHUB_ENV
@ -52,7 +59,7 @@ jobs:
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: | run: |
branch=$(echo "delete-files_${{ github.event.issue.number }}_${TITLE}" | tr '[:upper:]' '[:lower:]' | sed 's/ /_/g') branch="delete_files"
git config --global user.name "github-actions[bot]" git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.email "github-actions[bot]@users.noreply.github.com"
git checkout -b $branch git checkout -b $branch
@ -65,13 +72,26 @@ jobs:
exit 0 exit 0
fi fi
git commit -m "Deleted files for issue: ${{ github.event.issue.title }}" git commit -m "Deleted files for issue: ${{ github.event.issue.title }}"
git push origin $branch git push origin $branch --force
gh pr create --title "Delete Files for ${{ github.event.issue.title }} after Merge to Main" --body "Delete files after merge in main repo." --base main --head $branch gh pr create --title "Delete Files for ${{ github.event.issue.title }} after Merge to Main" --body "Delete files after merge in main repo." --base main --head $branch
pr_number=$(gh pr list | grep -m 1 $branch | awk '{print $1}') pr_number=$(gh pr list | grep -m 1 $branch | awk '{print $1}')
#gh pr merge $pr_number --squash #gh pr merge $pr_number --squash
echo pr_number=$pr_number >> $GITHUB_ENV echo pr_number=$pr_number >> $GITHUB_ENV
- name: Approve pull request and merge
if: env.changed == 'true'
env:
GH_TOKEN: ${{ steps.generate-token-merge.outputs.token }}
run: |
git config --global user.name "github-actions-automege[bot]"
git config --global user.email "github-actions-automege[bot]@users.noreply.github.com"
PR_NUMBER=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[].number')
if [ -n "$PR_NUMBER" ]; then
gh pr review $PR_NUMBER --approve
gh pr merge $PR_NUMBER --squash --admin
fi
- name: Comment on Issue - name: Comment on Issue
uses: actions/github-script@v7 uses: actions/github-script@v7
with: with:

View File

@ -29,6 +29,13 @@ jobs:
app-id: ${{ vars.APP_ID }} app-id: ${{ vars.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }} private-key: ${{ secrets.APP_PRIVATE_KEY }}
- name: Generate a token for PR approval and merge
id: generate-token-merge
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.APP_ID_APPROVE_AND_MERGE }}
private-key: ${{ secrets.APP_KEY_APPROVE_AND_MERGE }}
- name: Crawl from newreleases.io - name: Crawl from newreleases.io
env: env:
token: ${{ secrets.NEWRELEASES_TOKEN }} token: ${{ secrets.NEWRELEASES_TOKEN }}
@ -110,10 +117,12 @@ jobs:
- name: Approve pull request and merge - name: Approve pull request and merge
if: env.changed == 'true' if: env.changed == 'true'
env: env:
GH_TOKEN: ${{ secrets.PAT_MICHEL }} GH_TOKEN: ${{ steps.generate-token-merge.outputs.token }}
run: | run: |
PR_NUMBER=$(gh pr list --head "update_versions" --json number --jq '.[].number') git config --global user.name "github-actions-automege[bot]"
git config --global user.email "github-actions-automege[bot]@users.noreply.github.com"
PR_NUMBER=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[0].number')
if [ -n "$PR_NUMBER" ]; then if [ -n "$PR_NUMBER" ]; then
gh pr review $PR_NUMBER --approve gh pr review "$PR_NUMBER" --approve
gh pr merge $PR_NUMBER --squash --delete-branch --admin gh pr merge "$PR_NUMBER" --squash --admin
fi fi

View File

@ -133,10 +133,6 @@ jobs:
echo "install file already exists in ProxmoxVE" echo "install file already exists in ProxmoxVE"
exit 1 exit 1
fi fi
if [[ -f "frontend/public/json/${script_name}.json" ]]; then
echo "json file already exists in ProxmoxVE"
exit 1
fi
git checkout -b "$branch_name" git checkout -b "$branch_name"
@ -157,10 +153,13 @@ jobs:
cp ../frontend/public/json/$json_file frontend/public/json/. || true cp ../frontend/public/json/$json_file frontend/public/json/. || true
fi fi
sed -i 's|source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)|source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)|' ct/$script_name.sh echo $script_name
sed -i 's|# License: MIT \| https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE|# License: MIT \| https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE|' ct/$script_name.sh sed -i "s|https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func|https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func|" ct/$script_name.sh
sed -i 's|# License: MIT \| https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE|# License: MIT \| https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE|' install/$script_name-install.sh sed -i "s|https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func|https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func|" ct/$script_name.sh
git add . sed -i "s|# License: MIT \| https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE|# License: MIT \| https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE|" ct/$script_name.sh
sed -i "s|# License: MIT \| https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE|# License: MIT \| https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE|" install/$script_name-install.sh
git add . > /dev/null 2>&1
if git diff --cached --exit-code; then if git diff --cached --exit-code; then
echo "No changes detected, skipping commit." echo "No changes detected, skipping commit."
exit 0 exit 0

View File

@ -1,34 +1,50 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Base directory for headers # Function for generating Figlet headers
headers_dir="./ct/headers" generate_headers() {
local base_dir=$1
local target_subdir=$2
local search_pattern=$3
# Ensure the headers directory exists and clear it local headers_dir="${base_dir}/headers"
mkdir -p "$headers_dir" mkdir -p "$headers_dir"
rm -f "$headers_dir"/* rm -f "$headers_dir"/*
# Find all .sh files in ./ct directory, sorted alphabetically # Recursive or non-recursive search
find ./ct -type f -name "*.sh" | sort | while read -r script; do if [[ "$search_pattern" == "**" ]]; then
# Extract the APP name from the APP line shopt -s globstar nullglob
app_name=$(grep -oP '^APP="\K[^"]+' "$script" 2>/dev/null) file_list=("${base_dir}"/**/*.sh)
shopt -u globstar
if [[ -n "$app_name" ]]; then
# Define the output file name in the headers directory
output_file="${headers_dir}/$(basename "${script%.*}")"
# Generate figlet output
figlet_output=$(figlet -w 500 -f slant "$app_name")
# Check if figlet output is not empty
if [[ -n "$figlet_output" ]]; then
echo "$figlet_output" > "$output_file"
echo "Generated: $output_file"
else
echo "Figlet failed for $app_name in $script"
fi
else else
echo "No APP name found in $script, skipping." file_list=("${base_dir}"/*.sh)
fi fi
done
echo "Completed processing .sh files." for script in "${file_list[@]}"; do
[[ -f "$script" ]] || continue
app_name=$(grep -oP '^APP="\K[^"]+' "$script" 2>/dev/null)
if [[ -n "$app_name" ]]; then
output_file="${headers_dir}/$(basename "${script%.*}")"
figlet_output=$(figlet -w 500 -f slant "$app_name")
if [[ -n "$figlet_output" ]]; then
echo "$figlet_output" >"$output_file"
echo "Generated: $output_file"
else
echo "Figlet failed for $app_name in $script"
fi
else
echo "No APP name found in $script, skipping."
fi
done
}
# ct
generate_headers "./ct" "headers" "*"
# tools (addon, pve, ...)
generate_headers "./tools" "headers" "**"
# vm
generate_headers "./vm" "headers" "*"
echo "Completed processing all sections."

View File

@ -7,6 +7,76 @@
<h3 align="center">All notable changes to this project will be documented in this file.</h3> <h3 align="center">All notable changes to this project will be documented in this file.</h3>
## 2025-05-14
### 🆕 New Scripts
- odoo ([#4477](https://github.com/community-scripts/ProxmoxVE/pull/4477))
- alpine-transmission ([#4277](https://github.com/community-scripts/ProxmoxVE/pull/4277))
- alpine-tinyauth ([#4264](https://github.com/community-scripts/ProxmoxVE/pull/4264))
- alpine-rclone ([#4265](https://github.com/community-scripts/ProxmoxVE/pull/4265))
- streamlink-webui ([#4262](https://github.com/community-scripts/ProxmoxVE/pull/4262))
- Fumadocs ([#4263](https://github.com/community-scripts/ProxmoxVE/pull/4263))
- asterisk ([#4468](https://github.com/community-scripts/ProxmoxVE/pull/4468))
- gatus ([#4443](https://github.com/community-scripts/ProxmoxVE/pull/4443))
- alpine-gatus ([#4442](https://github.com/community-scripts/ProxmoxVE/pull/4442))
- Alpine-Traefik [@MickLesk](https://github.com/MickLesk) ([#4412](https://github.com/community-scripts/ProxmoxVE/pull/4412))
### 🚀 Updated Scripts
- fix: fetch_release_and_deploy function [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4478](https://github.com/community-scripts/ProxmoxVE/pull/4478))
- Website: re-add documenso & some little bugfixes [@MickLesk](https://github.com/MickLesk) ([#4456](https://github.com/community-scripts/ProxmoxVE/pull/4456))
- update some improvements from dev (tools.func) [@MickLesk](https://github.com/MickLesk) ([#4430](https://github.com/community-scripts/ProxmoxVE/pull/4430))
- Alpine: Use onliner for updates [@tremor021](https://github.com/tremor021) ([#4414](https://github.com/community-scripts/ProxmoxVE/pull/4414))
- #### 🐞 Bug Fixes
- Bugfix: Mikrotik & Pimox HAOS VM (NEXTID) [@MickLesk](https://github.com/MickLesk) ([#4313](https://github.com/community-scripts/ProxmoxVE/pull/4313))
- Bookstack: fix copy of themes/uploads/storage [@MickLesk](https://github.com/MickLesk) ([#4457](https://github.com/community-scripts/ProxmoxVE/pull/4457))
- homarr: fetch versions dynamically from source repo [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4409](https://github.com/community-scripts/ProxmoxVE/pull/4409))
- Authentik: change install to UV & increase resources to 10GB RAM [@MickLesk](https://github.com/MickLesk) ([#4364](https://github.com/community-scripts/ProxmoxVE/pull/4364))
- Jellyseerr: better handling of node and pnpm [@MickLesk](https://github.com/MickLesk) ([#4365](https://github.com/community-scripts/ProxmoxVE/pull/4365))
- Alpine-Rclone: Fix location of passwords file [@tremor021](https://github.com/tremor021) ([#4465](https://github.com/community-scripts/ProxmoxVE/pull/4465))
- Zammad: Enable ElasticSearch service [@tremor021](https://github.com/tremor021) ([#4391](https://github.com/community-scripts/ProxmoxVE/pull/4391))
- openhab: use zulu17-jdk [@moodyblue](https://github.com/moodyblue) ([#4438](https://github.com/community-scripts/ProxmoxVE/pull/4438))
- (fix) Documenso: fix build failures [@vhsdream](https://github.com/vhsdream) ([#4382](https://github.com/community-scripts/ProxmoxVE/pull/4382))
- #### ✨ New Features
- Feature: LXC-Delete (pve helper): add "all items" [@MickLesk](https://github.com/MickLesk) ([#4296](https://github.com/community-scripts/ProxmoxVE/pull/4296))
- Feature: get correct next VMID [@MickLesk](https://github.com/MickLesk) ([#4292](https://github.com/community-scripts/ProxmoxVE/pull/4292))
- HomeAssistant-Core: update script for 2025.5+ [@MickLesk](https://github.com/MickLesk) ([#4363](https://github.com/community-scripts/ProxmoxVE/pull/4363))
- Feature: autologin for Alpine [@MickLesk](https://github.com/MickLesk) ([#4344](https://github.com/community-scripts/ProxmoxVE/pull/4344))
- monitor-all: improvements - tag based filtering [@grizmin](https://github.com/grizmin) ([#4437](https://github.com/community-scripts/ProxmoxVE/pull/4437))
- Make apt-cacher-ng a client of its own server [@pgcudahy](https://github.com/pgcudahy) ([#4092](https://github.com/community-scripts/ProxmoxVE/pull/4092))
- #### 🔧 Refactor
- openhab. correct some typos [@moodyblue](https://github.com/moodyblue) ([#4448](https://github.com/community-scripts/ProxmoxVE/pull/4448))
### 🧰 Maintenance
- #### 💾 Core
- fix: improve bridge detection in all network interface configuration files [@filippolauria](https://github.com/filippolauria) ([#4413](https://github.com/community-scripts/ProxmoxVE/pull/4413))
- Config file Function in build.func [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4411](https://github.com/community-scripts/ProxmoxVE/pull/4411))
- fix: detect all bridge types, not just vmbr prefix [@filippolauria](https://github.com/filippolauria) ([#4351](https://github.com/community-scripts/ProxmoxVE/pull/4351))
- #### 📂 Github
- Add Github app for auto PR merge [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4461](https://github.com/community-scripts/ProxmoxVE/pull/4461))
### 🌐 Website
- FAQ: Explanation "updatable" [@tremor021](https://github.com/tremor021) ([#4300](https://github.com/community-scripts/ProxmoxVE/pull/4300))
- #### 📝 Script Information
- Jellyfin Media Server: Update configuration path [@tremor021](https://github.com/tremor021) ([#4434](https://github.com/community-scripts/ProxmoxVE/pull/4434))
- Pingvin Share: Added explanation on how to add/edit environment variables [@tremor021](https://github.com/tremor021) ([#4432](https://github.com/community-scripts/ProxmoxVE/pull/4432))
- pingvin.json: fix typo [@warmbo](https://github.com/warmbo) ([#4426](https://github.com/community-scripts/ProxmoxVE/pull/4426))
- Navidrome - Fix config path (use /etc/ instead of /var/lib) [@quake1508](https://github.com/quake1508) ([#4406](https://github.com/community-scripts/ProxmoxVE/pull/4406))
## 2025-03-24 ## 2025-03-24
### 🆕 New Scripts ### 🆕 New Scripts
@ -15,8 +85,7 @@
- wazuh [@omiinaya](https://github.com/omiinaya) ([#3381](https://github.com/community-scripts/ProxmoxVE/pull/3381)) - wazuh [@omiinaya](https://github.com/omiinaya) ([#3381](https://github.com/community-scripts/ProxmoxVE/pull/3381))
- yt-dlp-webui [@CrazyWolf13](https://github.com/CrazyWolf13) ([#3364](https://github.com/community-scripts/ProxmoxVE/pull/3364)) - yt-dlp-webui [@CrazyWolf13](https://github.com/CrazyWolf13) ([#3364](https://github.com/community-scripts/ProxmoxVE/pull/3364))
- Extension/New Script: Redis Alpine Installation [@MickLesk](https://github.com/MickLesk) ([#3367](https://github.com/community-scripts/ProxmoxVE/pull/3367)) - Extension/New Script: Redis Alpine Installation [@MickLesk](https://github.com/MickLesk) ([#3367](https://github.com/community-scripts/ProxmoxVE/pull/3367))
- Fluid Calendar [@vhsdream](https://github.com/vhsdream) ([#2869](https://github.com/community-scripts/ProxmoxVE/pull/2869)) - Fluid Calendar [@vhsdream](https://github.com/vhsdream) ([#2869](ht
### 🚀 Updated Scripts ### 🚀 Updated Scripts
- License url VED to VE [@bvdberg01](https://github.com/bvdberg01) ([#3258](https://github.com/community-scripts/ProxmoxVE/pull/3258)) - License url VED to VE [@bvdberg01](https://github.com/bvdberg01) ([#3258](https://github.com/community-scripts/ProxmoxVE/pull/3258))
@ -35,7 +104,7 @@
- GoMFT: Fix build dependencies [@tremor021](https://github.com/tremor021) ([#3313](https://github.com/community-scripts/ProxmoxVE/pull/3313)) - GoMFT: Fix build dependencies [@tremor021](https://github.com/tremor021) ([#3313](https://github.com/community-scripts/ProxmoxVE/pull/3313))
- GoMFT: Don't rely on binaries from github [@tremor021](https://github.com/tremor021) ([#3303](https://github.com/community-scripts/ProxmoxVE/pull/3303)) - GoMFT: Don't rely on binaries from github [@tremor021](https://github.com/tremor021) ([#3303](https://github.com/community-scripts/ProxmoxVE/pull/3303))
- Wikijs: Remove Dev Message & Performance-Boost [@bvdberg01](https://github.com/bvdberg01) ([#3232](https://github.com/community-scripts/ProxmoxVE/pull/3232)) - Wikijs: Remove Dev Message & Performance-Boost [@bvdberg01](https://github.com/bvdberg01) ([#3232](https://github.com/community-scripts/ProxmoxVE/pull/3232))
- Update omada download url [@bvdberg01](https://github.com/bvdberg01) ([#3245](https://github.com/community-scripts/ProxmoxVE/pull/3245)) - Update omada download url [@bvdberg01](https://github.com/bvdberg01) ([#3245](https://github.cooxVE/pull/3245))
- TriliumNotes: Fix release handling [@tremor021](https://github.com/tremor021) ([#3160](https://github.com/community-scripts/ProxmoxVE/pull/3160)) - TriliumNotes: Fix release handling [@tremor021](https://github.com/tremor021) ([#3160](https://github.com/community-scripts/ProxmoxVE/pull/3160))
- #### ✨ New Features - #### ✨ New Features

View File

@ -1,88 +0,0 @@
#!/usr/bin/env bash
source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/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/bitmagnet-io/bitmagnet
APP="Alpine-bitmagnet"
var_tags="${var_tags:-alpine;torrent}"
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.21}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
if [[ ! -d /opt/bitmagnet ]]; then
msg_error "No ${APP} Installation Found!"
exit 1
fi
RELEASE=$(curl -s https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [ "${RELEASE}" != "$(cat /opt/bitmagnet_version.txt)" ] || [ ! -f /opt/bitmagnet_version.txt ]; then
msg_info "Backing up database"
rm -f /tmp/backup.sql
$STD sudo -u postgres pg_dump \
--column-inserts \
--data-only \
--on-conflict-do-nothing \
--rows-per-insert=1000 \
--table=metadata_sources \
--table=content \
--table=content_attributes \
--table=content_collections \
--table=content_collections_content \
--table=torrent_sources \
--table=torrents \
--table=torrent_files \
--table=torrent_hints \
--table=torrent_contents \
--table=torrent_tags \
--table=torrents_torrent_sources \
--table=key_values \
bitmagnet \
>/tmp/backup.sql
mv /tmp/backup.sql /opt/
msg_ok "Database backed up"
msg_info "Updating ${APP} from $(cat /opt/bitmagnet_version.txt) to ${RELEASE}"
$STD apk -U upgrade
$STD service bitmagnet stop
[ -f /opt/bitmagnet/.env ] && cp /opt/bitmagnet/.env /opt/
[ -f /opt/bitmagnet/config.yml ] && cp /opt/bitmagnet/config.yml /opt/
rm -rf /opt/bitmagnet/*
temp_file=$(mktemp)
curl -fsSL "https://github.com/bitmagnet-io/bitmagnet/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
tar zxf "$temp_file" --strip-components=1 -C /opt/bitmagnet
cd /opt/bitmagnet
$STD go build
chmod +x bitmagnet
[ -f "/opt/.env" ] && cp "/opt/.env" /opt/bitmagnet/
[ -f "/opt/config.yml" ] && cp "/opt/config.yml" /opt/bitmagnet/
rm -f "$temp_file"
echo "${RELEASE}" >/opt/bitmagnet_version.txt
$STD service bitmagnet start
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit 0
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following IP:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3333${CL}"

114
ct/alpine-homarr.sh Normal file
View File

@ -0,0 +1,114 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
# Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster) | Co-Author: MickLesk (Canbiz) | Co-Author: CrazyWolf13
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://homarr.dev/
APP="alpine-homarr"
var_tags="${var_tags:-arr;dashboard}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-8}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.21}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
RELEASE=$(curl -fsSL https://api.github.com/repos/homarr-labs/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping Services (Patience)"
systemctl stop homarr
msg_ok "Services Stopped"
msg_info "Backup Data"
mkdir -p /opt/homarr-data-backup
cp /opt/homarr/.env /opt/homarr-data-backup/.env
msg_ok "Backup Data"
msg_info "Updating and rebuilding ${APP} to v${RELEASE} (Patience)"
rm /opt/run_homarr.sh
cat <<'EOF' >/opt/run_homarr.sh
#!/bin/bash
set -a
source /opt/homarr/.env
set +a
export DB_DIALECT='sqlite'
export AUTH_SECRET=$(openssl rand -base64 32)
node /opt/homarr_db/migrations/$DB_DIALECT/migrate.cjs /opt/homarr_db/migrations/$DB_DIALECT
for dir in $(find /opt/homarr_db/migrations/migrations -mindepth 1 -maxdepth 1 -type d); do
dirname=$(basename "$dir")
mkdir -p "/opt/homarr_db/migrations/$dirname"
cp -r "$dir"/* "/opt/homarr_db/migrations/$dirname/" 2>/dev/null || true
done
export HOSTNAME=$(ip route get 1.1.1.1 | grep -oP 'src \K[^ ]+')
envsubst '${HOSTNAME}' < /etc/nginx/templates/nginx.conf > /etc/nginx/nginx.conf
nginx -g 'daemon off;' &
redis-server /opt/homarr/packages/redis/redis.conf &
node apps/tasks/tasks.cjs &
node apps/websocket/wssServer.cjs &
node apps/nextjs/server.js & PID=$!
wait $PID
EOF
chmod +x /opt/run_homarr.sh
NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')"
install_node_and_modules
rm -rf /opt/homarr
fetch_and_deploy_gh_release "homarr-labs/homarr"
mv /opt/homarr-data-backup/.env /opt/homarr/.env
cd /opt/homarr
echo "test2"
export NODE_ENV=""
$STD pnpm install --recursive --frozen-lockfile --shamefully-hoist
$STD pnpm build
cp /opt/homarr/apps/nextjs/next.config.ts .
cp /opt/homarr/apps/nextjs/package.json .
cp -r /opt/homarr/packages/db/migrations /opt/homarr_db/migrations
cp -r /opt/homarr/apps/nextjs/.next/standalone/* /opt/homarr
mkdir -p /appdata/redis
cp /opt/homarr/packages/redis/redis.conf /opt/homarr/redis.conf
rm /etc/nginx/nginx.conf
mkdir -p /etc/nginx/templates
cp /opt/homarr/nginx.conf /etc/nginx/templates/nginx.conf
mkdir -p /opt/homarr/apps/cli
cp /opt/homarr/packages/cli/cli.cjs /opt/homarr/apps/cli/cli.cjs
echo $'#!/bin/bash\ncd /opt/homarr/apps/cli && node ./cli.cjs "$@"' >/usr/bin/homarr
chmod +x /usr/bin/homarr
mkdir /opt/homarr/build
cp ./node_modules/better-sqlite3/build/Release/better_sqlite3.node ./build/better_sqlite3.node
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP}"
msg_info "Starting Services"
systemctl start homarr
msg_ok "Started Services"
msg_ok "Updated Successfully"
read -p "It's recommended to reboot the LXC after an update, would you like to reboot the LXC now ? (y/n): " choice
if [[ "$choice" =~ ^[Yy]$ ]]; then
reboot
fi
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7575${CL}"

53
ct/argus.sh Normal file
View File

@ -0,0 +1,53 @@
#!/usr/bin/env bash
source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
# Source: https://release-argus.io/
APP="Argus"
var_tags="${var_tags:-os}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-3}"
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/argus ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/release-argus/Argus/releases/latest | jq -r .tag_name | sed 's/^v//')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Updating $APP to ${RELEASE}"
rm -f /opt/argus/Argus
curl -fsSL "https://github.com/release-argus/Argus/releases/download/${RELEASE}/Argus-${RELEASE}.linux-amd64" -o /opt/argus/Argus
chmod +x /opt/argus/Argus
systemctl restart argus
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
else
msg_ok "${APP} is already up to date (${RELEASE})"
fi
}
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,39 +0,0 @@
#!/usr/bin/env bash
source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: michelroegl-brunner
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://asterisk.org/
APP="Asterisk"
var_tags="${var_tags:-os}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
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 /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "No Update function provided for ${APP} LXC"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"

View File

@ -5,7 +5,7 @@ source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: # Source:
APP="BabyBuddy" APP="Baby Buddy"
var_tags="${var_tags:-baby}" var_tags="${var_tags:-baby}"
var_disk="${var_disk:-5}" var_disk="${var_disk:-5}"
var_cpu="${var_cpu:-2}" var_cpu="${var_cpu:-2}"
@ -20,19 +20,60 @@ 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/maxun ]]; then if [[ ! -d /opt/babybuddy ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -s https://api.github.com/repos/xxxxx/xxxxx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then RELEASE=$(curl -fsSL https://api.github.com/repos/babybuddy/babybuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Stopping Services" if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/babybuddy_version.txt)" ]]; then
systemctl stop APP setup_uv
msg_ok "Services Stopped"
fi msg_info "Stopping Services"
systemctl stop nginx
systemctl stop uwsgi
msg_ok "Services Stopped"
msg_info "Cleaning old files"
cp babybuddy/settings/production.py /tmp/production.py.bak
find . -mindepth 1 -maxdepth 1 ! -name '.venv' -exec rm -rf {} +
msg_ok "Cleaned old files"
msg_info "Updating ${APP} to v${RELEASE}"
temp_file=$(mktemp)
curl -fsSL "https://github.com/babybuddy/babybuddy/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
cd /opt/babybuddy
tar zxf "$temp_file" --strip-components=1 -C /opt/babybuddy
mv /tmp/production.py.bak babybuddy/settings/production.py
cd /opt/babybuddy
source .venv/bin/activate
$STD uv pip install -r requirements.txt
$STD python manage.py migrate
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Fixing permissions"
chown -R www-data:www-data /opt/data
chmod 640 /opt/data/db.sqlite3
chmod 750 /opt/data
msg_ok "Permissions fixed"
msg_info "Starting Services"
systemctl start uwsgi
systemctl start nginx
msg_ok "Services Started"
msg_info "Cleaning up"
rm -f "$temp_file"
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
} }
start start
@ -42,4 +83,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"

63
ct/backrest.sh Normal file
View File

@ -0,0 +1,63 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: ksad (enirys31)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://garethgeorge.github.io/backrest/
APP="Backrest"
var_tags="${var_tags:-backup}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-8}"
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/backrest ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/garethgeorge/backrest/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping ${APP}"
systemctl stop backrest
msg_ok "Stopped ${APP}"
msg_info "Updating ${APP} to ${RELEASE}"
cd /opt/backrest/bin
curl -fsSL "https://github.com/garethgeorge/backrest/releases/download/v${RELEASE}/backrest_Linux_x86_64.tar.gz" -o "backrest_Linux_x86_64.tar.gz"
tar -xzf backrest_Linux_x86_64.tar.gz
rm -rf backrest_Linux_x86_64.tar.gz
rm -f install.sh uninstall.sh
chmod +x backrest
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Starting ${APP}"
systemctl start backrest
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9898${CL}"

View File

@ -48,13 +48,13 @@ function update_script() {
cp /opt/bar-assistant-backup/storage/bar-assistant /opt/bar-assistant/storage/bar-assistant cp /opt/bar-assistant-backup/storage/bar-assistant /opt/bar-assistant/storage/bar-assistant
cd /opt/bar-assistant cd /opt/bar-assistant
composer install composer install
php artisan migrate --force $STD php artisan migrate --force
php artisan storage:link $STD php artisan storage:link
php artisan bar:setup-meilisearch $STD php artisan bar:setup-meilisearch
php artisan scout:sync-index-settings $STD php artisan scout:sync-index-settings
php artisan config:cache $STD php artisan config:cache
php artisan route:cache $STD php artisan route:cache
php artisan event:cache $STD php artisan event:cache
echo "${RELEASE_BARASSISTANT}" >/opt/${APP}_version.txt echo "${RELEASE_BARASSISTANT}" >/opt/${APP}_version.txt
msg_ok "Updated $APP to v${RELEASE_BARASSISTANT}" msg_ok "Updated $APP to v${RELEASE_BARASSISTANT}"

View File

@ -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 [[ ! -f /etc/systemd/system/cloudflare-ddns.service ]]; then if [[ ! -f /etc/systemd/system/cloudflare-ddns.service ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "There is no update function for ${APP}."
exit exit
fi
msg_error "There is no update function for ${APP}."
exit
} }
start start

51
ct/convertx.sh Normal file
View File

@ -0,0 +1,51 @@
#!/usr/bin/env bash
source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Omar Minaya
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/C4illin/ConvertX
APP="ConvertX"
var_tags="${var_tags:-converter}"
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 /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC"
RELEASE=$(curl -fsSL https://api.github.com/repos/C4illin/ConvertX/releases/latest | jq -r .tag_name | sed 's/^v//')
curl -fsSL -o "/opt/convertx/ConvertX-${RELEASE}.tar.gz" "https://github.com/C4illin/ConvertX/archive/refs/tags/v${RELEASE}.tar.gz"
tar --strip-components=1 -xf "/opt/convertx/ConvertX-${RELEASE}.tar.gz" -C /opt/convertx
cd /opt/convertx
bun update
$STD systemctl restart convertx
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

View File

@ -49,59 +49,64 @@ fi
# This function is used to select the storage class and determine the corresponding storage content type and label. # This function is used to select the storage class and determine the corresponding storage content type and label.
function select_storage() { function select_storage() {
local CLASS=$1 local CLASS="$1"
local CONTENT local CONTENT
local CONTENT_LABEL local CONTENT_LABEL
case $CLASS in
case "$CLASS" in
container) container)
CONTENT='rootdir' CONTENT='rootdir'
CONTENT_LABEL='Container' CONTENT_LABEL='Container'
;; ;;
template) template)
CONTENT='vztmpl' CONTENT='vztmpl'
CONTENT_LABEL='Container template' CONTENT_LABEL='Container Template'
;; ;;
*) false || { *)
msg_error "Invalid storage class." msg_error "Invalid storage class: $CLASS"
exit 201 exit 201
} ;; ;;
esac esac
# This Queries all storage locations # Collect storage options
local -a MENU local -a MENU
while read -r line; do local MSG_MAX_LENGTH=0
local TAG=$(echo $line | awk '{print $1}')
local TYPE=$(echo $line | awk '{printf "%-10s", $2}')
local FREE=$(echo $line | numfmt --field 4-6 --from-unit=K --to=iec --format %.2f | awk '{printf( "%9sB", $6)}')
local ITEM="Type: $TYPE Free: $FREE "
local OFFSET=2
if [[ $((${#ITEM} + $OFFSET)) -gt ${MSG_MAX_LENGTH:-} ]]; then
local MSG_MAX_LENGTH=$((${#ITEM} + $OFFSET))
fi
MENU+=("$TAG" "$ITEM" "OFF")
done < <(pvesm status -content $CONTENT | awk 'NR>1')
# Select storage location while read -r TAG TYPE _ _ _ FREE _; do
if [ $((${#MENU[@]} / 3)) -eq 1 ]; then local TYPE_PADDED
printf ${MENU[0]} local FREE_FMT
else
local STORAGE TYPE_PADDED=$(printf "%-10s" "$TYPE")
while [ -z "${STORAGE:+x}" ]; do FREE_FMT=$(numfmt --to=iec --from-unit=K --format %.2f <<<"$FREE")B
STORAGE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Storage Pools" --radiolist \ local ITEM="Type: $TYPE_PADDED Free: $FREE_FMT"
"Which storage pool you would like to use for the ${CONTENT_LABEL,,}?\nTo make a selection, use the Spacebar.\n" \
16 $(($MSG_MAX_LENGTH + 23)) 6 \ ((${#ITEM} + 2 > MSG_MAX_LENGTH)) && MSG_MAX_LENGTH=$((${#ITEM} + 2))
"${MENU[@]}" 3>&1 1>&2 2>&3) || { MENU+=("$TAG" "$ITEM" "OFF")
msg_error "Menu aborted." done < <(pvesm status -content "$CONTENT" | awk 'NR>1')
exit 202
} local OPTION_COUNT=$((${#MENU[@]} / 3))
if [ $? -ne 0 ]; then
echo -e "${CROSS}${RD} Menu aborted by user.${CL}" # Auto-select if only one option available
exit 0 if [[ "$OPTION_COUNT" -eq 1 ]]; then
fi echo "${MENU[0]}"
done return 0
printf "%s" "$STORAGE"
fi fi
# Display selection menu
local STORAGE
while [[ -z "${STORAGE:+x}" ]]; do
STORAGE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Storage Pools" --radiolist \
"Select the storage pool to use for the ${CONTENT_LABEL,,}.\nUse the spacebar to make a selection.\n" \
16 $((MSG_MAX_LENGTH + 23)) 6 \
"${MENU[@]}" 3>&1 1>&2 2>&3) || {
msg_error "Storage selection cancelled."
exit 202
}
done
echo "$STORAGE"
} }
# Test if required variables are set # Test if required variables are set
[[ "${CTID:-}" ]] || { [[ "${CTID:-}" ]] || {
msg_error "You need to set 'CTID' variable." msg_error "You need to set 'CTID' variable."
@ -126,53 +131,63 @@ if qm status "$CTID" &>/dev/null || pct status "$CTID" &>/dev/null; then
exit 206 exit 206
fi fi
# # Get template storage
# TEMPLATE_STORAGE=$(select_storage template)
# CONTAINER_STORAGE=$(select_storage container) || exit
# msg_ok "Template Storage: ${BL}$TEMPLATE_STORAGE${CL} ${GN}Container Storage: ${BL}$CONTAINER_STORAGE${CL}."
# Get template storage # Get template storage
TEMPLATE_STORAGE=$(select_storage template) || exit TEMPLATE_STORAGE=$(select_storage template)
msg_ok "Using ${BL}$TEMPLATE_STORAGE${CL} ${GN}for Template Storage." msg_ok "Using ${BL}$TEMPLATE_STORAGE${CL} ${GN}for Template Storage."
# Get container storage # Get container storage
CONTAINER_STORAGE=$(select_storage container) || exit CONTAINER_STORAGE=$(select_storage container)
msg_ok "Using ${BL}$CONTAINER_STORAGE${CL} ${GN}for Container Storage." msg_ok "Using ${BL}$CONTAINER_STORAGE${CL} ${GN}for Container Storage."
# Update LXC template list # Update LXC template list
msg_info "Updating LXC Template List" $STD msg_info "Updating LXC Template List"
#check_network if ! timeout 10 pveam update >/dev/null 2>&1; then
pveam update >/dev/null msg_error "Failed to update LXC template list. Please check your Proxmox host's internet connection and DNS resolution."
msg_ok "Updated LXC Template List" exit 201
fi
$STD msg_ok "LXC Template List Updated"
# Get LXC template string # Get LXC template string
TEMPLATE_SEARCH=${PCT_OSTYPE}-${PCT_OSVERSION:-} TEMPLATE_SEARCH="${PCT_OSTYPE}-${PCT_OSVERSION:-}"
mapfile -t TEMPLATES < <(pveam available -section system | sed -n "s/.*\($TEMPLATE_SEARCH.*\)/\1/p" | sort -t - -k 2 -V) mapfile -t TEMPLATES < <(pveam available -section system | sed -n "s/.*\($TEMPLATE_SEARCH.*\)/\1/p" | sort -t - -k 2 -V)
[ ${#TEMPLATES[@]} -gt 0 ] || {
msg_error "Unable to find a template when searching for '$TEMPLATE_SEARCH'." if [ ${#TEMPLATES[@]} -eq 0 ]; then
msg_error "No matching LXC template found for '${TEMPLATE_SEARCH}'. Make sure your host can reach the Proxmox template repository."
exit 207 exit 207
} fi
TEMPLATE="${TEMPLATES[-1]}" TEMPLATE="${TEMPLATES[-1]}"
TEMPLATE_PATH="$(pvesm path $TEMPLATE_STORAGE:vztmpl/$TEMPLATE)" TEMPLATE_PATH="$(pvesm path "$TEMPLATE_STORAGE":vztmpl/$TEMPLATE)"
# Without NAS/Mount: TEMPLATE_PATH="/var/lib/vz/template/cache/$TEMPLATE"
# Check if template exists, if corrupt remove and redownload # Check if template exists and is valid
if ! pveam list "$TEMPLATE_STORAGE" | grep -q "$TEMPLATE" || ! zstdcat "$TEMPLATE_PATH" | tar -tf - >/dev/null 2>&1; then if ! pveam list "$TEMPLATE_STORAGE" | grep -q "$TEMPLATE" || ! zstdcat "$TEMPLATE_PATH" | tar -tf - >/dev/null 2>&1; then
msg_warn "Template $TEMPLATE not found in storage or seems to be corrupted. Redownloading." msg_warn "Template $TEMPLATE not found or appears to be corrupted. Re-downloading."
[[ -f "$TEMPLATE_PATH" ]] && rm -f "$TEMPLATE_PATH" [[ -f "$TEMPLATE_PATH" ]] && rm -f "$TEMPLATE_PATH"
# Download with 3 attempts
for attempt in {1..3}; do for attempt in {1..3}; do
msg_info "Attempt $attempt: Downloading LXC template..." msg_info "Attempt $attempt: Downloading LXC template..."
if timeout 120 pveam download "$TEMPLATE_STORAGE" "$TEMPLATE" >/dev/null; then if timeout 120 pveam download "$TEMPLATE_STORAGE" "$TEMPLATE" >/dev/null 2>&1; then
msg_ok "Template download successful." msg_ok "Template download successful."
break break
fi fi
if [ $attempt -eq 3 ]; then if [ $attempt -eq 3 ]; then
msg_error "Three failed attempts. Aborting." msg_error "Failed after 3 attempts. Please check your Proxmox hosts internet access or manually run:\n pveam download $TEMPLATE_STORAGE $TEMPLATE"
exit 208 exit 208
fi fi
sleep $((attempt * 5)) sleep $((attempt * 5))
done done
fi fi
msg_ok "LXC Template is ready to use."
msg_ok "LXC Template '$TEMPLATE' is ready to use."
# Check and fix subuid/subgid # Check and fix subuid/subgid
grep -q "root:100000:65536" /etc/subuid || echo "root:100000:65536" >>/etc/subuid grep -q "root:100000:65536" /etc/subuid || echo "root:100000:65536" >>/etc/subuid
@ -182,29 +197,54 @@ grep -q "root:100000:65536" /etc/subgid || echo "root:100000:65536" >>/etc/subgi
PCT_OPTIONS=(${PCT_OPTIONS[@]:-${DEFAULT_PCT_OPTIONS[@]}}) PCT_OPTIONS=(${PCT_OPTIONS[@]:-${DEFAULT_PCT_OPTIONS[@]}})
[[ " ${PCT_OPTIONS[@]} " =~ " -rootfs " ]] || PCT_OPTIONS+=(-rootfs "$CONTAINER_STORAGE:${PCT_DISK_SIZE:-8}") [[ " ${PCT_OPTIONS[@]} " =~ " -rootfs " ]] || PCT_OPTIONS+=(-rootfs "$CONTAINER_STORAGE:${PCT_DISK_SIZE:-8}")
# Secure creation of the LXC container with lock and template check
lockfile="/tmp/template.${TEMPLATE}.lock"
exec 9>"$lockfile"
flock -w 60 9 || {
msg_error "Timeout while waiting for template lock"
exit 211
}
msg_info "Creating LXC Container" msg_info "Creating LXC Container"
if ! pct create "$CTID" "${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE}" "${PCT_OPTIONS[@]}" &>/dev/null; then if ! pct create "$CTID" "${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE}" "${PCT_OPTIONS[@]}" &>/dev/null; then
msg_error "Container creation failed. Checking if template is corrupted." msg_error "Container creation failed. Checking if template is corrupted or incomplete."
if ! zstdcat "$TEMPLATE_PATH" | tar -tf - >/dev/null 2>&1; then if [[ ! -s "$TEMPLATE_PATH" || "$(stat -c%s "$TEMPLATE_PATH")" -lt 1000000 ]]; then
msg_error "Template appears to be corrupted. Removing and re-downloading." msg_error "Template file too small or missing re-downloading."
rm -f "$TEMPLATE_PATH"
elif ! zstdcat "$TEMPLATE_PATH" | tar -tf - &>/dev/null; then
msg_error "Template appears to be corrupted re-downloading."
rm -f "$TEMPLATE_PATH" rm -f "$TEMPLATE_PATH"
if ! timeout 120 pveam download "$TEMPLATE_STORAGE" "$TEMPLATE" >/dev/null; then
msg_error "Failed to re-download template."
exit 208
fi
msg_ok "Re-downloaded LXC Template"
if ! pct create "$CTID" "${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE}" "${PCT_OPTIONS[@]}" &>/dev/null; then
msg_error "Container creation failed after re-downloading template."
exit 200
fi
else else
msg_error "Container creation failed, but template is not corrupted." msg_error "Template is valid, but container creation still failed."
exit 209 exit 209
fi fi
# Retry download
for attempt in {1..3}; do
msg_info "Attempt $attempt: Re-downloading template..."
if timeout 120 pveam download "$TEMPLATE_STORAGE" "$TEMPLATE" >/dev/null; then
msg_ok "Template re-download successful."
break
fi
if [ "$attempt" -eq 3 ]; then
msg_error "Three failed attempts. Aborting."
exit 208
fi
sleep $((attempt * 5))
done
sleep 1 # I/O-Sync-Delay
if ! pct create "$CTID" "${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE}" "${PCT_OPTIONS[@]}" &>/dev/null; then
msg_error "Container creation failed after re-downloading template."
exit 200
fi
fi
if ! pct status "$CTID" &>/dev/null; then
msg_error "Container not found after pct create assuming failure."
exit 210
fi fi
: "${UDHCPC_FIX:=}" : "${UDHCPC_FIX:=}"
if [ "$UDHCPC_FIX" == "yes" ]; then if [ "$UDHCPC_FIX" == "yes" ]; then

View File

@ -13,6 +13,8 @@ var_disk="${var_disk:-2}"
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}"
var_fuse="${var_fuse:-yes}"
var_tun="${var_tun:-yes}"
header_info "$APP" header_info "$APP"
variables variables
@ -20,18 +22,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 [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
exit exit
fi
msg_info "Updating $APP LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
exit
} }
start start
@ -40,3 +42,12 @@ 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}"
read -p "Remove this Container? <y/N> " prompt
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
pct stop "$CTID"
pct destroy "$CTID"
msg_ok "Removed this script"
else
msg_warn "Did not remove this script"
fi

View File

@ -6,19 +6,15 @@ source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/
## App Default Values ## App Default Values
APP="Koel" APP="Koel"
var_tags="${var_tags:-music;player;homelab}" var_tags="${var_tags:-music}"
var_disk="${var_disk:-9}" var_disk="${var_disk:-9}"
var_cpu="${var_cpu:-3}" var_cpu="${var_cpu:-3}"
var_ram="${var_ram:-3072}" var_ram="${var_ram:-3072}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"
var_verbose="${var_verbose:-yes}" var_unprivileged="${var_unprivileged:-1}"
# App Output & Base Settings
header_info "$APP" header_info "$APP"
base_settings
# Core
variables variables
color color
catch_errors catch_errors

View File

@ -1,43 +0,0 @@
#!/usr/bin/env bash
source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Arian Nasr (arian-nasr)
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
# Source: https://www.freepbx.org/
APP="FreePBX"
var_tags=""
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
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
# Check if installation is present | -f for file, -d for folder
if [[ ! -f /lib/systemd/system/freepbx.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "Currently we don't provide an update function for this ${APP}."
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"

101
ct/garmin-grafana.sh Normal file
View File

@ -0,0 +1,101 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/raw/main/garmin-grafana/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: aliaksei135
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/arpanghosh8453/garmin-grafana
APP="garmin-grafana"
var_tags="${var_tags:-sports;visualization}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
# this only updates garmin-grafana, not influxdb or grafana, which are upgraded with apt
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/garmin-grafana/ ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/arpanghosh8453/garmin-grafana/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ ! -d /opt/garmin-grafana/ ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping $APP"
systemctl stop garmin-grafana
systemctl stop grafana-server
systemctl stop influxdb
msg_ok "Stopped $APP"
if [[ ! -f /opt/garmin-grafana/.env ]]; then
msg_error "No .env file found in /opt/garmin-grafana/.env"
exit
fi
source /opt/garmin-grafana/.env
if [[ -z "${INFLUXDB_USER}" || -z "${INFLUXDB_PASSWORD}" || -z "${INFLUXDB_NAME}" ]]; then
msg_error "INFLUXDB_USER, INFLUXDB_PASSWORD, or INFLUXDB_NAME not set in .env file"
exit
fi
msg_info "Creating Backup"
tar -czf "/opt/${APP}_backup_$(date +%F).tar.gz" /opt/garmin-grafana/.garminconnect /opt/garmin-grafana/.env
mv /opt/garmin-grafana/ /opt/garmin-grafana-backup/
msg_ok "Backup Created"
msg_info "Updating $APP to v${RELEASE}"
curl -fsSL -o "${RELEASE}.zip" "https://github.com/arpanghosh8453/garmin-grafana/archive/refs/tags/${RELEASE}.zip"
unzip -q "${RELEASE}.zip"
mv "garmin-grafana-${RELEASE}/" "/opt/garmin-grafana"
rm -f "${RELEASE}.zip"
$STD uv sync --locked --project /opt/garmin-grafana/
# shellcheck disable=SC2016
sed -i 's/\${DS_GARMIN_STATS}/garmin_influxdb/g' /opt/garmin-grafana/Grafana_Dashboard/Garmin-Grafana-Dashboard.json
sed -i 's/influxdb:8086/localhost:8086/' /opt/garmin-grafana/Grafana_Datasource/influxdb.yaml
sed -i "s/influxdb_user/${INFLUXDB_USER}/" /opt/garmin-grafana/Grafana_Datasource/influxdb.yaml
sed -i "s/influxdb_secret_password/${INFLUXDB_PASSWORD}/" /opt/garmin-grafana/Grafana_Datasource/influxdb.yaml
sed -i "s/GarminStats/${INFLUXDB_NAME}/" /opt/garmin-grafana/Grafana_Datasource/influxdb.yaml
# Copy across grafana data
cp -r /opt/garmin-grafana/Grafana_Datasource/* /etc/grafana/provisioning/datasources
cp -r /opt/garmin-grafana/Grafana_Dashboard/* /etc/grafana/provisioning/dashboards
# Copy back the env and token files
cp /opt/garmin-grafana-backup/.env /opt/garmin-grafana/.env
cp -r /opt/garmin-grafana-backup/.garminconnect /opt/garmin-grafana/.garminconnect
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
systemctl start garmin-grafana
systemctl start grafana-server
systemctl start influxdb
msg_ok "Started $APP"
msg_info "Cleaning Up"
rm -rf /opt/garmin-grafana-backup
msg_ok "Cleanup Completed"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

71
ct/gitea-mirror.sh Normal file
View File

@ -0,0 +1,71 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: CrazyWolf13
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/arunavo4/gitea-mirror
APP="gitea-mirror"
var_tags="${var_tags:-arr;dashboard}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-5}"
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/gite-mirror ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/arunavo4/gitea-mirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping Services (Patience)"
systemctl stop gitea-mirror
msg_ok "Services Stopped"
msg_info "Backup Data"
mkdir -p /opt/homarr-data-backup
cp /opt/homarr/.env /opt/homarr-data-backup/.env
msg_ok "Backup Data"
msg_info "Installing Bun"
export BUN_INSTALL=/opt/bun
curl -fsSL https://bun.sh/install | bash
ln -sf /opt/bun/bin/bun /usr/local/bin/bun
ln -sf /opt/bun/bin/bun /usr/local/bin/bunx
msg_ok "Installed Bun"
msg_info "Updating and rebuilding ${APP} to v${RELEASE} (Patience)"
apt install -y git
rm -rf /opt/homarr
fetch_and_deploy_gh_release "arunavo4/gitea-mirror"
cd /opt/gitea-mirror
bun install
bun run build
bun run manage-db init
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4321${CL}"

View File

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

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

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

View File

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

6
ct/headers/argus Normal file
View File

@ -0,0 +1,6 @@
___
/ | _________ ___ _______
/ /| | / ___/ __ `/ / / / ___/
/ ___ |/ / / /_/ / /_/ (__ )
/_/ |_/_/ \__, /\__,_/____/
/____/

View File

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

View File

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

View File

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

6
ct/headers/backrest Normal file
View File

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

View File

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

6
ct/headers/convertx Normal file
View File

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

View File

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

View File

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

View File

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

View File

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

6
ct/headers/gitea-mirror Normal file
View File

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

View File

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

View File

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

6
ct/headers/jitsi-meet Normal file
View File

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

6
ct/headers/kasm Normal file
View File

@ -0,0 +1,6 @@
__ __
/ //_/___ __________ ___
/ ,< / __ `/ ___/ __ `__ \
/ /| / /_/ (__ ) / / / / /
/_/ |_\__,_/____/_/ /_/ /_/

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

6
ct/headers/openwebui Normal file
View File

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

View File

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

View File

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

6
ct/headers/pulse Normal file
View File

@ -0,0 +1,6 @@
____ __
/ __ \__ __/ /_______
/ /_/ / / / / / ___/ _ \
/ ____/ /_/ / (__ ) __/
/_/ \__,_/_/____/\___/

View File

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

View File

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

6
ct/headers/searxng Normal file
View File

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

View File

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

View File

@ -1,11 +1,11 @@
#!/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/ProxmoxVED/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster) | Co-Author: MickLesk (Canbiz) | Co-Author: CrazyWolf13 # Author: tteck (tteckster) | Co-Author: MickLesk (Canbiz) | Co-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://homarr.dev/ # Source: https://homarr.dev/
APP="Homarr" APP="homarr"
var_tags="${var_tags:-arr;dashboard}" var_tags="${var_tags:-arr;dashboard}"
var_cpu="${var_cpu:-2}" var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}" var_ram="${var_ram:-4096}"
@ -124,7 +124,9 @@ EOF
fetch_and_deploy_gh_release "homarr-labs/homarr" fetch_and_deploy_gh_release "homarr-labs/homarr"
mv /opt/homarr-data-backup/.env /opt/homarr/.env mv /opt/homarr-data-backup/.env /opt/homarr/.env
cd /opt/homarr cd /opt/homarr
$STD pnpm install echo "test2"
export NODE_ENV=""
$STD pnpm install --recursive --frozen-lockfile --shamefully-hoist
$STD pnpm build $STD pnpm build
cp /opt/homarr/apps/nextjs/next.config.ts . cp /opt/homarr/apps/nextjs/next.config.ts .
cp /opt/homarr/apps/nextjs/package.json . cp /opt/homarr/apps/nextjs/package.json .

View File

@ -7,7 +7,7 @@ source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/
APP="immich" APP="immich"
var_tags="${var_tags:-photos}" var_tags="${var_tags:-photos}"
var_disk="${var_disk:-12}" 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}"
@ -46,13 +46,13 @@ function update_script() {
rm ~/Dockerfile rm ~/Dockerfile
fi fi
if [[ -f ~/.immich_library_revisions ]]; then if [[ -f ~/.immich_library_revisions ]]; then
curl -fsSLO https://raw.githubusercontent.com/immich-app/base-images/refs/heads/main/server/bin/build-lock.json libraries=("libjxl" "libheif" "libraw" "imagemagick" "libvips")
jq -cr '.sources[].revision' ./build-lock.json >~/.new_revisions readarray -d '' NEW_REVISIONS < <(for library in "${libraries[@]}"; do
readarray -t UPDATED_REVISIONS < <(comm -13 <(sort ~/.immich_library_revisions) <(sort ~/.new_revisions)) echo "$library: $(curl -fsSL https://raw.githubusercontent.com/immich-app/base-images/refs/heads/main/server/sources/"$library".json | jq -cr '.revision' -)"
if [[ "${#UPDATED_REVISIONS[@]}" -gt 0 ]]; then done)
readarray -t NAMES < <(for revision in "${UPDATED_REVISIONS[@]}"; do UPDATED_REVISIONS="$(comm -13 <(sort ~/.immich_library_revisions) <(echo -n "${NEW_REVISIONS[@]}" | sort))"
jq -cr --arg jq_revision "$revision" '.sources[] | select(.revision == $jq_revision).name' ./build-lock.json if [[ "$UPDATED_REVISIONS" ]]; then
done) readarray -t NAMES < <(echo "$UPDATED_REVISIONS" | awk -F ':' '{print $1}')
rm -rf "$SOURCE_DIR" rm -rf "$SOURCE_DIR"
mkdir -p "$SOURCE_DIR" mkdir -p "$SOURCE_DIR"
cd "$BASE_DIR" cd "$BASE_DIR"
@ -64,13 +64,13 @@ function update_script() {
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 '.sources[] | select(.name == "libjxl").revision' $BASE_DIR/server/bin/build-lock.json)}" : "${LIBJXL_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libjxl.json)}"
$STD git clone https://github.com/libjxl/libjxl.git "$SOURCE" $STD git clone https://github.com/libjxl/libjxl.git "$SOURCE"
cd "$SOURCE" cd "$SOURCE"
$STD git reset --hard "$LIBJXL_REVISION" $STD git reset --hard "$LIBJXL_REVISION"
$STD git submodule update --init --recursive --depth 1 --recommend-shallow $STD git submodule update --init --recursive --depth 1 --recommend-shallow
$STD git apply "$BASE_DIR"/server/bin/patches/jpegli-empty-dht-marker.patch $STD git apply "$BASE_DIR"/server/sources/libjxl-patches/jpegli-empty-dht-marker.patch
$STD git apply "$BASE_DIR"/server/bin/patches/jpegli-icc-warning.patch $STD git apply "$BASE_DIR"/server/sources/libjxl-patches/jpegli-icc-warning.patch
mkdir build mkdir build
cd build cd build
$STD cmake \ $STD cmake \
@ -102,7 +102,7 @@ function update_script() {
if [[ "$name" == "libheif" ]]; then if [[ "$name" == "libheif" ]]; then
msg_info "Recompiling libheif" msg_info "Recompiling libheif"
SOURCE=${SOURCE_DIR}/libheif SOURCE=${SOURCE_DIR}/libheif
: "${LIBHEIF_REVISION:=$(jq -cr '.sources[] | select(.name == "libheif").revision' $BASE_DIR/server/bin/build-lock.json)}" : "${LIBHEIF_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libheif.json)}"
$STD git clone https://github.com/strukturag/libheif.git "$SOURCE" $STD git clone https://github.com/strukturag/libheif.git "$SOURCE"
cd "$SOURCE" cd "$SOURCE"
$STD git reset --hard "$LIBHEIF_REVISION" $STD git reset --hard "$LIBHEIF_REVISION"
@ -128,7 +128,7 @@ function update_script() {
if [[ "$name" == "libraw" ]]; then if [[ "$name" == "libraw" ]]; then
msg_info "Recompiling libraw" msg_info "Recompiling libraw"
SOURCE=${SOURCE_DIR}/libraw SOURCE=${SOURCE_DIR}/libraw
: "${LIBRAW_REVISION:=$(jq -cr '.sources[] | select(.name == "libraw").revision' $BASE_DIR/server/bin/build-lock.json)}" : "${LIBRAW_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libraw.json)}"
$STD git clone https://github.com/libraw/libraw.git "$SOURCE" $STD git clone https://github.com/libraw/libraw.git "$SOURCE"
cd "$SOURCE" cd "$SOURCE"
$STD git reset --hard "$LIBRAW_REVISION" $STD git reset --hard "$LIBRAW_REVISION"
@ -144,7 +144,7 @@ function update_script() {
if [[ "$name" == "imagemagick" ]]; then if [[ "$name" == "imagemagick" ]]; then
msg_info "Recompiling ImageMagick" msg_info "Recompiling ImageMagick"
SOURCE=$SOURCE_DIR/imagemagick SOURCE=$SOURCE_DIR/imagemagick
: "${IMAGEMAGICK_REVISION:=$(jq -cr '.sources[] | select(.name == "imagemagick").revision' $BASE_DIR/server/bin/build-lock.json)}" : "${IMAGEMAGICK_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/imagemagick.json)}"
$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"
@ -159,7 +159,7 @@ function update_script() {
if [[ "$name" == "libvips" ]]; then if [[ "$name" == "libvips" ]]; then
msg_info "Recompiling libvips" msg_info "Recompiling libvips"
SOURCE=$SOURCE_DIR/libvips SOURCE=$SOURCE_DIR/libvips
: "${LIBVIPS_REVISION:=$(jq -cr '.sources[] | select(.name == "libvips").revision' $BASE_DIR/server/bin/build-lock.json)}" : "${LIBVIPS_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libvips.json)}"
$STD git clone https://github.com/libvips/libvips.git "$SOURCE" $STD git clone https://github.com/libvips/libvips.git "$SOURCE"
cd "$SOURCE" cd "$SOURCE"
$STD git reset --hard "$LIBVIPS_REVISION" $STD git reset --hard "$LIBVIPS_REVISION"
@ -172,10 +172,9 @@ function update_script() {
msg_ok "Recompiled libvips" msg_ok "Recompiled libvips"
fi fi
done done
mv ~/.new_revisions ~/.immich_library_revisions echo -n "${NEW_REVISIONS[@]}" >~/.immich_library_revisions
msg_ok "Image-processing libraries compiled" msg_ok "Image-processing libraries compiled"
fi fi
rm ~/build-lock.json
fi fi
RELEASE=$(curl -s https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -s https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
@ -183,8 +182,44 @@ function update_script() {
systemctl stop immich-web systemctl stop immich-web
systemctl stop immich-ml systemctl stop immich-ml
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
if [[ "$(cat /opt/${APP}_version.txt)" < "1.133.0" ]]; then
msg_info "Upgrading to the VectorChord PostgreSQL extension"
NUMBER="$(
sed -n '2p' <(
sudo -u postgres psql -A -d immich <<EOF
SELECT atttypmod as dimsize
FROM pg_attribute f
JOIN pg_class c ON c.oid = f.attrelid
WHERE c.relkind = 'r'::char
AND f.attnum > 0
AND c.relname = 'smart_search'::text
AND f.attname = 'embedding'::text;
EOF
)
)"
$STD sudo -u postgres psql -d immich <<EOF
DROP INDEX IF EXISTS clip_index;
DROP INDEX IF EXISTS face_index;
ALTER TABLE smart_search ALTER COLUMN embedding SET DATA TYPE real[];
ALTER TABLE face_search ALTER COLUMN embedding SET DATA TYPE real[];
EOF
$STD apt-get update
$STD apt-get install postgresql-16-pgvector -y
curl -fsSL https://github.com/tensorchord/VectorChord/releases/download/0.3.0/postgresql-16-vchord_0.3.0-1_amd64.deb -o vchord.deb
$STD dpkg -i vchord.deb
rm vchord.deb
sed -i "s|vectors.so|vchord.so|" /etc/postgresql/16/main/postgresql.conf
systemctl restart postgresql.service
$STD sudo -u postgres psql -d immich <<EOF
CREATE EXTENSION IF NOT EXISTS vchord CASCADE;
ALTER TABLE smart_search ALTER COLUMN embedding SET DATA TYPE vector($NUMBER);
ALTER TABLE face_search ALTER COLUMN embedding SET DATA TYPE vector(512);
EOF
$STD apt purge vectors-pg16 -y
msg_ok "Database upgrade complete"
fi
INSTALL_DIR="/opt/${APP}" INSTALL_DIR="/opt/${APP}"
UPLOAD_DIR="${INSTALL_DIR}/upload" UPLOAD_DIR="$(sed -n '/IMMICH_MEDIA_LOCATION/s/[^=]*=//p' /opt/immich/.env)"
SRC_DIR="${INSTALL_DIR}/source" SRC_DIR="${INSTALL_DIR}/source"
APP_DIR="${INSTALL_DIR}/app" APP_DIR="${INSTALL_DIR}/app"
ML_DIR="${APP_DIR}/machine-learning" ML_DIR="${APP_DIR}/machine-learning"
@ -213,7 +248,6 @@ function update_script() {
cp -a server/{node_modules,dist,bin,resources,package.json,package-lock.json,start*.sh} "$APP_DIR"/ cp -a server/{node_modules,dist,bin,resources,package.json,package-lock.json,start*.sh} "$APP_DIR"/
cp -a web/build "$APP_DIR"/www cp -a web/build "$APP_DIR"/www
cp LICENSE "$APP_DIR" cp LICENSE "$APP_DIR"
cp "$BASE_DIR"/server/bin/build-lock.json "$APP_DIR"
msg_ok "Updated ${APP} web and microservices" msg_ok "Updated ${APP} web and microservices"
cd "$SRC_DIR"/machine-learning cd "$SRC_DIR"/machine-learning
@ -257,6 +291,8 @@ function update_script() {
$STD npm i -g @immich/cli $STD npm i -g @immich/cli
msg_ok "Updated Immich CLI" msg_ok "Updated Immich CLI"
sed -i "s|pgvecto.rs|vectorchord|" /opt/"${APP}"/.env
chown -R immich:immich "$INSTALL_DIR" chown -R immich:immich "$INSTALL_DIR"
echo "$RELEASE" >/opt/"${APP}"_version.txt echo "$RELEASE" >/opt/"${APP}"_version.txt
msg_ok "Updated ${APP} to v${RELEASE}" msg_ok "Updated ${APP} to v${RELEASE}"

View File

@ -1,15 +1,15 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG # Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ) # Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE # License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
# Source: https://rclone.org/ # Source: https://github.com/jitsi/jitsi-meet
APP="Rclone" APP="Jitsi-Meet"
var_tags="${var_tags:-os}" var_tags="${var_tags:-os}"
var_cpu="${var_cpu:-1}" var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-512}" var_ram="${var_ram:-4096}"
var_disk="${var_disk:-2}" var_disk="${var_disk:-20}"
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}"
@ -23,14 +23,14 @@ 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 /lib/systemd/system/jitsi-videobridge2.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 Jitsi-Meet LXC"
$STD apt-get update $STD apt-get update
$STD apt-get -y upgrade $STD apt-get upgrade -y
msg_ok "Updated $APP LXC" msg_ok "Updated Jitsi-Meet LXC"
exit exit
} }
@ -40,3 +40,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}https://${IP}${CL}"

46
ct/kasm.sh Normal file
View File

@ -0,0 +1,46 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Omar Minaya
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.kasmweb.com/docs/latest/index.html
APP="Kasm"
var_tags="${var_tags:-os}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4192}"
var_disk="${var_disk:-30}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
var_fuse="${var_fuse:-yes}"
var_tun="${var_tun:-yes}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}${CL}"

View File

@ -38,7 +38,7 @@ function update_script() {
start start
build_container build_container
description desiption
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}"

61
ct/lyrionmusicserver.sh Normal file
View File

@ -0,0 +1,61 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/refs/heads/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Omar Minaya
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://lyrion.org/getting-started/
APP="Lyrion Music Server"
var_tags="${var_tags:-media}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-3}"
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 [[ ! -f /lib/systemd/system/lyrionmusicserver.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
DEB_URL=$(curl -s 'https://lyrion.org/getting-started/' | grep -oP '<a\s[^>]*href="\K[^"]*amd64\.deb(?="[^>]*>)' | head -n 1)
RELEASE=$(echo "$DEB_URL" | grep -oP 'lyrionmusicserver_\K[0-9.]+(?=_amd64\.deb)')
DEB_FILE="/tmp/lyrionmusicserver_${RELEASE}_amd64.deb"
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Updating $APP to ${RELEASE}"
curl -fsSL -o "$DEB_FILE" "$DEB_URL"
$STD apt install "$DEB_FILE" -y
systemctl restart lyrion
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP to ${RELEASE}"
msg_info "Cleaning up"
$STD rm -f "$DEB_FILE"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
else
msg_ok "$APP is already up to date (${RELEASE})"
fi
}
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 the web interface at:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000${CL}"
echo -e "${INFO}${YW} Check logs for setup details: ~/lyrion-install.log${CL}"

View File

@ -1,72 +0,0 @@
#!/usr/bin/env bash
source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/odoo/odoo
APP="Odoo"
# shellcheck disable=SC2034
var_tags="${var_tags:-erp}"
var_disk="${var_disk:-6}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
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 [[ ! -f /etc/odoo/odoo.conf ]]; then
msg_error "No ${APP} Installation Found!"
exit 1
fi
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/" |
grep -oP "odoo_${RELEASE}\.\d+_all\.deb" |
sed -E "s/odoo_(${RELEASE}\.[0-9]+)_all\.deb/\1/" |
sort -V |
tail -n1)
if [[ "${LATEST_VERSION}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping ${APP} service"
systemctl stop odoo
msg_ok "Stopped ${APP}"
msg_info "Updating ${APP} to ${LATEST_VERSION}"
curl -fsSL https://nightly.odoo.com/${RELEASE}/nightly/deb/odoo_${RELEASE}.latest_all.deb -o /opt/odoo.deb
$STD apt install -y /opt/odoo.deb
echo "$RELEASE" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Starting ${APP} service"
systemctl start odoo
msg_ok "Started ${APP}"
msg_info "Cleaning Up"
rm -f /opt/odoo.deb
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${LATEST_VERSION}"
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}:8069${CL}"

73
ct/openwebui.sh Normal file
View File

@ -0,0 +1,73 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
# Copyright (c) 2021-2025 tteck
# Author: havardthom
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://openwebui.com/
APP="Open WebUI"
var_tags="${var_tags:-ai;interface}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-8192}"
var_disk="${var_disk:-25}"
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/open-webui ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if [ -x "/usr/bin/ollama" ]; then
msg_info "Updating Ollama"
OLLAMA_VERSION=$(ollama -v | awk '{print $NF}')
RELEASE=$(curl -s https://api.github.com/repos/ollama/ollama/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}')
if [ "$OLLAMA_VERSION" != "$RELEASE" ]; then
curl -fsSLO https://ollama.com/download/ollama-linux-amd64.tgz
tar -C /usr -xzf ollama-linux-amd64.tgz
rm -rf ollama-linux-amd64.tgz
msg_ok "Ollama updated to version $RELEASE"
else
msg_ok "Ollama is already up to date."
fi
fi
msg_info "Updating ${APP} (Patience)"
systemctl stop open-webui.service
mkdir -p /opt/openwebui-backup
cp -rf /opt/openwebui/backend/data /opt/openwebui-backup
cp /opt/openwebui/.env /opt
rm -rf /opt/openwebui
fetch_and_deploy_gh_release "open-webui/open-webui"
cd /opt/openwebui
$STD npm install
export NODE_OPTIONS="--max-old-space-size=3584"
sed -i "s/git rev-parse HEAD/openssl rand -hex 20/g" /opt/openwebui/svelte.config.js
$STD npm run build
cd ./backend
$STD pip install -r requirements.txt -U
cp -rf /opt/openwebui-backup/* /opt/openwebui/backend
mv /opt/.env /opt/openwebui/
systemctl start open-webui.service
msg_ok "Updated Successfully"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"

79
ct/pulse.sh Normal file
View File

@ -0,0 +1,79 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: rcourtman
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
# Source: https://github.com/rcourtman/Pulse
APP="Pulse"
var_tags="monitoring;proxmox"
var_cpu="1"
var_ram="1024"
var_disk="4"
var_os="debian"
var_version="12"
var_unprivileged="1"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/pulse-proxmox ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping ${APP}"
systemctl stop pulse-monitor
msg_ok "Stopped ${APP}"
msg_info "Updating Pulse"
if [[ -f /opt/pulse-proxmox/.env ]]; then
cp /opt/pulse-proxmox/.env /tmp/.env.backup.pulse
fi
temp_file=$(mktemp)
mkdir -p /opt/pulse-proxmox
rm -rf /opt/pulse-proxmox/*
curl -fsSL "https://github.com/rcourtman/Pulse/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox
if [[ -f /tmp/.env.backup.pulse ]]; then
mv /tmp/.env.backup.pulse /opt/pulse-proxmox/.env
fi
cd /opt/pulse-proxmox
$STD npm install --unsafe-perm
cd /opt/pulse-proxmox/server
$STD npm install --unsafe-perm
cd /opt/pulse-proxmox
$STD npm run build:css
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated Pulse to ${RELEASE}"
msg_info "Setting permissions for /opt/pulse-proxmox..."
chown -R pulse:pulse "/opt/pulse-proxmox"
find "/opt/pulse-proxmox" -type d -exec chmod 755 {} \;
find "/opt/pulse-proxmox" -type f -exec chmod 644 {} \;
chmod 600 /opt/pulse-proxmox/.env
msg_ok "Set permissions."
msg_info "Starting ${APP}"
systemctl start pulse-monitor
msg_ok "Started ${APP}"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}."
fi
}
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}(:your_port)${CL}"

42
ct/searxng.sh Normal file
View File

@ -0,0 +1,42 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (Canbiz)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/searxng/searxng
APP="SearXNG"
var_tags="${var_tags:-search}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-7}"
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 /usr/local/searxng/searxng-src ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if cd /usr/local/searxng/searxng-src && git pull | grep -q 'Already up to date'; then
msg_ok "There is currently no update available."
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}:8888${CL}"

View File

@ -11,7 +11,7 @@
"interface_port": null, "interface_port": null,
"documentation": "https://allstarlink.github.io/", "documentation": "https://allstarlink.github.io/",
"website": "https://www.allstarlink.org/", "website": "https://www.allstarlink.org/",
"logo": "https://raw.githubusercontent.com/AllStarLink/ASL3-Manual/blob/main/docs/assets/allstar-logo-small.png", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/allstar-link.webp",
"config_path": "", "config_path": "",
"description": "AllStarLink is a network of Amateur Radio repeaters, remote base stations and hot spots accessible to each other via Voice over Internet Protocol.", "description": "AllStarLink is a network of Amateur Radio repeaters, remote base stations and hot spots accessible to each other via Voice over Internet Protocol.",
"install_methods": [ "install_methods": [

View File

@ -0,0 +1,35 @@
{
"name": "Argus",
"slug": "argus",
"categories": [
11
],
"date_created": "2025-05-19",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://release-argus.io/docs/overview/",
"website": "https://release-argus.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/argus.webp",
"config_path": "/opt/argus/config.yml",
"description": "Argus will query websites at a user defined interval for new software releases and then trigger Gotify/Slack/Other notification(s) and/or WebHook(s) when one has been found. For example, you could set it to monitor the Argus repo (release-argus/argus). This will query the GitHub API and track the tag_name variable. When this variable changes from what it was on a previous query, a GitHub-style WebHook could be sent that triggers something (like AWX) to update Argus on your server.",
"install_methods": [
{
"type": "default",
"script": "ct/argus.sh",
"resources": {
"cpu": 1,
"ram": 256,
"hdd": 3,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@ -1,36 +0,0 @@
{
"name": "Asterisk",
"slug": "asterisk",
"categories": [
0,
4
],
"date_created": "2025-05-13",
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": null,
"documentation": "https://docs.asterisk.org/",
"config_path": "/etc/asterisk",
"website": "https://asterisk.org/",
"logo": "https://docs.asterisk.org/favicon.ico",
"description": "Asterisk is an open-source framework for building communications applications, most commonly used as a phone system (PBX). Developed by Digium (now part of Sangoma), it turns a standard computer into a powerful telephony server.",
"install_methods": [
{
"type": "default",
"script": "ct/asterisk.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 4,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@ -1,41 +0,0 @@
{
"name": "authentik",
"slug": "authentik",
"categories": [
6
],
"date_created": "2024-12-27",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 9000,
"documentation": "https://docs.goauthentik.io/docs/",
"website": "https://goauthentik.io/",
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/authentik.svg",
"config_path": "/etc/authentik/config.yml",
"description": "authentik is an IdP (Identity Provider) and SSO (single sign on) that is built with security at the forefront of every piece of code, every feature, with an emphasis on flexibility and versatility.",
"install_methods": [
{
"type": "default",
"script": "ct/authentik.sh",
"resources": {
"cpu": 6,
"ram": 8192,
"hdd": 12,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Authentik is very resource-heavy, it is recommended to use at least 8GB RAM anytime!",
"type": "warning"
}
]
}

View File

@ -0,0 +1,40 @@
{
"name": "Baby Buddy",
"slug": "babybuddy",
"categories": [
23
],
"date_created": "2025-05-16",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": "https://docs.baby-buddy.net/",
"website": "https://github.com/babybuddy/babybuddy",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/baby-buddy.webp",
"config_path": "/opt/babybuddy/babybuddy/production.py",
"description": "Baby Buddy is an open-source web application designed to assist caregivers in tracking various aspects of a baby's daily routine, including sleep, feedings, diaper changes, tummy time, and more. By recording this data, caregivers can better understand and anticipate their baby's needs, reducing guesswork in daily care. The application offers a user-friendly dashboard for data entry and visualization, supports multiple users, and provides features like timers and reminders. Additionally, Baby Buddy can be integrated with platforms like Home Assistant and Grafana for enhanced functionality.",
"install_methods": [
{
"type": "default",
"script": "ct/babybuddy.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 5,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": "admin",
"password": "admin"
},
"notes": [
{
"text": "for private SSL setup visit: `https://github.com/babybuddy/babybuddy/blob/master/docs/setup/ssl.md`",
"type": "info"
}
]
}

View File

@ -0,0 +1,40 @@
{
"name": "Backrest",
"slug": "backrest",
"categories": [
7
],
"date_created": "2025-05-11",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 9898,
"documentation": "https://garethgeorge.github.io/backrest/introduction/getting-started",
"website": "https://garethgeorge.github.io/backrest",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/backrest.webp",
"config_path": "/opt/backrest/config/config.json",
"description": "Backrest is a web-accessible backup solution built on top of restic and providing a WebUI which wraps the restic CLI and makes it easy to create repos, browse snapshots, and restore files. Additionally, Backrest can run in the background and take an opinionated approach to scheduling snapshots and orchestrating repo health operations.",
"install_methods": [
{
"type": "default",
"script": "ct/backrest.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 8,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"type": "info",
"text": "`cat ~/.ssh/id_ed25519.pub` to view ssh public key. This key is used to authenticate with sftp targets. You can add this key on the sftp server."
}
]
}

View File

@ -1,46 +0,0 @@
{
"name": "Bitmagnet",
"slug": "bitmagnet",
"categories": [
11
],
"date_created": "2025-05-13",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8080,
"documentation": "https://bitmagnet.io/setup.html",
"website": "https://bitmagnet.io/",
"logo": "https://github.com/bitmagnet-io/bitmagnet/blob/main/webui/public/magnet.svg",
"config_path": "`/opt/bitmagnet/config.yml` or `/opt/bitmagnet/.env`",
"description": "A self-hosted BitTorrent indexer, DHT crawler, content classifier and torrent search engine with web UI, GraphQL API and Servarr stack integration.",
"install_methods": [
{
"type": "default",
"script": "ct/alpine-bitmagnet.sh",
"resources": {
"cpu": 1,
"ram": 256,
"hdd": 3,
"os": "alpine",
"version": "3.21"
}
},
{
"type": "alpine",
"script": "ct/alpine-bitmagnet.sh",
"resources": {
"cpu": 1,
"ram": 256,
"hdd": 3,
"os": "alpine",
"version": "3.21"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@ -12,7 +12,7 @@
"documentation": "https://github.com/favonia/cloudflare-ddns/blob/main/README.markdown", "documentation": "https://github.com/favonia/cloudflare-ddns/blob/main/README.markdown",
"config_path": "/etc/systemd/system/cloudflare-ddns.service", "config_path": "/etc/systemd/system/cloudflare-ddns.service",
"website": "https://github.com/favonia/cloudflare-ddns", "website": "https://github.com/favonia/cloudflare-ddns",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/cloudflare.svg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/cloudflare.webp",
"description": "A feature-rich and robust Cloudflare DDNS updater with a small footprint. The program will detect your machines public IP addresses and update DNS records using the Cloudflare API", "description": "A feature-rich and robust Cloudflare DDNS updater with a small footprint. The program will detect your machines public IP addresses and update DNS records using the Cloudflare API",
"install_methods": [ "install_methods": [
{ {
@ -41,4 +41,4 @@
"type": "info" "type": "info"
} }
] ]
} }

View File

@ -0,0 +1,40 @@
{
"name": "ConvertX",
"slug": "convertx",
"categories": [
9
],
"date_created": "2025-05-22",
"type": "ct",
"updateable": true,
"privileged": false,
"config_path": "/opt/convertx/.env",
"interface_port": 3000,
"documentation": "https://github.com/C4illin/ConvertX",
"website": "https://github.com/C4illin/ConvertX",
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/convertx.svg",
"description": "ConvertX is a self-hosted online file converter supporting over 1000 formats, including images, audio, video, documents, and more, powered by FFmpeg, GraphicsMagick, and other libraries.",
"install_methods": [
{
"type": "default",
"script": "ct/convertx.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 20,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Complete setup via the web interface at http://<container-ip>:3000. Create and secure the admin account immediately.",
"type": "info"
}
]
}

View File

@ -1,36 +0,0 @@
{
"name": "FreePBX",
"slug": "freepbx",
"categories": [
0
],
"date_created": "2025-03-10",
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": 80,
"documentation": "https://sangomakb.atlassian.net/wiki/spaces/FP/overview?homepageId=8454359",
"website": "https://www.freepbx.org/",
"logo": "https://avatars.githubusercontent.com/u/696423?s=200&v=4",
"config_path": "",
"description": "FreePBX is a web-based open-source graphical user interface that manages Asterisk, a voice over IP and telephony server.",
"install_methods": [
{
"type": "default",
"script": "ct/freepbx.sh",
"resources": {
"cpu": 1,
"ram": 1024,
"hdd": 20,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@ -0,0 +1,44 @@
{
"name": "garmin-grafana",
"slug": "garmin-grafana",
"categories": [
24
],
"date_created": "2025-05-08",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://github.com/arpanghosh8453/garmin-grafana",
"config_path": "",
"website": "https://github.com/arpanghosh8453/garmin-grafana",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/garmin-grafana.webp",
"description": "A docker container to fetch data from Garmin servers and store the data in a local influxdb database for appealing visualization with Grafana.",
"install_methods": [
{
"type": "default",
"script": "ct/garmin-grafana.sh",
"resources": {
"cpu": 2,
"ram": 2,
"hdd": 8,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Show login and database credentials: `cat ~/.garmin-grafana.creds`",
"type": "info"
},
{
"text": "`garmin-grafana` only imports the past 7 days by default. To import historical data, use the `~/bulk-import.sh` script after installation.",
"type": "info"
}
]
}

View File

@ -1,46 +0,0 @@
{
"name": "Alpine-gatus",
"slug": "alpine-gatus",
"categories": [
9
],
"date_created": "2025-05-06",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8080,
"documentation": "https://gatus.io/docs",
"website": "https://gatus.io/",
"logo": "https://raw.githubusercontent.com/TwiN/gatus/refs/heads/master/web/static/img/logo.svg",
"config_path": "/opt/gatus/config/config.yaml",
"description": "Gatus is a developer-oriented health dashboard that gives you the ability to monitor your services using HTTP, ICMP, TCP, and even DNS queries as well as evaluate the result of said queries by using a list of conditions on values like the status code, the response time, the certificate expiration, the body and many others. The icing on top is that each of these health checks can be paired with alerting via Slack, Teams, PagerDuty, Discord, Twilio and many more.",
"install_methods": [
{
"type": "default",
"script": "ct/gatus.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 4,
"os": "debian",
"version": "12"
}
},
{
"type": "alpine",
"script": "ct/alpine-gatus.sh",
"resources": {
"cpu": 1,
"ram": 256,
"hdd": 3,
"os": "alpine",
"version": "3.21"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@ -1,35 +0,0 @@
{
"name": "Homarr",
"slug": "homarr",
"categories": [
10
],
"date_created": "2025-05-08",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 7575,
"documentation": null,
"website": "https://homarr.dev/",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/homarr.svg",
"config_path": "/opt/homarr/.env",
"description": "Homarr is a sleek, modern dashboard that puts all of your apps and services at your fingertips.",
"install_methods": [
{
"type": "default",
"script": "ct/homarr.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 8,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@ -11,7 +11,7 @@
"interface_port": 2283, "interface_port": 2283,
"documentation": "https://immich.app/docs/overview/introduction", "documentation": "https://immich.app/docs/overview/introduction",
"website": "https://immich.app", "website": "https://immich.app",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/immich.png", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/immich.webp",
"config_path": "/opt/immich/.env", "config_path": "/opt/immich/.env",
"description": "High performance self-hosted photo and video management solution.", "description": "High performance self-hosted photo and video management solution.",
"install_methods": [ "install_methods": [
@ -21,7 +21,7 @@
"resources": { "resources": {
"cpu": 4, "cpu": 4,
"ram": 4096, "ram": 4096,
"hdd": 12, "hdd": 20,
"os": "Debian", "os": "Debian",
"version": "12" "version": "12"
} }
@ -33,9 +33,16 @@
}, },
"notes": [ "notes": [
{ {
"text": "During installation, HW-accelerated machine-learning is an available option. This also allows for HW-accelerated transcoding, but it must be enabled in Video Transcoding Settings", "text": "During installation, HW-accelerated machine-learning (with OpenVINO) is an available option. This also allows for HW-accelerated transcoding, but it must be enabled in Video Transcoding Settings",
"type": "info"
},
{
"text": "If using OpenVINO HW machine-learning, increase RAM because OpenVINO is memory-intensive",
"type": "info"
},
{
"text": "To change upload location, edit 'IMMICH_MEDIA_LOCATION' in `/opt/immich/.env`",
"type": "info" "type": "info"
} }
] ]
} }

View File

@ -0,0 +1,35 @@
{
"name": "jitsi-meet",
"slug": "jitsi-meet",
"categories": [
18
],
"date_created": "2025-05-06",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 443,
"documentation": "https://jitsi.github.io/handbook/docs/intro",
"website": "https://jitsi.org/jitsi-meet/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/jitsi-meet.webp",
"config_path": "/etc/jitsi/meet/[your-hostname]-config.js",
"description": "Go ahead, video chat with the whole team. In fact, invite everyone you know. Jitsi Meet is a fully encrypted, 100% open source video conferencing solution that you can use all day, every day, for free — with no account needed.",
"install_methods": [
{
"type": "default",
"script": "ct/jitsi-meet.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 20,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@ -11,7 +11,7 @@
"interface_port": 80, "interface_port": 80,
"documentation": "https://www.jumpserver.com/docs", "documentation": "https://www.jumpserver.com/docs",
"website": "https://www.jumpserver.com/", "website": "https://www.jumpserver.com/",
"logo": "https://raw.githubusercontent.com/jumpserver/jumpserver/refs/heads/dev/apps/static/img/logo.png", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/jumpserver.webp",
"config_path": "", "config_path": "",
"description": "JumpServer is an open-source Privileged Access Management (PAM) tool that provides DevOps and IT teams with on-demand and secure access to SSH, RDP, Kubernetes, Database and RemoteApp endpoints through a web browser.", "description": "JumpServer is an open-source Privileged Access Management (PAM) tool that provides DevOps and IT teams with on-demand and secure access to SSH, RDP, Kubernetes, Database and RemoteApp endpoints through a web browser.",
"install_methods": [ "install_methods": [

View File

@ -0,0 +1,44 @@
{
"name": "Kasm",
"slug": "kasm",
"categories": [
9
],
"date_created": "2025-03-24",
"type": "ct",
"updateable": false,
"privileged": true,
"config_path": "",
"interface_port": 443,
"documentation": "https://www.kasmweb.com/docs/",
"website": "https://www.kasmweb.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/kasm-workspaces.webp",
"description": "Kasm Workspaces is a container streaming platform that delivers browser-based access to desktops, applications, and web services with enhanced security and scalability.",
"install_methods": [
{
"type": "default",
"script": "ct/kasm.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 50,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.",
"type": "warning"
},
{
"text": "Show password: `cat ~/kasm.creds`",
"type": "info"
}
]
}

View File

@ -11,7 +11,7 @@
"interface_port": 80, "interface_port": 80,
"documentation": "https://docs.librenms.org/", "documentation": "https://docs.librenms.org/",
"website": "https://librenms.org/", "website": "https://librenms.org/",
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/librenms.svg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/librenms.webp",
"config_path": "/opt/librenms/config.php and /opt/librenms/.env", "config_path": "/opt/librenms/config.php and /opt/librenms/.env",
"description": "LibreNMS is an open-source, community-driven network monitoring system that provides automatic discovery, alerting, and performance tracking for network devices. It supports a wide range of hardware and integrates with various notification and logging platforms.", "description": "LibreNMS is an open-source, community-driven network monitoring system that provides automatic discovery, alerting, and performance tracking for network devices. It supports a wide range of hardware and integrates with various notification and logging platforms.",
"install_methods": [ "install_methods": [
@ -33,4 +33,3 @@
}, },
"notes": [] "notes": []
} }

View File

@ -1,35 +1,35 @@
{ {
"name": "Librespeed", "name": "Librespeed",
"slug": "librespeed", "slug": "librespeed",
"categories": [ "categories": [
4 4
], ],
"date_created": "2025-04-26", "date_created": "2025-04-26",
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": 80, "interface_port": 80,
"documentation": "https://github.com/librespeed/speedtest/blob/master/doc.md", "documentation": "https://github.com/librespeed/speedtest/blob/master/doc.md",
"config_path": "", "config_path": "",
"website": "https://librespeed.org", "website": "https://librespeed.org",
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/librespeed.svg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/librespeed.webp",
"description": "No Flash, No Java, No Websocket, No Bullshit. This is a very lightweight speed test implemented in Javascript, using XMLHttpRequest and Web Workers.", "description": "No Flash, No Java, No Websocket, No Bullshit. This is a very lightweight speed test implemented in Javascript, using XMLHttpRequest and Web Workers.",
"install_methods": [ "install_methods": [
{ {
"type": "default", "type": "default",
"script": "ct/librespeed.sh", "script": "ct/librespeed.sh",
"resources": { "resources": {
"cpu": 1, "cpu": 1,
"ram": 512, "ram": 512,
"hdd": 4, "hdd": 4,
"os": "Debian", "os": "Debian",
"version": "12" "version": "12"
} }
} }
], ],
"default_credentials": { "default_credentials": {
"username": "root", "username": "root",
"password": null "password": null
}, },
"notes": [] "notes": []
} }

View File

@ -0,0 +1,35 @@
{
"name": "Lyrion Music Server",
"slug": "lyrionmusicserver",
"categories": [
9
],
"date_created": "2025-05-21",
"type": "ct",
"updateable": true,
"privileged": false,
"config_path": "/etc/default/lyrionmusicserver",
"interface_port": 9000,
"documentation": "https://lyrion.org/",
"website": "https://lyrion.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/lyrion-media-server.webp",
"description": "Lyrion Music Server is an open-source server software to stream local music collections, internet radio, and music services to Squeezebox and compatible audio players.",
"install_methods": [
{
"type": "default",
"script": "ct/lyrionmusicserver.sh",
"resources": {
"cpu": 1,
"ram": 1024,
"hdd": 3,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@ -1,36 +1,35 @@
{ {
"name": "Manyfold", "name": "Manyfold",
"slug": "manyfold", "slug": "manyfold",
"categories": [ "categories": [
24 24
], ],
"date_created": "2025-03-18", "date_created": "2025-03-18",
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 80, "interface_port": 80,
"documentation": "https://manyfold.app/sysadmin/", "documentation": "https://manyfold.app/sysadmin/",
"website": "https://manyfold.app/", "website": "https://manyfold.app/",
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/webp/manyfold.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/manyfold.webp",
"config_path": "", "config_path": "",
"description": "Manyfold is an open source, self-hosted web application for managing a collection of 3d models, particularly focused on 3d printing.", "description": "Manyfold is an open source, self-hosted web application for managing a collection of 3d models, particularly focused on 3d printing.",
"install_methods": [ "install_methods": [
{ {
"type": "default", "type": "default",
"script": "ct/manyfold.sh", "script": "ct/manyfold.sh",
"resources": { "resources": {
"cpu": 2, "cpu": 2,
"ram": 1024, "ram": 1024,
"hdd": 15, "hdd": 15,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }
} }
], ],
"default_credentials": { "default_credentials": {
"username": null, "username": null,
"password": null "password": null
}, },
"notes": [] "notes": []
} }

View File

@ -1,40 +0,0 @@
{
"name": "Odoo",
"slug": "odoo",
"categories": [
25
],
"date_created": "2025-05-14",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8069,
"documentation": "https://www.odoo.com/en_EN/page/docs",
"website": "https://www.odoo.com/",
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/odoo.svg",
"config_path": "/etc/odoo/odoo.conf",
"description": "Odoo is a comprehensive open-source business platform made up of modular apps that cover key areas such as CRM, accounting, inventory, sales, project management, HR, helpdesk, and e-commerce. All modules are tightly integrated, allowing businesses to fully digitize and automate their workflows. Its modular design makes it suitable for both small companies and large enterprises, with flexibility to adapt to different industries. Odoo combines user-friendliness with powerful functionality, offering a unified solution for managing a wide range of business operations.",
"install_methods": [
{
"type": "default",
"script": "ct/odoo.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 6,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": "admin",
"password": "admin"
},
"notes": [
{
"text": "Database Credentials: `cat ~/odoo.creds`",
"type": "info"
}
]
}

View File

@ -11,7 +11,7 @@
"interface_port": 80, "interface_port": 80,
"documentation": "https://github.com/agersant/polaris/blob/master/docs/SETUP.md", "documentation": "https://github.com/agersant/polaris/blob/master/docs/SETUP.md",
"website": "https://github.com/agersant/polaris", "website": "https://github.com/agersant/polaris",
"logo": "https://raw.githubusercontent.com/agersant/polaris/refs/heads/master/res/branding/logo/sticker_print.svg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/polaris.webp",
"config_path": "", "config_path": "",
"description": "Polaris is a self-hosted music streaming server that allows you to enjoy your personal music collection from any computer or mobile device. It is a free and open-source application with no premium version. Polaris is highly performant and responsive, supporting large music libraries with over 100,000 tracks. It features an intuitive user interface and supports various audio formats, including FLAC, MP3, MP4, OGG, and WAV. There is an Android client available through the Google Play Store, F-Droid, or GitHub Releases.", "description": "Polaris is a self-hosted music streaming server that allows you to enjoy your personal music collection from any computer or mobile device. It is a free and open-source application with no premium version. Polaris is highly performant and responsive, supporting large music libraries with over 100,000 tracks. It features an intuitive user interface and supports various audio formats, including FLAC, MP3, MP4, OGG, and WAV. There is an Android client available through the Google Play Store, F-Droid, or GitHub Releases.",
"install_methods": [ "install_methods": [

View File

@ -0,0 +1,40 @@
{
"name": "Pulse",
"slug": "pulse",
"categories": [
9
],
"date_created": "2025-05-22",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 7655,
"documentation": null,
"website": "https://github.com/rcourtman/Pulse",
"logo": "https://raw.githubusercontent.com/rcourtman/Pulse/main/src/public/logos/pulse-logo-256x256.png",
"config_path": "/opt/pulse-proxmox/.env",
"description": "A lightweight monitoring application for Proxmox VE that displays real-time status for VMs and containers via a simple web interface.",
"install_methods": [
{
"type": "default",
"script": "ct/pulse.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 4,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Create Proxmox-API-Token first: `https: //github.com/rcourtman/Pulse?tab=readme-ov-file#creating-a-proxmox-api-token`",
"type": "Info"
}
]
}

View File

@ -0,0 +1,48 @@
{
"name": "PVE Privilege Converter",
"slug": "pve-privilege-converter",
"categories": [
1
],
"date_created": "2025-05-22",
"type": "pve",
"updateable": false,
"privileged": false,
"interface_port": null,
"documentation": "https://github.com/onethree7/proxmox-lxc-privilege-converter",
"website": null,
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
"config_path": "",
"description": "This script allows converting Proxmox LXC containers between privileged and unprivileged modes using vzdump backup and restore. It guides you through container selection, backup storage, ID assignment, and privilege flipping via automated restore. Useful for applying changes that require different LXC modes.",
"install_methods": [
{
"type": "default",
"script": "tools/pve/pve-privilege-converter.sh",
"resources": {
"cpu": null,
"ram": null,
"hdd": null,
"os": null,
"version": null
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Execute this script inside the Proxmox shell as root.",
"type": "info"
},
{
"text": "Ensure that the backup and target storage have enough space.",
"type": "warning"
},
{
"text": "The container will be recreated with a new ID and desired privilege setting.",
"type": "info"
}
]
}

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