Compare commits

..

571 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
CanbiZ
7e15bd6eb0 add odoo 2025-05-14 10:41:51 +02:00
CanbiZ
89c7960cc4 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-14 10:41:45 +02:00
Tobias
d46538f726
Delete frontend/public/json/streamlink-webui.json 2025-05-14 10:38:17 +02:00
Tobias
4170d28138
Delete ct/headers/streamlink-webui 2025-05-14 10:37:59 +02:00
Tobias
4483371fc4
Delete install/streamlink-webui-install.sh 2025-05-14 10:37:48 +02:00
Tobias
c0ff48d1ec
Delete install/openobserve.sh 2025-05-14 10:37:32 +02:00
Tobias
cecffa1d34
Delete ct/headers/openobserve 2025-05-14 10:37:19 +02:00
50ed02155c Update workflow 2025-05-14 10:36:44 +02:00
Tobias
5715622bf6
Delete frontend/public/json/openobserve.json 2025-05-14 10:35:17 +02:00
CanbiZ
9e9a18cf71 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-14 10:34:35 +02:00
Michel Roegl-Brunner
5eaa071d7d
Update CHANGELOG.md 2025-05-14 10:34:35 +02:00
CanbiZ
a02ad32edc Delete openobserve.sh 2025-05-14 10:34:33 +02:00
Tobias
cb9c539fc1
Delete ct/openobserve.sh 2025-05-14 10:34:29 +02:00
Michel Roegl-Brunner
430ff5f2e1
Update CHANGELOG.md (#350) 2025-05-14 10:31:41 +02:00
7103edd163 Update workflow 2025-05-14 10:31:05 +02:00
CanbiZ
8d15d1bd84 removing 2025-05-14 10:30:42 +02:00
Michel Roegl-Brunner
21cb76d15f
Update CHANGELOG.md (#347) 2025-05-14 10:30:17 +02:00
f541aa4310 Update workflow 2025-05-14 10:29:04 +02:00
Michel Roegl-Brunner
e8f543b9ac
Update CHANGELOG.md (#346) 2025-05-14 10:28:13 +02:00
5961ec2d1e Update workflow 2025-05-14 10:27:05 +02:00
CanbiZ
ced08b3ca4 Update alpine-syncthing.sh 2025-05-14 10:25:55 +02:00
CanbiZ
d729c88264 Update odoo.sh 2025-05-14 10:25:15 +02:00
CanbiZ
6236aa796f remove 2025-05-14 10:22:32 +02:00
CanbiZ
2fc25c281e Merge branch 'main' of https://github.com/community-scripts/ProxmoxVED 2025-05-14 10:20:31 +02:00
CanbiZ
38744e16f7 removing 2025-05-14 10:20:13 +02:00
Michel Roegl-Brunner
f99c48d760
Change all links to gite (#343) 2025-05-14 10:17:40 +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
182 changed files with 5461 additions and 4609 deletions

View File

@ -25,6 +25,13 @@ jobs:
app-id: ${{ vars.APP_ID }}
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
- name: Checkout repository
uses: actions/checkout@v2
@ -91,14 +98,17 @@ jobs:
gh pr review $PR_NUMBER --approve
fi
- name: Re-approve pull request after update
- name: Approve pull request and merge
if: env.changed == 'true'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ steps.generate-token-merge.outputs.token }}
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
gh pr review $PR_NUMBER --approve
gh pr review "$PR_NUMBER" --approve
gh pr merge "$PR_NUMBER" --squash --admin
fi
# Step 8: Output success message when no changes

View File

@ -17,13 +17,20 @@ jobs:
contents: write
pull-requests: write
steps:
- name: Generate a token
- name: Generate a token for PR creation
id: generate-token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ vars.APP_ID }}
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: Checkout code
uses: actions/checkout@v4
with:
@ -261,12 +268,15 @@ jobs:
gh pr review $PR_NUMBER --approve
fi
- name: Re-approve pull request after update
- name: Approve pull request and merge
if: env.changed == 'true'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
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

View File

@ -80,7 +80,25 @@ jobs:
VAR+="${{ github.event.issue.html_url }}"
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
if: steps.check_thread.outputs.thread_exists != 'true'
id: post_to_discord
env:
DISCORD_CHANNEL_ID: ${{ secrets.DISCORD_CHANNEL_ID }}
@ -106,6 +124,7 @@ jobs:
fi
- name: Comment on Issue
if: steps.check_thread.outputs.thread_exists != 'true'
id: comment_on_issue
env:
MESSAGE: ${{ env.message }}

View File

@ -14,6 +14,13 @@ jobs:
with:
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)
id: extract_title
run: echo "TITLE=$(echo '${{ github.event.issue.title }}' | tr '[:upper:]' '[:lower:]' | sed 's/ /_/g')" >> $GITHUB_ENV
@ -52,7 +59,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
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.email "github-actions[bot]@users.noreply.github.com"
git checkout -b $branch
@ -65,13 +72,26 @@ jobs:
exit 0
fi
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
pr_number=$(gh pr list | grep -m 1 $branch | awk '{print $1}')
#gh pr merge $pr_number --squash
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
uses: actions/github-script@v7
with:

