Compare commits

...

385 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
030a977209 Update CHANGELOG.md (#6696)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-09 00:13:20 +00:00
community-scripts-pr-app[bot]
b8176dc7b3 Update versions.json (#6695)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-09 02:12:58 +02:00
community-scripts-pr-app[bot]
cd0625cba6 Update CHANGELOG.md (#6692)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 20:53:23 +00:00
community-scripts-pr-app[bot]
73e131ecf8 Update CHANGELOG.md (#6691)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 20:38:26 +00:00
CanbiZ
a0d6082b95 Refactor: Bazarr (#6663) 2025-08-08 22:38:07 +02:00
community-scripts-pr-app[bot]
70ccaf6835 Update CHANGELOG.md (#6690)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 20:36:34 +00:00
CanbiZ
05b58decc2 Refactor: Kometa (#6673)
* Remove: HomeAssistant-Core [deprecated]

* Refactor: Kometa

* sometimes git sucks
2025-08-08 22:36:05 +02:00
community-scripts-pr-app[bot]
ff1b7cc81d Update .app files (#6687) 2025-08-08 22:35:39 +02:00
community-scripts-pr-app[bot]
a2bbc2174a Update CHANGELOG.md (#6689)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 20:35:18 +00:00
Slaviša Arežina
a8a44a4d51 Update unifi-install.sh (#6680) 2025-08-08 22:34:58 +02:00
community-scripts-pr-app[bot]
ed620e8258 Update CHANGELOG.md (#6688)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 20:34:53 +00:00
Slaviša Arežina
1fc667088c Update homebox.sh (#6677) 2025-08-08 22:34:29 +02:00
CanbiZ
d89055a5cd Remove: HomeAssistant-Core [deprecated] (#6671) 2025-08-08 22:34:03 +02:00
community-scripts-pr-app[bot]
4ecd019e15 Update CHANGELOG.md (#6685)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 19:20:51 +00:00
community-scripts-pr-app[bot]
e3a31aa47e Update CHANGELOG.md (#6684)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 19:20:41 +00:00
CanbiZ
ed936528d2 Refactor: ArchiveBox (#6670) 2025-08-08 21:20:24 +02:00
community-scripts-pr-app[bot]
6f24de7d63 Update CHANGELOG.md (#6683)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 19:20:15 +00:00
Chris
54de40ed53 Immich: unpin libvips revision (#6669) 2025-08-08 21:19:57 +02:00
community-scripts-pr-app[bot]
872cd289ff Update CHANGELOG.md (#6682)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 19:19:49 +00:00
CanbiZ
9c37ac385c Meilisearch: fix wrong path switch (#6668) 2025-08-08 21:19:27 +02:00
CanbiZ
575ad61c93 website: mark docker as updatable (#6664) 2025-08-08 21:18:51 +02:00
community-scripts-pr-app[bot]
1773cc5507 Update CHANGELOG.md (#6681)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 17:39:30 +00:00
Maciej Kobus
11b19fdeab Allow 9.x PVE version in add-iptag.sh (#6679) 2025-08-08 19:39:10 +02:00
community-scripts-pr-app[bot]
5e6081fbea Update CHANGELOG.md (#6676)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 13:42:35 +00:00
Slaviša Arežina
e2a310dd3a Refactor: Alpine IT-Tools (#6579)
* Refactor

* Update

* Update deps
2025-08-08 15:42:09 +02:00
community-scripts-pr-app[bot]
d934d1b51b Update versions.json (#6672)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 14:05:43 +02:00
community-scripts-pr-app[bot]
6e3c08142d Update CHANGELOG.md (#6665)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 09:38:01 +00:00
CanbiZ
a41497f90a Refactor: FSTrim (Filesystem Trim) (#6660) 2025-08-08 11:37:36 +02:00
community-scripts-pr-app[bot]
c54025f8de Update CHANGELOG.md (#6659)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 08:28:30 +00:00
CanbiZ
a1eb53841d MariaDB: fix "feedback" whiptail (#6657) 2025-08-08 10:28:05 +02:00
community-scripts-pr-app[bot]
6c4c3ffa39 Update CHANGELOG.md (#6656)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 06:23:54 +00:00
community-scripts-pr-app[bot]
78f695f397 Update date in json (#6655)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-08-08 06:23:34 +00:00
push-app-to-main[bot]
4b0d24ed2e Palmr (#6642)
* 'Add new script'

* Update palmr.sh

* Update palmr-install.sh

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-08-08 08:23:14 +02:00
community-scripts-pr-app[bot]
705d66e7c6 Update CHANGELOG.md (#6654)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 06:13:49 +00:00
push-app-to-main[bot]
c4703527dc HortusFox (#6641)
* 'Add new script'

* increase ressources

* verbose

* inprove json

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-08-08 08:13:24 +02:00
community-scripts-pr-app[bot]
9b607c60b4 Update CHANGELOG.md (#6652)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 05:17:21 +00:00
Chris
4717852019 Karakeep: workaround/fix for #6593 (#6648) 2025-08-08 07:17:03 +02:00
community-scripts-pr-app[bot]
ab9c57ccf9 Update CHANGELOG.md (#6650)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 00:13:55 +00:00
community-scripts-pr-app[bot]
dce77d12c7 Update versions.json (#6649)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-08 02:13:35 +02:00
CanbiZ
1f35b649cc qf 2025-08-07 19:41:59 +02:00
community-scripts-pr-app[bot]
5938a9aceb Update CHANGELOG.md (#6645)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-07 17:39:10 +00:00
CanbiZ
3b76211c12 Tandoor v2 (#6635) 2025-08-07 19:38:49 +02:00
community-scripts-pr-app[bot]
7221a0759d Update CHANGELOG.md (#6644)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-07 17:35:42 +00:00
CanbiZ
a750932b3a Refactor: Post-PVE-Script (PVe9 Support) (#6626) 2025-08-07 19:35:19 +02:00
community-scripts-pr-app[bot]
a4de1efae8 Update versions.json (#6640)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-07 14:06:04 +02:00
community-scripts-pr-app[bot]
f7570cb40c Update CHANGELOG.md (#6639)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-07 11:36:21 +00:00
Slaviša Arežina
10471b88aa Refactor: Paymenter (#6589)
* Refactor

* Update paymenter.sh

* Update paymenter-install.sh
2025-08-07 13:36:01 +02:00
community-scripts-pr-app[bot]
04a83cce10 Update CHANGELOG.md (#6638)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-07 11:35:26 +00:00
CanbiZ
f9e26f4f7c Commafeed: Fix Backup Handling while Update (#6629)
* Commafeed: Fix Backup Handling while Update

* Update commafeed.sh
2025-08-07 13:35:05 +02:00
community-scripts-pr-app[bot]
ed6baa1158 Update CHANGELOG.md (#6637)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-07 11:35:01 +00:00
CanbiZ
a7cc93af09 Feature: Clean-LXC support now alpine (#6628) 2025-08-07 13:34:40 +02:00
community-scripts-pr-app[bot]
a494ed5872 Update CHANGELOG.md (#6636)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-07 11:34:18 +00:00
Slaviša Arežina
ede517a560 Fix release fetching (#6632) 2025-08-07 13:33:56 +02:00
community-scripts-pr-app[bot]
bd41b236df Update CHANGELOG.md (#6621)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-07 00:14:19 +00:00
community-scripts-pr-app[bot]
229c7ce4b3 Update versions.json (#6620)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-07 02:13:57 +02:00
CanbiZ
cc8381d7f7 remove wrong value 2025-08-06 20:54:06 +02:00
community-scripts-pr-app[bot]
dc5b9be9ae Update CHANGELOG.md (#6609)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-06 13:18:44 +00:00
CanbiZ
993aff59d7 Update build.func (#6608) 2025-08-06 15:18:23 +02:00
community-scripts-pr-app[bot]
f3844c664c Update versions.json (#6607)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-06 14:06:05 +02:00
community-scripts-pr-app[bot]
47b3f71992 Update CHANGELOG.md (#6605)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-06 11:47:09 +00:00
Slaviša Arežina
09c815e935 Update openproject-install.sh (#6598) 2025-08-06 13:46:45 +02:00
community-scripts-pr-app[bot]
f59d4960f1 Update CHANGELOG.md (#6604)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-06 11:46:26 +00:00
CanbiZ
c53d1d004a PVE9: Remove Beta Whiptail / add correct version check (#6599) 2025-08-06 13:46:07 +02:00
CanbiZ
bbdda06297 qf 2025-08-06 10:53:41 +02:00
community-scripts-pr-app[bot]
daab80aaf4 Update CHANGELOG.md (#6597)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-06 07:58:40 +00:00
rcourtman
9250f9fae9 fix: update Pulse scripts for v4 Go rewrite support (#6574)
* fix: update Pulse scripts for v4 Go rewrite support

- Update install script to download universal package
- Update update_script to preserve data directory during updates
- Remove Node.js dependencies and use built-in installer
- Scripts now support v4 (Go) architecture

* Update pulse-install.sh

* refactor: use community-scripts helper functions

- Use fetch_and_deploy_gh_release as requested
- Add architecture detection for multi-arch support
- Simplify update script to use helper functions
- Remove unnecessary code and keep it minimal

* fix: use correct PULSE_DATA_DIR environment variable

Changed from PULSE_CONFIG_DIR to PULSE_DATA_DIR to match
what Pulse v4.0.3 actually uses. The default is /etc/pulse
anyway, but being explicit ensures consistency.

* fix update

* fix install

* address review comments: add version file creation

* remove

* fix: update version file after successful update

* Update pulse.sh

---------

Co-authored-by: Pulse Monitor <pulse@pulse-monitor.dev>
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Co-authored-by: rcourtman <rcourtman@github.com>
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-08-06 09:58:20 +02:00
community-scripts-pr-app[bot]
6fa371fffc Update CHANGELOG.md (#6592)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-06 00:14:23 +00:00
community-scripts-pr-app[bot]
e85263078e Update versions.json (#6591)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-06 02:13:55 +02:00
Slaviša Arežina
f9b0916885 Update privatebin-install.sh (#6585) 2025-08-05 19:32:37 +02:00
community-scripts-pr-app[bot]
964e29cd9e Update CHANGELOG.md (#6583)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-05 12:14:43 +00:00
Slaviša Arežina
31932499a9 Refactor (#6577) 2025-08-05 14:14:19 +02:00
community-scripts-pr-app[bot]
b155881de9 Update versions.json (#6582)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-05 14:07:05 +02:00
community-scripts-pr-app[bot]
010435ecaf Update CHANGELOG.md (#6581)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-05 11:45:53 +00:00
Robert Castley
0863d080a4 Add support for e1000 NIC (#6575) 2025-08-05 13:45:33 +02:00
community-scripts-pr-app[bot]
99837db81a Update CHANGELOG.md (#6580)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-05 11:45:06 +00:00
CanbiZ
b4df862579 Temporary Remove: SearXNG (#6578) 2025-08-05 13:44:46 +02:00
community-scripts-pr-app[bot]
01c6eb3a67 Update CHANGELOG.md (#6571)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-05 00:14:36 +00:00
community-scripts-pr-app[bot]
5aabc88723 Update versions.json (#6570)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-05 02:14:17 +02:00
community-scripts-pr-app[bot]
23340f5d24 Update CHANGELOG.md (#6569)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-04 22:31:29 +00:00
CanbiZ
77dcf87e6a Feat: enable tun for VPN services (#6562) 2025-08-05 00:31:07 +02:00
community-scripts-pr-app[bot]
d9cefc3777 Update CHANGELOG.md (#6563)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-04 16:37:34 +00:00
masterofrpm
7d6806e1fb turnkey: add hostname & Fix TUN access (#6512)
* Update turnkey.sh

Allow choosing container ID & add tun device access to the container. Also notify user that the credentials are stored in a file on the host machine.

* Update turnkey.sh

fixed how tun access is added by instead modifying the conf file of the container. Also added filtering to only add tun access if required. A few other minor verbiage changes/corrections.

* Update turnkey.sh

Corrected variable expansion.
2025-08-04 18:37:11 +02:00
community-scripts-pr-app[bot]
86d438c3a1 Update CHANGELOG.md (#6561)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-04 14:46:57 +00:00
Slaviša Arežina
fdc381e501 Refactor (#6559) 2025-08-04 16:46:32 +02:00
community-scripts-pr-app[bot]
3b1b8a7da2 Update CHANGELOG.md (#6558)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-04 13:45:29 +00:00
Slaviša Arežina
96f2c9c990 Refactor: PocketID (#6556)
* Refactor

* Fix
2025-08-04 15:45:02 +02:00
community-scripts-pr-app[bot]
349827aa97 Update CHANGELOG.md (#6557)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-04 13:43:31 +00:00
Slaviša Arežina
4dc458c605 Refactor (#6554) 2025-08-04 15:43:07 +02:00
community-scripts-pr-app[bot]
b5b6048697 Update CHANGELOG.md (#6553)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-04 12:39:15 +00:00
Slaviša Arežina
dc5fcb83e8 Refactor (#6548) 2025-08-04 14:38:48 +02:00
community-scripts-pr-app[bot]
db86049a3e Update CHANGELOG.md (#6552)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-04 12:37:49 +00:00
CanbiZ
e6ceca0bc7 MySpeed: fix update and copy old tests back (#6550)
* Update build.func

* Update myspeed.sh

* Update build.func

* Update build.func
2025-08-04 14:37:23 +02:00
community-scripts-pr-app[bot]
d24425efad Update CHANGELOG.md (#6551)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-04 12:36:28 +00:00
CanbiZ
3dda41df94 Increase: Core Network check (pre-LXC Creation) (#6546)
* Update build.func

* Update build.func

* Update build.func
2025-08-04 14:36:02 +02:00
community-scripts-pr-app[bot]
fc77ca85e4 Update CHANGELOG.md (#6549)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-04 12:12:41 +00:00
CanbiZ
db09b9cc36 Composer: PATH Issues when updating (#6543)
* Update build.func

* Composer: Path Issues with old installs

* Update build.func

* comment
2025-08-04 14:12:18 +02:00
community-scripts-pr-app[bot]
9f933c1e56 Update versions.json (#6547)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-04 14:06:39 +02:00
CanbiZ
efe45185fc composer diagnose verbose 2025-08-04 10:50:51 +02:00
community-scripts-pr-app[bot]
0a56fee31e Update date in json (#6538)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-08-04 10:17:47 +02:00
community-scripts-pr-app[bot]
20048d442a Update CHANGELOG.md (#6540)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-04 08:17:37 +00:00
community-scripts-pr-app[bot]
b1be93155c Update CHANGELOG.md (#6539)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-04 08:17:17 +00:00
community-scripts-pr-app[bot]
1e2eb31560 Update date in json (#6537)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-08-04 08:17:12 +00:00
push-app-to-main[bot]
ca701632e1 'Add new script' (#6534)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-08-04 10:16:57 +02:00
push-app-to-main[bot]
c3c5a7584b ots (#6532)
* 'Add new script'

* curl

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-08-04 10:16:50 +02:00
community-scripts-pr-app[bot]
3cd1fc7bce Update CHANGELOG.md (#6531)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-04 07:15:55 +00:00
Slaviša Arežina
1c7a39438c Refactor (#6528) 2025-08-04 09:15:32 +02:00
community-scripts-pr-app[bot]
46728b01fe Update CHANGELOG.md (#6530)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-04 00:15:19 +00:00
community-scripts-pr-app[bot]
e0abf63778 Update versions.json (#6529)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-04 02:14:56 +02:00
community-scripts-pr-app[bot]
4451f07990 Update CHANGELOG.md (#6527)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-03 20:05:28 +00:00
Slaviša Arežina
6776912a42 Refactor (#6524) 2025-08-03 22:05:05 +02:00
community-scripts-pr-app[bot]
b914fd95df Update CHANGELOG.md (#6526)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-03 20:04:40 +00:00
Slaviša Arežina
f33afd9163 Refactor (#6525) 2025-08-03 22:04:22 +02:00
community-scripts-pr-app[bot]
c811b51a0a Update CHANGELOG.md (#6522)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-03 19:26:55 +00:00
community-scripts-pr-app[bot]
ccbf86196b Update CHANGELOG.md (#6521)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-03 18:38:12 +00:00
CanbiZ
64366a0b34 docmost: remove build step due new version (#6513) 2025-08-03 20:37:55 +02:00
community-scripts-pr-app[bot]
183c459549 Update CHANGELOG.md (#6520)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-03 18:37:52 +00:00
community-scripts-pr-app[bot]
44e62f73d4 Update CHANGELOG.md (#6519)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-03 18:37:31 +00:00
CanbiZ
2f97e14f4d Remove: Ubuntu 24.10-VM (#6515) 2025-08-03 20:37:28 +02:00
CanbiZ
7cd5a8d771 Fix: Komga uses .komga as storage / so it fails after install (#6517) 2025-08-03 20:37:08 +02:00
community-scripts-pr-app[bot]
9846bfd067 Update versions.json (#6511)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-03 14:05:30 +02:00
community-scripts-pr-app[bot]
77c37a5552 Update CHANGELOG.md (#6507)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-03 00:16:51 +00:00
community-scripts-pr-app[bot]
8efcab38a4 Update versions.json (#6506)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-03 02:16:32 +02:00
community-scripts-pr-app[bot]
201782552c Update CHANGELOG.md (#6501)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-02 15:52:47 +00:00
Mariano D'Agostino
7433f7df0c Alternative connectivity checks for LXC (#6472) 2025-08-02 17:52:21 +02:00
community-scripts-pr-app[bot]
dde882f9e5 Update CHANGELOG.md (#6500)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-02 15:50:59 +00:00
Chris
b8bdf56297 Immich: fix copy error during install (#6497) 2025-08-02 17:50:36 +02:00
community-scripts-pr-app[bot]
df504635a5 Update CHANGELOG.md (#6499)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-02 15:23:54 +00:00
Slaviša Arežina
158bdfc88e MagicMirror: Fix install process (#6492) 2025-08-02 17:23:32 +02:00
community-scripts-pr-app[bot]
4eaffda82d Update CHANGELOG.md (#6495)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-02 13:13:43 +00:00
Slaviša Arežina
074bb615e7 VictoriaMetrics: Make VictoriaLogs optional add-on (#6489)
* Make Logs optional

* Update json
2025-08-02 15:13:21 +02:00
community-scripts-pr-app[bot]
7c0869e29b Update CHANGELOG.md (#6494)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-02 13:13:02 +00:00
Chris
7862d23866 chore: BookLore repo change (#6493) 2025-08-02 15:12:42 +02:00
community-scripts-pr-app[bot]
e1669c22de Update versions.json (#6491)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-02 14:06:09 +02:00
community-scripts-pr-app[bot]
00a69678c0 Update CHANGELOG.md (#6486)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-02 00:13:46 +00:00
community-scripts-pr-app[bot]
1c2ccf81d2 Update versions.json (#6485)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-02 02:13:28 +02:00
CanbiZ
88483b7dab Magicmirror: add git dependency 2025-08-01 22:07:33 +02:00
community-scripts-pr-app[bot]
7c41c51bfe Update CHANGELOG.md (#6481)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 19:06:58 +00:00
community-scripts-pr-app[bot]
ecf01637a5 Update CHANGELOG.md (#6480)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 19:06:45 +00:00
CanbiZ
3068ae1383 Fumadocs: add git as dependency (#6459) 2025-08-01 21:06:36 +02:00
community-scripts-pr-app[bot]
ca8cddb788 Update CHANGELOG.md (#6479)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 19:06:26 +00:00
community-scripts-pr-app[bot]
750397e1af Update CHANGELOG.md (#6478)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 19:06:16 +00:00
Chris
30172379cd Immich: v1.137.3 (#6443) 2025-08-01 21:06:03 +02:00
community-scripts-pr-app[bot]
f07b273be3 Update CHANGELOG.md (#6477)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 19:05:56 +00:00
community-scripts-pr-app[bot]
e5c673df44 Update date in json (#6476)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-08-01 19:05:37 +00:00
CanbiZ
61fb45a0b8 Re-Add: Suwayomi-Server (#6458) 2025-08-01 21:05:16 +02:00
community-scripts-pr-app[bot]
084ceae9d9 Update CHANGELOG.md (#6475)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 18:33:01 +00:00
Gerhard Burger
054a963ca2 Update homepage.sh to use setup_nodejs (#6462) 2025-08-01 20:32:38 +02:00
CanbiZ
b366ffac34 remove wrong RELEASE var 2025-08-01 14:45:25 +02:00
community-scripts-pr-app[bot]
29747ab8b8 Update versions.json (#6466)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 14:06:58 +02:00
community-scripts-pr-app[bot]
12b904a014 Update CHANGELOG.md (#6461)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 07:50:18 +00:00
CanbiZ
fad4d2e0d7 pnpm nx run server:build 2025-08-01 09:49:42 +02:00
community-scripts-pr-app[bot]
899e576426 Update CHANGELOG.md (#6455)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 05:27:13 +00:00
Slaviša Arežina
0f29e5672c Refactor: LubeLogger (#6400) 2025-08-01 07:26:58 +02:00
community-scripts-pr-app[bot]
3e1d43c29a Update CHANGELOG.md (#6454)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 05:26:54 +00:00
Slaviša Arežina
ff695fa4ea Refactor: MagicMirror (#6402) 2025-08-01 07:26:35 +02:00
community-scripts-pr-app[bot]
93b80362f6 Update CHANGELOG.md (#6453)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 05:26:31 +00:00
Slaviša Arežina
52e08e5474 Refactor: Manage My Damn Life (#6403) 2025-08-01 07:26:11 +02:00
community-scripts-pr-app[bot]
b9408ef06f Update CHANGELOG.md (#6452)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 05:26:07 +00:00
community-scripts-pr-app[bot]
4652338536 Update CHANGELOG.md (#6451)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 05:25:48 +00:00
Slaviša Arežina
3c7c540576 Refactor (#6406) 2025-08-01 07:25:45 +02:00
community-scripts-pr-app[bot]
a0502e00db Update CHANGELOG.md (#6450)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 05:25:25 +00:00
Slaviša Arežina
6f56655ad6 Refactor: Meilisearch (#6407) 2025-08-01 07:25:23 +02:00
community-scripts-pr-app[bot]
6de8d50969 Update CHANGELOG.md (#6449)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 05:25:05 +00:00
Slaviša Arežina
da217bb3e0 Refactor: NodeBB (#6419) 2025-08-01 07:25:00 +02:00
community-scripts-pr-app[bot]
f80c7008a8 Update CHANGELOG.md (#6448)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 05:24:39 +00:00
Slaviša Arežina
afd577db9e Refactor (#6421) 2025-08-01 07:24:33 +02:00
community-scripts-pr-app[bot]
47ab850e5b Update CHANGELOG.md (#6447)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 05:24:15 +00:00
Slaviša Arežina
654bd1f0d5 Refactor (#6424) 2025-08-01 07:24:13 +02:00
Slaviša Arežina
b6bd8a6de4 Refactor (#6425) 2025-08-01 07:23:52 +02:00
community-scripts-pr-app[bot]
ae7fe6e3e1 Update CHANGELOG.md (#6446)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 05:23:50 +00:00
Slaviša Arežina
3bb787d746 Refactor (#6434) 2025-08-01 07:23:27 +02:00
community-scripts-pr-app[bot]
82ff5f587e Update CHANGELOG.md (#6445)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 00:17:10 +00:00
community-scripts-pr-app[bot]
38cb85d9c4 Update versions.json (#6444)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-01 02:16:49 +02:00
community-scripts-pr-app[bot]
296bcbf56f Update CHANGELOG.md (#6439)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-31 18:14:42 +00:00
CanbiZ
6f096b04fe Remove temp. Tandoor during Install & Update Issues (#6438)
* Tandoor: Remove update & from website until breaking

* remove json
2025-07-31 20:14:18 +02:00
community-scripts-pr-app[bot]
3c889430ed Update CHANGELOG.md (#6436)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-31 16:58:42 +00:00
Slaviša Arežina
bb664636f6 Refactor: listmonk (#6399)
* Refactor

* Update
2025-07-31 18:58:19 +02:00
community-scripts-pr-app[bot]
5acca4975c Update versions.json (#6432)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-31 14:05:40 +02:00
community-scripts-pr-app[bot]
7f07395ab1 Update CHANGELOG.md (#6431)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-31 12:03:00 +00:00
Slaviša Arežina
dcd979e00c Refactor (#6418) 2025-07-31 14:02:42 +02:00
community-scripts-pr-app[bot]
e7c7b6384a Update CHANGELOG.md (#6430)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-31 12:01:16 +00:00
Slaviša Arežina
492be65aec Refactor (#6416) 2025-07-31 14:00:57 +02:00
community-scripts-pr-app[bot]
b5b59342bd Update CHANGELOG.md (#6429)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-31 12:00:51 +00:00
Slaviša Arežina
30fed5b1bc Refactor (#6415) 2025-07-31 14:00:31 +02:00
community-scripts-pr-app[bot]
dd30ad5fa3 Update CHANGELOG.md (#6428)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-31 12:00:11 +00:00
Slaviša Arežina
5b67c8a426 Refactor (#6423) 2025-07-31 13:59:52 +02:00
community-scripts-pr-app[bot]
709fb03305 Update CHANGELOG.md (#6427)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-31 11:59:47 +00:00
Slaviša Arežina
c7a1334b29 Refactor (#6422) 2025-07-31 13:59:27 +02:00
community-scripts-pr-app[bot]
9b2b794f9c Update CHANGELOG.md (#6426)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-31 11:59:09 +00:00
Slaviša Arežina
9e9bff2315 Refactor (#6417) 2025-07-31 13:58:48 +02:00
community-scripts-pr-app[bot]
dd2defebaf Update CHANGELOG.md (#6413)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-31 05:30:53 +00:00
Slaviša Arežina
9d3250a82d Update (#6409) 2025-07-31 07:30:34 +02:00
community-scripts-pr-app[bot]
d71c3efecd Update CHANGELOG.md (#6412)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-31 00:14:04 +00:00
community-scripts-pr-app[bot]
d366abe8e2 Update versions.json (#6411)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-31 02:13:41 +02:00
community-scripts-pr-app[bot]
f76bb98d3d Update CHANGELOG.md (#6404)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-30 19:14:38 +00:00
Matt Visnovsky
4bd360d31b Strip SD and NS prefixes before writing to config file (#6356) 2025-07-30 21:14:16 +02:00
community-scripts-pr-app[bot]
27e095e1dd Update CHANGELOG.md (#6397)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-30 16:20:02 +00:00
leiweibau
e98f6051e2 PiAlert: bufix dependencies (#6396) 2025-07-30 18:19:42 +02:00
community-scripts-pr-app[bot]
e4d0ac301d Update CHANGELOG.md (#6395)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-30 15:07:58 +00:00
Slaviša Arežina
907be41752 Fixes (#6378) 2025-07-30 17:07:41 +02:00
Slaviša Arežina
af88ff3dd4 Refactor (#6379) 2025-07-30 17:07:11 +02:00
community-scripts-pr-app[bot]
2c618f53ca Update CHANGELOG.md (#6394)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-30 15:06:54 +00:00
CanbiZ
16dbcac3a1 n8n: add build-essential as dependency (#6392) 2025-07-30 17:06:26 +02:00
community-scripts-pr-app[bot]
0ba9c9dff3 Update CHANGELOG.md (#6393)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-30 13:31:24 +00:00
CanbiZ
23573bfce9 fix apt-cacher heredoc (#6385) 2025-07-30 15:31:00 +02:00
community-scripts-pr-app[bot]
9f1431b263 Update CHANGELOG.md (#6390)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-30 13:20:26 +00:00
Slaviša Arežina
53beca39e8 Refactor (#6376) 2025-07-30 15:20:20 +02:00
community-scripts-pr-app[bot]
2701308b45 Update CHANGELOG.md (#6389)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-30 13:20:03 +00:00
Slaviša Arežina
f33c292c3e Refactor (#6374) 2025-07-30 15:19:58 +02:00
community-scripts-pr-app[bot]
234b4e334e Update CHANGELOG.md (#6388)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-30 13:19:39 +00:00
Slaviša Arežina
eada9f3ae8 Refactor (#6373) 2025-07-30 15:19:33 +02:00
Slaviša Arežina
fb8c44b753 Refactor (#6372) 2025-07-30 15:19:12 +02:00
community-scripts-pr-app[bot]
4679d321a7 Update CHANGELOG.md (#6387)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-30 13:17:46 +00:00
Slaviša Arežina
50345c631a Habitica: Fix trusted domains (#6380)
* Fix trusted domains

* Update
2025-07-30 15:17:24 +02:00
community-scripts-pr-app[bot]
2f61a2ffe2 Update CHANGELOG.md (#6384)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-30 13:10:21 +00:00
Slaviša Arežina
e9240fb9b8 Fix undeclared var (#6371) 2025-07-30 15:09:57 +02:00
community-scripts-pr-app[bot]
f77e7b626d Update versions.json (#6381)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-30 14:05:58 +02:00
community-scripts-pr-app[bot]
f8b901ab0d Update CHANGELOG.md (#6367)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-30 00:14:38 +00:00
community-scripts-pr-app[bot]
25b811040c Update versions.json (#6366)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-30 02:14:19 +02:00
Slaviša Arežina
05d11bf66d n8n: Fix service file (#6362)
* Update n8n-install.sh

* Update

* Update

* Update

* Update
2025-07-29 21:52:15 +02:00
community-scripts-pr-app[bot]
c7aac080ac Update date in json (#6359)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-07-29 20:30:56 +02:00
Slaviša Arežina
0ad0a665ed Update salt.json (#6357) 2025-07-29 20:26:38 +02:00
community-scripts-pr-app[bot]
304f181bb2 Update CHANGELOG.md (#6358)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-29 18:03:10 +00:00
push-app-to-main[bot]
ea50246c91 'Add new script' (#6336) 2025-07-29 20:02:51 +02:00
community-scripts-pr-app[bot]
7aa1f18761 Update CHANGELOG.md (#6350)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-29 13:07:17 +00:00
Slaviša Arežina
ab6f2dd24f Refactor: HomeBox (#6338)
* Refactor

* Refactor

* Update
2025-07-29 15:06:52 +02:00
community-scripts-pr-app[bot]
815720b59e Update CHANGELOG.md (#6349)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-29 12:53:33 +00:00
Slaviša Arežina
5597f7fc41 Refactor (#6343) 2025-07-29 14:53:08 +02:00
community-scripts-pr-app[bot]
6450c3c6a4 Update CHANGELOG.md (#6348)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-29 12:52:43 +00:00
Slaviša Arežina
70cb8198fd Refactor: Jackett (#6344)
* Refactor

* Update
2025-07-29 14:52:19 +02:00
community-scripts-pr-app[bot]
498723fd62 Update versions.json (#6345)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-29 14:05:51 +02:00
community-scripts-pr-app[bot]
d4146e0d43 Update CHANGELOG.md (#6342)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-29 10:40:47 +00:00
community-scripts-pr-app[bot]
0ca0126420 Update CHANGELOG.md (#6341)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-29 10:40:23 +00:00
leiweibau
5af772af2f Update pialert-install.sh (#6337) 2025-07-29 12:39:59 +02:00
community-scripts-pr-app[bot]
241df52ae5 Update CHANGELOG.md (#6340)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-29 10:27:20 +00:00
Rémi Bédard-Couture
10db421c45 Update keycloak script to support configuration of latest release (v26) (#6322)
* Update keycloak script to support configuration of latest release (v26)

* Add quotes around default credential values

* fix update script

Signed-off-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>

* spelling "restarting"

Signed-off-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>

* remove temp file and spelling

Signed-off-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>

---------

Signed-off-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-07-29 12:26:55 +02:00
community-scripts-pr-app[bot]
1f101c0bd3 Update CHANGELOG.md (#6339)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-29 10:24:45 +00:00
CanbiZ
202eb3fb2a Refactor: Photoprism (#6335) 2025-07-29 12:24:21 +02:00
community-scripts-pr-app[bot]
e54ed7dc35 Update CHANGELOG.md (#6334)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-29 06:30:51 +00:00
Slaviša Arežina
34da66600d Refactor: Autobrr (#6302)
* Refactor

* Update

* Update autobrr.sh
2025-07-29 08:30:32 +02:00
Tobias
5a889d8fc6 crafty: fix: spelling (#6304)
* crafty: fix: spelling

* Update crafty-controller-install.sh
2025-07-29 07:05:41 +02:00
community-scripts-pr-app[bot]
22e9c33a2a Update CHANGELOG.md (#6332)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-29 04:56:07 +00:00
TJ
25a8df4902 Element Synapse CT RAM increased from 1024 to 2048 (#6330) 2025-07-29 06:55:46 +02:00
community-scripts-pr-app[bot]
c8a107e730 Update CHANGELOG.md (#6329)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 21:22:11 +00:00
Slaviša Arežina
404b9feef2 Refactor (#6314) 2025-07-28 23:21:47 +02:00
community-scripts-pr-app[bot]
cc6f56fec8 Update CHANGELOG.md (#6327)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 20:14:52 +00:00
Slaviša Arežina
89ab0f162c Refactor: grocy (#6307) 2025-07-28 22:14:32 +02:00
community-scripts-pr-app[bot]
8846915506 Update CHANGELOG.md (#6323)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 18:33:11 +00:00
Bram Suurd
ecc585ebef temp change the analytics url to one that works untill community one is fixed (#6319) 2025-07-28 20:32:48 +02:00
community-scripts-pr-app[bot]
72dcd61244 Update CHANGELOG.md (#6318)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 17:45:12 +00:00
九条涼果
0955ec4b7f fix: SSH authorized keys not added in Alpine install script (#6316) 2025-07-28 19:44:52 +02:00
community-scripts-pr-app[bot]
4fb5ea4ec2 Update CHANGELOG.md (#6317)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 16:50:54 +00:00
Slaviša Arežina
7051dfeea7 Refactor: HiveMQ (#6313) 2025-07-28 18:50:33 +02:00
community-scripts-pr-app[bot]
253c4f4f5b Update CHANGELOG.md (#6315)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 13:56:49 +00:00
Slaviša Arežina
69e947246a Refactor: Gotify (#6301)
* Refactor Gotify

* Add tools.func fix

* Update gotify.sh
2025-07-28 15:56:22 +02:00
community-scripts-pr-app[bot]
1f1bc5f12d Update CHANGELOG.md (#6312)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 13:12:13 +00:00
teohz
15e3958687 fix: removing ",gw=" from GATE variable when reading/writing from/to config. (#6177)
Previously when creating a config, GATE variable would incluse ",gw="
which was crashing the installer script when read later on.
This fix:
1. writes GATE variable to config without ",gw="
2. removes ",gw=" from GATE variable when reading existing config

Co-authored-by: teohz <git@teohz.com>
2025-07-28 15:11:52 +02:00
community-scripts-pr-app[bot]
7b82199a36 Update CHANGELOG.md (#6311)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 12:58:26 +00:00
community-scripts-pr-app[bot]
01631c305a Update CHANGELOG.md (#6310)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 12:58:08 +00:00
Slaviša Arežina
bc36a60a49 Refactor (#6306) 2025-07-28 14:58:03 +02:00
Slaviša Arežina
d4c59caf12 Refactor (#6305) 2025-07-28 14:57:44 +02:00
community-scripts-pr-app[bot]
bd9c778922 Update CHANGELOG.md (#6309)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 12:57:16 +00:00
Slaviša Arežina
63d65420a9 Refactor Navidrome (#6300) 2025-07-28 14:56:54 +02:00
community-scripts-pr-app[bot]
08e451f8de Update versions.json (#6308)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 14:05:35 +02:00
community-scripts-pr-app[bot]
b602a9d50c Update CHANGELOG.md (#6303)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 11:34:19 +00:00
Tobias
759239bc7c n8n: refactor environmentfile (#6297)
* n8n: add config path

* n8n: refactor servicefile to seperate env

* n8n: refactor envfile

* Update n8n.sh

* Update n8n.json

---------

Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-07-28 13:33:51 +02:00
community-scripts-pr-app[bot]
9c50105e86 Update CHANGELOG.md (#6299)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 09:36:36 +00:00
CanbiZ
7bf69cbd07 [core]: create_lxc: better handling, fix lock handling, improve template validation & storage selection UX (#6296)
* Update create_lxc.sh

* Update create_lxc.sh

* Update create_lxc.sh
2025-07-28 11:36:14 +02:00
community-scripts-pr-app[bot]
48c63aaebb Update CHANGELOG.md (#6298)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 09:00:33 +00:00
CanbiZ
ba70f9867b ProxmoxVE 9.0 Beta: add BETA Version as test in pve_check (#6295) 2025-07-28 11:00:09 +02:00
community-scripts-pr-app[bot]
c4ab8f92d5 Update CHANGELOG.md (#6294)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 08:16:52 +00:00
Sai Vishnu M
9fd1a868cb add 'g++' to actualbudget-install.sh (#6293)
* add 'g++' to actualbudget-install.sh

The install script fails on line 53 (`$STD npm install --location=global @actual-app/sync-server`). 
Installing `gcc`, which is required by `better-sqlite3`, which `@actual-app/sync-server` depends on, is the solution. 

Added `g++` to the dependency line `18`.

* formatting

---------

Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-07-28 10:16:31 +02:00
community-scripts-pr-app[bot]
a5d540648e Update CHANGELOG.md (#6292)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 05:29:24 +00:00
Chris
3676dff24e karakeep: Run workers in prod without tsx (#6285)
- may improve performance on slow-ass devices
- slightly increases build time
2025-07-28 07:29:00 +02:00
community-scripts-pr-app[bot]
b80ad6655f Update CHANGELOG.md (#6289)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 00:15:04 +00:00
community-scripts-pr-app[bot]
1eb0099f2a Update versions.json (#6288)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-28 02:14:40 +02:00
community-scripts-pr-app[bot]
759f3f8c79 Update CHANGELOG.md (#6284)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-27 19:57:44 +00:00
Chris
33f6d698c7 karakeep: export DATA_DIR from user config in update (#6283) 2025-07-27 21:57:22 +02:00
community-scripts-pr-app[bot]
7b4bab66af Update CHANGELOG.md (#6281)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-27 17:15:55 +00:00
Slaviša Arežina
5322ae69c3 Update go2rtc-install.sh (#6280) 2025-07-27 19:15:36 +02:00
community-scripts-pr-app[bot]
27426ded94 Update versions.json (#6276)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-27 14:05:21 +02:00
Michel Roegl-Brunner
1e035c5c85 Delete frontend/public/json/opnsense-vm.json (#6266) 2025-07-27 11:34:35 +02:00
community-scripts-pr-app[bot]
0db8e39b40 Update CHANGELOG.md (#6269)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-27 00:16:02 +00:00
community-scripts-pr-app[bot]
2588029d1e Update versions.json (#6268)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-27 02:15:43 +02:00
community-scripts-pr-app[bot]
67973ada07 Update versions.json (#6260)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-26 14:04:44 +02:00
CanbiZ
ac6cf2af7b Calibre-Web: Remove from Frontend during Critical Security Issues (#6257) 2025-07-26 13:18:01 +02:00
Manu
8900d12a9d Update onlyoffice.json (#6259) 2025-07-26 13:17:39 +02:00
community-scripts-pr-app[bot]
3e2d9bdd97 Update CHANGELOG.md (#6256)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-26 08:08:20 +00:00
leiweibau
07da06cb75 Update pialert-install.sh (#6251) 2025-07-26 10:08:00 +02:00
community-scripts-pr-app[bot]
e176779d49 Update CHANGELOG.md (#6254)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-26 00:13:38 +00:00
community-scripts-pr-app[bot]
44cee5f303 Update versions.json (#6253)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-26 02:13:16 +02:00
CanbiZ
22ccd36e55 Update alpine-teamspeak-server-install.sh 2025-07-25 14:50:56 +02:00
CanbiZ
c688887f43 Update alpine-teamspeak-server-install.sh 2025-07-25 14:46:56 +02:00
community-scripts-pr-app[bot]
6afa25b06b Update CHANGELOG.md (#6248)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-25 12:44:13 +00:00
Chris
02ad46585e Immich: fix #6236 (#6243) 2025-07-25 14:43:53 +02:00
CanbiZ
2c57cd815b Update alpine-teamspeak-server-install.sh 2025-07-25 14:43:40 +02:00
community-scripts-pr-app[bot]
72fc8a1880 Update CHANGELOG.md (#6247)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-25 12:05:38 +00:00
community-scripts-pr-app[bot]
72cf24fef4 Update versions.json (#6246)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-25 14:05:18 +02:00
Slaviša Arežina
a7a6a81596 Fix RELEASE fetch (#6237) 2025-07-25 13:29:59 +02:00
community-scripts-pr-app[bot]
470a2593a2 Update .app files (#6241)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-07-25 12:42:49 +02:00
community-scripts-pr-app[bot]
7efdc02bc4 Update CHANGELOG.md (#6242)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-25 10:40:59 +00:00
community-scripts-pr-app[bot]
c1ebb07416 Update CHANGELOG.md (#6240)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-25 10:40:40 +00:00
community-scripts-pr-app[bot]
9cf83f0ef4 Update date in json (#6239)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-07-25 10:40:37 +00:00
push-app-to-main[bot]
57a299fe03 Cleanuparr (#6238)
* 'Add new script'

* Update cleanuparr.sh

* Update cleanuparr.sh

* Update cleanuparr-install.sh

* Update frontend/public/json/cleanuparr.json

Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>

* Update frontend/public/json/cleanuparr.json

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-07-25 12:40:21 +02:00
ape364
7272c8dd50 Update pulse.json (#6235)
fix link
2025-07-25 12:16:10 +02:00
Slaviša Arežina
aa9373402e Update headscale-install.sh (#6229) 2025-07-25 08:24:12 +02:00
community-scripts-pr-app[bot]
ff429ded15 Update CHANGELOG.md (#6226)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-25 05:05:42 +00:00
Chris
5b6b55d37a Immich v1.136.0 (#6219)
- change path of copy command
- pin to latest working version rather than latest
2025-07-25 07:05:19 +02:00
community-scripts-pr-app[bot]
e8e90ce5b5 Update CHANGELOG.md (#6225)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-25 05:03:52 +00:00
Chris
1ae40a929b Wizarr: use absolute path to uv (#6221)
- for reasons unknown, updating to 2025.7.7 failed due to uv not being
in the PATH anymore
2025-07-25 07:03:30 +02:00
community-scripts-pr-app[bot]
0484259f39 Update CHANGELOG.md (#6223)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-25 00:13:46 +00:00
community-scripts-pr-app[bot]
cadd0a53bd Update versions.json (#6222)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-25 02:13:25 +02:00
community-scripts-pr-app[bot]
c82c185e4e Update CHANGELOG.md (#6220)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-24 20:04:36 +00:00
Michel Roegl-Brunner
89b2b21761 snipeit-install.sh (#6217) 2025-07-24 22:04:16 +02:00
community-scripts-pr-app[bot]
0a722a242f Update CHANGELOG.md (#6218)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-24 19:37:43 +00:00
Slaviša Arežina
01be7acf10 Refactor (#6210) 2025-07-24 21:37:20 +02:00
community-scripts-pr-app[bot]
2d66d09de2 Update CHANGELOG.md (#6216)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-24 19:01:18 +00:00
Slaviša Arežina
67069cfb21 Refactor (#6197) 2025-07-24 21:01:05 +02:00
community-scripts-pr-app[bot]
e78c590772 Update CHANGELOG.md (#6215)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-24 19:00:58 +00:00
Slaviša Arežina
d956763642 Refactor (#6202) 2025-07-24 21:00:41 +02:00
community-scripts-pr-app[bot]
af4aedf15a Update CHANGELOG.md (#6214)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-24 19:00:34 +00:00
Slaviša Arežina
e25f3dce52 Headscale: Add headscale-admin UI as option (#6205) 2025-07-24 21:00:13 +02:00
community-scripts-pr-app[bot]
eda1b1aea8 Update CHANGELOG.md (#6213)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-24 18:39:03 +00:00
CanbiZ
16e2d2206c Immich: Pin Version to v1.135.3 (#6212)
* Immich: Pin Version to v1.135.3

* Update immich.sh
2025-07-24 20:38:38 +02:00
community-scripts-pr-app[bot]
33a03f4b0e Update CHANGELOG.md (#6208)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-24 14:12:46 +00:00
Slaviša Arežina
5867ef3288 Refactor: go2rtc (#6198)
* Refactor

* Update ct/go2rtc.sh
2025-07-24 16:12:20 +02:00
community-scripts-pr-app[bot]
8ef59b590a Update .app files (#6204)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-07-24 14:53:43 +02:00
community-scripts-pr-app[bot]
72d6fb40dc Update CHANGELOG.md (#6203)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-24 12:52:36 +00:00
Slaviša Arežina
7e9d786202 Alpine TeamSpeak Server (#6201)
* Add Alpine TeamSpeak Server

* Update alpine-teamspeak-server.sh

* Update json

* Update json
2025-07-24 14:52:16 +02:00
CanbiZ
ed934a21ff habitica: ensure config is available before build 2025-07-24 14:32:39 +02:00
community-scripts-pr-app[bot]
c9015cca20 Update versions.json (#6200)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-24 14:05:46 +02:00
community-scripts-pr-app[bot]
b52e958623 Update CHANGELOG.md (#6196)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-24 10:43:52 +00:00
Slaviša Arežina
1f51e96cb1 Refactor: Headscale (#6180) 2025-07-24 12:43:32 +02:00
community-scripts-pr-app[bot]
de1a93bf6d Update CHANGELOG.md (#6194)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-24 09:44:28 +00:00
CanbiZ
8bfb78e001 Habitica: force npm to 10 (#6192) 2025-07-24 11:44:07 +02:00
community-scripts-pr-app[bot]
4fa4ed35cc Update CHANGELOG.md (#6193)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-24 08:57:43 +00:00
CanbiZ
4a050f3723 sabnzbd: add uv setup in update (#6191) 2025-07-24 10:57:20 +02:00
community-scripts-pr-app[bot]
9304835775 Update CHANGELOG.md (#6188)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-24 00:13:54 +00:00
community-scripts-pr-app[bot]
a2fa104176 Update versions.json (#6187)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-24 02:13:31 +02:00
community-scripts-pr-app[bot]
3c0888abdd Update versions.json (#6178)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-23 14:05:47 +02:00
community-scripts-pr-app[bot]
d6af60f0c0 Update CHANGELOG.md (#6176)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-23 10:23:13 +00:00
CanbiZ
0a83090ad2 documenso: remove customer_id by creating initial user (#6171) 2025-07-23 12:22:54 +02:00
CanbiZ
035419b4b9 Update frigate-install.sh 2025-07-23 10:11:45 +02:00
community-scripts-pr-app[bot]
d19130d8f1 Update CHANGELOG.md (#6169)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-23 00:14:23 +00:00
community-scripts-pr-app[bot]
b36f982fc2 Update versions.json (#6168)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-23 02:14:04 +02:00
community-scripts-pr-app[bot]
d67fa6cf38 Update CHANGELOG.md (#6166)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-22 18:49:25 +00:00
community-scripts-pr-app[bot]
4201ab58ab Update CHANGELOG.md (#6163)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-22 17:09:39 +00:00
Denis Chernov
0f3b95b3ff Fixed the previous fix on anti-nag hook, propagated fixed to other ProxMox products and fixed 8.0 compatibility (#6162) 2025-07-22 19:09:14 +02:00
Bram Suurd
feea82e0ba Add GitHub Actions workflow to validate JSON files in the frontend directory (#6152)
* Add GitHub Actions workflow to validate JSON files in the frontend directory

* test new github workflow by invalidating script

* Revalidate json script to also test workflow

* Refactor GitHub Actions workflow to validate JSON files using Python.

* test github workflow

* Update description in apache-tomcat.json for clarity and consistency.

* Consolidate JSON validation workflow: Migrate test-jsons.yml functionality into frontend-cicd.yml, enhancing CI process by validating JSON files in the public directory with Python.

* test to see if workflow fails

* test to see if workflow passes

* testing

* testing to see if workflow runs and works

* test again

* testing to see if it works
2025-07-22 16:00:10 +02:00
community-scripts-pr-app[bot]
0e0c954f0c Update CHANGELOG.md (#6161)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-22 13:57:17 +00:00
community-scripts-pr-app[bot]
6b74f6247f Update CHANGELOG.md (#6160)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-22 13:56:51 +00:00
community-scripts-pr-app[bot]
4159ba3970 Update date in json (#6159)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-07-22 13:56:45 +00:00
push-app-to-main[bot]
a53daa3559 Salt (#6116)
* 'Add new script'

* curl

* hdd

* logo

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-07-22 15:56:22 +02:00
CanbiZ
4b3233d6a8 qf: php 2025-07-22 15:55:56 +02:00
community-scripts-pr-app[bot]
ff51b1e5dc Update CHANGELOG.md (#6157)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-22 13:53:04 +00:00
TJ
1aab127bdf Update tools.func - typo (#6156)
This was triggered when running the Gitea install script
2025-07-22 15:52:41 +02:00
community-scripts-pr-app[bot]
baf7dff759 Update CHANGELOG.md (#6153)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-22 13:03:00 +00:00
dependabot[bot]
b4ec04a54f Bump form-data from 4.0.3 to 4.0.4 in /frontend (#6150)
Bumps [form-data](https://github.com/form-data/form-data) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v4.0.3...v4.0.4)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-22 15:02:33 +02:00
community-scripts-pr-app[bot]
2ee8269684 Update CHANGELOG.md (#6151)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-22 12:47:13 +00:00
CanbiZ
84860a9893 [core]: Improved LXC Container Startup Handling (#6142)
* [core]: Improved LXC Container Startup Handling

* Update build.func

---------

Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-07-22 14:46:50 +02:00
CanbiZ
ebb7da43c1 Update tools.func 2025-07-22 14:18:34 +02:00
community-scripts-pr-app[bot]
44c584dced Update versions.json (#6149)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-22 14:05:29 +02:00
community-scripts-pr-app[bot]
2bede5256f Update CHANGELOG.md (#6145)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-22 11:14:28 +00:00
CanbiZ
2848cf6d6b [core]: tools.func: increase setup_php function (#6141)
* tools.func: increase setup_php function

* better verbose output
2025-07-22 13:14:09 +02:00
community-scripts-pr-app[bot]
bce076161e Update CHANGELOG.md (#6144)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-22 10:18:15 +00:00
community-scripts-pr-app[bot]
040a15aa3e Update CHANGELOG.md (#6143)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-22 10:17:58 +00:00
Tobias
5c0cffce6f gitea-mirror: add: migration to 3.0 (#6138) 2025-07-22 12:17:53 +02:00
push-app-to-main[bot]
d552fb86c1 LinkStack (#6137)
* 'Add new script'

* Update linkstack.sh

* Update linkstack.json

* Update linkstack.sh

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-07-22 12:17:35 +02:00
community-scripts-pr-app[bot]
42af89dd2d Update CHANGELOG.md (#6140)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-22 08:38:15 +00:00
Jehu Marcos Herrera Puentes
003fc3c080 fix(nginxproxymanager.sh): Set the version number before build. (#6139)
Signed-off-by: JMarcosHP <jehuherrerap@hotmail.com>
2025-07-22 10:37:54 +02:00
community-scripts-pr-app[bot]
a638dc8672 Update CHANGELOG.md (#6135)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-22 06:48:54 +00:00
Tobias
d7668531e7 wallos: add cron in installer for yearly cost (#6133)
* wallos: fix: yearly cost

* Update wallos.sh

* Update wallos.sh

---------

Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-07-22 08:48:29 +02:00
community-scripts-pr-app[bot]
30ca65e1d5 Update versions.json (#6130)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-22 02:13:47 +02:00
community-scripts-pr-app[bot]
ae84b7d281 Update CHANGELOG.md (#6128)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-21 18:22:53 +00:00
CanbiZ
202eed7c13 firefly: fix permissions at update (#6119) 2025-07-21 20:22:31 +02:00
CanbiZ
e194a36301 readd teamspeak-json (#6127) 2025-07-21 19:17:39 +02:00
CanbiZ
7b93eed34a Delete frontend/public/json/teamspeak-server.json 2025-07-21 19:09:15 +02:00
community-scripts-pr-app[bot]
5a3855566b Update CHANGELOG.md (#6123)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-21 16:47:29 +00:00
Luke Hamburg
85595871df alternate fix for #6087 (#6098) 2025-07-21 18:47:03 +02:00
community-scripts-pr-app[bot]
901837b4ae Update CHANGELOG.md (#6122)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-21 16:45:20 +00:00
push-app-to-main[bot]
9f1273349f Teamspeak-Server (#6121)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-07-21 18:44:57 +02:00
community-scripts-pr-app[bot]
e6756385ed Update CHANGELOG.md (#6118)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-21 14:05:42 +00:00
CanbiZ
74be3e70b9 nginxproxymanager: remove injected tteck link (#6117) 2025-07-21 16:05:17 +02:00
community-scripts-pr-app[bot]
9060e8f372 Update versions.json (#6114)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-21 14:07:16 +02:00
community-scripts-pr-app[bot]
2adcf04426 Update versions.json (#6112)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-21 09:45:16 +02:00
255 changed files with 5996 additions and 3832 deletions

81
.github/workflows/frontend-cicd.yml generated vendored
View File

@@ -24,12 +24,87 @@ concurrency:
cancel-in-progress: false cancel-in-progress: false
jobs: jobs:
build: test-json-files:
if: github.repository == 'community-scripts/ProxmoxVE'
runs-on: ubuntu-latest runs-on: ubuntu-latest
defaults: defaults:
run: run:
working-directory: frontend # Set default working directory for all run steps working-directory: frontend
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: "3.x"
- name: Test JSON files
run: |
python3 << 'EOF'
import json
import glob
import os
import sys
def test_json_files():
# Change to the correct directory
json_dir = "public/json"
if not os.path.exists(json_dir):
print(f"❌ Directory not found: {json_dir}")
return False
# Find all JSON files
pattern = os.path.join(json_dir, "*.json")
json_files = glob.glob(pattern)
if not json_files:
print(f"⚠️ No JSON files found in {json_dir}")
return True
print(f"Testing {len(json_files)} JSON files for valid syntax...")
invalid_files = []
for file_path in json_files:
try:
with open(file_path, 'r', encoding='utf-8') as f:
json.load(f)
print(f"✅ Valid JSON: {file_path}")
except json.JSONDecodeError as e:
print(f"❌ Invalid JSON syntax in: {file_path}")
print(f" Error: {e}")
invalid_files.append(file_path)
except Exception as e:
print(f"⚠️ Error reading: {file_path}")
print(f" Error: {e}")
invalid_files.append(file_path)
print("\n=== JSON Validation Summary ===")
print(f"Total files tested: {len(json_files)}")
print(f"Valid files: {len(json_files) - len(invalid_files)}")
print(f"Invalid files: {len(invalid_files)}")
if invalid_files:
print("\n❌ Found invalid JSON file(s):")
for file_path in invalid_files:
print(f" - {file_path}")
return False
else:
print("\n✅ All JSON files have valid syntax!")
return True
if __name__ == "__main__":
success = test_json_files()
sys.exit(0 if success else 1)
EOF
build:
if: github.repository == 'community-scripts/ProxmoxVE'
needs: test-json-files
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4

View File

@@ -10,8 +10,389 @@
> [!CAUTION] > [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-08-09
## 2025-08-08
### 🆕 New Scripts
- Palmr ([#6642](https://github.com/community-scripts/ProxmoxVE/pull/6642))
- HortusFox ([#6641](https://github.com/community-scripts/ProxmoxVE/pull/6641))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Unifi: Update libssl dependency [@tremor021](https://github.com/tremor021) ([#6680](https://github.com/community-scripts/ProxmoxVE/pull/6680))
- HomeBox: Fix checking for existing install [@tremor021](https://github.com/tremor021) ([#6677](https://github.com/community-scripts/ProxmoxVE/pull/6677))
- Immich: unpin libvips revision [@vhsdream](https://github.com/vhsdream) ([#6669](https://github.com/community-scripts/ProxmoxVE/pull/6669))
- Meilisearch: fix wrong path switch [@MickLesk](https://github.com/MickLesk) ([#6668](https://github.com/community-scripts/ProxmoxVE/pull/6668))
- MariaDB: fix "feedback" (statistical informations) whiptail [@MickLesk](https://github.com/MickLesk) ([#6657](https://github.com/community-scripts/ProxmoxVE/pull/6657))
- Karakeep: workaround/fix for #6593 [@vhsdream](https://github.com/vhsdream) ([#6648](https://github.com/community-scripts/ProxmoxVE/pull/6648))
- #### ✨ New Features
- Feature: FSTrim (Filesystem Trim) - Log / LVM Check / ZFS [@MickLesk](https://github.com/MickLesk) ([#6660](https://github.com/community-scripts/ProxmoxVE/pull/6660))
- IP Tag: Allow installation on PVE 9.x [@webhdx](https://github.com/webhdx) ([#6679](https://github.com/community-scripts/ProxmoxVE/pull/6679))
- #### 🔧 Refactor
- Refactor: Alpine IT-Tools [@tremor021](https://github.com/tremor021) ([#6579](https://github.com/community-scripts/ProxmoxVE/pull/6579))
- Refactor: ArchiveBox [@MickLesk](https://github.com/MickLesk) ([#6670](https://github.com/community-scripts/ProxmoxVE/pull/6670))
- Refactor: Bazarr [@MickLesk](https://github.com/MickLesk) ([#6663](https://github.com/community-scripts/ProxmoxVE/pull/6663))
- Refactor: Kometa [@MickLesk](https://github.com/MickLesk) ([#6673](https://github.com/community-scripts/ProxmoxVE/pull/6673))
## 2025-08-07
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Commafeed: Fix Backup Handling while Update [@MickLesk](https://github.com/MickLesk) ([#6629](https://github.com/community-scripts/ProxmoxVE/pull/6629))
- VictoriaMetrics: Fix release fetching [@tremor021](https://github.com/tremor021) ([#6632](https://github.com/community-scripts/ProxmoxVE/pull/6632))
- #### ✨ New Features
- Feature: Post-PVE-Script (PVE9 Support + some Features) [@MickLesk](https://github.com/MickLesk) ([#6626](https://github.com/community-scripts/ProxmoxVE/pull/6626))
- Feature: Clean-LXC now supports Alpine based containers [@MickLesk](https://github.com/MickLesk) ([#6628](https://github.com/community-scripts/ProxmoxVE/pull/6628))
- #### 🔧 Refactor
- Refactor: Tandoor v2 [@MickLesk](https://github.com/MickLesk) ([#6635](https://github.com/community-scripts/ProxmoxVE/pull/6635))
- Refactor: Paymenter [@tremor021](https://github.com/tremor021) ([#6589](https://github.com/community-scripts/ProxmoxVE/pull/6589))
## 2025-08-06
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- [core] better y/N handling for ressource check [@MickLesk](https://github.com/MickLesk) ([#6608](https://github.com/community-scripts/ProxmoxVE/pull/6608))
- fix: update Pulse scripts for v4 Go rewrite support [@rcourtman](https://github.com/rcourtman) ([#6574](https://github.com/community-scripts/ProxmoxVE/pull/6574))
- OpenProject: Fix missing apt update [@tremor021](https://github.com/tremor021) ([#6598](https://github.com/community-scripts/ProxmoxVE/pull/6598))
- #### ✨ New Features
- PVE9: Remove Beta Whiptail / add correct version check [@MickLesk](https://github.com/MickLesk) ([#6599](https://github.com/community-scripts/ProxmoxVE/pull/6599))
## 2025-08-05
### 🚀 Updated Scripts
- #### ✨ New Features
- NIC offloading: e1000 support [@rcastley](https://github.com/rcastley) ([#6575](https://github.com/community-scripts/ProxmoxVE/pull/6575))
- #### 💥 Breaking Changes
- Temporary Remove: SearXNG [@MickLesk](https://github.com/MickLesk) ([#6578](https://github.com/community-scripts/ProxmoxVE/pull/6578))
- #### 🔧 Refactor
- Refactor: Prometheus Alertmanager [@tremor021](https://github.com/tremor021) ([#6577](https://github.com/community-scripts/ProxmoxVE/pull/6577))
## 2025-08-04
### 🆕 New Scripts
- Tududi ([#6534](https://github.com/community-scripts/ProxmoxVE/pull/6534))
- ots ([#6532](https://github.com/community-scripts/ProxmoxVE/pull/6532))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- MySpeed: fix update and copy old tests back [@MickLesk](https://github.com/MickLesk) ([#6550](https://github.com/community-scripts/ProxmoxVE/pull/6550))
- Composer: PATH Issues when updating [@MickLesk](https://github.com/MickLesk) ([#6543](https://github.com/community-scripts/ProxmoxVE/pull/6543))
- #### ✨ New Features
- Feat: enable tun for VPN services (wireguard) [@MickLesk](https://github.com/MickLesk) ([#6562](https://github.com/community-scripts/ProxmoxVE/pull/6562))
- turnkey: add hostname & Fix TUN access [@masterofrpm](https://github.com/masterofrpm) ([#6512](https://github.com/community-scripts/ProxmoxVE/pull/6512))
- Increase: Core Network check (pre-LXC Creation) [@MickLesk](https://github.com/MickLesk) ([#6546](https://github.com/community-scripts/ProxmoxVE/pull/6546))
- #### 🔧 Refactor
- Refactor: PrivateBin [@tremor021](https://github.com/tremor021) ([#6559](https://github.com/community-scripts/ProxmoxVE/pull/6559))
- Refactor: PocketID [@tremor021](https://github.com/tremor021) ([#6556](https://github.com/community-scripts/ProxmoxVE/pull/6556))
- Refactor: Pocketbase [@tremor021](https://github.com/tremor021) ([#6554](https://github.com/community-scripts/ProxmoxVE/pull/6554))
- Refactor: NocoDB [@tremor021](https://github.com/tremor021) ([#6548](https://github.com/community-scripts/ProxmoxVE/pull/6548))
- Refactor: PairDrop [@tremor021](https://github.com/tremor021) ([#6528](https://github.com/community-scripts/ProxmoxVE/pull/6528))
## 2025-08-03
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- docmost: remove build step due new version [@MickLesk](https://github.com/MickLesk) ([#6513](https://github.com/community-scripts/ProxmoxVE/pull/6513))
- Fix: Komga uses .komga as storage / so it fails after install [@MickLesk](https://github.com/MickLesk) ([#6517](https://github.com/community-scripts/ProxmoxVE/pull/6517))
- #### 💥 Breaking Changes
- Remove: Ubuntu 24.10-VM [@MickLesk](https://github.com/MickLesk) ([#6515](https://github.com/community-scripts/ProxmoxVE/pull/6515))
- #### 🔧 Refactor
- Refactor: openHAB [@tremor021](https://github.com/tremor021) ([#6524](https://github.com/community-scripts/ProxmoxVE/pull/6524))
- Refactor: OpenProject [@tremor021](https://github.com/tremor021) ([#6525](https://github.com/community-scripts/ProxmoxVE/pull/6525))
## 2025-08-02
### 🚀 Updated Scripts
- Alternative connectivity checks for LXC [@mariano-dagostino](https://github.com/mariano-dagostino) ([#6472](https://github.com/community-scripts/ProxmoxVE/pull/6472))
- #### 🐞 Bug Fixes
- Immich: fix copy error during install [@vhsdream](https://github.com/vhsdream) ([#6497](https://github.com/community-scripts/ProxmoxVE/pull/6497))
- MagicMirror: Fix install process [@tremor021](https://github.com/tremor021) ([#6492](https://github.com/community-scripts/ProxmoxVE/pull/6492))
- chore: BookLore repo change [@vhsdream](https://github.com/vhsdream) ([#6493](https://github.com/community-scripts/ProxmoxVE/pull/6493))
- #### ✨ New Features
- VictoriaMetrics: Make VictoriaLogs optional add-on [@tremor021](https://github.com/tremor021) ([#6489](https://github.com/community-scripts/ProxmoxVE/pull/6489))
## 2025-08-01
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Fumadocs: add git as dependency [@MickLesk](https://github.com/MickLesk) ([#6459](https://github.com/community-scripts/ProxmoxVE/pull/6459))
- Immich: Fix immich-admin script; other fixes | pin to v.137.3 [@vhsdream](https://github.com/vhsdream) ([#6443](https://github.com/community-scripts/ProxmoxVE/pull/6443))
- #### ✨ New Features
- Re-Add: Suwayomi-Server [@MickLesk](https://github.com/MickLesk) ([#6458](https://github.com/community-scripts/ProxmoxVE/pull/6458))
- #### 🔧 Refactor
- Update homepage.sh to use setup_nodejs [@burgerga](https://github.com/burgerga) ([#6462](https://github.com/community-scripts/ProxmoxVE/pull/6462))
- Refactor: Owncast [@tremor021](https://github.com/tremor021) ([#6434](https://github.com/community-scripts/ProxmoxVE/pull/6434))
- Refactor: MediaMTX [@tremor021](https://github.com/tremor021) ([#6406](https://github.com/community-scripts/ProxmoxVE/pull/6406))
- Refactor: LubeLogger [@tremor021](https://github.com/tremor021) ([#6400](https://github.com/community-scripts/ProxmoxVE/pull/6400))
- Refactor: MagicMirror [@tremor021](https://github.com/tremor021) ([#6402](https://github.com/community-scripts/ProxmoxVE/pull/6402))
- Refactor: Manage My Damn Life [@tremor021](https://github.com/tremor021) ([#6403](https://github.com/community-scripts/ProxmoxVE/pull/6403))
- Refactor: Meilisearch [@tremor021](https://github.com/tremor021) ([#6407](https://github.com/community-scripts/ProxmoxVE/pull/6407))
- Refactor: NodeBB [@tremor021](https://github.com/tremor021) ([#6419](https://github.com/community-scripts/ProxmoxVE/pull/6419))
- Refactor: oauth2-proxy [@tremor021](https://github.com/tremor021) ([#6421](https://github.com/community-scripts/ProxmoxVE/pull/6421))
- Refactor: Outline [@tremor021](https://github.com/tremor021) ([#6424](https://github.com/community-scripts/ProxmoxVE/pull/6424))
- Refactor: Overseerr [@tremor021](https://github.com/tremor021) ([#6425](https://github.com/community-scripts/ProxmoxVE/pull/6425))
## 2025-07-31
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- OpenObserve: Fix release fetching [@tremor021](https://github.com/tremor021) ([#6409](https://github.com/community-scripts/ProxmoxVE/pull/6409))
- #### 💥 Breaking Changes
- Remove temp. Tandoor during Install & Update Issues [@MickLesk](https://github.com/MickLesk) ([#6438](https://github.com/community-scripts/ProxmoxVE/pull/6438))
- #### 🔧 Refactor
- Refactor: listmonk [@tremor021](https://github.com/tremor021) ([#6399](https://github.com/community-scripts/ProxmoxVE/pull/6399))
- Refactor: Neo4j [@tremor021](https://github.com/tremor021) ([#6418](https://github.com/community-scripts/ProxmoxVE/pull/6418))
- Refactor: Monica [@tremor021](https://github.com/tremor021) ([#6416](https://github.com/community-scripts/ProxmoxVE/pull/6416))
- Refactor: Memos [@tremor021](https://github.com/tremor021) ([#6415](https://github.com/community-scripts/ProxmoxVE/pull/6415))
- Refactor: Opengist [@tremor021](https://github.com/tremor021) ([#6423](https://github.com/community-scripts/ProxmoxVE/pull/6423))
- Refactor: Ombi [@tremor021](https://github.com/tremor021) ([#6422](https://github.com/community-scripts/ProxmoxVE/pull/6422))
- Refactor: MySpeed [@tremor021](https://github.com/tremor021) ([#6417](https://github.com/community-scripts/ProxmoxVE/pull/6417))
## 2025-07-30
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Strip SD and NS prefixes before writing to config file [@mattv8](https://github.com/mattv8) ([#6356](https://github.com/community-scripts/ProxmoxVE/pull/6356))
- [core] fix: expand $CACHER_IP in apt-proxy-detect.sh (revert quoted heredoc) [@MickLesk](https://github.com/MickLesk) ([#6385](https://github.com/community-scripts/ProxmoxVE/pull/6385))
- PiAlert: bugfix dependencies [@leiweibau](https://github.com/leiweibau) ([#6396](https://github.com/community-scripts/ProxmoxVE/pull/6396))
- Librespeed-Rust: Fix service name and RELEASE var fetching [@tremor021](https://github.com/tremor021) ([#6378](https://github.com/community-scripts/ProxmoxVE/pull/6378))
- n8n: add build-essential as dependency [@MickLesk](https://github.com/MickLesk) ([#6392](https://github.com/community-scripts/ProxmoxVE/pull/6392))
- Habitica: Fix trusted domains [@tremor021](https://github.com/tremor021) ([#6380](https://github.com/community-scripts/ProxmoxVE/pull/6380))
- Mafl: Fix undeclared var [@tremor021](https://github.com/tremor021) ([#6371](https://github.com/community-scripts/ProxmoxVE/pull/6371))
- #### 🔧 Refactor
- Refactor: Lidarr [@tremor021](https://github.com/tremor021) ([#6379](https://github.com/community-scripts/ProxmoxVE/pull/6379))
- Refactor: Kubo [@tremor021](https://github.com/tremor021) ([#6376](https://github.com/community-scripts/ProxmoxVE/pull/6376))
- Refactor: Komga [@tremor021](https://github.com/tremor021) ([#6374](https://github.com/community-scripts/ProxmoxVE/pull/6374))
- Refactor: Koillection [@tremor021](https://github.com/tremor021) ([#6373](https://github.com/community-scripts/ProxmoxVE/pull/6373))
- Refactor: Karakeep [@tremor021](https://github.com/tremor021) ([#6372](https://github.com/community-scripts/ProxmoxVE/pull/6372))
## 2025-07-29
### 🆕 New Scripts
- Jeedom ([#6336](https://github.com/community-scripts/ProxmoxVE/pull/6336))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- PiAlert: add new dependencies [@leiweibau](https://github.com/leiweibau) ([#6337](https://github.com/community-scripts/ProxmoxVE/pull/6337))
- Element Synapse CT RAM increased from 1024 to 2048 [@tjcomserv](https://github.com/tjcomserv) ([#6330](https://github.com/community-scripts/ProxmoxVE/pull/6330))
- #### 🔧 Refactor
- Refactor: HomeBox [@tremor021](https://github.com/tremor021) ([#6338](https://github.com/community-scripts/ProxmoxVE/pull/6338))
- Refactor: InspIRCd [@tremor021](https://github.com/tremor021) ([#6343](https://github.com/community-scripts/ProxmoxVE/pull/6343))
- Refactor: Jackett [@tremor021](https://github.com/tremor021) ([#6344](https://github.com/community-scripts/ProxmoxVE/pull/6344))
- Update keycloak script to support configuration of latest release (v26) [@remz1337](https://github.com/remz1337) ([#6322](https://github.com/community-scripts/ProxmoxVE/pull/6322))
- Refactor: Photoprism [@MickLesk](https://github.com/MickLesk) ([#6335](https://github.com/community-scripts/ProxmoxVE/pull/6335))
- Refactor: Autobrr [@tremor021](https://github.com/tremor021) ([#6302](https://github.com/community-scripts/ProxmoxVE/pull/6302))
## 2025-07-28
### 🚀 Updated Scripts
- Refactor: Cronicle [@tremor021](https://github.com/tremor021) ([#6314](https://github.com/community-scripts/ProxmoxVE/pull/6314))
- Refactor: HiveMQ [@tremor021](https://github.com/tremor021) ([#6313](https://github.com/community-scripts/ProxmoxVE/pull/6313))
- #### 🐞 Bug Fixes
- fix: SSH authorized keys not added in Alpine install script [@enihsyou](https://github.com/enihsyou) ([#6316](https://github.com/community-scripts/ProxmoxVE/pull/6316))
- fix: removing ",gw=" from GATE var when reading/writing from/to config. [@teohz](https://github.com/teohz) ([#6177](https://github.com/community-scripts/ProxmoxVE/pull/6177))
- add 'g++' to actualbudget-install.sh [@saivishnu725](https://github.com/saivishnu725) ([#6293](https://github.com/community-scripts/ProxmoxVE/pull/6293))
- #### ✨ New Features
- [core]: create_lxc: better handling, fix lock handling, improve template validation & storage selection UX [@MickLesk](https://github.com/MickLesk) ([#6296](https://github.com/community-scripts/ProxmoxVE/pull/6296))
- ProxmoxVE 9.0 Beta: add BETA Version as test in pve_check [@MickLesk](https://github.com/MickLesk) ([#6295](https://github.com/community-scripts/ProxmoxVE/pull/6295))
- karakeep: Run workers in prod without tsx [@vhsdream](https://github.com/vhsdream) ([#6285](https://github.com/community-scripts/ProxmoxVE/pull/6285))
- #### 🔧 Refactor
- Refactor: grocy [@tremor021](https://github.com/tremor021) ([#6307](https://github.com/community-scripts/ProxmoxVE/pull/6307))
- Refactor: Navidrome [@tremor021](https://github.com/tremor021) ([#6300](https://github.com/community-scripts/ProxmoxVE/pull/6300))
- Refactor: Gotify [@tremor021](https://github.com/tremor021) ([#6301](https://github.com/community-scripts/ProxmoxVE/pull/6301))
- Refactor: Grafana [@tremor021](https://github.com/tremor021) ([#6306](https://github.com/community-scripts/ProxmoxVE/pull/6306))
- Refactor: Argus [@tremor021](https://github.com/tremor021) ([#6305](https://github.com/community-scripts/ProxmoxVE/pull/6305))
- n8n: refactor environmentfile [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6297](https://github.com/community-scripts/ProxmoxVE/pull/6297))
### 🌐 Website
- #### 🐞 Bug Fixes
- temp change the analytics url to one that works untill community one is fixed [@BramSuurdje](https://github.com/BramSuurdje) ([#6319](https://github.com/community-scripts/ProxmoxVE/pull/6319))
## 2025-07-27
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- karakeep: export DATA_DIR from user config in update [@vhsdream](https://github.com/vhsdream) ([#6283](https://github.com/community-scripts/ProxmoxVE/pull/6283))
- go2rtc: Fix release download handling [@tremor021](https://github.com/tremor021) ([#6280](https://github.com/community-scripts/ProxmoxVE/pull/6280))
## 2025-07-26
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- PiAlert: Update dependencies [@leiweibau](https://github.com/leiweibau) ([#6251](https://github.com/community-scripts/ProxmoxVE/pull/6251))
## 2025-07-25
### 🆕 New Scripts
- Cleanuparr ([#6238](https://github.com/community-scripts/ProxmoxVE/pull/6238))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Immich: fix #6236 [@vhsdream](https://github.com/vhsdream) ([#6243](https://github.com/community-scripts/ProxmoxVE/pull/6243))
- Wizarr: use absolute path to uv [@vhsdream](https://github.com/vhsdream) ([#6221](https://github.com/community-scripts/ProxmoxVE/pull/6221))
- Immich v1.136.0 [@vhsdream](https://github.com/vhsdream) ([#6219](https://github.com/community-scripts/ProxmoxVE/pull/6219))
## 2025-07-24
### 🆕 New Scripts
- Alpine TeamSpeak Server [@tremor021](https://github.com/tremor021) ([#6201](https://github.com/community-scripts/ProxmoxVE/pull/6201))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Immich: Pin Version to v1.135.3 [@MickLesk](https://github.com/MickLesk) ([#6212](https://github.com/community-scripts/ProxmoxVE/pull/6212))
- Habitica: force npm to 10 [@MickLesk](https://github.com/MickLesk) ([#6192](https://github.com/community-scripts/ProxmoxVE/pull/6192))
- sabnzbd: add uv setup in update [@MickLesk](https://github.com/MickLesk) ([#6191](https://github.com/community-scripts/ProxmoxVE/pull/6191))
- #### ✨ New Features
- SnipeIT - Update dependencies [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#6217](https://github.com/community-scripts/ProxmoxVE/pull/6217))
- Refactor: VictoriaMetrics [@tremor021](https://github.com/tremor021) ([#6210](https://github.com/community-scripts/ProxmoxVE/pull/6210))
- Headscale: Add headscale-admin UI as option [@tremor021](https://github.com/tremor021) ([#6205](https://github.com/community-scripts/ProxmoxVE/pull/6205))
- #### 🔧 Refactor
- Refactor: Gokapi [@tremor021](https://github.com/tremor021) ([#6197](https://github.com/community-scripts/ProxmoxVE/pull/6197))
- Refactor: duplicati [@tremor021](https://github.com/tremor021) ([#6202](https://github.com/community-scripts/ProxmoxVE/pull/6202))
- Refactor: go2rtc [@tremor021](https://github.com/tremor021) ([#6198](https://github.com/community-scripts/ProxmoxVE/pull/6198))
- Refactor: Headscale [@tremor021](https://github.com/tremor021) ([#6180](https://github.com/community-scripts/ProxmoxVE/pull/6180))
## 2025-07-23
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- documenso: remove customerId by creating initial user [@MickLesk](https://github.com/MickLesk) ([#6171](https://github.com/community-scripts/ProxmoxVE/pull/6171))
## 2025-07-22
### 🆕 New Scripts
- Salt ([#6116](https://github.com/community-scripts/ProxmoxVE/pull/6116))
- LinkStack ([#6137](https://github.com/community-scripts/ProxmoxVE/pull/6137))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- tools.func - fix typo for target_file [@tjcomserv](https://github.com/tjcomserv) ([#6156](https://github.com/community-scripts/ProxmoxVE/pull/6156))
- fix(nginxproxymanager.sh): Set the version number before build. [@JMarcosHP](https://github.com/JMarcosHP) ([#6139](https://github.com/community-scripts/ProxmoxVE/pull/6139))
- #### ✨ New Features
- Fixed the previous fix of the anti-nag hook and propagated fixes everywhere [@imcrazytwkr](https://github.com/imcrazytwkr) ([#6162](https://github.com/community-scripts/ProxmoxVE/pull/6162))
- [core]: Improved LXC Container Startup Handling [@MickLesk](https://github.com/MickLesk) ([#6142](https://github.com/community-scripts/ProxmoxVE/pull/6142))
- wallos: add cron in installer for yearly cost [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6133](https://github.com/community-scripts/ProxmoxVE/pull/6133))
- #### 💥 Breaking Changes
- gitea-mirror: add: migration to 3.0 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6138](https://github.com/community-scripts/ProxmoxVE/pull/6138))
- #### 🔧 Refactor
- [core]: tools.func: increase setup_php function [@MickLesk](https://github.com/MickLesk) ([#6141](https://github.com/community-scripts/ProxmoxVE/pull/6141))
### 🌐 Website
- Bump form-data from 4.0.3 to 4.0.4 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#6150](https://github.com/community-scripts/ProxmoxVE/pull/6150))
## 2025-07-21 ## 2025-07-21
### 🆕 New Scripts
- Teamspeak-Server ([#6121](https://github.com/community-scripts/ProxmoxVE/pull/6121))
### 🚀 Updated Scripts
- pve-post-installer: remove Nag-File if already exist [@luckman212](https://github.com/luckman212) ([#6098](https://github.com/community-scripts/ProxmoxVE/pull/6098))
- #### 🐞 Bug Fixes
- firefly: fix permissions at update [@MickLesk](https://github.com/MickLesk) ([#6119](https://github.com/community-scripts/ProxmoxVE/pull/6119))
- nginxproxymanager: remove injected footer link (tteck) [@MickLesk](https://github.com/MickLesk) ([#6117](https://github.com/community-scripts/ProxmoxVE/pull/6117))
## 2025-07-20 ## 2025-07-20
### 🚀 Updated Scripts ### 🚀 Updated Scripts

View File

@@ -27,16 +27,15 @@ function update_script() {
exit 1 exit 1
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/CorentinTh/it-tools/releases/latest | grep '"tag_name":' | cut -d '"' -f4) RELEASE=$(curl -fsSL https://api.github.com/repos/sharevb/it-tools/releases/latest | grep '"tag_name":' | cut -d '"' -f4)
if [ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ] || [ ! -f /opt/${APP}_version.txt ]; then if [ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ] || [ ! -f /opt/${APP}_version.txt ]; then
DOWNLOAD_URL="https://github.com/CorentinTh/it-tools/releases/download/${RELEASE}/it-tools-${RELEASE#v}.zip"
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
curl -fsSL -o it-tools.zip "$DOWNLOAD_URL" curl -fsSL "https://github.com/sharevb/it-tools/releases/download/${RELEASE}/it-tools-${RELEASE#v}.zip" -o it-tools.zip
mkdir -p /usr/share/nginx/html mkdir -p /usr/share/nginx/html
rm -rf /usr/share/nginx/html/* rm -rf /usr/share/nginx/html/*
$STD unzip it-tools.zip -d /tmp/it-tools $STD unzip it-tools.zip -d /tmp
cp -r /tmp/it-tools/dist/* /usr/share/nginx/html cp -r /tmp/dist/* /usr/share/nginx/html
rm -rf /tmp/it-tools rm -rf /tmp/dist
rm -f it-tools.zip rm -f it-tools.zip
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else

View File

@@ -0,0 +1,58 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: tremor021 (Slaviša Arežina)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://teamspeak.com/en/
APP="Alpine-TeamSpeak-Server"
var_tags="${var_tags:-alpine;communication}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-256}"
var_disk="${var_disk:-2}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.22}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
if [[ ! -d /opt/teamspeak-server ]]; then
msg_error "No ${APP} Installation Found!"
exit 1
fi
set +o pipefail && RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n 's/.teamspeak3-server_linux_amd64-([0-9]+.[0-9]+.[0-9]+)./\1/p' | head -1) && set -o pipefail
if [ "${RELEASE}" != "$(cat ~/.teamspeak-server)" ] || [ ! -f ~/.teamspeak-server ]; then
msg_info "Updating ${APP} LXC"
$STD apk -U upgrade
$STD service teamspeak stop
curl -fsSL "https://files.teamspeak-services.com/releases/server/${RELEASE}/teamspeak3-server_linux_amd64-${RELEASE}.tar.bz2" -o ts3server.tar.bz2
tar -xf ./ts3server.tar.bz2
cp -ru teamspeak3-server_linux_amd64/* /opt/teamspeak-server/
rm -f ~/ts3server.tar.bz*
rm -rf teamspeak3-server_linux_amd64
echo "${RELEASE}" >~/.teamspeak-server
$STD service teamspeak 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}${IP}:9987${CL}"

View File

@@ -13,6 +13,7 @@ var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}" var_os="${var_os:-alpine}"
var_version="${var_version:-3.22}" var_version="${var_version:-3.22}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
var_tun="${var_tun:-1}"
header_info "$APP" header_info "$APP"
variables variables

View File

@@ -27,19 +27,28 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Stopping ${APP}"
NODE_VERSION="22" setup_nodejs
PYTHON_VERSION="3.13" setup_uv
msg_info "Stopping ArchiveBox"
systemctl stop archivebox systemctl stop archivebox
msg_ok "Stopped ${APP}" msg_ok "Stopped ArchiveBox"
msg_info "Updating ${APP}" msg_info "Upgrading Playwright"
$STD uv pip install playwright --system
$STD playwright install-deps chromium
msg_ok "Upgraded Playwright"
msg_info "Updating ArchiveBox"
cd /opt/archivebox/data cd /opt/archivebox/data
pip install --upgrade --ignore-installed archivebox uv --system pip install --upgrade --ignore-installed archivebox
sudo -u archivebox archivebox init sudo -u archivebox archivebox init
msg_ok "Updated ${APP}" msg_ok "Updated ArchiveBox"
msg_info "Starting ${APP}" msg_info "Starting ArchiveBox"
systemctl start archivebox systemctl start archivebox
msg_ok "Started ${APP}" msg_ok "Started ArchiveBox"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
exit exit

View File

@@ -23,20 +23,23 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /opt/argus ]]; then if [[ ! -d /opt/argus ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/release-argus/Argus/releases/latest | jq -r .tag_name | sed 's/^v//') 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 if [[ "${RELEASE}" != "$(cat ~/.Argus 2>/dev/null)" ]] || [[ ! -f ~/.Argus ]]; then
msg_info "Updating $APP to ${RELEASE}" msg_info "Stopping service"
rm -f /opt/argus/Argus systemctl stop argus
curl -fsSL "https://github.com/release-argus/Argus/releases/download/${RELEASE}/Argus-${RELEASE}.linux-amd64" -o /opt/argus/Argus msg_ok "Service stopped"
chmod +x /opt/argus/Argus
systemctl restart argus fetch_and_deploy_gh_release "Argus" "release-argus/Argus" "singlefile" "latest" "/opt/argus" "Argus*linux-amd64"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_info "Starting service"
systemctl start argus
msg_ok "Service started"
msg_ok "Updated ${APP} to ${RELEASE}" msg_ok "Updated ${APP} to ${RELEASE}"
else else
msg_ok "${APP} is already up to date (${RELEASE})" msg_ok "${APP} is already up to date (${RELEASE})"

View File

@@ -27,21 +27,23 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.autobrr 2>/dev/null)" ]] || [[ ! -f ~/.autobrr ]]; then
msg_info "Stopping ${APP} LXC" msg_info "Stopping ${APP} LXC"
systemctl stop autobrr.service systemctl stop autobrr
msg_ok "Stopped ${APP} LXC" msg_ok "Stopped ${APP} LXC"
msg_info "Updating ${APP} LXC" fetch_and_deploy_gh_release "autobrr" "autobrr/autobrr" "prebuild" "latest" "/usr/local/bin" "autobrr_*_linux_x86_64.tar.gz"
rm -rf /usr/local/bin/*
curl -fsSL "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)")
tar -C /usr/local/bin -xzf autobrr*.tar.gz
rm -rf autobrr*.tar.gz
msg_ok "Updated ${APP} LXC"
msg_info "Starting ${APP} LXC" msg_info "Starting ${APP} LXC"
systemctl start autobrr.service systemctl start autobrr
msg_ok "Started ${APP} LXC" msg_ok "Started ${APP} LXC"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }

View File

@@ -27,13 +27,29 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Updating $APP LXC"
$STD apt-get update if ! command -v jq &>/dev/null; then
$STD apt-get -y upgrade $STD apt-get install -y jq
msg_ok "Updated $APP LXC" fi
RELEASE=$(curl -fsSL https://api.github.com/repos/morpheus65535/bazarr/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat ~/.bazarr 2>/dev/null)" ]] || [[ ! -f ~/.bazarr ]]; then
PYTHON_VERSION="3.13" setup_uv
fetch_and_deploy_gh_release "bazarr" "morpheus65535/bazarr" "prebuild" "latest" "/opt/bazarr" "bazarr.zip"
msg_info "Setup Bazarr"
mkdir -p /var/lib/bazarr/
chmod 775 /opt/bazarr /var/lib/bazarr/
$STD uv pip install -r /opt/bazarr/requirements.txt --system
msg_ok "Setup Bazarr"
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit exit
} }
start start
build_container build_container
description description

View File

@@ -3,7 +3,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
# Copyright (c) 2021-2025 community-scripts ORG # Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ) # Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/adityachandelgit/BookLore # Source: https://github.com/booklore-app/BookLore
APP="BookLore" APP="BookLore"
var_tags="${var_tags:-books;library}" var_tags="${var_tags:-books;library}"
@@ -29,13 +29,13 @@ function update_script() {
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/adityachandelgit/BookLore/releases/latest | yq '.tag_name' | sed 's/^v//') RELEASE=$(curl -fsSL https://api.github.com/repos/booklore-app/BookLore/releases/latest | yq '.tag_name' | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat ~/.booklore 2>/dev/null)" ]] || [[ ! -f ~/.booklore ]]; then if [[ "${RELEASE}" != "$(cat ~/.booklore 2>/dev/null)" ]] || [[ ! -f ~/.booklore ]]; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop booklore systemctl stop booklore
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
fetch_and_deploy_gh_release "booklore" "adityachandelgit/BookLore" fetch_and_deploy_gh_release "booklore" "booklore-app/BookLore"
msg_info "Building Frontend" msg_info "Building Frontend"
cd /opt/booklore/booklore-ui cd /opt/booklore/booklore-ui
@@ -45,7 +45,7 @@ function update_script() {
msg_info "Building Backend" msg_info "Building Backend"
cd /opt/booklore/booklore-api cd /opt/booklore/booklore-api
APP_VERSION=$(curl -fsSL https://api.github.com/repos/adityachandelgit/BookLore/releases/latest | yq '.tag_name' | sed 's/^v//') APP_VERSION=$(curl -fsSL https://api.github.com/repos/booklore-app/BookLore/releases/latest | yq '.tag_name' | sed 's/^v//')
yq eval ".app.version = \"${APP_VERSION}\"" -i src/main/resources/application.yaml yq eval ".app.version = \"${APP_VERSION}\"" -i src/main/resources/application.yaml
$STD ./gradlew clean build --no-daemon $STD ./gradlew clean build --no-daemon
mkdir -p /opt/booklore/dist mkdir -p /opt/booklore/dist

56
ct/cleanuparr.sh Executable file
View File

@@ -0,0 +1,56 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Lucas Zampieri (zampierilucas) | MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/Cleanuparr/Cleanuparr
APP="Cleanuparr"
var_tags="${var_tags:-arr}"
var_cpu="${var_cpu:-2}"
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 [[ ! -f /opt/cleanuparr/Cleanuparr ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/Cleanuparr/Cleanuparr/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat ~/.Cleanuparr 2>/dev/null)" ]] || [[ ! -f ~/.Cleanuparr ]]; then
msg_info "Stopping ${APP}"
systemctl stop cleanuparr
msg_ok "Stopped ${APP}"
fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "latest" "/opt/cleanuparr" "*linux-amd64.zip"
msg_info "Starting ${APP}"
systemctl start cleanuparr
msg_ok "Started ${APP}"
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}:11011${CL}"

View File

@@ -40,16 +40,20 @@ function update_script() {
$STD apt-get install -y rsync $STD apt-get install -y rsync
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
fi fi
if [ -d /opt/commafeed/data ] && [ "$(ls -A /opt/commafeed/data)" ]; then if [ -d /opt/commafeed/data ] && [ "$(ls -A /opt/commafeed/data)" ]; then
msg_info "Backing up existing data"
mv /opt/commafeed/data /opt/data.bak mv /opt/commafeed/data /opt/data.bak
msg_ok "Backed up existing data"
fi fi
fetch_and_deploy_gh_release "commafeed" "Athou/commafeed" "prebuild" "latest" "/opt/commafeed" "commafeed-*-h2-jvm.zip" fetch_and_deploy_gh_release "commafeed" "Athou/commafeed" "prebuild" "latest" "/opt/commafeed" "commafeed-*-h2-jvm.zip"
msg_info "Updating ${APP} to ${RELEASE}" if [ -d /opt/data.bak ] && [ "$(ls -A /opt/data.bak)" ]; then
if [ -d /opt/commafeed/data.bak ] && [ "$(ls -A /opt/commafeed/data.bak)" ]; then msg_info "Restoring data"
mv /opt/commafeed/data.bak /opt/commafeed/data mv /opt/data.bak /opt/commafeed/data
msg_ok "Restored data"
fi fi
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start commafeed systemctl start commafeed

View File

@@ -56,30 +56,18 @@ function update_script() {
LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4) LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
IP=$(hostname -I | awk '{print $1}') IP=$(hostname -I | awk '{print $1}')
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \
$STD apt-get install -y git git \
$STD apt-get install -y make build-essential \
$STD apt-get install -y g++ ca-certificates \
$STD apt-get install -y gcc gnupg2
$STD apt-get install -y ca-certificates
$STD apt-get install -y gnupg
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" setup_nodejs
mkdir -p /etc/apt/keyrings fetch_and_deploy_gh_release "cronicle" "jhuckaby/Cronicle"
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js" msg_info "Configuring Cronicle Worker"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing Cronicle Worker"
mkdir -p /opt/cronicle
cd /opt/cronicle cd /opt/cronicle
$STD tar zxvf <(curl -fsSL https://github.com/jhuckaby/Cronicle/archive/${LATEST}.tar.gz) --strip-components 1
$STD npm install $STD npm install
$STD node bin/build.js dist $STD node bin/build.js dist
sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
@@ -88,6 +76,7 @@ function update_script() {
chmod 775 /etc/init.d/cronicled chmod 775 /etc/init.d/cronicled
$STD update-rc.d cronicled defaults $STD update-rc.d cronicled defaults
msg_ok "Installed Cronicle Worker" msg_ok "Installed Cronicle Worker"
echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n" echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n"
exit exit
fi fi

View File

@@ -27,25 +27,19 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/duplicati/duplicati/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') RELEASE=$(curl -fsSL https://api.github.com/repos/duplicati/duplicati/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 if [[ "${RELEASE}" != "$(cat ~/.duplicati)" ]] || [[ ! -f ~/.duplicati ]]; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop duplicati systemctl stop duplicati
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
msg_info "Updating $APP to v${RELEASE}"
curl -fsSL "https://github.com/duplicati/duplicati/releases/download/v${RELEASE}/duplicati-${RELEASE}-linux-x64-gui.deb" -o $(basename "https://github.com/duplicati/duplicati/releases/download/v${RELEASE}/duplicati-${RELEASE}-linux-x64-gui.deb") fetch_and_deploy_gh_release "duplicati" "duplicati/duplicati" "binary" "latest" "/opt/duplicati" "linux-x64-gui.deb"
$STD dpkg -i duplicati-${RELEASE}-linux-x64-gui.deb
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start duplicati systemctl start duplicati
msg_ok "Started $APP" msg_ok "Started $APP"
msg_info "Cleaning Up"
rm -rf ~/duplicati-${RELEASE}-linux-x64-gui.deb
msg_ok "Cleanup Completed"
msg_ok "Update Successful" msg_ok "Update Successful"
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}" msg_ok "No update required. ${APP} is already at v${RELEASE}"

View File

@@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
APP="Element Synapse" APP="Element Synapse"
var_tags="${var_tags:-server}" var_tags="${var_tags:-server}"
var_cpu="${var_cpu:-1}" var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-4}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"

View File

@@ -46,9 +46,13 @@ function update_script() {
rm -rf /opt/firefly/storage rm -rf /opt/firefly/storage
cp /opt/.env /opt/firefly/.env cp /opt/.env /opt/firefly/.env
cp -r /opt/storage /opt/firefly/storage cp -r /opt/storage /opt/firefly/storage
cd /opt/firefly
chown -R www-data:www-data /opt/firefly chown -R www-data:www-data /opt/firefly
chmod -R 775 /opt/firefly/storage find /opt/firefly/storage -type d -exec chmod 775 {} \;
find /opt/firefly/storage -type f -exec chmod 664 {} \;
mkdir -p /opt/firefly/storage/framework/{cache/data,sessions,views}
$STD sudo -u www-data php /opt/firefly/artisan cache:clear
$STD php artisan migrate --seed --force $STD php artisan migrate --seed --force
$STD php artisan cache:clear $STD php artisan cache:clear
$STD php artisan view:clear $STD php artisan view:clear

View File

@@ -43,6 +43,9 @@ function update_script() {
msg_error "Project directory does not exist: $PROJECT_DIR" msg_error "Project directory does not exist: $PROJECT_DIR"
exit 1 exit 1
fi fi
if ! command -v git &>/dev/null; then
$STD apt-get install -y git
fi
msg_info "Stopping service $SERVICE_NAME" msg_info "Stopping service $SERVICE_NAME"
systemctl stop "$SERVICE_NAME" systemctl stop "$SERVICE_NAME"

View File

@@ -28,6 +28,26 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
APP_VERSION=$(grep -o '"version": *"[^"]*"' /opt/gitea-mirror/package.json | cut -d'"' -f4)
if [[ $APP_VERSION =~ ^2\. ]]; then
if ! whiptail --backtitle "Gitea Mirror Update" --title "⚠️ VERSION 2.x DETECTED" --yesno \
"WARNING: Version $APP_VERSION detected!\n\nUpdating from version 2.x will CLEAR ALL CONFIGURATION.\n\nThis includes:\n• API tokens\n• User settings\n• Repository configurations\n• All custom settings\n\nDo you want to continue with the update process?" 15 70 --defaultno
then
exit 0
fi
if ! whiptail --backtitle "Gitea Mirror Update" --title "⚠️ FINAL CONFIRMATION" --yesno \
"FINAL WARNING: This update WILL clear all configuration!\n\nBEFORE PROCEEDING, please:\n\n• Copy API tokens to a safe location\n• Backup any custom configurations\n• Note down repository settings\n\nThis action CANNOT be undone!" 18 70 --defaultno
then
whiptail --backtitle "Gitea Mirror Update" --title "Update Cancelled" --msgbox "Update process cancelled. Please backup your configuration before proceeding." 8 60
exit 0
fi
whiptail --backtitle "Gitea Mirror Update" --title "Proceeding with Update" --msgbox \
"Proceeding with version $APP_VERSION update.\n\nAll configuration will be cleared as warned." 8 50
rm -rf /opt/gitea-mirror
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/RayLabsHQ/gitea-mirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/RayLabsHQ/gitea-mirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.${APP} 2>/dev/null || cat /opt/${APP}_version.txt 2>/dev/null)" ]]; then if [[ "${RELEASE}" != "$(cat ~/.${APP} 2>/dev/null || cat /opt/${APP}_version.txt 2>/dev/null)" ]]; then

View File

@@ -27,14 +27,23 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Updating $APP"
RELEASE=$(curl -fsSL https://api.github.com/repos/AlexxIT/go2rtc/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.go2rtc 2>/dev/null)" ]] || [[ ! -f ~/.go2rtc ]]; then
msg_info "Stopping service"
systemctl stop go2rtc systemctl stop go2rtc
cd /opt/go2rtc msg_ok "Stopped service"
rm go2rtc_linux_amd64
curl -fsSL "https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64" -o $(basename "https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64") fetch_and_deploy_gh_release "go2rtc" "AlexxIT/go2rtc" "singlefile" "latest" "/opt/go2rtc" "go2rtc_linux_amd64"
chmod +x go2rtc_linux_amd64
msg_info "Starting service"
systemctl start go2rtc systemctl start go2rtc
msg_ok "Updated $APP" msg_ok "Started service"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }

View File

@@ -27,7 +27,26 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_error "Currently we don't provide an update function for this ${APP}." if [[ -f /opt/${APP}_version.txt ]]; then
mv /opt/${APP}_version ~/.gokapi
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/Forceu/Gokapi/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.gokapi 2>/dev/null)" ]] || [[ ! -f ~/.gokapi ]]; then
msg_info "Stopping ${APP}"
systemctl stop gokapi
msg_ok "Stopped ${APP}"
fetch_and_deploy_gh_release "gokapi" "Forceu/Gokapi" "prebuild" "latest" "/opt/gokapi" "gokapi-linux_amd64.zip"
msg_info "Starting ${APP}"
systemctl start gokapi
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }

View File

@@ -29,23 +29,18 @@ function update_script() {
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [[ "${RELEASE}" != "$(cat ~/.gotify 2>/dev/null)" ]] || [[ ! -f ~/.gotify ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop gotify systemctl stop gotify
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
msg_info "Updating ${APP} to ${RELEASE}" fetch_and_deploy_gh_release "gotify" "gotify/server" "prebuild" "latest" "/opt/gotify" "gotify-linux-amd64.zip"
cd /opt/gotify chmod +x /opt/gotify/gotify-linux-amd64
curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o $(basename "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip")
$STD unzip -o gotify-linux-amd64.zip
rm -rf gotify-linux-amd64.zip
chmod +x gotify-linux-amd64
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start gotify systemctl start gotify
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at ${RELEASE}" msg_ok "No update required. ${APP} is already at ${RELEASE}"

View File

@@ -27,6 +27,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
$STD apt-get update $STD apt-get update
$STD apt-get -y upgrade $STD apt-get -y upgrade

View File

@@ -27,20 +27,20 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
php_version=$(php -v | head -n 1 | awk '{print $2}')
if [[ ! $php_version == "8.3"* ]]; then php_ver=$(php -v | head -n 1 | awk '{print $2}')
msg_info "Updating PHP" if [[ ! $php_ver == "8.3"* ]]; then
curl -fsSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list
apt-get update
apt-get install -y php8.3 php8.3-cli php8.3-{bz2,curl,mbstring,intl,sqlite3,fpm,gd,zip,xml}
systemctl reload apache2
apt autoremove
msg_ok "Updated PHP"
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/grocy/grocy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.grocy 2>/dev/null)" ]] || [[ ! -f ~/.grocy ]]; then
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
bash /var/www/html/update.sh bash /var/www/html/update.sh
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }

View File

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

6
ct/headers/cleanuparr Normal file
View File

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

View File

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

6
ct/headers/hortusfox Normal file
View File

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

6
ct/headers/jeedom Normal file
View File

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

6
ct/headers/linkstack Normal file
View File

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

6
ct/headers/ots Normal file
View File

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

6
ct/headers/palmr Normal file
View File

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

6
ct/headers/salt Normal file
View File

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

View File

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

6
ct/headers/tududi Normal file
View File

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

View File

@@ -27,18 +27,18 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if [[ -f /opt/${APP}_version.txt ]]; then
mv /opt/"${APP}_version.txt" ~/.headscale
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/juanfont/headscale/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 if [[ "${RELEASE}" != "$(cat ~/.headscale 2>/dev/null)" ]] || [[ ! -f ~/.headscale ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop headscale systemctl stop headscale
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
msg_info "Updating $APP to v${RELEASE}" fetch_and_deploy_gh_release "headscale" "juanfont/headscale" "binary"
curl -fsSL "https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb" -o $(basename "https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb") fetch_and_deploy_gh_release "headscale-admin" "GoodiesHQ/headscale-admin" "prebuild" "latest" "/opt/headscale-admin" "admin.zip"
dpkg -i headscale_${RELEASE}_linux_amd64.deb
rm headscale_${RELEASE}_linux_amd64.deb
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP to ${RELEASE}"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
# Temporary fix until headscale project resolves service getting disabled on updates. # Temporary fix until headscale project resolves service getting disabled on updates.

View File

@@ -1,165 +0,0 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: 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
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
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 "${TAB3}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

@@ -22,26 +22,24 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -f /opt/homebox ]]; then if [[ ! -f /etc/systemd/system/homebox.service ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ -x /opt/homebox ]]; then
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then sed -i 's|/opt\b|/opt/homebox|g' /etc/systemd/system/homebox.service
sed -i 's|^ExecStart=/opt/homebox$|ExecStart=/opt/homebox/homebox|' /etc/systemd/system/homebox.service
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.homebox 2>/dev/null)" ]] || [[ ! -f ~/.homebox ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop homebox systemctl stop homebox
msg_ok "${APP} Stopped" msg_ok "${APP} Stopped"
msg_info "Updating ${APP} to ${RELEASE}" fetch_and_deploy_gh_release "homebox" "sysadminsmedia/homebox" "prebuild" "latest" "/opt/homebox" "homebox_Linux_x86_64.tar.gz"
cd /opt chmod +x /opt/homebox/homebox
rm -rf homebox_bak [ -f /opt/.env ] && mv /opt/.env /opt/homebox/.env
rm -rf /tmp/homebox.tar.gz
mv homebox homebox_bak
curl -fsSL "https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz" -o "/tmp/homebox.tar.gz"
tar -xzf /tmp/homebox.tar.gz -C /opt
chmod +x /opt/homebox
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated Homebox"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start homebox systemctl start homebox

View File

@@ -27,14 +27,9 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
if ! command -v npm >/dev/null 2>&1; then NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
echo "Installing NPM..."
$STD apt-get install -y npm
$STD npm install -g pnpm
echo "Installed NPM..."
fi
fi
# ensure that jq is installed # ensure that jq is installed
if ! command -v jq &>/dev/null; then if ! command -v jq &>/dev/null; then
$STD msg_info "Installing jq..." $STD msg_info "Installing jq..."

73
ct/hortusfox.sh Normal file
View File

@@ -0,0 +1,73 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/danielbrendel/hortusfox-web
APP="HortusFox"
var_tags="${var_tags:-plants}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
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/hortusfox ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/danielbrendel/hortusfox-web/releases/latest | jq -r .tag_name | sed 's/^v//')
if [[ ! -f ~/.hortusfox ]] || [[ "${RELEASE}" != "$(cat ~/.hortusfox)" ]]; then
msg_info "Stopping Service"
systemctl stop apache2
msg_ok "Stopped Service"
msg_info "Backing up current HortusFox installation"
cd /opt
mv /opt/hortusfox/ /opt/hortusfox-backup
msg_ok "Backed up current HortusFox installation"
fetch_and_deploy_gh_release "hortusfox" "danielbrendel/hortusfox-web"
msg_info "Updating HortusFox"
cd /opt/hortusfox
mv /opt/hortusfox-backup/.env /opt/hortusfox/.env
$STD composer install --no-dev --optimize-autoloader
$STD php asatru migrate --no-interaction
$STD php asatru plants:attributes
$STD php asatru calendar:classes
msg_ok "Updated HortusFox"
msg_info "Starting Service"
systemctl start apache2
msg_ok "Started Service"
msg_info "Cleaning up"
rm -r /opt/hortusfox-backup
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

@@ -58,7 +58,8 @@ function update_script() {
done done
msg_ok "Image-processing libraries updated" msg_ok "Image-processing libraries updated"
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE="1.137.3"
#RELEASE=$(curl -fsSL https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ -f ~/.immich && "$RELEASE" == "$(cat ~/.immich)" ]]; then if [[ -f ~/.immich && "$RELEASE" == "$(cat ~/.immich)" ]]; then
msg_ok "No update required. ${APP} is already at v${RELEASE}" msg_ok "No update required. ${APP} is already at v${RELEASE}"
exit exit
@@ -98,11 +99,25 @@ function update_script() {
fi fi
cp "$ML_DIR"/ml_start.sh "$INSTALL_DIR" cp "$ML_DIR"/ml_start.sh "$INSTALL_DIR"
if grep -qs "set -a" "$APP_DIR"/bin/start.sh; then
cp "$APP_DIR"/bin/start.sh "$INSTALL_DIR"
else
cat <<EOF >"$INSTALL_DIR"/start.sh
#!/usr/bin/env bash
set -a
. "$INSTALL_DIR"/.env
set +a
/usr/bin/node "$APP_DIR"/dist/main.js "\$@"
EOF
chmod +x "$INSTALL_DIR"/start.sh
fi
rm -rf "${APP_DIR:?}"/* rm -rf "${APP_DIR:?}"/*
mkdir -p "$ML_DIR" mkdir -p "$ML_DIR"
rm -rf "$SRC_DIR" rm -rf "$SRC_DIR"
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "latest" "$SRC_DIR" fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v${RELEASE}" "$SRC_DIR"
msg_info "Updating ${APP} web and microservices" msg_info "Updating ${APP} web and microservices"
cd "$SRC_DIR"/server cd "$SRC_DIR"/server
@@ -113,6 +128,10 @@ function update_script() {
$STD npm ci $STD npm ci
$STD npm run build $STD npm run build
$STD npm prune --omit=dev --omit=optional $STD npm prune --omit=dev --omit=optional
cp -a {bin,dist,node_modules,resources,package*.json} "$APP_DIR"/
cp package.json "$APP_DIR"/bin
mv "$INSTALL_DIR"/start.sh "$APP_DIR"/bin
sed -i 's|^start|./start|' "$APP_DIR"/bin/immich-admin
cd "$SRC_DIR"/open-api/typescript-sdk cd "$SRC_DIR"/open-api/typescript-sdk
$STD npm ci $STD npm ci
$STD npm run build $STD npm run build
@@ -120,7 +139,6 @@ function update_script() {
$STD npm ci $STD npm ci
$STD npm run build $STD npm run build
cd "$SRC_DIR" cd "$SRC_DIR"
cp -a server/{node_modules,dist,bin,resources,package.json,package-lock.json,start*.sh} "$APP_DIR"/
cp -a web/build "$APP_DIR"/www cp -a web/build "$APP_DIR"/www
cp LICENSE "$APP_DIR" cp LICENSE "$APP_DIR"
cd "$APP_DIR" cd "$APP_DIR"
@@ -150,8 +168,8 @@ function update_script() {
fi fi
ln -sf "$APP_DIR"/resources "$INSTALL_DIR" ln -sf "$APP_DIR"/resources "$INSTALL_DIR"
cd "$APP_DIR" cd "$APP_DIR"
grep -Rl /usr/src | xargs -n1 sed -i "s|\/usr/src|$INSTALL_DIR|g" grep -rl /usr/src | xargs -n1 sed -i "s|\/usr/src|$INSTALL_DIR|g"
grep -RlE "'/build'" | xargs -n1 sed -i "s|'/build'|'$APP_DIR'|g" grep -rlE "'/build'" | xargs -n1 sed -i "s|'/build'|'$APP_DIR'|g"
sed -i "s@\"/cache\"@\"$INSTALL_DIR/cache\"@g" "$ML_DIR"/immich_ml/config.py sed -i "s@\"/cache\"@\"$INSTALL_DIR/cache\"@g" "$ML_DIR"/immich_ml/config.py
ln -s "${UPLOAD_DIR:-/opt/immich/upload}" "$APP_DIR"/upload ln -s "${UPLOAD_DIR:-/opt/immich/upload}" "$APP_DIR"/upload
ln -s "${UPLOAD_DIR:-/opt/immich/upload}" "$ML_DIR"/upload ln -s "${UPLOAD_DIR:-/opt/immich/upload}" "$ML_DIR"/upload
@@ -213,6 +231,7 @@ function compile_libjxl() {
$STD make clean $STD make clean
cd "$STAGING_DIR" cd "$STAGING_DIR"
rm -rf "$SOURCE"/{build,third_party} rm -rf "$SOURCE"/{build,third_party}
sed -i "s/libjxl: .*$/libjxl: $LIBJXL_REVISION/" ~/.immich_library_revisions
msg_ok "Recompiled libjxl" msg_ok "Recompiled libjxl"
fi fi
} }
@@ -247,6 +266,7 @@ function compile_libheif() {
$STD make clean $STD make clean
cd "$STAGING_DIR" cd "$STAGING_DIR"
rm -rf "$SOURCE"/build rm -rf "$SOURCE"/build
sed -i "s/libheif: .*$/libheif: $LIBHEIF_REVISION/" ~/.immich_library_revisions
msg_ok "Recompiled libheif" msg_ok "Recompiled libheif"
fi fi
} }
@@ -268,6 +288,7 @@ function compile_libraw() {
ldconfig /usr/local/lib ldconfig /usr/local/lib
$STD make clean $STD make clean
cd "$STAGING_DIR" cd "$STAGING_DIR"
sed -i "s/libraw: .*$/libraw: $LIBRAW_REVISION/" ~/.immich_library_revisions
msg_ok "Recompiled libraw" msg_ok "Recompiled libraw"
fi fi
} }
@@ -287,14 +308,14 @@ function compile_imagemagick() {
ldconfig /usr/local/lib ldconfig /usr/local/lib
$STD make clean $STD make clean
cd "$STAGING_DIR" cd "$STAGING_DIR"
sed -i "s/imagemagick: .*$/imagemagick: $IMAGEMAGICK_REVISION/" ~/.immich_library_revisions
msg_ok "Recompiled ImageMagick" msg_ok "Recompiled ImageMagick"
fi fi
} }
function compile_libvips() { function compile_libvips() {
SOURCE=$SOURCE_DIR/libvips SOURCE=$SOURCE_DIR/libvips
# : "${LIBVIPS_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libvips.json)}" : "${LIBVIPS_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libvips.json)}"
: "${LIBVIPS_REVISION:=8fa37a64547e392d3808eed8d72adab7e02b3d00}"
if [[ "${update:-}" ]] || [[ "$LIBVIPS_REVISION" != "$(grep 'libvips' ~/.immich_library_revisions | awk '{print $2}')" ]]; then if [[ "${update:-}" ]] || [[ "$LIBVIPS_REVISION" != "$(grep 'libvips' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
msg_info "Recompiling libvips" msg_info "Recompiling libvips"
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
@@ -307,6 +328,7 @@ function compile_libvips() {
ldconfig /usr/local/lib ldconfig /usr/local/lib
cd "$STAGING_DIR" cd "$STAGING_DIR"
rm -rf "$SOURCE"/build rm -rf "$SOURCE"/build
sed -i "s/libvips: .*$/libvips: $LIBVIPS_REVISION/" ~/.immich_library_revisions
msg_ok "Recompiled libvips" msg_ok "Recompiled libvips"
fi fi
} }

View File

@@ -27,26 +27,19 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/inspircd/inspircd/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/inspircd/inspircd/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [[ "${RELEASE}" != "$(cat ~/.inspircd 2>/dev/null)" ]] || [[ ! -f ~/.inspircd ]]; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop inspircd systemctl stop inspircd
msg_ok "Stopped Service" msg_ok "Stopped Service"
msg_info "Updating ${APP} to v${RELEASE}" fetch_and_deploy_gh_release "inspircd" "inspircd/inspircd" "binary"
cd /opt
curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb" -o $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb")
$STD apt-get install "./inspircd_${RELEASE}.deb12u2_amd64.deb" -y
echo "${RELEASE}" >"/opt/${APP}_version.txt"
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start inspircd systemctl start inspircd
msg_ok "Started Service" msg_ok "Started Service"
msg_info "Cleaning up"
rm -rf /opt/inspircd_${RELEASE}.deb12u2_amd64.deb
msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}." msg_ok "No update required. ${APP} is already at v${RELEASE}."

View File

@@ -27,17 +27,18 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://github.com/Jackett/Jackett/releases/latest | grep "title>Release" | cut -d " " -f 4)
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [ ! -f /opt/.env ]; then
msg_info "Updating ${APP}" sed -i 's|^Environment="DisableRootWarning=true"$|EnvironmentFile="/opt/.env"|' /etc/systemd/system/jackett.service
curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -o $(basename "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz") cat <<EOF >/opt/.env
systemctl stop jackett DisableRootWarning=true
EOF
fi
RELEASE=$(curl -s https://api.github.com/repos/Jackett/Jackett/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.jackett 2>/dev/null)" ]] || [[ ! -f ~/.jackett ]]; then
rm -rf /opt/Jackett rm -rf /opt/Jackett
tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt fetch_and_deploy_gh_release "jackett" "Jackett/Jackett" "prebuild" "latest" "/opt/Jackett" "Jackett.Binaries.LinuxAMDx64.tar.gz"
rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz
systemctl start jackett
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
else else
msg_ok "No update required. ${APP} is already at ${RELEASE}" msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi

46
ct/jeedom.sh Normal file
View File

@@ -0,0 +1,46 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Mips2648
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://jeedom.com/
APP="Jeedom"
var_tags="${var_tags:-automation;smarthome}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-16}"
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 /var/www/html/core/config/version ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating OS"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "OS updated, you can now update Jeedom from the Web UI."
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

@@ -52,6 +52,10 @@ function update_script() {
rm -rf /opt/karakeep rm -rf /opt/karakeep
msg_ok "Update prepared" msg_ok "Update prepared"
if grep -q "start:prod" /etc/systemd/system/karakeep-workers.service; then
sed -i 's|^ExecStart=.*$|ExecStart=/usr/bin/node dist/index.mjs|' /etc/systemd/system/karakeep-workers.service
systemctl daemon-reload
fi
fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep" fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep"
if command -v corepack >/dev/null; then if command -v corepack >/dev/null; then
$STD corepack disable $STD corepack disable
@@ -60,6 +64,7 @@ function update_script() {
NODE_VERSION="22" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs NODE_VERSION="22" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Updating ${APP} to v${RELEASE}"
corepack enable
export PUPPETEER_SKIP_DOWNLOAD="true" export PUPPETEER_SKIP_DOWNLOAD="true"
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="true" export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="true"
export NEXT_TELEMETRY_DISABLED=1 export NEXT_TELEMETRY_DISABLED=1
@@ -69,10 +74,12 @@ function update_script() {
$STD pnpm build $STD pnpm build
cd /opt/karakeep/apps/workers cd /opt/karakeep/apps/workers
$STD pnpm install --frozen-lockfile $STD pnpm install --frozen-lockfile
$STD pnpm build
cd /opt/karakeep/apps/cli cd /opt/karakeep/apps/cli
$STD pnpm install --frozen-lockfile $STD pnpm install --frozen-lockfile
$STD pnpm build $STD pnpm build
export DATA_DIR=/opt/karakeep_data DATA_DIR="$(sed -n '/^DATA_DIR/p' /etc/karakeep/karakeep.env | awk -F= '{print $2}' | tr -d '="=')"
export DATA_DIR="${DATA_DIR:-/opt/karakeep_data}"
cd /opt/karakeep/packages/db cd /opt/karakeep/packages/db
$STD pnpm migrate $STD pnpm migrate
$STD pnpm store prune $STD pnpm store prune

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster) | Co-Author: remz1337
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.keycloak.org/ # Source: https://www.keycloak.org/
@@ -23,34 +23,39 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -f /etc/systemd/system/keycloak.service ]]; then if [[ ! -d /opt/keycloak ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Updating ${APP} LXC"
msg_info "Stopping Keycloak"
systemctl stop keycloak
msg_ok "Stopped Keycloak"
msg_info "Updating packages" msg_info "Updating packages"
$STD apt-get update $STD apt-get update
$STD apt-get -y upgrade $STD apt-get -y upgrade
msg_ok "Updated packages"
RELEASE=$(curl -fsSL https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') msg_info "Backup old Keycloak"
msg_info "Updating Keycloak to v$RELEASE"
cd /opt cd /opt
curl -fsSL "https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz" -o $(basename "https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz")
mv keycloak keycloak.old mv keycloak keycloak.old
tar -xzf keycloak-$RELEASE.tar.gz tar -czf keycloak_conf_backup.tar.gz keycloak.old/conf
cp -r keycloak.old/conf keycloak-$RELEASE msg_ok "Backup done"
cp -r keycloak.old/providers keycloak-$RELEASE
cp -r keycloak.old/themes keycloak-$RELEASE
mv keycloak-$RELEASE keycloak
msg_info "Delete temporary installation files" fetch_and_deploy_gh_release "keycloak" "keycloak/keycloak" "prebuild" "latest" "/opt/keycloak" "keycloak-*.tar.gz"
rm keycloak-$RELEASE.tar.gz
msg_info "Updating ${APP}"
cd /opt
mv keycloak_conf_backup.tar.gz keycloak/conf
cp -r keycloak.old/providers keycloak
cp -r keycloak.old/themes keycloak
rm -rf keycloak.old rm -rf keycloak.old
msg_ok "Updated ${APP} LXC"
msg_info "Restating Keycloak" msg_info "Restarting Keycloak"
systemctl restart keycloak systemctl restart keycloak
msg_ok "Updated Successfully" msg_ok "Restarted Keycloak"
exit exit
} }

View File

@@ -28,17 +28,18 @@ function update_script() {
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/koillection/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 if [[ ! -f ~/.koillection ]] || [[ "${RELEASE}" != "$(cat ~/.koillection)" ]]; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop apache2 systemctl stop apache2
msg_ok "Stopped Service" msg_ok "Stopped Service"
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Creating a backup"
cd /opt
mv /opt/koillection/ /opt/koillection-backup mv /opt/koillection/ /opt/koillection-backup
curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip") msg_ok "Backup created"
$STD unzip "${RELEASE}.zip"
mv "/opt/koillection-${RELEASE}" /opt/koillection fetch_and_deploy_gh_release "koillection" "benjaminjonard/koillection"
msg_info "Updating ${APP} to v${RELEASE}"
cd /opt/koillection cd /opt/koillection
cp -r /opt/koillection-backup/.env.local /opt/koillection cp -r /opt/koillection-backup/.env.local /opt/koillection
cp -r /opt/koillection-backup/public/uploads/. /opt/koillection/public/uploads/ cp -r /opt/koillection-backup/public/uploads/. /opt/koillection/public/uploads/
@@ -50,7 +51,6 @@ function update_script() {
$STD yarn install $STD yarn install
$STD yarn build $STD yarn build
chown -R www-data:www-data /opt/koillection/public/uploads chown -R www-data:www-data /opt/koillection/public/uploads
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP to v${RELEASE}" msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting Service" msg_info "Starting Service"
@@ -58,9 +58,9 @@ function update_script() {
msg_ok "Started Service" msg_ok "Started Service"
msg_info "Cleaning up" msg_info "Cleaning up"
rm -r "/opt/${RELEASE}.zip"
rm -r /opt/koillection-backup rm -r /opt/koillection-backup
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}" msg_ok "No update required. ${APP} is already at v${RELEASE}"

View File

@@ -24,45 +24,40 @@ function update_script() {
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -f "/opt/kometa/kometa.py" ]]; then if [[ ! -d "/opt/kometa" ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/Kometa-Team/Kometa/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if ! command -v jq &>/dev/null; then
if [[ "${RELEASE}" != "$(cat /opt/kometa_version.txt)" ]] || [[ ! -f /opt/kometa_version.txt ]]; then $STD apt-get install -y jq
msg_info "Updating $APP" fi
msg_info "Stopping $APP"
systemctl stop kometa
msg_ok "Stopped $APP"
msg_info "Updating $APP to ${RELEASE}" RELEASE=$(curl -fsSL https://api.github.com/repos/Kometa-Team/Kometa/releases/latest | jq -r '.tag_name | sub("^v";"")')
cd /tmp if [[ "${RELEASE}" != "$(cat ~/.kometa 2>/dev/null)" ]] || [[ ! -f ~/.kometa ]]; then
temp_file=$(mktemp) msg_info "Stopping Service"
RELEASE=$(curl -fsSL https://api.github.com/repos/Kometa-Team/Kometa/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') systemctl stop kometa
curl -fsSL "https://github.com/Kometa-Team/Kometa/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file"" msg_ok "Stopped Service"
tar -xzf "$temp_file"
msg_info "Backing up data"
cp /opt/kometa/config/config.yml /opt cp /opt/kometa/config/config.yml /opt
rm -rf /opt/kometa msg_ok "Backup completed"
mv Kometa-${RELEASE} /opt/kometa
cd /opt/kometa PYTHON_VERSION="3.12" setup_uv
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED $STD uv python update-shell
$STD pip install -r requirements.txt --ignore-installed fetch_and_deploy_gh_release "kometa" "Kometa-Team/Kometa"
msg_info "Updating Kometa"
$STD uv pip install -r requirements.txt --system
mkdir -p config/assets mkdir -p config/assets
cp /opt/config.yml config/config.yml cp /opt/config.yml config/config.yml
echo "${RELEASE}" >/opt/kometa_version.txt msg_ok "Updated Kometa"
msg_ok "Updated $APP to ${RELEASE}"
msg_info "Starting $APP" msg_info "Starting Service"
systemctl start kometa systemctl start kometa
msg_ok "Started $APP" msg_ok "Started Service"
msg_info "Cleaning Up"
rm -f $temp_file
msg_ok "Cleanup Completed"
msg_ok "Update Successful" msg_ok "Update Successful"
else else
msg_ok "No update required. ${APP} is already at ${RELEASE}" msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -27,23 +27,21 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Updating ${APP}"
RELEASE=$(curl -fsSL https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(curl -fsSL https://api.github.com/repos/gotson/komga/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 if [[ ! -f ~/.komga ]] || [[ "${RELEASE}" != "$(cat ~/.komga)" ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop komga systemctl stop komga
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
msg_info "Updating ${APP} to ${RELEASE}" rm -f /opt/komga/komga.jar
curl -fsSL "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" -o $(basename "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar") USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "komga-org" "gotson/komga" "singlefile" "latest" "/opt/komga" "komga*.jar"
rm -rf /opt/komga/komga.jar mv /opt/komga/komga-*.jar /opt/komga/komga.jar
mv -f komga-${RELEASE}.jar /opt/komga/komga.jar
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start komga systemctl start komga
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at ${RELEASE}." msg_ok "No update required. ${APP} is already at ${RELEASE}."

View File

@@ -23,21 +23,24 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -f /usr/local/kubo ]]; then if [[ ! -f /usr/local/kubo/ipfs ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://github.com/ipfs/kubo/releases/latest | grep "title>Release" | cut -d " " -f 4)
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then RELEASE=$(curl -fsSL https://api.github.com/repos/ipfs/kubo/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Updating $APP LXC" if [[ "${RELEASE}" != "$(cat ~/.kubo)" ]] || [[ ! -f ~/.kubo ]]; then
$STD apt-get update msg_info "Stopping service"
$STD apt-get -y upgrade systemctl stop ipfs
curl -fsSL "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz" -o $(basename "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz") msg_ok "Stopped service"
tar -xzf "kubo_${RELEASE}_linux-amd64.tar.gz" -C /usr/local
systemctl restart ipfs.service fetch_and_deploy_gh_release "kubo" "ipfs/kubo" "prebuild" "latest" "/usr/local/kubo" "kubo*linux-amd64.tar.gz"
echo "${RELEASE}" >/opt/${APP}_version.txt
rm "kubo_${RELEASE}_linux-amd64.tar.gz" msg_info "Starting service"
msg_ok "Updated $APP LXC" systemctl start ipfs
msg_ok "Service started"
msg_ok "Updated successfuly"
else else
msg_ok "No update required. ${APP} is already at ${RELEASE}" msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi

View File

@@ -27,16 +27,17 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/librespeed/speedtest-rust/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "v([^"]+).*/\1/')
RELEASE=$(curl -fsSL https://api.github.com/repos/librespeed/speedtest-rust/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat ~/.librespeed 2>/dev/null)" ]] || [[ ! -f ~/.librespeed ]]; then if [[ "${RELEASE}" != "$(cat ~/.librespeed 2>/dev/null)" ]] || [[ ! -f ~/.librespeed ]]; then
msg_info "Stopping Services" msg_info "Stopping Services"
systemctl stop librespeed-rs systemctl stop librespeed_rs
msg_ok "Services Stopped" msg_ok "Services Stopped"
fetch_and_deploy_gh_release "librespeed-rust" "librespeed/speedtest-rust" "binary" "latest" "/opt/librespeed-rust" "librespeed-rs-x86_64-unknown-linux-gnu.deb" fetch_and_deploy_gh_release "librespeed-rust" "librespeed/speedtest-rust" "binary" "latest" "/opt/librespeed-rust" "librespeed-rs-x86_64-unknown-linux-gnu.deb"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start librespeed-rs systemctl start librespeed_rs
msg_ok "Started Service" msg_ok "Started Service"
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}" msg_ok "No update required. ${APP} is already at v${RELEASE}"

View File

@@ -29,19 +29,24 @@ function update_script() {
exit exit
fi fi
msg_info "Updating $APP LXC" RELEASE=$(curl -fsSL https://api.github.com/repos/Lidarr/Lidarr/releases/latest | jq -r '.tag_name' | sed 's/^v//')
temp_file="$(mktemp)" if [[ "${RELEASE}" != "$(cat ~/.lidarr)" ]] || [[ ! -f ~/.lidarr ]]; then
rm -rf /opt/Lidarr
RELEASE=$(curl -fsSL https://api.github.com/repos/Lidarr/Lidarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/Lidarr/Lidarr/releases/download/v${RELEASE}/Lidarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file"
$STD tar -xvzf "$temp_file"
mv Lidarr /opt
chmod 775 /opt/Lidarr
msg_ok "Updated $APP LXC"
msg_info "Cleaning up" msg_info "Stopping service"
rm -rf "$temp_file" systemctl stop lidarr
msg_ok "Cleaned up" msg_ok "Service stopped"
fetch_and_deploy_gh_release "lidarr" "Lidarr/Lidarr" "prebuild" "latest" "/opt/Lidarr" "Lidarr.master*linux-core-x64.tar.gz"
chmod 775 /opt/Lidarr
msg_info "Starting service"
systemctl start lidarr
msg_ok "Service started"
msg_ok "Updated successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }

43
ct/linkstack.sh Normal file
View File

@@ -0,0 +1,43 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Omar Minaya | MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://linkstack.org/
APP="LinkStack"
var_tags="${var_tags:-os}"
var_cpu="${var_cpu:-1}"
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 [[ ! -f ~/.linkstack ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
PHP_VERSION="8.3" PHP_MODULE="sqlite3" PHP_APACHE="YES" setup_php
msg_warn "LinkStack should be updated via the user interface."
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

@@ -27,31 +27,33 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if ! command -v jq &>/dev/null; then
$STD apt-get install -y jq
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/knadh/listmonk/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/knadh/listmonk/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [[ "${RELEASE}" != "$(cat ~/.listmonk)" ]] || [[ ! -f ~/.listmonk ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop listmonk systemctl stop listmonk
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Backing up data"
cd /opt
mv /opt/listmonk/ /opt/listmonk-backup mv /opt/listmonk/ /opt/listmonk-backup
mkdir /opt/listmonk/ msg_ok "Backed up data"
curl -fsSL "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" -o $(basename "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz")
tar -xzf "listmonk_${RELEASE}_linux_amd64.tar.gz" -C /opt/listmonk fetch_and_deploy_gh_release "listmonk" "knadh/listmonk" "prebuild" "latest" "/opt/listmonk" "listmonk*linux_amd64.tar.gz"
msg_info "Configuring listmonk"
mv /opt/listmonk-backup/config.toml /opt/listmonk/config.toml mv /opt/listmonk-backup/config.toml /opt/listmonk/config.toml
mv /opt/listmonk-backup/uploads /opt/listmonk/uploads mv /opt/listmonk-backup/uploads /opt/listmonk/uploads
$STD /opt/listmonk/listmonk --upgrade --yes --config /opt/listmonk/config.toml $STD /opt/listmonk/listmonk --upgrade --yes --config /opt/listmonk/config.toml
echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Configured listmonk"
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start listmonk systemctl start listmonk
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf "/opt/listmonk_${RELEASE}_linux_amd64.tar.gz"
rm -rf /opt/listmonk-backup/ rm -rf /opt/listmonk-backup/
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@@ -27,16 +27,17 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/hargata/lubelog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if ! command -v jq &>/dev/null; then
RELEASE_TRIMMED=$(echo "${RELEASE}" | tr -d ".") $STD apt-get install -y jq
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then fi
RELEASE=$(curl -fsSL https://api.github.com/repos/hargata/lubelog/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ ! -f ~/.lubelogger ]] || [[ "${RELEASE}" != "$(cat ~/.lubelogger)" ]]; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop lubelogger systemctl stop lubelogger
msg_ok "Stopped Service" msg_ok "Stopped Service"
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Backing up data"
cd /opt
curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -o $(basename "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip")
mkdir -p /tmp/lubeloggerData/data mkdir -p /tmp/lubeloggerData/data
cp /opt/lubelogger/appsettings.json /tmp/lubeloggerData/appsettings.json cp /opt/lubelogger/appsettings.json /tmp/lubeloggerData/appsettings.json
cp -r /opt/lubelogger/data/ /tmp/lubeloggerData/ cp -r /opt/lubelogger/data/ /tmp/lubeloggerData/
@@ -50,20 +51,23 @@ function update_script() {
[[ -e /opt/lubelogger/wwwroot/temp ]] && cp -r /opt/lubelogger/wwwroot/temp /tmp/lubeloggerData/data/ [[ -e /opt/lubelogger/wwwroot/temp ]] && cp -r /opt/lubelogger/wwwroot/temp /tmp/lubeloggerData/data/
[[ -e /opt/lubelogger/log ]] && cp -r /opt/lubelogger/log /tmp/lubeloggerData/ [[ -e /opt/lubelogger/log ]] && cp -r /opt/lubelogger/log /tmp/lubeloggerData/
rm -rf /opt/lubelogger rm -rf /opt/lubelogger
$STD unzip LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip -d lubelogger msg_ok "Backed up data"
fetch_and_deploy_gh_release "lubelogger" "hargata/lubelog" "prebuild" "latest" "/opt/lubelogger" "LubeLogger*linux_x64.zip"
msg_info "Configuring LubeLogger"
chmod 700 /opt/lubelogger/CarCareTracker chmod 700 /opt/lubelogger/CarCareTracker
cp -rf /tmp/lubeloggerData/* /opt/lubelogger/ cp -rf /tmp/lubeloggerData/* /opt/lubelogger/
echo "${RELEASE}" >"/opt/${APP}_version.txt" msg_ok "Configured LubeLogger"
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start lubelogger systemctl start lubelogger
msg_ok "Started Service" msg_ok "Started Service"
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf /opt/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip
rm -rf /tmp/lubeloggerData rm -rf /tmp/lubeloggerData
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}." msg_ok "No update required. ${APP} is already at v${RELEASE}."

View File

@@ -27,16 +27,17 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/MagicMirrorOrg/MagicMirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if ! command -v jq &>/dev/null; then
if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt; fi $STD apt-get install -y jq
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then fi
RELEASE=$(curl -fsSL https://api.github.com/repos/MagicMirrorOrg/MagicMirror/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ ! -f ~/.magicmirror ]] || [[ "${RELEASE}" != "$(cat ~/.magicmirror)" ]]; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop magicmirror systemctl stop magicmirror
msg_ok "Stopped Service" msg_ok "Stopped Service"
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Backing up data"
$STD apt-get update
$STD apt-get upgrade -y
rm -rf /opt/magicmirror-backup rm -rf /opt/magicmirror-backup
mkdir /opt/magicmirror-backup mkdir /opt/magicmirror-backup
cp /opt/magicmirror/config/config.js /opt/magicmirror-backup cp /opt/magicmirror/config/config.js /opt/magicmirror-backup
@@ -44,27 +45,24 @@ function update_script() {
cp /opt/magicmirror/css/custom.css /opt/magicmirror-backup cp /opt/magicmirror/css/custom.css /opt/magicmirror-backup
fi fi
cp -r /opt/magicmirror/modules /opt/magicmirror-backup cp -r /opt/magicmirror/modules /opt/magicmirror-backup
temp_file=$(mktemp) msg_ok "Backed up data"
curl -fsSL "https://github.com/MagicMirrorOrg/MagicMirror/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file""
tar -xzf "$temp_file" fetch_and_deploy_gh_release "magicmirror" "MagicMirrorOrg/MagicMirror" "tarball"
rm -rf /opt/magicmirror
mv MagicMirror-${RELEASE} /opt/magicmirror msg_info "Configuring MagicMirror"
cd /opt/magicmirror cd /opt/magicmirror
sed -i -E 's/("postinstall": )".*"/\1""/; s/("prepare": )".*"/\1""/' package.json
$STD npm run install-mm $STD npm run install-mm
cp /opt/magicmirror-backup/config.js /opt/magicmirror/config/ cp /opt/magicmirror-backup/config.js /opt/magicmirror/config/
if [[ -f /opt/magicmirror-backup/custom.css ]]; then if [[ -f /opt/magicmirror-backup/custom.css ]]; then
cp /opt/magicmirror-backup/custom.css /opt/magicmirror/css/ cp /opt/magicmirror-backup/custom.css /opt/magicmirror/css/
fi fi
echo "${RELEASE}" >"/opt/${APP}_version.txt" msg_ok "Configured MagicMirror"
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start magicmirror systemctl start magicmirror
msg_ok "Started Service" msg_ok "Started Service"
msg_info "Cleaning up"
rm -f $temp_file
msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}." msg_ok "No update required. ${APP} is already at v${RELEASE}."

View File

@@ -28,39 +28,33 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if ! command -v jq &>/dev/null; then
$STD apt-get install -y jq
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/intri-in/manage-my-damn-life-nextjs/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/intri-in/manage-my-damn-life-nextjs/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat /opt/mmdl_version.txt)" ]] || [[ ! -f /opt/mmdl_version.txt ]]; then if [[ "${RELEASE}" != "$(cat ~/.mmdl)" ]] || [[ ! -f ~/.mmdl ]]; then
msg_info "Stopping $APP" msg_info "Stopping service"
systemctl stop mmdl systemctl stop mmdl
msg_ok "Stopped $APP" msg_ok "Stopped service"
msg_info "Creating Backup" msg_info "Creating Backup"
cp /opt/mmdl/.env /opt/mmdl.env cp /opt/mmdl/.env /opt/mmdl.env
msg_ok "Backup Created" msg_ok "Backup Created"
msg_info "Updating $APP to v${RELEASE}" fetch_and_deploy_gh_release "mmdl" "intri-in/manage-my-damn-life-nextjs" "tarball"
curl -fsSLO "https://github.com/intri-in/manage-my-damn-life-nextjs/archive/refs/tags/v${RELEASE}.zip"
rm -r /opt/mmdl msg_info "Configuring ${APP}"
unzip -q v"$RELEASE".zip
mv manage-my-damn-life-nextjs-"$RELEASE"/ /opt/mmdl
mv /opt/mmdl.env /opt/mmdl/.env
cd /opt/mmdl cd /opt/mmdl
$STD npm install $STD npm install
$STD npm run migrate $STD npm run migrate
$STD npm run build $STD npm run build
msg_ok "Updated $APP to v${RELEASE}" msg_ok "Configured ${APP}"
msg_info "Starting $APP" msg_info "Starting service"
systemctl start mmdl systemctl start mmdl
msg_ok "Started $APP" msg_ok "Started service"
msg_info "Cleaning Up"
rm -f ~/v"$RELEASE".zip
msg_ok "Cleanup Completed"
# Last Action
echo "$RELEASE" >/opt/mmdl_version.txt
msg_ok "Update Successful" msg_ok "Update Successful"
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}" msg_ok "No update required. ${APP} is already at v${RELEASE}"

View File

@@ -27,7 +27,26 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_error "Currently we don't provide an update function for this ${APP}." if ! command -v jq &>/dev/null; then
$STD apt-get install -y jq
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/bluenviron/mediamtx/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat ~/.mediamtx)" ]] || [[ ! -f ~/.mediamtx ]]; then
msg_info "Stopping service"
systemctl stop mediamtx
msg_ok "Service stopped"
fetch_and_deploy_gh_release "mediamtx" "bluenviron/mediamtx" "prebuild" "latest" "/opt/mediamtx" "mediamtx*linux_amd64.tar.gz"
msg_info "Starting service"
systemctl start mediamtx
msg_ok "Service started"
msg_ok "Updated successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }

View File

@@ -24,10 +24,6 @@ function update_script() {
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -f /opt/Meilisearch_version.txt ]]; then
msg_error "No Meilisearch Installation Found!"
exit
fi
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Meilisearch Update" --radiolist --cancel-button Exit-Script "Spacebar = Select" 10 58 2 \ UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Meilisearch Update" --radiolist --cancel-button Exit-Script "Spacebar = Select" 10 58 2 \
"1" "Update Meilisearch" ON \ "1" "Update Meilisearch" ON \
"2" "Update Meilisearch-UI" OFF \ "2" "Update Meilisearch-UI" OFF \
@@ -38,13 +34,7 @@ function update_script() {
systemctl stop meilisearch systemctl stop meilisearch
msg_ok "Stopped Meilisearch" msg_ok "Stopped Meilisearch"
msg_info "Updating Meilisearch" fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary"
tmp_file=$(mktemp)
RELEASE=$(curl -s https://api.github.com/repos/meilisearch/meilisearch/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
curl -fsSL https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb -o $tmp_file
$STD dpkg -i $tmp_file
echo "$RELEASE" >/opt/meilisearch_version.txt
msg_ok "Updated Meilisearch"
msg_info "Starting Meilisearch" msg_info "Starting Meilisearch"
systemctl start meilisearch systemctl start meilisearch
@@ -53,7 +43,7 @@ function update_script() {
fi fi
if [ "$UPD" == "2" ]; then if [ "$UPD" == "2" ]; then
if [[ ! -f /opt/Meilisearch-ui_version.txt ]]; then if [[ ! -d /opt/meilisearch-ui ]]; then
msg_error "No Meilisearch-UI Installation Found!" msg_error "No Meilisearch-UI Installation Found!"
exit exit
fi fi
@@ -61,22 +51,16 @@ function update_script() {
systemctl stop meilisearch-ui systemctl stop meilisearch-ui
msg_ok "Stopped Meilisearch-UI" msg_ok "Stopped Meilisearch-UI"
msg_info "Updating Meilisearch-UI"
tmp_file=$(mktemp)
tmp_dir=$(mktemp -d)
RELEASE_UI=$(curl -s https://api.github.com/repos/riccox/meilisearch-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
cp /opt/meilisearch-ui/.env.local /tmp/.env.local.bak cp /opt/meilisearch-ui/.env.local /tmp/.env.local.bak
rm -rf /opt/meilisearch-ui rm -rf /opt/meilisearch-ui
mkdir -p /opt/meilisearch-ui fetch_and_deploy_gh_release "meilisearch-ui" "riccox/meilisearch-ui" "tarball"
curl -fsSL "https://github.com/riccox/meilisearch-ui/archive/refs/tags/${RELEASE_UI}.zip" -o $tmp_file
$STD unzip "$tmp_file" -d "$tmp_dir" msg_info "Configuring Meilisearch-UI"
mv "$tmp_dir"/*/* /opt/meilisearch-ui/
cd /opt/meilisearch-ui cd /opt/meilisearch-ui
sed -i 's|const hash = execSync("git rev-parse HEAD").toString().trim();|const hash = "unknown";|' /opt/meilisearch-ui/vite.config.ts sed -i 's|const hash = execSync("git rev-parse HEAD").toString().trim();|const hash = "unknown";|' /opt/meilisearch-ui/vite.config.ts
mv /tmp/.env.local.bak /opt/meilisearch-ui/.env.local mv /tmp/.env.local.bak /opt/meilisearch-ui/.env.local
$STD pnpm install $STD pnpm install
echo "$RELEASE_UI" >/opt/meilisearch-ui_version.txt msg_ok "Configured Meilisearch-UI"
msg_ok "Updated Meilisearch-UI"
msg_info "Starting Meilisearch-UI" msg_info "Starting Meilisearch-UI"
systemctl start meilisearch-ui systemctl start meilisearch-ui

View File

@@ -7,9 +7,9 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
APP="Memos" APP="Memos"
var_tags="${var_tags:-notes}" var_tags="${var_tags:-notes}"
var_cpu="${var_cpu:-2}" var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-3072}" var_ram="${var_ram:-1024}"
var_disk="${var_disk:-7}" var_disk="${var_disk:-3}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
@@ -27,26 +27,23 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Updating $APP (Patience)"
cd /opt/memos RELEASE=$(curl -fsSL https://api.github.com/repos/usememos/memos/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
git reset --hard HEAD if [[ "${RELEASE}" != "$(cat ~/.memos 2>/dev/null)" ]] || [[ ! -f ~/.memos ]]; then
output=$(git pull --no-rebase) msg_info "Stopping service"
if echo "$output" | grep -q "Already up to date."; then
msg_ok "$APP is already up to date."
exit
fi
systemctl stop memos systemctl stop memos
export NODE_OPTIONS="--max-old-space-size=2048" msg_ok "Service stopped"
cd /opt/memos/web
$STD pnpm i --frozen-lockfile fetch_and_deploy_gh_release "memos" "usememos/memos" "prebuild" "latest" "/opt/memos" "memos*linux_amd64.tar.gz"
$STD pnpm build
cd /opt/memos msg_info "Starting service"
mkdir -p /opt/memos/server/dist
cp -r web/dist/* /opt/memos/server/dist/
cp -r web/dist/* /opt/memos/server/router/frontend/dist/
$STD go build -o /opt/memos/memos -tags=embed bin/memos/main.go
systemctl start memos systemctl start memos
msg_ok "Updated $APP" msg_ok "Service started"
msg_ok "Updated successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit exit
} }

View File

@@ -27,18 +27,20 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [[ ! -f ~/.monica ]] || [[ "${RELEASE}" != "$(cat ~/.monica)" ]]; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop apache2 systemctl stop apache2
msg_ok "Stopped Service" msg_ok "Stopped Service"
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Creating backup"
cd /opt
mv /opt/monica/ /opt/monica-backup mv /opt/monica/ /opt/monica-backup
curl -fsSL "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" -o $(basename "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2") msg_ok "Backup created"
tar -xjf "monica-v${RELEASE}.tar.bz2"
mv "/opt/monica-v${RELEASE}" /opt/monica fetch_and_deploy_gh_release "monica" "monicahq/monica" "prebuild" "latest" "/opt/monica" "monica-v*.tar.bz2"
msg_info "Configuring monica"
cd /opt/monica/ cd /opt/monica/
cp -r /opt/monica-backup/.env /opt/monica cp -r /opt/monica-backup/.env /opt/monica
cp -r /opt/monica-backup/storage/* /opt/monica/storage/ cp -r /opt/monica-backup/storage/* /opt/monica/storage/
@@ -48,17 +50,16 @@ function update_script() {
$STD php artisan monica:update --force $STD php artisan monica:update --force
chown -R www-data:www-data /opt/monica chown -R www-data:www-data /opt/monica
chmod -R 775 /opt/monica/storage chmod -R 775 /opt/monica/storage
echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Configured monica"
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start apache2 systemctl start apache2
msg_ok "Started Service" msg_ok "Started Service"
msg_info "Cleaning up" msg_info "Cleaning up"
rm -r "/opt/monica-v${RELEASE}.tar.bz2"
rm -r /opt/monica-backup rm -r /opt/monica-backup
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}" msg_ok "No update required. ${APP} is already at v${RELEASE}"

View File

@@ -28,31 +28,29 @@ function update_script() {
exit exit
fi fi
RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5) RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5)
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [[ ! -f ~/.myspeed ]] || [[ "${RELEASE}" != "$(cat ~/.myspeed)" ]]; then
msg_info "Stopping ${APP} Service" msg_info "Stopping ${APP} Service"
systemctl stop myspeed systemctl stop myspeed
msg_ok "Stopped ${APP} Service" msg_ok "Stopped ${APP} Service"
msg_info "Updating ${APP} to ${RELEASE}" msg_info "Creating backup"
cd /opt cd /opt
rm -rf myspeed_bak rm -rf myspeed_bak
mv myspeed myspeed_bak mv myspeed myspeed_bak
curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -o $(basename "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip") msg_ok "Backup created"
$STD unzip MySpeed-$RELEASE.zip -d myspeed
cd myspeed fetch_and_deploy_gh_release "myspeed" "gnmyt/myspeed" "prebuild" "latest" "/opt/myspeed" "MySpeed-*.zip"
msg_info "Updating ${APP} to ${RELEASE}"
cd /opt/myspeed
$STD npm install $STD npm install
echo "${RELEASE}" >/opt/${APP}_version.txt cp -r /opt/myspeed_bak/data/* /opt/myspeed/data/
msg_ok "Updated ${APP} to ${RELEASE}" msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Starting ${APP} Service" msg_info "Starting ${APP} Service"
systemctl start myspeed systemctl start myspeed
msg_ok "Started ${APP} Service" msg_ok "Started ${APP} Service"
msg_info "Cleaning up"
rm -rf MySpeed-$RELEASE.zip
msg_ok "Cleaned"
msg_ok "Updated Successfully!\n" msg_ok "Updated Successfully!\n"
else else
msg_ok "No update required. ${APP} is already at ${RELEASE}" msg_ok "No update required. ${APP} is already at ${RELEASE}"

View File

@@ -34,6 +34,18 @@ function update_script() {
echo "Installed NPM..." echo "Installed NPM..."
fi fi
fi fi
if [ ! -f /opt/n8n.env ]; then
sed -i 's|^Environment="N8N_SECURE_COOKIE=false"$|EnvironmentFile=/opt/n8n.env|' /etc/systemd/system/n8n.service
HOST_IP=$(hostname -I | awk '{print $1}')
mkdir -p /opt
cat <<EOF >/opt/n8n.env
N8N_SECURE_COOKIE=false
N8N_PORT=5678
N8N_PROTOCOL=http
N8N_HOST=$HOST_IP
EOF
fi
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
$STD npm update -g n8n $STD npm update -g n8n
systemctl restart n8n systemctl restart n8n

View File

@@ -27,27 +27,19 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk -F '"' '{print $4}')
if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt; fi RELEASE=$(curl -fsSL https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [[ "${RELEASE}" != "$(cat ~/.navidrome 2>/dev/null)" ]] || [[ ! -f ~/.navidrome ]]; then
msg_info "Stopping Services" msg_info "Stopping Services"
systemctl stop navidrome systemctl stop navidrome
msg_ok "Services Stopped" msg_ok "Services Stopped"
msg_info "Updating ${APP} to ${RELEASE}" fetch_and_deploy_gh_release "navidrome" "navidrome/navidrome" "binary"
TMP_DEB=$(mktemp --suffix=.deb)
curl -fsSL -o "${TMP_DEB}" "https://github.com/navidrome/navidrome/releases/download/${RELEASE}/navidrome_${RELEASE#v}_linux_amd64.deb"
$STD apt-get install -y "${TMP_DEB}"
echo "${RELEASE}" >/opt/"${APP}_version.txt"
msg_ok "Updated Navidrome"
msg_info "Starting Services" msg_info "Starting Services"
systemctl start navidrome systemctl start navidrome
msg_ok "Started Services" msg_ok "Started Services"
msg_info "Cleaning Up"
rm -f "${TMP_DEB}"
msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at ${RELEASE}" msg_ok "No update required. ${APP} is already at ${RELEASE}"

View File

@@ -28,16 +28,7 @@ function update_script() {
exit exit
fi fi
if ! dpkg -l | grep -q temurin-21-jre; then if ! dpkg -l | grep -q temurin-21-jre; then
msg_info "Installing Adoptium JDK" JAVA_VERSION="21" setup_java
$STD apt-get install -y \
gnupg2 \
lsb-release
mkdir -p /etc/apt/keyrings
curl -fsSL https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" >/etc/apt/sources.list.d/adoptium.list
$STD apt-get update
$STD apt-get install -y temurin-21-jre
msg_ok "Adoptium JDK installed"
fi fi
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
$STD apt-get update $STD apt-get update

View File

@@ -46,6 +46,8 @@ function update_script() {
msg_info "Building Frontend" msg_info "Building Frontend"
( (
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json
cd ./frontend || exit cd ./frontend || exit
$STD pnpm install $STD pnpm install
$STD pnpm upgrade $STD pnpm upgrade
@@ -72,8 +74,6 @@ function update_script() {
ln -sf /usr/bin/certbot /opt/certbot/bin/certbot ln -sf /usr/bin/certbot /opt/certbot/bin/certbot
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
ln -sf /usr/local/openresty/nginx/ /etc/nginx ln -sf /usr/local/openresty/nginx/ /etc/nginx
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json
sed -i 's+^daemon+#daemon+g' docker/rootfs/etc/nginx/nginx.conf sed -i 's+^daemon+#daemon+g' docker/rootfs/etc/nginx/nginx.conf
NGINX_CONFS=$(find "$(pwd)" -type f -name "*.conf") NGINX_CONFS=$(find "$(pwd)" -type f -name "*.conf")
for NGINX_CONF in $NGINX_CONFS; do for NGINX_CONF in $NGINX_CONFS; do

View File

@@ -27,14 +27,23 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Updating ${APP}"
systemctl stop nocodb.service RELEASE=$(curl -fsSL https://api.github.com/repos/nocodb/nocodb/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
cd /opt/nocodb if [[ ! -f ~/.nocodb ]] || [[ "${RELEASE}" != "$(cat ~/.nocodb)" ]]; then
rm -rf nocodb msg_info "Stopping Service"
curl -fsSL http://get.nocodb.com/linux-x64 -o nocodb -L systemctl stop nocodb
chmod +x nocodb msg_ok "Stopped Service"
systemctl start nocodb.service
fetch_and_deploy_gh_release "nocodb" "nocodb/nocodb" "singlefile" "latest" "/opt/nocodb/" "Noco-linux-x64"
msg_info "Starting Service"
systemctl start nocodb
msg_ok "Started Service"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit exit
} }

View File

@@ -32,7 +32,7 @@ function update_script() {
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/NodeBB/NodeBB/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/NodeBB/NodeBB/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 if [[ "${RELEASE}" != "$(cat ~/.nodebb)" ]] || [[ ! -f ~/.nodebb ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop nodebb systemctl stop nodebb
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
@@ -40,13 +40,14 @@ function update_script() {
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Updating ${APP} to v${RELEASE}"
cd /opt/nodebb cd /opt/nodebb
$STD ./nodebb upgrade $STD ./nodebb upgrade
echo "${RELEASE}" >/opt/${APP}_version.txt echo "${RELEASE}" > ~/.nodebb
msg_ok "Updated ${APP} to v${RELEASE}" msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start nodebb systemctl start nodebb
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
msg_ok "Updated Successfully\n"
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}." msg_ok "No update required. ${APP} is already at v${RELEASE}."
fi fi

View File

@@ -30,26 +30,18 @@ function update_script() {
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/oauth2-proxy/oauth2-proxy/releases/latest | jq -r .tag_name | sed 's/^v//') RELEASE=$(curl -fsSL https://api.github.com/repos/oauth2-proxy/oauth2-proxy/releases/latest | jq -r .tag_name | sed 's/^v//')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [[ ! -f ~/.oauth2-proxy ]] || [[ "${RELEASE}" != "$(cat ~/.oauth2-proxy)" ]]; then
msg_info "Stopping ${APP} services" msg_info "Stopping ${APP} services"
systemctl stop oauth2-proxy systemctl stop oauth2-proxy
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP} service"
msg_info "Updating $APP to ${RELEASE}" fetch_and_deploy_gh_release "oauth2-proxy" "oauth2-proxy/oauth2-proxy" "prebuild" "latest" "/opt/oauth2-proxy" "oauth2-proxy*linux-amd64.tar.gz"
rm -f /opt/oauth2-proxy/oauth2-proxy
curl -fsSL "https://github.com/oauth2-proxy/oauth2-proxy/releases/download/v${RELEASE}/oauth2-proxy-v${RELEASE}.linux-amd64.tar.gz" -o /opt/oauth2-proxy.tar.gz msg_info "Starting ${APP} service"
tar -xzf /opt/oauth2-proxy.tar.gz
mv /opt/oauth2-proxy-v${RELEASE}.linux-amd64/oauth2-proxy /opt/oauth2-proxy
systemctl start oauth2-proxy systemctl start oauth2-proxy
echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Started ${APP} service"
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Cleaning up" msg_ok "Updated successfully!\n"
rm -f "/opt/oauth2-proxy.tar.gz"
rm -rf "/opt/oauth2-proxy-v${RELEASE}.linux-amd64"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
else else
msg_ok "${APP} is already up to date (${RELEASE})" msg_ok "${APP} is already up to date (${RELEASE})"
fi fi

View File

@@ -27,22 +27,29 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then RELEASE=$(curl -fsSL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Stopping ${APP}" if [[ "${RELEASE}" != "$(cat ~/.ombi)" ]] || [[ ! -f ~/.ombi ]]; then
msg_info "Stopping ${APP} service"
systemctl stop ombi systemctl stop ombi
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP} service"
msg_info "Updating ${APP} to ${RELEASE}" msg_info "Creating backup"
curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -o $(basename "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz") [[ -f /opt/ombi/Ombi.db ]] && mv /opt/ombi/Ombi.db /opt
tar -xzf linux-x64.tar.gz -C /opt/ombi [[ -f /opt/ombi/OmbiExternal.db ]] && mv /opt/ombi/OmbiExternal.db /opt
rm -rf linux-x64.tar.gz [[ -f /opt/ombi/OmbiSettings.db ]] && mv /opt/ombi/OmbiSettings.db /opt
echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Backup created"
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Starting ${APP}" rm -rf /opt/ombi
fetch_and_deploy_gh_release "ombi" "Ombi-app/Ombi" "prebuild" "latest" "/opt/ombi" "linux-x64.tar.gz"
[[ -f /opt/Ombi.db ]] && mv /opt/Ombi.db /opt/ombi
[[ -f /opt/OmbiExternal.db ]] && mv /opt/OmbiExternal.db /opt/ombi
[[ -f /opt/OmbiSettings.db ]] && mv /opt/OmbiSettings.db /opt/ombi
msg_info "Starting ${APP} service"
systemctl start ombi systemctl start ombi
msg_ok "Started ${APP}" msg_ok "Started ${APP} service"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} ia already at ${RELEASE}." msg_ok "No update required. ${APP} ia already at ${RELEASE}."

View File

@@ -27,34 +27,27 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/thomiceli/opengist/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/thomiceli/opengist/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [[ ! -f ~/.opengist ]] || [[ "${RELEASE}" != "$(cat ~/.opengist)" ]]; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop opengist.service systemctl stop opengist
msg_ok "Stopped Service" msg_ok "Stopped Service"
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Creating backup"
$STD apt-get update
$STD apt-get -y upgrade
cd /opt
mv /opt/opengist /opt/opengist-backup mv /opt/opengist /opt/opengist-backup
curl -fsSL "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" -o $(basename "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz") msg_ok "Backup created"
tar -xzf opengist${RELEASE}-linux-amd64.tar.gz
fetch_and_deploy_gh_release "opengist" "thomiceli/opengist" "prebuild" "latest" "/opt/opengist" "opengist*linux-amd64.tar.gz"
msg_info "Configuring ${APP}"
mv /opt/opengist-backup/config.yml /opt/opengist/config.yml mv /opt/opengist-backup/config.yml /opt/opengist/config.yml
chmod +x /opt/opengist/opengist msg_ok "Configured ${APP}"
echo "${RELEASE}" >"/opt/${APP}_version.txt"
msg_ok "Updated ${APP} LXC"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start opengist.service systemctl start opengist
msg_ok "Started Service" msg_ok "Started Service"
msg_info "Cleaning up"
rm -rf /opt/opengist${RELEASE}-linux-amd64.tar.gz
rm -rf /opt/opengist-backup
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}." msg_ok "No update required. ${APP} is already at v${RELEASE}."

58
ct/ots.sh Normal file
View File

@@ -0,0 +1,58 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: bvdberg01
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/Luzifer/ots
APP="OTS"
var_tags="${var_tags:-secrets-sharer}"
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/ots ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/Luzifer/ots/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat ~/.ots 2>/dev/null)" ]] || [[ ! -f ~/.ots ]]; then
msg_info "Stopping ${APP} Service"
systemctl stop ots
systemctl stop nginx
msg_ok "Stopped ${APP} Service"
fetch_and_deploy_gh_release "ots" "Luzifer/ots" "prebuild" "latest" "/opt/ots" "ots_linux_amd64.tgz"
msg_info "Stopping ${APP} Service"
systemctl start ots
systemctl start nginx
msg_ok "Stopped ${APP} Service"
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}https://${IP}${CL}"

View File

@@ -27,36 +27,32 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/outline/outline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/outline/outline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [[ ! -f ~/.outline ]] || [[ "${RELEASE}" != "$(cat ~/.outline)" ]]; then
msg_info "Stopping Services" msg_info "Stopping Services"
systemctl stop outline systemctl stop outline
msg_ok "Services Stopped" msg_ok "Services Stopped"
msg_info "Updating ${APP} to ${RELEASE}" msg_info "Creating backup"
temp_file=$(mktemp)
cp /opt/outline/.env /opt cp /opt/outline/.env /opt
rm -rf /opt/outline msg_ok "Backup created"
curl -fsSL "https://github.com/outline/outline/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
tar zxf "$temp_file" fetch_and_deploy_gh_release "outline" "outline/outline" "tarball"
mv outline-"${RELEASE}" /opt/outline
msg_info "Updating ${APP} to ${RELEASE}"
cd /opt/outline cd /opt/outline
export NODE_ENV=development export NODE_ENV=development
export NODE_OPTIONS="--max-old-space-size=3584" export NODE_OPTIONS="--max-old-space-size=3584"
$STD yarn install --frozen-lockfile $STD yarn install --frozen-lockfile
$STD yarn build $STD yarn build
mv /opt/.env /opt/outline mv /opt/.env /opt/outline
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"
msg_info "Starting Services" msg_info "Starting Services"
systemctl start outline systemctl start outline
msg_ok "Started Services" msg_ok "Started Services"
msg_info "Cleaning Up"
rm -rf "$temp_file"
rm -rf "$HOME"/outline-"${RELEASE}"
msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at ${RELEASE}" msg_ok "No update required. ${APP} is already at ${RELEASE}"

View File

@@ -27,20 +27,35 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Updating $APP"
RELEASE=$(curl -fsSL https://api.github.com/repos/sct/overseerr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f ~/.overseerr ]] || [[ "${RELEASE}" != "$(cat ~/.overseerr)" ]]; then
msg_info "Stopping ${APP} service"
systemctl stop overseerr systemctl stop overseerr
msg_ok "Service stopped"
msg_info "Creating backup"
mv /opt/overseerr/config /opt/config_backup
msg_ok "Backup created"
fetch_and_deploy_gh_release "overseerr" "sct/overseerr" "tarball"
rm -rf /opt/overseerr/config
msg_info "Configuring ${APP} (Patience)"
cd /opt/overseerr cd /opt/overseerr
output=$(git pull)
$STD git pull
if echo "$output" | grep -q "Already up to date."; then
msg_ok " $APP is already up to date."
systemctl start overseerr
exit
fi
$STD yarn install $STD yarn install
$STD yarn build $STD yarn build
mv /opt/config_backup /opt/overseerr/config
msg_ok "Configured ${APP}"
msg_info "Starting ${APP} service"
systemctl start overseerr systemctl start overseerr
msg_ok "Updated $APP" msg_ok "Started ${APP} service"
msg_ok "Updated successfully!"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }

View File

@@ -27,10 +27,23 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Updating $APP LXC"
$STD apt-get update RELEASE=$(curl -fsSL https://api.github.com/repos/owncast/owncast/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
$STD apt-get -y upgrade if [[ ! -f ~/.owncast ]] || [[ "${RELEASE}" != "$(cat ~/.owncast)" ]]; then
msg_ok "Updated $APP LXC" msg_info "Stopping ${APP}"
systemctl stop owncast
msg_ok "Stopped ${APP}"
fetch_and_deploy_gh_release "owncast" "owncast/owncast" "prebuild" "latest" "/opt/owncast" "owncast*linux-64bit.zip"
msg_info "Starting ${APP}"
systemctl start owncast
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}."
fi
exit exit
} }

View File

@@ -27,13 +27,28 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Updating $APP"
RELEASE=$(curl -fsSL https://api.github.com/repos/schlagmichdoch/PairDrop/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f ~/.pairdrop ]] || [[ "${RELEASE}" != "$(cat ~/.pairdrop)" ]]; then
msg_info "Stopping ${APP}"
systemctl stop pairdrop systemctl stop pairdrop
msg_ok "Stopped ${APP}"
fetch_and_deploy_gh_release "pairdrop" "schlagmichdoch/PairDrop" "tarball"
msg_info "Configuring PairDrop"
cd /opt/pairdrop cd /opt/pairdrop
git pull $STD npm install
npm install msg_ok "Configured PairDrop"
msg_info "Starting ${APP}"
systemctl start pairdrop systemctl start pairdrop
msg_ok "Updated $APP" msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}."
fi
exit exit
} }

80
ct/palmr.sh Normal file
View File

@@ -0,0 +1,80 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: vhsdream
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/kyantech/Palmr
APP="Palmr"
var_tags="${var_tags:-files}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-6}"
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/palmr_data ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/kyantech/palmr/releases/latest | jq '.tag_name' | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat ~/.palmr 2>/dev/null)" ]] || [[ ! -f ~/.palmr ]]; then
msg_info "Stopping Services"
systemctl stop palmr-frontend palmr-backend
msg_ok "Stopped Services"
cp /opt/palmr/apps/server/.env /opt/palmr.env
rm -rf /opt/palmr
fetch_and_deploy_gh_release "Palmr" "kyantech/Palmr" "tarball" "latest" "/opt/palmr"
PNPM="$(jq -r '.packageManager' /opt/palmr/package.json)"
NODE_VERSION="20" NODE_MODULE="$PNPM" setup_nodejs
msg_info "Updating ${APP}"
cd /opt/palmr/apps/server
mv /opt/palmr.env /opt/palmr/apps/server/.env
$STD pnpm install
$STD pnpm dlx prisma generate
$STD pnpm dlx prisma migrate deploy
$STD pnpm dlx prisma db push
$STD pnpm build
cd /opt/palmr/apps/web
export NODE_ENV=production
export NEXT_TELEMETRY_DISABLED=1
mv ./.env.example ./.env
$STD pnpm install
$STD pnpm build
chown -R palmr:palmr /opt/palmr_data /opt/palmr
msg_ok "Updated $APP"
msg_info "Starting Services"
systemctl start palmr-backend palmr-frontend
msg_ok "Started Services"
msg_ok "Updated Successfully"
else
msg_ok "Already up to date"
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

@@ -23,32 +23,25 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /opt/paymenter ]]; then if [[ ! -d /opt/paymenter ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2) CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2)
if [[ "$CURRENT_PHP" != "8.3" ]]; then if [[ "$CURRENT_PHP" != "8.3" ]]; then
msg_info "Migrating PHP $CURRENT_PHP to 8.3" PHP_VERSION="8.3" PHP_FPM="YES" PHP_MODULE="common,mysql,fpm,redis" setup_php
$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb setup_composer
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
$STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
$STD apt-get update
$STD apt-get remove -y php"${CURRENT_PHP//./}"*
$STD apt-get install -y \
php8.3 \
php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,curl,zip,intl,redis,fpm}
sed -i 's|php8\.2-fpm\.sock|php8.3-fpm.sock|g' /etc/nginx/sites-available/paymenter.conf sed -i 's|php8\.2-fpm\.sock|php8.3-fpm.sock|g' /etc/nginx/sites-available/paymenter.conf
$STD systemctl reload nginx $STD systemctl reload nginx
msg_ok "Migrated PHP $CURRENT_PHP to 8.3"
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/paymenter/paymenter/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then RELEASE=$(curl -fsSL https://api.github.com/repos/paymenter/paymenter/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f ~/.paymenter ]] || [[ "${RELEASE}" != "$(cat ~/.paymenter)" ]]; then
msg_info "Updating ${APP} to ${RELEASE}" msg_info "Updating ${APP} to ${RELEASE}"
echo "${RELEASE}" >/opt/${APP}_version.txt
cd /opt/paymenter cd /opt/paymenter
$STD php artisan p:upgrade --no-interaction $STD php artisan p:upgrade --no-interaction
echo "${RELEASE}" >~/.paymenter
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at ${RELEASE}." msg_ok "No update required. ${APP} is already at ${RELEASE}."

View File

@@ -27,22 +27,35 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/photoprism/photoprism/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat ~/.photoprism 2>/dev/null)" ]] || [[ ! -f ~/.photoprism ]]; then
msg_info "Stopping PhotoPrism" msg_info "Stopping PhotoPrism"
sudo systemctl stop photoprism systemctl stop photoprism
msg_ok "Stopped PhotoPrism" msg_ok "Stopped PhotoPrism"
msg_info "Updating PhotoPrism" fetch_and_deploy_gh_release "photoprism" "photoprism/photoprism" "prebuild" "latest" "/opt/photoprism" "*linux-amd64.tar.gz"
LIBHEIF_URL=$(curl -fsSL "https://dl.photoprism.app/dist/libheif/" | grep -oP "libheif-$(lsb_release -cs)-amd64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1)
if [[ "${LIBHEIF_URL}" != "$(cat ~/.photoprism_libheif 2>/dev/null)" ]] || [[ ! -f ~/.photoprism_libheif ]]; then
msg_info "Updating PhotoPrism LibHeif"
$STD apt-get install -y libvips42 $STD apt-get install -y libvips42
curl -fsSL https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1 curl -fsSL "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" -o /tmp/libheif.tar.gz
msg_ok "Updated PhotoPrism" tar -xzf /tmp/libheif.tar.gz -C /usr/local
ldconfig
echo "${LIBHEIF_URL}" >~/.photoprism_libheif
msg_ok "Updated PhotoPrism LibHeif"
fi
msg_info "Starting PhotoPrism" msg_info "Starting PhotoPrism"
sudo systemctl start photoprism systemctl start photoprism
msg_ok "Started PhotoPrism" msg_ok "Started PhotoPrism"
msg_ok "Update Successful" msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit exit
} }
start start
build_container build_container
description description

View File

@@ -27,18 +27,26 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -s https://api.github.com/repos/pocketbase/pocketbase/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.pocketbase 2>/dev/null)" ]] || [[ ! -f ~/.pocketbase ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop pocketbase systemctl stop pocketbase
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
/opt/pocketbase/pocketbase update /opt/pocketbase/pocketbase update
echo "${RELEASE}" > ~/.pocketbase
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start pocketbase systemctl start pocketbase
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }

View File

@@ -29,9 +29,10 @@ function update_script() {
exit exit
fi fi
[[ -f /opt/${APP}_version.txt ]] && mv /opt/${APP}_version.txt ~/.pocket-id
RELEASE=$(curl -fsSL https://api.github.com/repos/pocket-id/pocket-id/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/pocket-id/pocket-id/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 if [[ "${RELEASE}" != "$(cat ~/.pocket-id)" ]] || [[ ! -f ~/.pocket-id ]]; then
if [[ "$(cat /opt/${APP}_version.txt)" < "1.0.0" ]]; then if [[ "$(cat ~/.pocket-id)" < "1.0.0" ]]; then
msg_info "Migrating ${APP} to v${RELEASE}" msg_info "Migrating ${APP} to v${RELEASE}"
systemctl -q disable --now pocketid-backend pocketid-frontend caddy systemctl -q disable --now pocketid-backend pocketid-frontend caddy
mv /etc/caddy/Caddyfile ~/Caddyfile.bak mv /etc/caddy/Caddyfile ~/Caddyfile.bak
@@ -58,19 +59,19 @@ function update_script() {
mv /opt/data /opt/pocket-id mv /opt/data /opt/pocket-id
msg_ok "Migration complete. The reverse proxy port has been changed to 1411." msg_ok "Migration complete. The reverse proxy port has been changed to 1411."
else else
msg_info "Updating $APP to v${RELEASE}" msg_info "Stopping ${APP}"
systemctl stop pocketid systemctl stop pocketid
msg_ok "Stopped ${APP}"
cp /opt/pocket-id/.env /opt/env cp /opt/pocket-id/.env /opt/env
fi fi
curl -fsSL "https://github.com/pocket-id/pocket-id/releases/download/v${RELEASE}/pocket-id-linux-amd64" -o /opt/pocket-id/pocket-id
chmod u+x /opt/pocket-id/pocket-id fetch_and_deploy_gh_release "pocket-id" "pocket-id/pocket-id" "singlefile" "latest" "/opt/pocket-id/" "pocket-id-linux-amd64"
mv /opt/env /opt/pocket-id/.env mv /opt/env /opt/pocket-id/.env
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start pocketid systemctl start pocketid
msg_ok "Started $APP" msg_ok "Started $APP"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Update Successful" msg_ok "Update Successful"
else else
msg_ok "No update required. ${APP} is already at ${RELEASE}" msg_ok "No update required. ${APP} is already at ${RELEASE}"

View File

@@ -27,22 +27,25 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/PrivateBin/PrivateBin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(curl -fsSL https://api.github.com/repos/PrivateBin/PrivateBin/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 if [[ ! -f ~/.privatebin ]] || [[ "${RELEASE}" != "$(cat ~/.privatebin)" ]]; then
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Creating backup"
echo "${RELEASE}" >/opt/${APP}_version.txt
cp -f /opt/privatebin/cfg/conf.php /tmp/privatebin_conf.bak cp -f /opt/privatebin/cfg/conf.php /tmp/privatebin_conf.bak
curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip") msg_ok "Backup created"
$STD unzip ${RELEASE}.zip
rm -rf /opt/privatebin/* rm -rf /opt/privatebin/*
mv PrivateBin-${RELEASE}/* /opt/privatebin/ fetch_and_deploy_gh_release "privatebin" "PrivateBin/PrivateBin" "tarball"
msg_info "Configuring ${APP}"
mkdir -p /opt/privatebin/data
mv /tmp/privatebin_conf.bak /opt/privatebin/cfg/conf.php mv /tmp/privatebin_conf.bak /opt/privatebin/cfg/conf.php
chown -R www-data:www-data /opt/privatebin chown -R www-data:www-data /opt/privatebin
chmod -R 0755 /opt/privatebin/data chmod -R 0755 /opt/privatebin/data}
echo "${RELEASE}" >/opt/${APP}_version.txt
rm -rf ${RELEASE}.zip PrivateBin-${RELEASE}
systemctl reload nginx php8.2-fpm systemctl reload nginx php8.2-fpm
msg_ok "Updated ${APP} to v${RELEASE}" msg_ok "Configured ${APP}"
msg_ok "Successfully updated"
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}" msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi

View File

@@ -27,24 +27,19 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/alertmanager/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/alertmanager/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [[ ! -f ~/.alertmanager ]] || [[ "${RELEASE}" != "$(cat ~/.alertmanager)" ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop prometheus-alertmanager systemctl stop prometheus-alertmanager
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
msg_info "Updating ${APP} to v${RELEASE}" fetch_and_deploy_gh_release "alertmanager" "prometheus/alertmanager" "prebuild" "latest" "/usr/local/bin/" "alertmanager*linux-amd64.tar.gz"
cd /opt
curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -o $(basename "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz")
tar -xf alertmanager-${RELEASE}.linux-amd64.tar.gz
cp -rf alertmanager-${RELEASE}.linux-amd64/alertmanager alertmanager-${RELEASE}.linux-amd64/amtool /usr/local/bin/
rm -rf alertmanager-${RELEASE}.linux-amd64 alertmanager-${RELEASE}.linux-amd64.tar.gz
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start prometheus-alertmanager systemctl start prometheus-alertmanager
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}" msg_ok "No update required. ${APP} is already at v${RELEASE}"

View File

@@ -23,40 +23,32 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ -d /opt/pulse-monitor ]]; then
msg_error "An old installation was detected. Please recreate the LXC from scratch (https://github.com/community-scripts/ProxmoxVE/pull/4848)"
exit 1
fi
if [[ ! -d /opt/pulse ]]; then if [[ ! -d /opt/pulse ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi 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 if [[ ! -f ~/.pulse ]]; then
msg_error "Old Installation Found! Please recreate the container due big changes in the software."
exit 1
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat ~/.pulse 2>/dev/null)" ]] || [[ ! -f ~/.pulse ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop pulse systemctl stop pulse
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
msg_info "Updating Pulse" fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "*-linux-amd64.tar.gz"
temp_file=$(mktemp) chown -R pulse:pulse /etc/pulse /opt/pulse
mkdir -p /opt/pulse
rm -rf /opt/pulse/*
curl -fsSL "https://github.com/rcourtman/Pulse/releases/download/v${RELEASE}/pulse-v${RELEASE}.tar.gz" -o "$temp_file"
tar zxf "$temp_file" --strip-components=1 -C /opt/pulse
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated Pulse to ${RELEASE}"
msg_info "Setting permissions for /opt/pulse..."
chown -R pulse:pulse "/opt/pulse"
find "/opt/pulse" -type d -exec chmod 755 {} \;
find "/opt/pulse" -type f -exec chmod 644 {} \;
msg_ok "Set permissions."
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start pulse systemctl start pulse
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at ${RELEASE}." msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -34,6 +34,7 @@ function update_script() {
msg_ok "No update required. ${APP} is already at ${RELEASE}" msg_ok "No update required. ${APP} is already at ${RELEASE}"
exit exit
fi fi
setup_uv
msg_info "Updating $APP to ${RELEASE}" msg_info "Updating $APP to ${RELEASE}"
systemctl stop sabnzbd systemctl stop sabnzbd
cp -r /opt/sabnzbd /opt/sabnzbd_backup_$(date +%s) cp -r /opt/sabnzbd /opt/sabnzbd_backup_$(date +%s)

50
ct/salt.sh Normal file
View File

@@ -0,0 +1,50 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: bvdberg01
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/saltstack/salt
APP="Salt"
var_tags="${var_tags:-automations}"
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 [[ ! -d /etc/salt ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/saltstack/salt/releases/latest | jq -r .tag_name | sed 's/^v//')
if [[ ! -f /~.salt ]] || [[ "${RELEASE}" != "$(cat /~.salt)" ]]; then
msg_info "Updating $APP to ${RELEASE}"
sed -i "s/^\(Pin: version \).*/\1${RELEASE}/" /etc/apt/preferences.d/salt-pin-1001
$STD apt-get update
$STD apt-get upgrade -y
echo "${RELEASE}" >/~.salt
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}"

View File

@@ -27,10 +27,11 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
sed -i 's/^\([[:space:]]*limiter:\)[[:space:]]*true/\1 false/' /etc/searxng/settings.yml
if cd /usr/local/searxng/searxng-src && git pull | grep -q 'Already up to date'; then
msg_ok "There is currently no update available." msg_ok "There is currently no update available."
fi # sed -i 's/^\([[:space:]]*limiter:\)[[:space:]]*true/\1 false/' /etc/searxng/settings.yml
# 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 exit
} }
start start

View File

@@ -28,34 +28,20 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if dpkg -l | grep -q "openjdk-17-jre"; then
$STD apt-get remove -y openjdk-17-jre
fi
JAVA_VERSION=21 setup_java
RELEASE=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat /opt/suwayomi-server_version.txt)" ]] || [[ ! -f /opt/suwayomi-server_version.txt ]]; then if [[ "${RELEASE}" != "$(cat ~/.suwayomi-server 2>/dev/null)" ]] || [[ ! -f ~/.suwayomi-server ]]; then
msg_info "Updating $APP" JAVA_VERSION=21 setup_java
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop suwayomi-server systemctl stop suwayomi-server
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
msg_info "Updating $APP to v${RELEASE}" fetch_and_deploy_gh_release "suwayomi-server" "Suwayomi/Suwayomi-Server" "binary"
temp_file=$(mktemp)
RELEASE=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
curl -fsSL "https://github.com/Suwayomi/Suwayomi-Server/releases/download/${RELEASE}/Suwayomi-Server-${RELEASE}-debian-all.deb" -o "$temp_file"
$STD dpkg -i "$temp_file"
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start suwayomi-server systemctl start suwayomi-server
msg_ok "Started $APP" msg_ok "Started $APP"
msg_info "Cleaning Up"
rm -f "$temp_file"
msg_ok "Cleanup Completed"
echo "${RELEASE}" >/opt/suwayomi-server_version.txt.txt
msg_ok "Update Successful" msg_ok "Update Successful"
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}" msg_ok "No update required. ${APP} is already at v${RELEASE}"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (Canbiz) # Author: MickLesk (Canbiz)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://tandoor.dev/ # Source: https://tandoor.dev/
@@ -27,27 +27,57 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if ! [[ $(dpkg -s python3-xmlsec 2>/dev/null) ]]; then
$STD apt-get update if [[ ! -f ~/.tandoor ]]; then
$STD apt-get install -y python3-xmlsec msg_error "v1 Installation found, please export your data and create an new LXC."
exit
fi fi
if cd /opt/tandoor && git pull | grep -q 'Already up to date'; then
msg_ok "There is currently no update available." RELEASE=$(curl -fsSL https://api.github.com/repos/TandoorRecipes/recipes/releases/latest | jq -r '.tag_name' | sed 's/^v//')
else if [[ "${RELEASE}" != "$(cat ~/.tandoor 2>/dev/null)" ]] || [[ ! -f ~/.tandoor ]]; then
msg_info "Updating ${APP} (Patience)" msg_info "Stopping $APP"
export $(cat /opt/tandoor/.env | grep "^[^#]" | xargs) systemctl stop tandoor
cd /opt/tandoor/ msg_ok "Stopped $APP"
$STD pip3 install -r requirements.txt
$STD /usr/bin/python3 /opt/tandoor/manage.py migrate msg_info "Creating Backup"
$STD /usr/bin/python3 /opt/tandoor/manage.py collectstatic --no-input mv /opt/tandoor /opt/tandoor.bak
$STD /usr/bin/python3 /opt/tandoor/manage.py collectstatic_js_reverse msg_ok "Backup Created"
cd /opt/tandoor/vue
NODE_VERSION="20" NODE_MODULE="yarn" setup_nodejs
PYTHON_VERSION="3.13" setup_uv
fetch_and_deploy_gh_release "tandoor" "TandoorRecipes/recipes" "tarball" "latest" "/opt/tandoor"
msg_info "Updating $APP to ${RELEASE}"
cp -r /opt/tandoor.bak/{config,api,mediafiles,staticfiles} /opt/tandoor/
mv /opt/.env /opt/tandoor/.env
cd /opt/tandoor
$STD uv venv .venv --python=python3
$STD uv pip install -r requirements.txt --python .venv/bin/python
cd /opt/tandoor/vue3
$STD yarn install $STD yarn install
$STD yarn build $STD yarn build
TANDOOR_VERSION="$(curl -fsSL https://api.github.com/repos/TandoorRecipes/recipes/releases/latest | jq -r .tag_name)"
cat <<EOF >/opt/tandoor/cookbook/version_info.py
TANDOOR_VERSION = "$TANDOOR_VERSION"
TANDOOR_REF = "bare-metal"
VERSION_INFO = []
EOF
cd /opt/tandoor cd /opt/tandoor
$STD python3 version.py $STD /opt/tandoor/.venv/bin/python manage.py migrate
systemctl restart gunicorn_tandoor $STD /opt/tandoor/.venv/bin/python manage.py collectstatic --no-input
msg_ok "Updated ${APP}" msg_ok "Updated $APP to ${RELEASE}"
msg_info "Starting $APP"
systemctl start tandoor
systemctl reload nginx
msg_ok "Started $APP"
msg_info "Cleaning Up"
rm -rf /opt/tandoor.bak
msg_ok "Cleanup Completed"
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

63
ct/teamspeak-server.sh Normal file
View File

@@ -0,0 +1,63 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: tremor021 (Slaviša Arežina)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://teamspeak.com/en/
APP="Teamspeak-Server"
var_tags="${var_tags:-voice;communication}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
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/teamspeak-server ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | grep -oP 'teamspeak3-server_linux_amd64-\K[0-9]+\.[0-9]+\.[0-9]+' | head -1)
if [[ "${RELEASE}" != "$(cat ~/.teamspeak-server 2>/dev/null)" ]] || [[ ! -f ~/.teamspeak-server ]]; then
msg_info "Stopping Service"
systemctl stop teamspeak-server
msg_ok "Stopped Service"
msg_info "Updating ${APP}"
curl -fsSL "https://files.teamspeak-services.com/releases/server/${RELEASE}/teamspeak3-server_linux_amd64-${RELEASE}.tar.bz2" -o ts3server.tar.bz2
tar -xf ./ts3server.tar.bz2
cp -ru teamspeak3-server_linux_amd64/* /opt/teamspeak-server/
rm -f ~/ts3server.tar.bz*
echo "${RELEASE}" >~/.teamspeak-server
msg_ok "Updated $APP"
msg_info "Starting Service"
systemctl start teamspeak-server
msg_ok "Started Service"
msg_ok "Updated Successfully"
else
msg_ok "Already up to date"
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}${IP}:9987${CL}"

72
ct/tududi.sh Normal file
View File

@@ -0,0 +1,72 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: vhsdream
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://tududi.com
APP="Tududi"
var_tags="${var_tags:-todo-app}"
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 /opt/tududi ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/chrisvel/tududi/releases/latest | yq '.tag_name' | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat ~/.tududi 2>/dev/null)" ]] || [[ ! -f ~/.tududi ]]; then
msg_info "Stopping Service"
systemctl stop tududi
msg_ok "Stopped Service"
msg_info "Remove and backup Files"
cp /opt/tududi/backend/.env /opt/tududi.env
rm -rf /opt/tududi/backend/dist
msg_ok "Backup and removed Files"
fetch_and_deploy_gh_release "tududi" "chrisvel/tududi"
msg_info "Updating ${APP}"
cd /opt/tududi
$STD npm install
export NODE_ENV=production
$STD npm run frontend:build
mv ./dist ./backend
mv ./public/locales ./backend/dist
mv ./public/favicon.* ./backend/dist
mv /opt/tududi.env /opt/tududi/.env
msg_ok "Updated $APP"
msg_info "Starting Service"
systemctl start tududi
msg_ok "Started Service"
msg_ok "Updated Successfully"
else
msg_ok "Already up to date"
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}:3002${CL}"

View File

@@ -27,31 +27,35 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/VictoriaMetrics/VictoriaMetrics/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/VictoriaMetrics/VictoriaMetrics/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [[ ! -f ~/.victoriametrics ]] || [[ "${RELEASE}" != "$(cat ~/.victoriametrics)" ]]; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop victoriametrics systemctl stop victoriametrics
[[ -f /etc/systemd/system/victoriametrics-logs.service ]] && systemctl stop victoriametrics-logs
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
msg_info "Updating ${APP} to v${RELEASE}" victoriametrics_filename=$(curl -fsSL "https://api.github.com/repos/VictoriaMetrics/VictoriaMetrics/releases/latest" |
temp_dir=$(mktemp -d) jq -r '.assets[].name' |
cd $temp_dir grep -E '^victoria-metrics-linux-amd64-v[0-9.]+\.tar\.gz$')
curl -fsSL "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/victoria-metrics-linux-amd64-v${RELEASE}.tar.gz" -o $(basename "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/victoria-metrics-linux-amd64-v${RELEASE}.tar.gz") vmutils_filename=$(curl -fsSL "https://api.github.com/repos/VictoriaMetrics/VictoriaMetrics/releases/latest" |
curl -fsSL "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/vmutils-linux-amd64-v${RELEASE}.tar.gz" -o $(basename "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/vmutils-linux-amd64-v${RELEASE}.tar.gz") jq -r '.assets[].name' |
find /opt/victoriametrics -maxdepth 1 -type f -executable -delete grep -E '^vmutils-linux-amd64-v[0-9.]+\.tar\.gz$')
tar -xf victoria-metrics-linux-amd64-v${RELEASE}.tar.gz -C /opt/victoriametrics
tar -xf vmutils-linux-amd64-v${RELEASE}.tar.gz -C /opt/victoriametrics fetch_and_deploy_gh_release "victoriametrics" "VictoriaMetrics/VictoriaMetrics" "prebuild" "latest" "/opt/victoriametrics" "$victoriametrics_filename"
fetch_and_deploy_gh_release "vmutils" "VictoriaMetrics/VictoriaMetrics" "prebuild" "latest" "/opt/victoriametrics" "$vmutils_filename"
if [[ -f /etc/systemd/system/victoriametrics-logs.service ]]; then
fetch_and_deploy_gh_release "victorialogs" "VictoriaMetrics/VictoriaLogs" "prebuild" "latest" "/opt/victoriametrics" "victoria-logs-linux-amd64*.tar.gz"
fetch_and_deploy_gh_release "vlutils" "VictoriaMetrics/VictoriaLogs" "prebuild" "latest" "/opt/victoriametrics" "vlutils-linux-amd64*.tar.gz"
fi
chmod +x /opt/victoriametrics/* chmod +x /opt/victoriametrics/*
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start victoriametrics systemctl start victoriametrics
[[ -f /etc/systemd/system/victoriametrics-logs.service ]] && systemctl start victoriametrics-logs
msg_ok "Started $APP" msg_ok "Started $APP"
msg_info "Cleaning Up"
rm -rf $temp_dir
msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at ${RELEASE}" msg_ok "No update required. ${APP} is already at ${RELEASE}"

View File

@@ -41,6 +41,9 @@ function update_script() {
rm -rf /opt/wallos/db/wallos.empty.db rm -rf /opt/wallos/db/wallos.empty.db
mv /opt/wallos.db /opt/wallos/db/wallos.db mv /opt/wallos.db /opt/wallos/db/wallos.db
mv /opt/logos/* /opt/wallos/images/uploads/logos mv /opt/logos/* /opt/wallos/images/uploads/logos
if ! grep -q "storetotalyearlycost.php" /opt/wallos.cron; then
echo "30 1 * * 1 php /opt/wallos/endpoints/cronjobs/storetotalyearlycost.php >> /var/log/cron/storetotalyearlycost.log 2>&1" >> /opt/wallos.cron
fi
chown -R www-data:www-data /opt/wallos chown -R www-data:www-data /opt/wallos
chmod -R 755 /opt/wallos chmod -R 755 /opt/wallos
mkdir -p /var/log/cron mkdir -p /var/log/cron

View File

@@ -13,6 +13,7 @@ var_disk="${var_disk:-4}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
var_tun="${var_tun:-1}"
header_info "$APP" header_info "$APP"
variables variables

View File

@@ -45,13 +45,13 @@ function update_script() {
msg_info "Updating $APP to v${RELEASE}" msg_info "Updating $APP to v${RELEASE}"
cd /opt/wizarr cd /opt/wizarr
uv -q sync --locked /usr/local/bin/uv -q sync --locked
$STD uv -q run pybabel compile -d app/translations $STD /usr/local/bin/uv -q run pybabel compile -d app/translations
$STD npm --prefix app/static install $STD npm --prefix app/static install
$STD npm --prefix app/static run build:css $STD npm --prefix app/static run build:css
mkdir -p ./.cache mkdir -p ./.cache
$STD tar -xf "$BACKUP_FILE" --directory=/ $STD tar -xf "$BACKUP_FILE" --directory=/
$STD uv -q run flask db upgrade $STD /usr/local/bin/uv -q run flask db upgrade
msg_ok "Updated $APP to v${RELEASE}" msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP" msg_info "Starting $APP"

View File

@@ -7749,9 +7749,9 @@
} }
}, },
"node_modules/form-data": { "node_modules/form-data": {
"version": "4.0.3", "version": "4.0.4",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz",
"integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==", "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {

View File

@@ -10,7 +10,7 @@
"privileged": false, "privileged": false,
"interface_port": 80, "interface_port": 80,
"documentation": null, "documentation": null,
"website": "https://it-tools.tech/", "website": "https://sharevb-it-tools.vercel.app/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/it-tools.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/it-tools.webp",
"config_path": "", "config_path": "",
"description": "IT-Tools is a web-based suite of utilities designed to streamline and simplify various IT tasks, providing tools for developers and system administrators to manage their workflows efficiently.", "description": "IT-Tools is a web-based suite of utilities designed to streamline and simplify various IT tasks, providing tools for developers and system administrators to manage their workflows efficiently.",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": false, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": 6767, "interface_port": 6767,
"documentation": "https://wiki.bazarr.media/", "documentation": "https://wiki.bazarr.media/",

View File

@@ -9,8 +9,8 @@
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": 6060, "interface_port": 6060,
"documentation": "https://github.com/adityachandelgit/BookLore", "documentation": "https://booklore-app.github.io/booklore-docs/docs/getting-started",
"website": "https://github.com/adityachandelgit/BookLore", "website": "https://github.com/booklore-app/booklore",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/booklore.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/booklore.webp",
"config_path": "/opt/booklore_storage/.env", "config_path": "/opt/booklore_storage/.env",
"description": "BookLore is a self-hosted digital library for managing and reading books, offering a beautiful interface and support for metadata management. Built with a modern tech stack, it provides support for importing, organizing, and reading EPUBs and PDFs, while also managing cover images and book metadata.", "description": "BookLore is a self-hosted digital library for managing and reading books, offering a beautiful interface and support for metadata management. Built with a modern tech stack, it provides support for importing, organizing, and reading EPUBs and PDFs, while also managing cover images and book metadata.",

View File

@@ -1,40 +0,0 @@
{
"name": "Calibre-Web",
"slug": "calibre-web",
"categories": [
11
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8083,
"documentation": "https://github.com/janeczku/calibre-web/wiki",
"website": "https://github.com/janeczku/calibre-web",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/calibre-web.webp",
"config_path": "",
"description": "Calibre-Web is a web app for browsing, reading and downloading eBooks stored in a Calibre database.",
"install_methods": [
{
"type": "default",
"script": "ct/calibre-web.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 4,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": "admin",
"password": "admin123"
},
"notes": [
{
"text": "Add Calibre-Web Extras via `update`",
"type": "info"
}
]
}

View File

@@ -0,0 +1,35 @@
{
"name": "Cleanuparr",
"slug": "cleanuparr",
"categories": [
14
],
"date_created": "2025-07-25",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 11011,
"documentation": "https://cleanuparr.github.io/Cleanuparr/docs/",
"website": "https://github.com/Cleanuparr/Cleanuparr",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/cleanuparr.webp",
"config_path": "/opt/cleanuparr/config",
"description": "Cleanuparr is a tool for automating the cleanup of unwanted or blocked files in Sonarr, Radarr, and supported download clients like qBittorrent, Transmission, and Deluge. It removes incomplete, blocked, or malicious downloads and can trigger replacement searches to ensure your media library stays complete and up-to-date.",
"install_methods": [
{
"type": "default",
"script": "ct/cleanuparr.sh",
"resources": {
"cpu": 2,
"ram": 1024,
"hdd": 4,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

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