View File

@ -29,6 +29,13 @@ jobs:
app-id: ${{ vars.APP_ID }}
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
env:
token: ${{ secrets.NEWRELEASES_TOKEN }}
@ -110,10 +117,12 @@ jobs:
- name: Approve pull request and merge
if: env.changed == 'true'
env:
GH_TOKEN: ${{ secrets.PAT_MICHEL }}
GH_TOKEN: ${{ steps.generate-token-merge.outputs.token }}
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
gh pr review $PR_NUMBER --approve
gh pr merge $PR_NUMBER --squash --delete-branch --admin
gh pr review "$PR_NUMBER" --approve
gh pr merge "$PR_NUMBER" --squash --admin
fi

View File

@ -133,10 +133,6 @@ jobs:
echo "install file already exists in ProxmoxVE"
exit 1
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"
@ -157,10 +153,13 @@ jobs:
cp ../frontend/public/json/$json_file frontend/public/json/. || true
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
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 .
echo $script_name
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|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
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
echo "No changes detected, skipping commit."
exit 0

View File

@ -21,7 +21,7 @@ jobs:
git config --global user.name "Push From Github"
git config --global user.email "actions@github.com"
git remote add gitea https://$GITEA_USER:$GITEA_TOKEN@git.community-scripts.org/community-scripts/ProxmoxVED.git
git push gitea --mirror
git push gitea --all
env:
GITEA_USER: ${{ secrets.GITEA_USERNAME }}
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}

View File

@ -1,34 +1,50 @@
#!/usr/bin/env bash
# Base directory for headers
headers_dir="./ct/headers"
# Function for generating Figlet headers
generate_headers() {
local base_dir=$1
local target_subdir=$2
local search_pattern=$3
# Ensure the headers directory exists and clear it
mkdir -p "$headers_dir"
rm -f "$headers_dir"/*
local headers_dir="${base_dir}/headers"
mkdir -p "$headers_dir"
rm -f "$headers_dir"/*
# Find all .sh files in ./ct directory, sorted alphabetically
find ./ct -type f -name "*.sh" | sort | while read -r script; do
# Extract the APP name from the APP line
app_name=$(grep -oP '^APP="\K[^"]+' "$script" 2>/dev/null)
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
# Recursive or non-recursive search
if [[ "$search_pattern" == "**" ]]; then
shopt -s globstar nullglob
file_list=("${base_dir}"/**/*.sh)
shopt -u globstar
else
echo "No APP name found in $script, skipping."
file_list=("${base_dir}"/*.sh)
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>
## 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
### 🆕 New Scripts
@ -15,8 +85,7 @@
- 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))
- 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
- 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: 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))
- 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))
- #### ✨ New Features
@ -56,7 +125,7 @@
- #### ✨ New Features
- [core] add gitignore to prevent big pulls [@MickLesk](https://github.com/MickLesk) ([#3278](https://github.com/community-scripts/ProxmoxVE/pull/3278))
- [core] install core deps (debian / ubuntu) [@MickLesk](https://github.com/MickLesk) ([#3366](https://github.com/community-scripts/ProxmoxVE/pull/3366))
- #### 💾 Core
@ -72,11 +141,11 @@
### 🌐 Website
- Update siteConfig.tsx to use new analytics code [@BramSuurdje](https://github.com/BramSuurdje) ([#3389](https://github.com/community-scripts/ProxmoxVE/pull/3389))
- Bump next from 15.1.3 to 15.2.3 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#3316](https://github.com/community-scripts/ProxmoxVE/pull/3316))
- Bump next from 15.1.3 to 15.2.16](https://github.com/community-scripE/pull/3316))
- #### 🐞 Bug Fixes
- Better Text for Version Date [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#3388](https://github.com/community-scripts/ProxmoxVE/pull/3388))
- Better Text for Version Date [@michelroegl-brunner](https:er) ([#3388](https://github.com/community-scripts/ProxmoxVE/pull/3388))
- JSON editor note fix [@bvdberg01](https://github.com/bvdberg01) ([#3260](https://github.com/community-scripts/ProxmoxVE/pull/3260))
- Move cryptpad files to right folders [@bvdberg01](https://github.com/bvdberg01) ([#3242](https://github.com/community-scripts/ProxmoxVE/pull/3242))

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}"

View File

@ -21,12 +21,11 @@ catch_errors
function update_script() {
msg_info "Updating Alpine Packages"
$STD apk update
$STD apk upgrade
$STD apk -U upgrade
msg_ok "Updated Alpine Packages"
msg_info "Updating Syncthing"
$STD $STD apk upgrade syncthing
$STD apk upgrade syncthing
msg_ok "Updated Syncthing"
msg_info "Restarting Syncthing"

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

@ -1,91 +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: remz1337
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://goauthentik.io/
APP="Authentik"
var_tags="${var_tags:-identity-provider}"
var_disk="${var_disk:-12}"
var_cpu="${var_cpu:-6}"
var_ram="${var_ram:-10240}"
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/systemd/system/authentik-server.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
NODE_VERSION="22"
PG_VERSION="16"
setup_uv
install_postgresql
install_node_and_modules
install_go
msg_info "Stopping ${APP}"
systemctl stop authentik-server
systemctl stop authentik-worker
msg_ok "Stopped ${APP}"
msg_info "Building ${APP} website"
mkdir -p /opt/authentik
curl -fsSL "${RELEASE}" -o "authentik.tar.gz"
tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite
rm -rf authentik.tar.gz
cd /opt/authentik/website
$STD npm install
$STD npm run build-bundled
cd /opt/authentik/web
$STD npm install
$STD npm run build
msg_ok "Built ${APP} website"
msg_info "Building ${APP} server"
cd /opt/authentik
go mod download
go build -o /go/authentik ./cmd/server
go build -o /opt/authentik/authentik-server /opt/authentik/cmd/server/
msg_ok "Built ${APP} server"
msg_info "Building Authentik"
cd /opt/authentik
$STD uv sync --frozen --no-install-project --no-dev
uv run python -m lifecycle.migrate
ln -s /opt/authentik/.venv/bin/gunicorn /usr/local/bin/gunicorn
ln -s /opt/authentik/.venv/bin/celery /usr/local/bin/celery
msg_ok "Authentik built"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting ${APP}"
systemctl start authentik-server
systemctl start authentik-worker
msg_ok "Started ${APP}"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
}
start
build_container
description
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000/if/flow/initial-setup/${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
# Source:
APP="BabyBuddy"
APP="Baby Buddy"
var_tags="${var_tags:-baby}"
var_disk="${var_disk:-5}"
var_cpu="${var_cpu:-2}"
@ -20,19 +20,60 @@ color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/maxun ]]; then
msg_error "No ${APP} Installation Found!"
exit
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
msg_info "Stopping Services"
systemctl stop APP
msg_ok "Services Stopped"
fi
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/babybuddy ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/babybuddy/babybuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/babybuddy_version.txt)" ]]; then
setup_uv
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
@ -42,4 +83,4 @@ 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}"
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
cd /opt/bar-assistant
composer install
php artisan migrate --force
php artisan storage:link
php artisan bar:setup-meilisearch
php artisan scout:sync-index-settings
php artisan config:cache
php artisan route:cache
php artisan event:cache
$STD php artisan migrate --force
$STD php artisan storage:link
$STD php artisan bar:setup-meilisearch
$STD php artisan scout:sync-index-settings
$STD php artisan config:cache
$STD php artisan route:cache
$STD php artisan event:cache
echo "${RELEASE_BARASSISTANT}" >/opt/${APP}_version.txt
msg_ok "Updated $APP to v${RELEASE_BARASSISTANT}"

View File

@ -1,76 +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: MickLesk (Canbiz)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/BookStackApp/BookStack
APP="Bookstack"
var_tags="${var_tags:-organizer}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
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 /opt/bookstack ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/BookStackApp/BookStack/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 Apache2"
systemctl stop apache2
msg_ok "Services Stopped"
msg_info "Updating ${APP} to v${RELEASE}"
mv /opt/bookstack /opt/bookstack-backup
fetch_and_deploy_gh_release BookstackApp/BookStack
cp /opt/bookstack-backup/.env /opt/bookstack/.env
cp -r /opt/bookstack-backup/public/uploads/* /opt/bookstack/public/uploads/ || true
cp -r /opt/bookstack-backup/storage/uploads/* /opt/bookstack/storage/uploads/ || true
cp -r /opt/bookstack-backup/themes/* /opt/bookstack/themes/ || true
cd /opt/bookstack
export COMPOSER_ALLOW_SUPERUSER=1
$STD composer install --no-dev
$STD php artisan migrate --force
chown www-data:www-data -R /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage
chmod -R 755 /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage
chmod -R 775 /opt/bookstack/storage /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads
chmod -R 640 /opt/bookstack/.env
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting Apache2"
systemctl start apache2
msg_ok "Started Apache2"
msg_info "Cleaning Up"
rm -rf /opt/bookstack-backup
rm -rf "/opt/BookStack-${RELEASE}.zip"
msg_ok "Cleaned"
msg_ok "Updated Successfully"
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}${CL}"

View File

@ -20,15 +20,15 @@ color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/systemd/system/cloudflare-ddns.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "There is no update function for ${APP}."
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/systemd/system/cloudflare-ddns.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "There is no update function for ${APP}."
exit
}
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.
function select_storage() {
local CLASS=$1
local CLASS="$1"
local CONTENT
local CONTENT_LABEL
case $CLASS in
case "$CLASS" in
container)
CONTENT='rootdir'
CONTENT_LABEL='Container'
;;
template)
CONTENT='vztmpl'
CONTENT_LABEL='Container template'
CONTENT_LABEL='Container Template'
;;
*) false || {
msg_error "Invalid storage class."
*)
msg_error "Invalid storage class: $CLASS"
exit 201
} ;;
;;
esac
# This Queries all storage locations
# Collect storage options
local -a MENU
while read -r line; do
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')
local MSG_MAX_LENGTH=0
# Select storage location
if [ $((${#MENU[@]} / 3)) -eq 1 ]; then
printf ${MENU[0]}
else
local STORAGE
while [ -z "${STORAGE:+x}" ]; do
STORAGE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Storage Pools" --radiolist \
"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 \
"${MENU[@]}" 3>&1 1>&2 2>&3) || {
msg_error "Menu aborted."
exit 202
}
if [ $? -ne 0 ]; then
echo -e "${CROSS}${RD} Menu aborted by user.${CL}"
exit 0
fi
done
printf "%s" "$STORAGE"
while read -r TAG TYPE _ _ _ FREE _; do
local TYPE_PADDED
local FREE_FMT
TYPE_PADDED=$(printf "%-10s" "$TYPE")
FREE_FMT=$(numfmt --to=iec --from-unit=K --format %.2f <<<"$FREE")B
local ITEM="Type: $TYPE_PADDED Free: $FREE_FMT"
((${#ITEM} + 2 > MSG_MAX_LENGTH)) && MSG_MAX_LENGTH=$((${#ITEM} + 2))
MENU+=("$TAG" "$ITEM" "OFF")
done < <(pvesm status -content "$CONTENT" | awk 'NR>1')
local OPTION_COUNT=$((${#MENU[@]} / 3))
# Auto-select if only one option available
if [[ "$OPTION_COUNT" -eq 1 ]]; then
echo "${MENU[0]}"
return 0
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
[[ "${CTID:-}" ]] || {
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
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
TEMPLATE_STORAGE=$(select_storage template) || exit
TEMPLATE_STORAGE=$(select_storage template)
msg_ok "Using ${BL}$TEMPLATE_STORAGE${CL} ${GN}for Template 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."
# Update LXC template list
msg_info "Updating LXC Template List"
#check_network
pveam update >/dev/null
msg_ok "Updated LXC Template List"
$STD msg_info "Updating LXC Template List"
if ! timeout 10 pveam update >/dev/null 2>&1; then
msg_error "Failed to update LXC template list. Please check your Proxmox host's internet connection and DNS resolution."
exit 201
fi
$STD msg_ok "LXC Template List Updated"
# 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)
[ ${#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
}
fi
TEMPLATE="${TEMPLATES[-1]}"
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
TEMPLATE_PATH="$(pvesm path "$TEMPLATE_STORAGE":vztmpl/$TEMPLATE)"
# 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
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"
# Download with 3 attempts
for attempt in {1..3}; do
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."
break
fi
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
fi
sleep $((attempt * 5))
done
fi
msg_ok "LXC Template is ready to use."
msg_ok "LXC Template '$TEMPLATE' is ready to use."
# Check and fix subuid/subgid
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[@]} " =~ " -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"
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
msg_error "Template appears to be corrupted. Removing and re-downloading."
if [[ ! -s "$TEMPLATE_PATH" || "$(stat -c%s "$TEMPLATE_PATH")" -lt 1000000 ]]; then
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"
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
msg_error "Container creation failed, but template is not corrupted."
msg_error "Template is valid, but container creation still failed."
exit 209
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
: "${UDHCPC_FIX:=}"
if [ "$UDHCPC_FIX" == "yes" ]; then

View File

@ -13,6 +13,8 @@ var_disk="${var_disk:-2}"
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
@ -20,18 +22,18 @@ 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"
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
@ -40,3 +42,12 @@ description
msg_ok "Completed Successfully!\n"
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="Koel"
var_tags="${var_tags:-music;player;homelab}"
var_tags="${var_tags:-music}"
var_disk="${var_disk:-9}"
var_cpu="${var_cpu:-3}"
var_ram="${var_ram:-3072}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_verbose="${var_verbose:-yes}"
var_unprivileged="${var_unprivileged:-1}"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
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}"

View File

@ -1,75 +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/TwiN/gatus
APP="gatus"
var_tags="${var_tags:-monitoring}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
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 /opt/gatus ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Updating $APP"
msg_info "Stopping $APP"
systemctl stop gatus
msg_ok "Stopped $APP"
msg_info "Updating $APP to v${RELEASE}"
mv /opt/gatus/config/config.yaml /opt
rm -rf /opt/gatus/*
temp_file=$(mktemp)
curl -fsSL "https://github.com/TwiN/gatus/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
tar zxf "$temp_file" --strip-components=1 -C /opt/gatus
cd /opt/gatus
$STD go mod tidy
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus .
setcap CAP_NET_RAW+ep gatus
mv /opt/config.yaml config
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
systemctl start gatus
msg_ok "Started $APP"
msg_info "Cleaning Up"
rm -f "$temp_file"
msg_ok "Cleanup Completed"
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}:8080${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 @@
____ ____ __
/ __ \____ ___ ____ / __ \/ /_ ________ ______ _____
/ / / / __ \/ _ \/ __ \/ / / / __ \/ ___/ _ \/ ___/ | / / _ \
/ /_/ / /_/ / __/ / / / /_/ / /_/ (__ ) __/ / | |/ / __/
\____/ .___/\___/_/ /_/\____/_.___/____/\___/_/ |___/\___/
/_/

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,6 +0,0 @@
__ ___ __ __ _
_____/ /_________ ____ _____ ___ / (_)___ / /__ _ _____ / /_ __ __(_)
/ ___/ __/ ___/ _ \/ __ `/ __ `__ \/ / / __ \/ //_/____| | /| / / _ \/ __ \/ / / / /
(__ ) /_/ / / __/ /_/ / / / / / / / / / / / ,< /_____/ |/ |/ / __/ /_/ / /_/ / /
/____/\__/_/ \___/\__,_/_/ /_/ /_/_/_/_/ /_/_/|_| |__/|__/\___/_.___/\__,_/_/

View File

@ -1,11 +1,11 @@
#!/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
# 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="Homarr"
APP="homarr"
var_tags="${var_tags:-arr;dashboard}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
@ -124,7 +124,9 @@ EOF
fetch_and_deploy_gh_release "homarr-labs/homarr"
mv /opt/homarr-data-backup/.env /opt/homarr/.env
cd /opt/homarr
$STD pnpm install
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 .

View File

@ -1,170 +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: tteck (tteckster) | Co-Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.home-assistant.io/
APP="Home Assistant-Core"
var_tags="${var_tags:-automation;smarthome}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-10}"
var_os="${var_os:-ubuntu}"
var_version="${var_version:-24.10}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
# OS Check
if ! lsb_release -d | grep -q "Ubuntu 24.10"; then
msg_error "Wrong OS detected. This script only supports Ubuntu 24.10."
msg_error "Read Guide: https://github.com/community-scripts/ProxmoxVE/discussions/1549"
exit 1
fi
check_container_storage
check_container_resources
if [[ ! -d /srv/homeassistant ]]; then
msg_error "No ${APP} Installation Found!"
exit 1
fi
setup_uv
IP=$(hostname -I | awk '{print $1}')
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
"1" "Update Core" ON \
"2" "Install HACS" OFF \
"3" "Install FileBrowser" OFF \
3>&1 1>&2 2>&3)
if [ "$UPD" == "1" ]; then
if (whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "SELECT BRANCH" --yesno "Use Beta Branch?" 10 58); then
clear
header_info
echo -e "${GN}Updating to Beta Version${CL}"
BR="--pre"
else
clear
header_info
echo -e "${GN}Updating to Stable Version${CL}"
BR=""
fi
msg_info "Stopping Home Assistant"
systemctl stop homeassistant
msg_ok "Stopped Home Assistant"
if [[ -d /srv/homeassistant/bin ]]; then
msg_info "Migrating to .venv-based structure"
$STD source /srv/homeassistant/bin/activate
PY_VER=$(python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")
$STD deactivate
mv /srv/homeassistant "/srv/homeassistant_backup_$PY_VER"
mkdir -p /srv/homeassistant
cd /srv/homeassistant
$STD uv python install 3.13
UV_PYTHON=$(uv python list | awk '/3\.13\.[0-9]+.*\/root\/.local/ {print $2; exit}')
if [[ -z "$UV_PYTHON" ]]; then
msg_error "No local Python 3.13 found via uv"
exit 1
fi
$STD uv venv .venv --python "$UV_PYTHON"
$STD source .venv/bin/activate
$STD uv pip install homeassistant mysqlclient psycopg2-binary isal webrtcvad wheel
mkdir -p /root/.homeassistant
msg_ok "Migration complete"
else
source /srv/homeassistant/.venv/bin/activate
fi
msg_info "Updating Home Assistant"
$STD uv pip install $BR --upgrade homeassistant
msg_ok "Updated Home Assistant"
msg_info "Starting Home Assistant"
if [[ -f /etc/systemd/system/homeassistant.service ]] && grep -q "/srv/homeassistant/bin/python3" /etc/systemd/system/homeassistant.service; then
sed -i 's|ExecStart=/srv/homeassistant/bin/python3|ExecStart=/srv/homeassistant/.venv/bin/python3|' /etc/systemd/system/homeassistant.service
sed -i 's|PATH=/srv/homeassistant/bin|PATH=/srv/homeassistant/.venv/bin|' /etc/systemd/system/homeassistant.service
$STD systemctl daemon-reload
fi
systemctl start homeassistant
sleep 5
msg_ok "Started Home Assistant"
msg_ok "Update Successful"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8123${CL}"
exit
fi
if [ "$UPD" == "2" ]; then
msg_info "Installing Home Assistant Community Store (HACS)"
$STD apt update
$STD apt install -y unzip
cd /root/.homeassistant
$STD bash <(curl -fsSL https://get.hacs.xyz)
msg_ok "Installed Home Assistant Community Store (HACS)"
echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n"
exit
fi
if [ "$UPD" == "3" ]; then
set +Eeuo pipefail
read -r -p "Would you like to use No Authentication? <y/N> " prompt
msg_info "Installing FileBrowser"
RELEASE=$(curl -fsSL https://api.github.com/repos/filebrowser/filebrowser/releases/latest | grep -o '"tag_name": ".*"' | sed 's/"//g' | sed 's/tag_name: //g')
$STD curl -fsSL https://github.com/filebrowser/filebrowser/releases/download/$RELEASE/linux-amd64-filebrowser.tar.gz | tar -xzv -C /usr/local/bin
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
$STD filebrowser config init -a '0.0.0.0'
$STD filebrowser config set -a '0.0.0.0'
$STD filebrowser config set --auth.method=noauth
$STD filebrowser users add ID 1 --perm.admin
else
$STD filebrowser config init -a '0.0.0.0'
$STD filebrowser config set -a '0.0.0.0'
$STD filebrowser users add admin helper-scripts.com --perm.admin
fi
msg_ok "Installed FileBrowser"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/filebrowser.service
[Unit]
Description=Filebrowser
After=network-online.target
[Service]
User=root
WorkingDirectory=/root/
ExecStart=/usr/local/bin/filebrowser -r /root/.homeassistant
[Install]
WantedBy=default.target
EOF
systemctl enable --now -q filebrowser.service
msg_ok "Created Service"
msg_ok "Completed Successfully!\n"
echo -e "FileBrowser should be reachable by going to the following URL.
${BL}http://$IP:8080${CL} admin|helper-scripts.com\n"
exit
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}:8123${CL}"

View File

@ -7,7 +7,7 @@ source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/
APP="immich"
var_tags="${var_tags:-photos}"
var_disk="${var_disk:-12}"
var_disk="${var_disk:-20}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-4096}"
var_os="${var_os:-debian}"
@ -46,13 +46,13 @@ function update_script() {
rm ~/Dockerfile
fi
if [[ -f ~/.immich_library_revisions ]]; then
curl -fsSLO https://raw.githubusercontent.com/immich-app/base-images/refs/heads/main/server/bin/build-lock.json
jq -cr '.sources[].revision' ./build-lock.json >~/.new_revisions
readarray -t UPDATED_REVISIONS < <(comm -13 <(sort ~/.immich_library_revisions) <(sort ~/.new_revisions))
if [[ "${#UPDATED_REVISIONS[@]}" -gt 0 ]]; then
readarray -t NAMES < <(for revision in "${UPDATED_REVISIONS[@]}"; do
jq -cr --arg jq_revision "$revision" '.sources[] | select(.revision == $jq_revision).name' ./build-lock.json
done)
libraries=("libjxl" "libheif" "libraw" "imagemagick" "libvips")
readarray -d '' NEW_REVISIONS < <(for library in "${libraries[@]}"; do
echo "$library: $(curl -fsSL https://raw.githubusercontent.com/immich-app/base-images/refs/heads/main/server/sources/"$library".json | jq -cr '.revision' -)"
done)
UPDATED_REVISIONS="$(comm -13 <(sort ~/.immich_library_revisions) <(echo -n "${NEW_REVISIONS[@]}" | sort))"
if [[ "$UPDATED_REVISIONS" ]]; then
readarray -t NAMES < <(echo "$UPDATED_REVISIONS" | awk -F ':' '{print $1}')
rm -rf "$SOURCE_DIR"
mkdir -p "$SOURCE_DIR"
cd "$BASE_DIR"
@ -64,13 +64,13 @@ function update_script() {
SOURCE=${SOURCE_DIR}/libjxl
JPEGLI_LIBJPEG_LIBRARY_SOVERSION="62"
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"
cd "$SOURCE"
$STD git reset --hard "$LIBJXL_REVISION"
$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/bin/patches/jpegli-icc-warning.patch
$STD git apply "$BASE_DIR"/server/sources/libjxl-patches/jpegli-empty-dht-marker.patch
$STD git apply "$BASE_DIR"/server/sources/libjxl-patches/jpegli-icc-warning.patch
mkdir build
cd build
$STD cmake \
@ -102,7 +102,7 @@ function update_script() {
if [[ "$name" == "libheif" ]]; then
msg_info "Recompiling 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"
cd "$SOURCE"
$STD git reset --hard "$LIBHEIF_REVISION"
@ -128,7 +128,7 @@ function update_script() {
if [[ "$name" == "libraw" ]]; then
msg_info "Recompiling 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"
cd "$SOURCE"
$STD git reset --hard "$LIBRAW_REVISION"
@ -144,7 +144,7 @@ function update_script() {
if [[ "$name" == "imagemagick" ]]; then
msg_info "Recompiling 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"
cd "$SOURCE"
$STD git reset --hard "$IMAGEMAGICK_REVISION"
@ -159,7 +159,7 @@ function update_script() {
if [[ "$name" == "libvips" ]]; then
msg_info "Recompiling 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"
cd "$SOURCE"
$STD git reset --hard "$LIBVIPS_REVISION"
@ -172,10 +172,9 @@ function update_script() {
msg_ok "Recompiled libvips"
fi
done
mv ~/.new_revisions ~/.immich_library_revisions
echo -n "${NEW_REVISIONS[@]}" >~/.immich_library_revisions
msg_ok "Image-processing libraries compiled"
fi
rm ~/build-lock.json
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) }')
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-ml
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}"
UPLOAD_DIR="${INSTALL_DIR}/upload"
UPLOAD_DIR="$(sed -n '/IMMICH_MEDIA_LOCATION/s/[^=]*=//p' /opt/immich/.env)"
SRC_DIR="${INSTALL_DIR}/source"
APP_DIR="${INSTALL_DIR}/app"
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 web/build "$APP_DIR"/www
cp LICENSE "$APP_DIR"
cp "$BASE_DIR"/server/bin/build-lock.json "$APP_DIR"
msg_ok "Updated ${APP} web and microservices"
cd "$SRC_DIR"/machine-learning
@ -257,6 +291,8 @@ function update_script() {
$STD npm i -g @immich/cli
msg_ok "Updated Immich CLI"
sed -i "s|pgvecto.rs|vectorchord|" /opt/"${APP}"/.env
chown -R immich:immich "$INSTALL_DIR"
echo "$RELEASE" >/opt/"${APP}"_version.txt
msg_ok "Updated ${APP} to v${RELEASE}"

View File

@ -1,15 +1,15 @@
#!/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)
# Author: Slaviša Arežina (tremor021)
# 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_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
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}"
@ -23,14 +23,14 @@ function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /var ]]; then
if [[ ! -f /lib/systemd/system/jitsi-videobridge2.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC"
msg_info "Updating Jitsi-Meet LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
$STD apt-get upgrade -y
msg_ok "Updated Jitsi-Meet LXC"
exit
}
@ -40,3 +40,5 @@ 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

@ -1,18 +1,20 @@
#!/usr/bin/env bash
source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func)
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: michelroegl-brunner
# Author: Omar Minaya
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/opf/openproject
# Source: https://www.kasmweb.com/docs/latest/index.html
APP="OpenProject"
var_tags="${var_tags:-project-management,erp}"
APP="Kasm"
var_tags="${var_tags:-os}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-8}"
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
@ -23,15 +25,15 @@ function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/openproject/installer.dat ]]; then
if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP}"
msg_info "Updating $APP LXC"
$STD apt-get update
$STD apt-get install --only-upgrade -y openproject
msg_ok "Updated ${APP}"
exit 0
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
exit
}
start
@ -41,4 +43,4 @@ 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}/openproject${CL}"
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}${CL}"

View File

@ -38,7 +38,7 @@ function update_script() {
start
build_container
description
desiption
msg_ok "Completed Successfully!\n"
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,45 +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 tteck
# Author: MickLesk (Canbiz)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/Luligu/matterbridge
APP="Matterbridge"
var_tags="${var_tags:-matter;smarthome}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
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 /root/Matterbridge ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
$STD apt-get update
$STD apt-get upgrade -y
NODE_VERSION="22"
NODE_MODULE="matterbridge"
install_node_and_modules
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}:8283${CL}"

View File

@ -1,50 +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
APP="Mattermost"
var_disk="${var_disk:-10}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
variables
color
catch_errors
function update_script() {
header_info
if [[ ! -d /opt/mattermost ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=$(curl -s https://api.github.com/repos/xxxx/xxxx/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
msg_info "Stopping App"
systemctl stop xxxx
msg_ok "App Stopped"
msg_info "Updating App"
#
msg_ok "Updated App"
msg_info "Starting App"
systemctl start App
msg_ok "Started App"
msg_info "Cleaning Up"
#rm -rf
msg_ok "Cleaned"
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 "${APP} Setup should be reachable by going to the following URL.
${BL}http://${IP}:8086${CL} \n"

View File

@ -1,71 +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:-4}"
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 [[ ! -d /opt/odoo ]]; then
msg_error "No ${APP} Installation Found!"
exit 1
fi
RELEASE="17.0"
if [[ ! -f /opt/odoo_version.txt ]] || [[ "$RELEASE" != "$(cat /opt/odoo_version.txt)" ]]; then
msg_info "Stopping ${APP} service"
systemctl stop odoo
msg_ok "Stopped ${APP}"
msg_info "Updating ${APP} to ${RELEASE}"
cd /opt
rm -rf odoo_bak
mv odoo odoo_bak
git clone --depth 1 --branch "$RELEASE" https://github.com/odoo/odoo.git /opt/odoo/odoo
cd /opt/odoo
/opt/odoo/venv/bin/pip install -r /opt/odoo/odoo/requirements.txt
echo "$RELEASE" >/opt/odoo_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 -rf /opt/odoo_bak
msg_ok "Cleaned"
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}:8069${CL}"

View File

@ -1,46 +0,0 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://openobserve.ai/
APP="OpenObserve"
var_tags="${var_tags:-monitoring}"
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/openobserve/ ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP"
systemctl stop openobserve
LATEST=$(curl -fsSL https://api.github.com/repos/openobserve/openobserve/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
tar zxvf <(curl -fsSL https://github.com/openobserve/openobserve/releases/download/$LATEST/openobserve-${LATEST}-linux-amd64.tar.gz) -C /opt/openobserve
systemctl start openobserve
msg_ok "Updated $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}:5080${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}"

View File

@ -1,129 +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 tteck
# Author: tteck (tteckster)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://docs.paperless-ngx.com/
APP="Paperless-ngx"
var_tags="${var_tags:-document;management}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-10}"
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/paperless ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/paperless-ngx/paperless-ngx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping Paperless services"
systemctl stop paperless-{webserver,scheduler,task-queue,consumer}
msg_ok "Stopped Paperless services"
BACKUP_DIR="/opt/paperless-backup-$(date +%F_%T | tr ':' '-')"
MIGRATION_NEEDED=0
if ! command -v uv &>/dev/null || [[ ! -d /opt/paperless/.venv ]]; then
MIGRATION_NEEDED=1
msg_info "uv not found or missing venv, migrating..."
setup_uv
$STD uv venv /opt/paperless/.venv
source /opt/paperless/.venv/bin/activate
$STD uv sync --all-extras
fi
BACKUP_DIR="/opt/paperless-backup-$(date +%F_%T | tr ':' '-')"
setup_gs
setup_uv
msg_info "Backing up Paperless folders"
mkdir -p "$BACKUP_DIR"
for d in consume data media; do
[[ -d "/opt/paperless/$d" ]] && mv "/opt/paperless/$d" "$BACKUP_DIR/"
done
[[ -f "/opt/paperless/paperless.conf" ]] && cp "/opt/paperless/paperless.conf" "$BACKUP_DIR/"
msg_ok "Backup completed to $BACKUP_DIR"
msg_info "Updating PaperlessNGX"
RELEASE=$(curl -fsSL "https://api.github.com/repos/paperless-ngx/paperless-ngx/releases/latest" | grep 'tag_name' | cut -d '"' -f4)
cd /tmp
curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz" -o paperless.tar.xz
tar -xf paperless.tar.xz
cp -r paperless-ngx/* /opt/paperless/
rm -rf paperless.tar.xz paperless-ngx
echo "$RELEASE" >/opt/paperless/Paperless-ngx_version.txt
msg_ok "Updated Paperless-ngx to $RELEASE"
for d in consume data media; do
[[ -d "$BACKUP_DIR/$d" ]] && mv "$BACKUP_DIR/$d" "/opt/paperless/"
done
[[ ! -f "/opt/paperless/paperless.conf" && -f "$BACKUP_DIR/paperless.conf" ]] && cp "$BACKUP_DIR/paperless.conf" "/opt/paperless/paperless.conf"
$STD uv venv /opt/paperless/.venv
source /opt/paperless/.venv/bin/activate
echo -e "source done"
$STD uv sync --all-extras
echo -e "uv sync done"
source /opt/paperless/paperless.conf
$STD /opt/paperless/.venv/bin/python3 /opt/paperless/src/manage.py migrate
if [[ "$MIGRATION_NEEDED" == 1 ]]; then
cat <<EOF >/etc/default/paperless
PYTHONDONTWRITEBYTECODE=1
PYTHONUNBUFFERED=1
PNGX_CONTAINERIZED=0
UV_LINK_MODE=copy
EOF
for svc in /etc/systemd/system/paperless-*.service; do
sed -i \
-e "s|^ExecStart=.*manage.py|ExecStart=/opt/paperless/.venv/bin/python3 manage.py|" \
-e "s|^ExecStart=.*celery|ExecStart=/opt/paperless/.venv/bin/celery|" \
-e "s|^ExecStart=.*granian|ExecStart=/opt/paperless/.venv/bin/granian|" \
-e "/^WorkingDirectory=/a EnvironmentFile=/etc/default/paperless" "$svc"
done
fi
systemctl daemon-reexec
systemctl daemon-reload
msg_info "Starting Paperless services"
systemctl start paperless-{webserver,scheduler,task-queue,consumer}.service
sleep 1
msg_ok "All services restarted"
msg_ok "Updated Successfully!\n"
read -r -p "Remove backup directory at $BACKUP_DIR? [y/N]: " CLEANUP
if [[ "$CLEANUP" =~ ^[Yy]$ ]]; then
rm -rf "$BACKUP_DIR"
msg_ok "Backup directory removed"
else
msg_info "Backup directory retained at $BACKUP_DIR"
fi
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}:8000${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

@ -1,73 +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: CrazyWolf13
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
# Source: https://github.com/CrazyWolf13/streamlink-webui
APP="streamlink-webui"
var_tags="${var_tags:-download,streaming}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-10}"
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/streamlink-webui ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/CrazyWolf13/streamlink-webui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping $APP"
systemctl stop ${APP}
msg_ok "Stopped $APP"
rm -rf /opt/${APP}
NODE_VERSION="22"
NODE_MODULE="npm@latest,yarn@latest"
install_node_and_modules
setup_uv
fetch_and_deploy_gh_release "CrazyWolf13/streamlink-webui"
msg_info "Updating $APP to v${RELEASE}"
$STD uv venv /opt/"${APP}"/backend/src/.venv
source /opt/"${APP}"/backend/src/.venv/bin/activate
$STD uv pip install -r /opt/streamlink-webui/backend/src/requirements.txt --python=/opt/"${APP}"/backend/src/.venv
cd /opt/"${APP}"/frontend/src
$STD yarn install
$STD yarn build
chmod +x /opt/"${APP}"/start.sh
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
systemctl start ${APP}
msg_ok "Started $APP"
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}:8000${CL}"

View File

@ -11,7 +11,7 @@
"interface_port": null,
"documentation": "https://allstarlink.github.io/",
"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": "",
"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": [

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",
"config_path": "/etc/systemd/system/cloudflare-ddns.service",
"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",
"install_methods": [
{
@ -41,4 +41,4 @@
"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"
}
]
}

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