Compare commits

...

342 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
020c8a76c1 Update CHANGELOG.md (#7664)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-16 00:12:10 +00:00
community-scripts-pr-app[bot]
8f738e2d26 Update versions.json (#7663)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-16 02:11:44 +02:00
community-scripts-pr-app[bot]
e5e7547eca Update CHANGELOG.md (#7662)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 21:41:51 +00:00
community-scripts-pr-app[bot]
a383aa5679 Update CHANGELOG.md (#7661)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 21:11:06 +00:00
Hugo Dantas
ce68253564 Fix IPv6 provider setting in cloudflare-ddns-install.sh (#7660) 2025-09-15 23:10:45 +02:00
community-scripts-pr-app[bot]
65e561dcbe Update versions.json (#7657)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 14:05:44 +02:00
CanbiZ
dffb291a4f OpenWrt: Refactor and increase root-partition (#7653)
* move openwrt to correct naming

* Add disk size configuration for OpenWrt VM

Introduces a DISK_SIZE variable to allow setting disk size for OpenWrt VM in both default and advanced settings. Updates VM creation logic to use the specified disk size and improves output formatting for clarity.

* Update openwrt-vm.sh

* Update openwrt-vm.sh

* Update openwrt-vm.sh

* Add newline before loading message in openwrt-vm.sh

Prepends a newline to the loading message for improved output formatting in the openwrt-vm.sh script.

* Update openwrt-vm.sh

* rename vm

* Improve OpenWrt VM network configuration logic

Refactored network interface configuration to use a loop for more robust VM status checking and command delivery. Enhanced bridge interface setup with clearer messaging and improved variable handling. Minor shell syntax improvements for consistency.

* Update openwrt-vm.sh
2025-09-15 13:17:45 +02:00
community-scripts-pr-app[bot]
f3bcb3211c Update CHANGELOG.md (#7655)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 09:20:31 +00:00
community-scripts-pr-app[bot]
7c22fe5f46 Update CHANGELOG.md (#7654)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 09:19:59 +00:00
CanbiZ
600e739005 Refactor pv installation into ensure_pv function (#7642)
Moved pv installation logic into a reusable ensure_pv function in both haos-vm.sh and umbrel-os-vm.sh. This improves code clarity and avoids duplicate code for checking and installing the pv package.
2025-09-15 11:19:52 +02:00
CanbiZ
31be78878f Wikijs: Bump Node.js version to 22 (#7643)
* Update Node.js version to 22 in installer script

* Update wikijs.sh
2025-09-15 11:19:32 +02:00
community-scripts-pr-app[bot]
e47d62d575 Update .app files (#7651)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-15 10:50:08 +02:00
community-scripts-pr-app[bot]
ec58d6c622 Update CHANGELOG.md (#7652)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 08:43:48 +00:00
community-scripts-pr-app[bot]
bac2b6eade Update CHANGELOG.md (#7650)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 08:43:29 +00:00
community-scripts-pr-app[bot]
bb289203c6 Update date in json (#7649)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-15 08:43:22 +00:00
push-app-to-main[bot]
fe97056d19 SigNoz (#7648)
* 'Add new script'

* Change application name from 'signoz' to 'SigNoz'

* Update signoz-install.sh

* Update signoz-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>
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-09-15 10:42:57 +02:00
community-scripts-pr-app[bot]
65ba9192d9 Update CHANGELOG.md (#7647)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 07:54:59 +00:00
community-scripts-pr-app[bot]
8a096b9e6e Update CHANGELOG.md (#7646)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 07:54:43 +00:00
community-scripts-pr-app[bot]
1c6efa528b Update date in json (#7645)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-15 07:54:41 +00:00
push-app-to-main[bot]
89c3410f6f 'Add new script' (#7644)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-09-15 09:54:23 +02:00
community-scripts-pr-app[bot]
34b1d70762 Update CHANGELOG.md (#7639)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 00:14:24 +00:00
community-scripts-pr-app[bot]
1860847153 Update versions.json (#7638)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-15 02:14:01 +02:00
community-scripts-pr-app[bot]
58905bf94d Update versions.json (#7633)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-14 14:04:51 +02:00
community-scripts-pr-app[bot]
7d1788a079 Update CHANGELOG.md (#7630)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-14 00:13:26 +00:00
community-scripts-pr-app[bot]
83e04257d9 Update versions.json (#7629)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-14 02:13:05 +02:00
community-scripts-pr-app[bot]
11c33e34d2 Update CHANGELOG.md (#7628)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 23:12:13 +00:00
Chris
52df77cab5 Palmr: hotfix #7622 (#7625) 2025-09-14 01:11:54 +02:00
community-scripts-pr-app[bot]
17f6264a03 Update CHANGELOG.md (#7627)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 20:07:39 +00:00
Jonathan Wukitsch
9463b0b808 fix: tagline grammar (#7621) 2025-09-13 22:07:19 +02:00
community-scripts-pr-app[bot]
eba83f3848 Update CHANGELOG.md (#7626)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 19:44:12 +00:00
Tobias
e3f6ea73c3 pdm: refactor for beta version (#7619)
* pdm: refactor for beta version

* pdm: refactor for beta and deb13 preparation
2025-09-13 21:43:53 +02:00
community-scripts-pr-app[bot]
06247e742c Update CHANGELOG.md (#7623)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 17:41:10 +00:00
Tobias
4606782d6b ollama: fix: ccurl continue on interrupts (#7620) 2025-09-13 19:40:46 +02:00
community-scripts-pr-app[bot]
a988acf2d5 Update versions.json (#7618)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 14:04:49 +02:00
community-scripts-pr-app[bot]
5f44007372 Update CHANGELOG.md (#7612)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 07:20:42 +00:00
Chris
8b87272e38 Immich: bump to v1.142.0 (#7594)
* Immich: cleanup

- removing some redundant/unused stuff
- restoring proper output suppression for machine-learning build
- add more messages during custom library build

* Immich: bump to v1.142.0
2025-09-13 09:20:22 +02:00
community-scripts-pr-app[bot]
ceccf08f69 Update CHANGELOG.md (#7611)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 07:12:24 +00:00
Jonathan Wukitsch
5a80cd7e02 fix: grammar/capitalization for links and taglines (#7609)
* fix: grammar/capitalization for links and taglines

* fix: update number of total scripts
2025-09-13 09:11:59 +02:00
community-scripts-pr-app[bot]
d617a49766 Update CHANGELOG.md (#7608)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 00:12:34 +00:00
community-scripts-pr-app[bot]
7c0d79c115 Update versions.json (#7607)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-13 02:12:13 +02:00
community-scripts-pr-app[bot]
0d4a508543 Update CHANGELOG.md (#7606)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 19:28:52 +00:00
CanbiZ
f979dd2277 [core]: add fallback if mariadb upstream unreachable (#7599) 2025-09-12 21:28:28 +02:00
community-scripts-pr-app[bot]
87de220511 Update CHANGELOG.md (#7605)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 18:49:50 +00:00
Slaviša Arežina
481e70b0aa Increase resources (#7600) 2025-09-12 20:49:25 +02:00
community-scripts-pr-app[bot]
6c3a16e579 Update CHANGELOG.md (#7604)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 18:21:43 +00:00
community-scripts-pr-app[bot]
394f91c994 Update CHANGELOG.md (#7603)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 18:21:19 +00:00
community-scripts-pr-app[bot]
63a268d6c5 Update date in json (#7602)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-12 18:21:16 +00:00
push-app-to-main[bot]
9ee6e23a59 Stylus (#7588)
* 'Add new script'

* Update stylus.sh

* Update stylus-install.sh

* Update stylus.json

* fix stylus update

* cleanup

---------

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-09-12 20:20:58 +02:00
community-scripts-pr-app[bot]
eceb1cd53c Update CHANGELOG.md (#7601)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 18:20:30 +00:00
rell3k
719c55655d Update post-pve-install.sh (#7598)
Create directory if it doesn't exist.
2025-09-12 20:20:06 +02:00
community-scripts-pr-app[bot]
aeb15c7ea1 Update CHANGELOG.md (#7592)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 12:08:11 +00:00
community-scripts-pr-app[bot]
0c7a366782 Update date in json (#7591)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-12 12:07:51 +00:00
push-app-to-main[bot]
93a3a572d4 uhf (#7589)
* 'Add new script'

* Update uhf.sh

---------

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>
2025-09-12 14:07:30 +02:00
community-scripts-pr-app[bot]
8b2645a529 Update versions.json (#7590)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 14:06:23 +02:00
community-scripts-pr-app[bot]
b72e132699 Update CHANGELOG.md (#7587)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 10:30:23 +00:00
webmogul1
f4df8e2ccc Update openwebui.sh (#7582) 2025-09-12 12:30:00 +02:00
community-scripts-pr-app[bot]
f03f004226 Update CHANGELOG.md (#7584)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 00:13:59 +00:00
community-scripts-pr-app[bot]
b13c840bda Update versions.json (#7583)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-12 02:13:39 +02:00
community-scripts-pr-app[bot]
ce90647bda Update CHANGELOG.md (#7581)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 19:04:00 +00:00
push-app-to-main[bot]
164e487090 telegraf (#7576) 2025-09-11 21:03:34 +02:00
community-scripts-pr-app[bot]
a4660adedd Update CHANGELOG.md (#7580)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 16:47:46 +00:00
Siyuan Gao
9352eec854 Fix frontend url (#7578) 2025-09-11 18:47:21 +02:00
community-scripts-pr-app[bot]
4478f8f6e0 Update versions.json (#7574)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 14:05:43 +02:00
community-scripts-pr-app[bot]
d69cbcd941 Update CHANGELOG.md (#7573)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 12:01:38 +00:00
Bram Suurd
affcfd06cf Add margin-bottom to Most Viewed Scripts header (#7572) 2025-09-11 14:01:14 +02:00
community-scripts-pr-app[bot]
b94b088c19 Update CHANGELOG.md (#7571)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 11:15:36 +00:00
dvino
5385382a88 post-pve-install mobile nag fix (#7567) 2025-09-11 13:15:07 +02:00
community-scripts-pr-app[bot]
d06ad37a22 Update CHANGELOG.md (#7570)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 10:44:37 +00:00
Slaviša Arežina
72c7d4199b Sort functions (#7569) 2025-09-11 12:44:13 +02:00
community-scripts-pr-app[bot]
2e75ced83f Update CHANGELOG.md (#7568)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 09:49:40 +00:00
Burrito
9a28ce0263 alpine-install: switch to using GitHub to fetch tools when using GitHub (#7566) 2025-09-11 11:49:14 +02:00
community-scripts-pr-app[bot]
9ed2507bdc Update CHANGELOG.md (#7564)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 00:12:39 +00:00
community-scripts-pr-app[bot]
c617870c2b Update versions.json (#7563)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-11 02:12:16 +02:00
community-scripts-pr-app[bot]
eb71d21ea3 Update CHANGELOG.md (#7559)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-10 17:56:21 +00:00
Chris
762452b2b3 Palmr: fix #7556 (#7558) 2025-09-10 19:55:54 +02:00
community-scripts-pr-app[bot]
31cd3e3119 Update CHANGELOG.md (#7557)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-10 16:14:06 +00:00
Tobias
c25dba9212 Remove Pingvin Share (#7553) 2025-09-10 18:13:40 +02:00
community-scripts-pr-app[bot]
52cefe4a00 Update CHANGELOG.md (#7555)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-10 14:22:22 +00:00
Chris
7b8fcab242 Wizarr: fix #7545 (#7552)
- ensure to delete contents of migrations/versions folder prior to flask
operations
- use `--frozen` for uv operations rather than locking
2025-09-10 16:21:52 +02:00
community-scripts-pr-app[bot]
b733e8b5ea Update CHANGELOG.md (#7554)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-10 14:20:55 +00:00
CanbiZ
4a4e67a3cf Refactor: audiobookshelf (#7538)
Increase default disk size from 4GB to 5GB and mark audiobookshelf as updateable in JSON. Update install script to explicitly install ffmpeg and set FFMPEG/FFPROBE paths in /etc/default/audiobookshelf. Revise update logic to use /etc/default/audiobookshelf as installation check and perform apt updates/upgrades.
2025-09-10 16:20:26 +02:00
community-scripts-pr-app[bot]
b00feea00d Update CHANGELOG.md (#7549)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-10 12:41:46 +00:00
CanbiZ
c250cec418 Refactor: Blocky (#7537)
Updated blocky.sh to improve update logic, including backup and restore of config, service management, and release fetching. Refactored blocky-install.sh to use fetch_and_deploy_gh_release for installation, removing manual release handling. Set Blocky as updateable in blocky.json.
2025-09-10 14:41:25 +02:00
community-scripts-pr-app[bot]
a0af0f5196 Update CHANGELOG.md (#7548)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-10 12:38:50 +00:00
Chris
2f0b6e10ab Palmr v3.2.1-beta (#7526)
- Add CUSTOM_PATH env var with comment
- Update JSON: add note about new env var
- Update JSON: remove warning about RAM - now advisable to leave as-is
2025-09-10 14:38:19 +02:00
community-scripts-pr-app[bot]
a41364d91d Update CHANGELOG.md (#7547)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-10 12:37:41 +00:00
CanbiZ
e580a5d9c1 Add external installer warnings and user confirmation (#7539)
Added explicit warnings and user confirmation prompts to install scripts that run external installers from third-party sources. Updated JSON metadata to remove warning notes about external sources, as the scripts now handle user notification and consent directly. This improves transparency and user safety during installation.
2025-09-10 14:37:12 +02:00
community-scripts-pr-app[bot]
9d059b2a13 Update versions.json (#7546)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-10 14:05:11 +02:00
community-scripts-pr-app[bot]
6e32eebdf0 Update CHANGELOG.md (#7544)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-10 11:41:03 +00:00
community-scripts-pr-app[bot]
7f3ebd4296 Update CHANGELOG.md (#7543)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-10 11:40:49 +00:00
community-scripts-pr-app[bot]
0c4d55bd78 Update date in json (#7542)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-10 11:40:41 +00:00
push-app-to-main[bot]
8f05be3f6b Autocaliweb (#7515)
* 'Add new script'

* cleanup

* Update logo URL in autocaliweb.json

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-09-10 13:40:15 +02:00
community-scripts-pr-app[bot]
e06cd4b28c Update CHANGELOG.md (#7541)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-10 11:00:42 +00:00
CanbiZ
b9242b3232 fix: pmg - split no-nag script into separate config files (#7540) 2025-09-10 13:00:19 +02:00
community-scripts-pr-app[bot]
63f6d772ea Update CHANGELOG.md (#7536)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-10 07:44:30 +00:00
CanbiZ
652df1f370 Set updateable to true for all JSON app configs (#7534) 2025-09-10 09:44:09 +02:00
community-scripts-pr-app[bot]
f4b5baf308 Update CHANGELOG.md (#7535)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-10 07:15:02 +00:00
Michel Roegl-Brunner
cc36fd5434 Booklore: Add Bookdrop location to .env (#7533) 2025-09-10 09:14:41 +02:00
CanbiZ
3e182978ad Improve npmplus credential retrieval and messaging (#7532)
* Improve npmplus credential retrieval and messaging

Enhanced the install script to attempt live log monitoring for credentials if not found initially, and updated the info message in npmplus.json to guide users to check docker logs if the credentials file is missing.

* Update npmplus.json

* Change updateable status to true in npmplus.json
2025-09-10 09:14:15 +02:00
community-scripts-pr-app[bot]
e7adf1a9b5 Update CHANGELOG.md (#7529)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-10 00:12:25 +00:00
community-scripts-pr-app[bot]
36fb86eaf8 Update versions.json (#7528)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-10 02:12:00 +02:00
community-scripts-pr-app[bot]
495c47224e Update CHANGELOG.md (#7525)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-09 21:23:22 +00:00
community-scripts-pr-app[bot]
7af71384b4 Update CHANGELOG.md (#7524)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-09 21:18:08 +00:00
dependabot[bot]
e318152ee3 Bump vite from 7.0.0 to 7.1.5 in /frontend (#7522)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.0.0 to 7.1.5.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.1.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-09 23:17:43 +02:00
community-scripts-pr-app[bot]
17dc7c90a1 Update CHANGELOG.md (#7521)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-09 20:35:29 +00:00
Chris
226a5bce8f Pulse: standardise install/update with Pulse repo script (#7519)
- revert the pulse => pulse-backend service name change
- remove message about older installs
- symlink pulse binary to /usr/local/bin
2025-09-09 22:35:04 +02:00
community-scripts-pr-app[bot]
ffd2ed01b9 Update CHANGELOG.md (#7518)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-09 17:13:00 +00:00
Chris
3348e2fff0 Tududi: v0.81 (#7517) 2025-09-09 19:12:27 +02:00
community-scripts-pr-app[bot]
def41f66f4 Update CHANGELOG.md (#7516)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-09 14:48:50 +00:00
Slaviša Arežina
02a1a732f8 WGDashboard: Revert back to old update method (#7500)
* Revert back to git clone

* Add git to sh
2025-09-09 16:48:12 +02:00
community-scripts-pr-app[bot]
2494af7e1c Update CHANGELOG.md (#7514)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-09 13:39:02 +00:00
CanbiZ
0c4711d99f Change category ID from 15 to 13 in swizzin.json (#7511) 2025-09-09 15:38:33 +02:00
community-scripts-pr-app[bot]
039f73a5ed Update versions.json (#7512)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-09 14:05:31 +02:00
CanbiZ
74b58d5b10 planka: fix copy issue 2025-09-09 11:40:59 +02:00
community-scripts-pr-app[bot]
61044104a2 Update CHANGELOG.md (#7510)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-09 09:25:29 +00:00
CanbiZ
fac612077a AdventureLog: remove folder during update process (#7507) 2025-09-09 11:24:58 +02:00
community-scripts-pr-app[bot]
135b3ff964 Update CHANGELOG.md (#7509)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-09 09:22:02 +00:00
Slaviša Arežina
393b853119 Fix backup and restore (#7505) 2025-09-09 11:21:38 +02:00
community-scripts-pr-app[bot]
6bb2938e34 Update CHANGELOG.md (#7503)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-09 07:52:08 +00:00
Slaviša Arežina
fbf16fd54d Fixes (#7502) 2025-09-09 09:51:38 +02:00
community-scripts-pr-app[bot]
d6d4fd034f Update CHANGELOG.md (#7501)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-09 07:28:55 +00:00
Bram Suurd
aa4999dac6 Refactor GitHubStarsButton to wrap in Link component for external navigation (#7492) 2025-09-09 09:28:32 +02:00
community-scripts-pr-app[bot]
b6c0b50e79 Update CHANGELOG.md (#7495)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-09 00:13:49 +00:00
community-scripts-pr-app[bot]
0f07f1927e Update versions.json (#7494)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-09 02:13:21 +02:00
community-scripts-pr-app[bot]
4493d86e51 Update CHANGELOG.md (#7490)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-08 19:06:13 +00:00
Chris
fbfeeeb88f Immich: bump to version 1.141.1 (#7418) 2025-09-08 21:05:50 +02:00
community-scripts-pr-app[bot]
2366111bba Update CHANGELOG.md (#7486)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-08 12:28:04 +00:00
CanbiZ
5fb42b87f1 CT's: fix missing variable declaration (actualBudget, openziti, umlautadaptarr) (#7483) 2025-09-08 14:27:40 +02:00
community-scripts-pr-app[bot]
500c35c58d Update CHANGELOG.md (#7484)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-08 12:18:24 +00:00
Tobias
ca3446c90e Change ExecStart to use index.js instead of index.mjs (#7482) 2025-09-08 14:18:04 +02:00
CanbiZ
4c3d42d5d1 fix verbose 2025-09-08 14:09:20 +02:00
CanbiZ
299a10efe8 Update build.func 2025-09-08 14:07:25 +02:00
community-scripts-pr-app[bot]
7adac2a342 Update versions.json (#7481)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-08 14:05:54 +02:00
community-scripts-pr-app[bot]
eb58b10d75 Update CHANGELOG.md (#7480)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-08 12:03:58 +00:00
CanbiZ
5e46d81c45 [core]: switch all base_settings to variables (#7479) 2025-09-08 14:03:34 +02:00
community-scripts-pr-app[bot]
2963926c45 Update CHANGELOG.md (#7478)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-08 10:50:01 +00:00
Bram Suurd
d9a0b863a8 Format numerical values in DataFetcher component for better readability (#7477) 2025-09-08 12:49:38 +02:00
community-scripts-pr-app[bot]
db6369f3c6 Update CHANGELOG.md (#7476)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-08 09:58:53 +00:00
Slaviša Arežina
d450e263f0 Update (#7473) 2025-09-08 11:58:29 +02:00
community-scripts-pr-app[bot]
462960d9bf Update CHANGELOG.md (#7472)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-08 06:42:51 +00:00
Bram Suurd
8ea4829e8a feat: enhance github stars button to be better looking and more compact (#7464)
* feat: enhance github stars button to be better looking and more compact to make mobile compatibility easier in the future

* feat: introduce a new Button component
2025-09-08 08:42:31 +02:00
community-scripts-pr-app[bot]
c5d23dc883 Update CHANGELOG.md (#7471)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-08 06:01:46 +00:00
Seb Guy
3dc973e4ac Update searxng-install.sh (#7469) 2025-09-08 08:01:26 +02:00
community-scripts-pr-app[bot]
751f488f9e Update CHANGELOG.md (#7467)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-08 00:12:50 +00:00
community-scripts-pr-app[bot]
0ed4363247 Update versions.json (#7466)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-08 02:12:28 +02:00
community-scripts-pr-app[bot]
e77612c27e Update CHANGELOG.md (#7461)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-07 19:19:11 +00:00
Tobias
59c8e214af Update ExecStart path for karakeep service (#7460) 2025-09-07 21:18:46 +02:00
community-scripts-pr-app[bot]
c790f03a6b Update versions.json (#7454)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-07 14:04:47 +02:00
community-scripts-pr-app[bot]
54d4d58b15 Update CHANGELOG.md (#7450)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-07 00:13:32 +00:00
community-scripts-pr-app[bot]
889a58c00e Update versions.json (#7449)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-07 02:13:05 +02:00
community-scripts-pr-app[bot]
e9a5d7587a Update CHANGELOG.md (#7448)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-06 22:05:03 +00:00
community-scripts-pr-app[bot]
6f84046741 Update CHANGELOG.md (#7447)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-06 22:04:44 +00:00
Ivan Penchev
ff96351db8 feat: added mobile ui subscription nag removal (#7164)
* feat: added mobile ui nag removal

* chore: remove my ansible comment
2025-09-07 00:04:38 +02:00
community-scripts-pr-app[bot]
1b632199b3 Update CHANGELOG.md (#7446)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-06 22:04:26 +00:00
community-scripts-pr-app[bot]
9fb02a93b4 Update date in json (#7445)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-06 22:04:23 +00:00
push-app-to-main[bot]
3aa56651d8 'Add new script' (#7442)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-09-07 00:04:06 +02:00
community-scripts-pr-app[bot]
17d4c59041 Update versions.json (#7441)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-06 14:04:48 +02:00
community-scripts-pr-app[bot]
2bfb35779b Update CHANGELOG.md (#7437)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-06 09:03:16 +00:00
EtlamGit
83b93390c9 use debian source for direct installation of MQTT (#7423)
as newer Debian contains mosquitto in sources, directly install it without adding extra repository
2025-09-06 11:02:54 +02:00
community-scripts-pr-app[bot]
7ce47ad414 Update CHANGELOG.md (#7433)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-06 06:36:37 +00:00
community-scripts-pr-app[bot]
646e0c31f4 Update CHANGELOG.md (#7432)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-06 06:36:20 +00:00
community-scripts-pr-app[bot]
0c7e200a94 Update date in json (#7431)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-06 06:36:18 +00:00
push-app-to-main[bot]
a9b02b3e9c 'Add new script' (#7414) 2025-09-06 08:36:01 +02:00
community-scripts-pr-app[bot]
b62adc2c5c Update CHANGELOG.md (#7430)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-06 06:35:57 +00:00
Austin
3438b046e5 MediaManager Configuration Path (#7408) 2025-09-06 08:35:40 +02:00
community-scripts-pr-app[bot]
cbd6d6d0f3 Update CHANGELOG.md (#7429)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-06 06:35:36 +00:00
Slaviša Arežina
cf6c429c57 Remove default creds (#7403) 2025-09-06 08:35:12 +02:00
community-scripts-pr-app[bot]
bbe71cbbb9 Update CHANGELOG.md (#7428)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-06 00:12:58 +00:00
community-scripts-pr-app[bot]
9b6a736c8c Update versions.json (#7427)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-06 02:12:30 +02:00
community-scripts-pr-app[bot]
c395ccc270 Update CHANGELOG.md (#7421)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-05 17:28:01 +00:00
Chris
3dd72e08e9 Pin version to 0.80 (#7420)
- a lot of changes in next version
2025-09-05 19:27:40 +02:00
community-scripts-pr-app[bot]
1d989bea73 Update versions.json (#7417)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-05 14:05:32 +02:00
community-scripts-pr-app[bot]
f881b88344 Update CHANGELOG.md (#7411)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-05 06:07:57 +00:00
Slaviša Arežina
06dbad83ef AdventureLog: Update dependencies (#7404)
* Update adventurelog-install.sh

* Check and install memcached if not present

---------

Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-09-05 08:07:34 +02:00
community-scripts-pr-app[bot]
7ff966b042 Update CHANGELOG.md (#7410)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-05 05:24:44 +00:00
Bram Suurd
62264f37a6 refactor: Enhance ScriptAccordion and Sidebar components to support selectedCategory state (#7405)
* refactor: Enhance ScriptAccordion and Sidebar components to support selectedCategory state

* lint

* chore: Add ESLint configuration to ignore errors during builds in next.config.mjs
2025-09-05 07:24:19 +02:00
community-scripts-pr-app[bot]
bf05dabc4c Update CHANGELOG.md (#7407)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-05 00:13:38 +00:00
community-scripts-pr-app[bot]
bc229d9738 Update versions.json (#7406)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-05 02:13:07 +02:00
community-scripts-pr-app[bot]
969b08caa8 Update CHANGELOG.md (#7399)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-04 14:23:31 +00:00
Mike Hennessy
c1c43ed2cb fix: Syntax error in Immich scripts (#7398)
* fix: Syntax error in Immich scripts

* fix: Remove exit pipes
2025-09-04 16:22:47 +02:00
community-scripts-pr-app[bot]
e74767d1a4 Update CHANGELOG.md (#7396)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-04 12:46:19 +00:00
Chris
e9e17f4f51 Immich: pin compiled photo library revisions (#7395)
- Immich base has already switched to Trixie; until we get a Trixie LXC
any further updates to the base image might conflict with our Bookworm
LXC
2025-09-04 14:45:55 +02:00
community-scripts-pr-app[bot]
2c1b15a40e Update versions.json (#7394)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-04 14:05:20 +02:00
community-scripts-pr-app[bot]
a4bfaf1646 Update CHANGELOG.md (#7393)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-04 08:28:32 +00:00
CanbiZ
6fa12cc814 Netdata: Fix pve_check for 8 (#7392) 2025-09-04 10:28:09 +02:00
community-scripts-pr-app[bot]
d314168a37 Update CHANGELOG.md (#7390)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-04 00:12:13 +00:00
community-scripts-pr-app[bot]
d6ad11c5c2 Update versions.json (#7389)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-04 02:11:47 +02:00
community-scripts-pr-app[bot]
534592b44a Update CHANGELOG.md (#7386)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-03 18:33:13 +00:00
Slaviša Arežina
d9b6b58b36 Increase HDD size (#7384) 2025-09-03 20:32:52 +02:00
community-scripts-pr-app[bot]
298eb7e83d Update CHANGELOG.md (#7380)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-03 12:56:32 +00:00
Chris
c2dd1e413f Wizarr: fix uv lock issue; use correct output suppression (#7378) 2025-09-03 14:56:04 +02:00
community-scripts-pr-app[bot]
a4f1766408 Update CHANGELOG.md (#7379)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-03 12:45:49 +00:00
Bram Suurd
a24169e9b8 Fix navigation (#7376)
* Removed double entries from the search to improve navigation

* change input on search field to improve searchability

* added type to search to make sure that LXC and VM's dont get mixed up

* run linting over changes

---------

Co-authored-by: Bram Suurd <bram.suurd@infracom.nl>
2025-09-03 14:45:24 +02:00
community-scripts-pr-app[bot]
45a2163e66 Update CHANGELOG.md (#7377)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-03 12:43:16 +00:00
Slaviša Arežina
2fc3e62d60 Fix paths (#7374) 2025-09-03 14:42:52 +02:00
community-scripts-pr-app[bot]
210b846d61 Update versions.json (#7375)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-03 14:06:04 +02:00
community-scripts-pr-app[bot]
b04cfb65f7 Update CHANGELOG.md (#7369)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-03 07:25:57 +00:00
Desert Gamer
6a2fc4083b Enhanced IP-Tag installation script with interactive configuration, improved VM IP detection, and better visual indicators (#7366)
- **Interactive Configuration**: Added setup wizard for `TAG_FORMAT` (last_two_octets/last_octet/full) and `LOOP_INTERVAL` (30-7200 seconds) during installation/update
- **Unified Installation Menu**: Replaced conditional service detection with unified menu offering install-with-service, install-command-only, and update options
- **Post-Installation Guidance**: Added comprehensive information display about configuration file location (`/opt/iptag/iptag.conf`) and required CIDR_LIST setup
- **Improved VM IP Detection**: Enhanced IP discovery with QM guest agent priority, ARP table validation via ping, and automatic removal of stale ARP entries
- **Visual Indicators**: Replaced emoji symbols with standard ASCII characters (✓/✗) with proper colors for better terminal compatibility
- **Simplified Update Process**: Removed complex service detection logic and provided direct update option in main menu

These changes address user feedback about complex installation requirements, VM IP detection issues, and provide clearer guidance for network subnet configuration.
2025-09-03 09:25:37 +02:00
community-scripts-pr-app[bot]
f7f53943c2 Update CHANGELOG.md (#7365)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-03 00:12:00 +00:00
community-scripts-pr-app[bot]
31f4d9b16c Update versions.json (#7364)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-03 02:11:34 +02:00
community-scripts-pr-app[bot]
cd4cd5eec1 Update CHANGELOG.md (#7361)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-02 20:17:14 +00:00
Slaviša Arežina
8a7eeee727 Add max upload size to nginx (#7358) 2025-09-02 22:16:48 +02:00
community-scripts-pr-app[bot]
be5d65f421 Update CHANGELOG.md (#7357)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-02 16:40:41 +00:00
CanbiZ
591af3f109 Increase default disk size for Apt-Cacher-NG (#7352) 2025-09-02 18:40:22 +02:00
community-scripts-pr-app[bot]
a3e0df9de1 Update CHANGELOG.md (#7356)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-02 16:39:59 +00:00
CanbiZ
596699d07e booklore: remove folder before update (#7351) 2025-09-02 18:39:39 +02:00
community-scripts-pr-app[bot]
b2275b44c2 Update CHANGELOG.md (#7355)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-02 16:35:45 +00:00
Chris
737842fb1e Immich: bump version to 1.140.1 (#7349) 2025-09-02 18:35:22 +02:00
community-scripts-pr-app[bot]
646cb2bc30 Update versions.json (#7347)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-02 14:05:31 +02:00
community-scripts-pr-app[bot]
4599bfe052 Update CHANGELOG.md (#7345)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-02 07:42:14 +00:00
CanbiZ
bb85b1d4ac pbs: increase note on website for ipv6 (#7339) 2025-09-02 09:41:52 +02:00
community-scripts-pr-app[bot]
57ae4a48a7 Update CHANGELOG.md (#7342)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-02 00:12:51 +00:00
community-scripts-pr-app[bot]
06e8460851 Update versions.json (#7341)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-02 02:12:31 +02:00
community-scripts-pr-app[bot]
9713c95bf4 Update CHANGELOG.md (#7340)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-01 17:58:39 +00:00
dependabot[bot]
705748bba5 Bump next from 15.2.4 to 15.5.2 in /frontend (#7309)
Bumps [next](https://github.com/vercel/next.js) from 15.2.4 to 15.5.2.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v15.2.4...v15.5.2)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.5.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-01 19:58:17 +02:00
community-scripts-pr-app[bot]
022f079821 Update CHANGELOG.md (#7338)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-01 13:02:32 +00:00
CanbiZ
80d75731a8 Refactor + Feature Bump: HomeAssistant OS (#7336) 2025-09-01 15:02:10 +02:00
community-scripts-pr-app[bot]
227721a72f Update CHANGELOG.md (#7337)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-01 13:00:47 +00:00
CanbiZ
5572a7a0ab UmbrelOS: Refactor / use q35 / better import (#7329)
* UmbrelOS: Improve VM Import Process

* q35 Feature-Bump

* Update umbrel-os-vm.sh

* Update umbrel-os-vm.sh

* Update umbrel-os-vm.sh

* temp folder for big file

* Update umbrel-os-vm.sh

* update MACH (adv. Settings)

* Update umbrel-os-vm.sh

* Formatting

* Update umbrel-os-vm.sh

* Refactor

* Update umbrel-os-vm.sh

* Update umbrel-os-vm.sh
2025-09-01 15:00:23 +02:00
community-scripts-pr-app[bot]
6a69185a2d Update versions.json (#7334)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-01 14:06:31 +02:00
community-scripts-pr-app[bot]
77441b6189 Update CHANGELOG.md (#7333)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-01 10:42:23 +00:00
CanbiZ
4aa337c2f2 booklore: add note for start-up in frontend (#7331) 2025-09-01 12:42:06 +02:00
finkerle
4bd2f6866a Update configarr.sh (#7323) 2025-09-01 12:41:45 +02:00
community-scripts-pr-app[bot]
377de80103 Update CHANGELOG.md (#7330)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-01 07:38:44 +00:00
CanbiZ
1c62d4614e Harmonize GitHub Release Check (#7328) 2025-09-01 09:38:20 +02:00
community-scripts-pr-app[bot]
a91f7410a4 Update CHANGELOG.md (#7327)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-01 00:14:57 +00:00
community-scripts-pr-app[bot]
528c0a8de5 Update versions.json (#7326)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-01 02:14:38 +02:00
community-scripts-pr-app[bot]
988bd3ef19 Update CHANGELOG.md (#7322)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-31 14:52:16 +00:00
Slaviša Arežina
99d9664ae4 Increase disk size (#7320) 2025-08-31 16:51:56 +02:00
community-scripts-pr-app[bot]
09649eb5b1 Update versions.json (#7317)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-31 14:04:56 +02:00
community-scripts-pr-app[bot]
5c49ba784a Update CHANGELOG.md (#7315)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-31 00:14:09 +00:00
community-scripts-pr-app[bot]
469f959911 Update versions.json (#7314)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-31 02:13:44 +02:00
community-scripts-pr-app[bot]
7504c4b7e9 Update versions.json (#7313)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-30 14:05:59 +02:00
community-scripts-pr-app[bot]
9a6047393d Update CHANGELOG.md (#7312)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-30 11:12:54 +00:00
Tobias
dec2ef817a Refactor gitea-mirror env-file (#7240) 2025-08-30 13:12:35 +02:00
community-scripts-pr-app[bot]
54a9bc8841 Update CHANGELOG.md (#7310)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-30 06:54:37 +00:00
Chris
8def7c0f0a Bump to v1.140.0 (#7275) 2025-08-30 08:54:16 +02:00
community-scripts-pr-app[bot]
13cbc2756b Update CHANGELOG.md (#7306)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-30 00:12:23 +00:00
community-scripts-pr-app[bot]
933928c4ee Update versions.json (#7305)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-30 02:11:41 +02:00
Andrej Kocijan
2beaab0d88 Fix alpine redlib slug (#7303) 2025-08-30 00:04:59 +02:00
community-scripts-pr-app[bot]
560ed60745 Update CHANGELOG.md (#7301)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-29 20:58:59 +00:00
community-scripts-pr-app[bot]
46febb33a9 Update CHANGELOG.md (#7300)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-29 20:58:38 +00:00
CanbiZ
ddd8e0ee68 fix version check for pocket-id migration (#7298) 2025-08-29 22:58:31 +02:00
CanbiZ
be255263c6 Refactor release fetching and version checking logic (#7299) 2025-08-29 22:58:19 +02:00
CanbiZ
c8d969d38a Replace output redirection with touch command 2025-08-29 22:21:15 +02:00
CanbiZ
96511325ab Fix GitHub release check for homebox 2025-08-29 17:07:41 +02:00
CanbiZ
bc545df207 qf: create file if not exist 2025-08-29 16:20:21 +02:00
CanbiZ
36bf265fc6 improve update-pinning 2025-08-29 14:20:12 +02:00
CanbiZ
892ad29c60 fix broken exit 2025-08-29 14:16:18 +02:00
community-scripts-pr-app[bot]
a5d02b5459 Update versions.json (#7289)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-29 14:05:08 +02:00
community-scripts-pr-app[bot]
3ccf9924a1 Update CHANGELOG.md (#7287)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-29 11:32:06 +00:00
Slaviša Arežina
953bbd7978 Update zitadel-install.sh (#7284) 2025-08-29 13:31:43 +02:00
community-scripts-pr-app[bot]
4228cb99db Update CHANGELOG.md (#7283)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-29 10:37:18 +00:00
CanbiZ
f7791fe2ff post-pbs: increase enterprise recognition (#7280) 2025-08-29 12:36:55 +02:00
community-scripts-pr-app[bot]
616c736428 Update CHANGELOG.md (#7282)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-29 10:30:11 +00:00
CanbiZ
ede5f35f39 [core]: feature - check_for_gh_release - version pinning (#7279)
* [core]: feature - check_for_gh_release - version pinning

* Modify usage comments for check_for_gh_release

Updated usage example for check_for_gh_release function.

* Refactor jq installation command with STD variable

* remove unneeded dev/null
2025-08-29 12:29:52 +02:00
community-scripts-pr-app[bot]
b73bfdf7fd Update CHANGELOG.md (#7281)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-29 10:27:46 +00:00
CanbiZ
9305a4ca85 [feat]: migrate all update_scripts to new version helper (gh) (#7262)
* first migrations

* finalize

* add fix kometa inside function
2025-08-29 12:27:24 +02:00
Chris
54b59e24ca Add PVE version to bug report template (#7276) 2025-08-29 09:46:56 +02:00
community-scripts-pr-app[bot]
d57c613535 Update CHANGELOG.md (#7278)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-29 06:55:54 +00:00
Abe Brandsma
f02525af8a Fix typo where install mode was changed instead of pinned version (#7277) 2025-08-29 08:55:30 +02:00
community-scripts-pr-app[bot]
f19659bea0 Update CHANGELOG.md (#7274)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-29 00:13:05 +00:00
community-scripts-pr-app[bot]
9cfb549dca Update versions.json (#7273)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-29 02:12:39 +02:00
community-scripts-pr-app[bot]
ba09cbd9cc Update CHANGELOG.md (#7270)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-28 21:28:55 +00:00
community-scripts-pr-app[bot]
bc4d09b073 Update CHANGELOG.md (#7269)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-28 21:27:41 +00:00
Chris
fb2d91abe7 MMDL: add build-essential as dep (#7266)
- fixes #7265?
2025-08-28 23:27:16 +02:00
Slaviša Arežina
5146385f4c Remove hoarder (#7260) 2025-08-28 21:21:21 +02:00
community-scripts-pr-app[bot]
346a8e140c Update CHANGELOG.md (#7259)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-28 13:44:07 +00:00
Slaviša Arežina
42aa8f8868 Update keycloak.json (#7256) 2025-08-28 15:43:42 +02:00
community-scripts-pr-app[bot]
459772162f Update CHANGELOG.md (#7257)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-28 12:44:25 +00:00
CanbiZ
1d65650d28 [core]: feature - check_for_gh_release as update-handler (#7254) 2025-08-28 14:43:56 +02:00
community-scripts-pr-app[bot]
a2099bc195 Update versions.json (#7255)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-28 14:05:06 +02:00
community-scripts-pr-app[bot]
896545ab1b Update CHANGELOG.md (#7251)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-28 09:23:55 +00:00
CanbiZ
522f427677 Flaresolverr: Pin to 3.3.25 (Python Issue) (#7248) 2025-08-28 11:23:35 +02:00
community-scripts-pr-app[bot]
5d70455d93 Update CHANGELOG.md (#7250)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-28 09:23:18 +00:00
community-scripts-pr-app[bot]
01a91d8b4f Update date in json (#7249)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-08-28 09:23:13 +00:00
push-app-to-main[bot]
f66a60ee47 MediaManager (#7238) 2025-08-28 11:22:51 +02:00
community-scripts-pr-app[bot]
b4e74b2a17 Update CHANGELOG.md (#7247)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-28 05:18:17 +00:00
moshekv
644e5900d9 add support for multiple ip addresses in monitor-all.sh (#7244) 2025-08-28 07:17:58 +02:00
community-scripts-pr-app[bot]
3f3f536ebe Update CHANGELOG.md (#7246)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-28 00:12:52 +00:00
community-scripts-pr-app[bot]
baa39d05a5 Update versions.json (#7245)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-28 02:12:30 +02:00
community-scripts-pr-app[bot]
a85bca7326 Update versions.json (#7237)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-27 14:05:38 +02:00
community-scripts-pr-app[bot]
6defba8ab3 Update CHANGELOG.md (#7235)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-27 07:51:51 +00:00
CanbiZ
59f6329e85 searxng: improve installation (#7233) 2025-08-27 09:51:28 +02:00
CanbiZ
856c724b5d Update homebox service paths in homebox.sh 2025-08-27 09:38:14 +02:00
community-scripts-pr-app[bot]
67a20a9b4a Update CHANGELOG.md (#7234)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-27 07:33:10 +00:00
CanbiZ
27cd66f48a Homebox: Fix Update Script (#7232)
* Homebox: Fix Update Script

* Update homebox.sh to improve executable removal logic
2025-08-27 09:32:45 +02:00
community-scripts-pr-app[bot]
d25a12c87e Update CHANGELOG.md (#7230)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-27 00:14:23 +00:00
community-scripts-pr-app[bot]
e24315c50b Update versions.json (#7229)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-27 02:14:00 +02:00
community-scripts-pr-app[bot]
753ed67b50 Update CHANGELOG.md (#7223)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 13:13:41 +00:00
CanbiZ
d6e498050f Refactor: Post-PBS Script (#7213) 2025-08-26 15:13:16 +02:00
community-scripts-pr-app[bot]
4a69a7b39f Update CHANGELOG.md (#7222)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 12:15:48 +00:00
community-scripts-pr-app[bot]
1dcde93b4a Update date in json (#7221)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-08-26 12:15:18 +00:00
push-app-to-main[bot]
663c6570f4 tracktor (#7190)
* 'Add new script'

* Update tracktor.sh

* Update tracktor.json

---------

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>
2025-08-26 14:14:52 +02:00
community-scripts-pr-app[bot]
6a17e25871 Update CHANGELOG.md (#7220)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 12:10:28 +00:00
Slaviša Arežina
e609552cec Update docs URL (#7201) 2025-08-26 14:10:01 +02:00
community-scripts-pr-app[bot]
bd4b781c9e Update CHANGELOG.md (#7219)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 12:07:45 +00:00
CanbiZ
7eb6715a1f PBS: Upgrade Script for v4 (#7214)
* Refactor: Post-PBS Script

* PBS4-Upgrade-Script

* Remove unintended changes to post-pbs-install.sh
2025-08-26 14:07:16 +02:00
community-scripts-pr-app[bot]
aa0190978f Update versions.json (#7218)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 14:06:17 +02:00
community-scripts-pr-app[bot]
e0f5e588e0 Update CHANGELOG.md (#7217)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 12:05:55 +00:00
CanbiZ
3949e2e049 Refactor: Post-PMG-Script (#7212) 2025-08-26 14:05:30 +02:00
community-scripts-pr-app[bot]
ab4560b879 Update date in json (#7216)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-08-26 11:09:30 +00:00
CanbiZ
b8f854e7ad Create searxng.json 2025-08-26 13:08:56 +02:00
community-scripts-pr-app[bot]
ea1c5b4561 Update CHANGELOG.md (#7209)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 00:13:12 +00:00
community-scripts-pr-app[bot]
957eea7a0f Update versions.json (#7208)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 02:12:53 +02:00
community-scripts-pr-app[bot]
476fcedfe0 Update CHANGELOG.md (#7206)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 20:55:19 +00:00
community-scripts-pr-app[bot]
d590e91597 Update CHANGELOG.md (#7205)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 20:50:00 +00:00
Chris
8c796a0870 Immich: bump to v1.139.4 (#7138) 2025-08-25 22:49:38 +02:00
community-scripts-pr-app[bot]
b57efdb78a Update CHANGELOG.md (#7204)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 19:22:24 +00:00
Slaviša Arežina
2cc3ce1ea1 Update komodo.sh (#7202) 2025-08-25 21:21:59 +02:00
community-scripts-pr-app[bot]
468defcd97 Update CHANGELOG.md (#7203)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 19:08:52 +00:00
Slaviša Arežina
78398309c0 Fix website and docs URL (#7199) 2025-08-25 21:08:25 +02:00
community-scripts-pr-app[bot]
08d1d7be62 Update CHANGELOG.md (#7200)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 18:03:00 +00:00
Slaviša Arežina
05a4fcd471 Fix update (#7198) 2025-08-25 20:02:37 +02:00
community-scripts-pr-app[bot]
36acf4aaae Update CHANGELOG.md (#7197)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 17:14:25 +00:00
Paladin
4182815b4c FileBrowser Quantum: safer update (tmp download + atomic replace + arch autodetect) (#7174)
* FileBrowser Quantum: safer update (tmp download + atomic replace + arch autodetect)

**What**
Safer updater for FileBrowser Quantum addon:
- Download to temp file, then atomic `mv` into INSTALL_PATH
- Stop/start service around the swap
- CPU arch autodetect (amd64/arm64/armv7/armv6)
- Proper error handling & version verification before printing success

**Why**
Current update streams `curl` directly to `/usr/local/bin/filebrowser` and prints success even if `curl` fails.
I hit:

* fix(filebrowser-quantum): add missing `fi` before install section

Closes the conditional started with `if [[ -f "$INSTALL_PATH" ]]` so the script doesn’t hit a bash syntax error when reaching the install path.

* refactor(update): minimal fix - temp file + atomic mv; amd64 only

* style(update): remove comments/blank lines; drop restart (alpine-safe)
2025-08-25 19:14:01 +02:00
community-scripts-pr-app[bot]
73a0910239 Update CHANGELOG.md (#7196)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 17:11:00 +00:00
Slaviša Arežina
bd6626e919 Komodo: Generate admin users password (#7193)
* Fix admin login

* fix json

* Add credentials to creds file
2025-08-25 19:10:41 +02:00
community-scripts-pr-app[bot]
3ad6cdf85a Update .app files (#7195)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-08-25 19:10:37 +02:00
community-scripts-pr-app[bot]
732bb75e9b Update CHANGELOG.md (#7194)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 17:06:29 +00:00
Slaviša Arežina
d372b45a95 Add Alpine-RustDesk Server script (#7191)
* Add RustDesk server

* VED>VE
2025-08-25 19:06:04 +02:00
CanbiZ
df564ace13 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVE 2025-08-25 14:23:27 +02:00
community-scripts-pr-app[bot]
d2b28413eb Update CHANGELOG.md (#7187)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:22:00 +00:00
community-scripts-pr-app[bot]
b93a30ffb0 Update CHANGELOG.md (#7186)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:21:40 +00:00
community-scripts-pr-app[bot]
a4044b1cfd Update CHANGELOG.md (#7185)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:21:30 +00:00
CanbiZ
83eb2da451 [core]: uv uses now "update-shell" command (#7172)
* [core]: uv uses now "update-shell" command

* Improve uv shell integration setup process

Refactor uv shell integration setup with improved error handling.
2025-08-25 14:21:18 +02:00
community-scripts-pr-app[bot]
9fda9f34c5 Update CHANGELOG.md (#7183)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:21:12 +00:00
community-scripts-pr-app[bot]
3715ea5946 Update date in json (#7184)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:21:09 +00:00
community-scripts-pr-app[bot]
de2d8d0e75 Update CHANGELOG.md (#7182)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:20:51 +00:00
push-app-to-main[bot]
9f6abbe572 'Add new script' (#7178)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-08-25 14:20:48 +02:00
push-app-to-main[bot]
d90a071d88 healthchecks (#7177)
* 'Add new script'

* add missing source

* Update documentation URL in healthchecks.

* Update source URL in healthchecks-install.sh

* Update healthchecks.json with additional notes

---------

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-25 14:20:38 +02:00
CanbiZ
69dd06b107 [core]: tools.func - better verbose for postgresql (#7173) 2025-08-25 14:20:30 +02:00
CanbiZ
2be054a004 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVE 2025-08-25 14:20:07 +02:00
CanbiZ
a2fcd3992e Update create_lxc.sh 2025-08-25 14:19:58 +02:00
community-scripts-pr-app[bot]
9a92df420e Update CHANGELOG.md (#7181)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:11:45 +00:00
Slaviša Arežina
c6864c74bc Update n8n.sh (#7176) 2025-08-25 14:11:26 +02:00
community-scripts-pr-app[bot]
941457b392 Update CHANGELOG.md (#7180)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:11:17 +00:00
Slaviša Arežina
e84ea56a8f Update php config to 8.3 (#7171) 2025-08-25 14:10:52 +02:00
community-scripts-pr-app[bot]
0d36d64454 Update versions.json (#7179)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 14:06:41 +02:00
CanbiZ
74b2407c53 alpine: add source for tools 2025-08-25 14:05:55 +02:00
community-scripts-pr-app[bot]
b97331282f Update CHANGELOG.md (#7170)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 04:59:26 +00:00
Slaviša Arežina
fed5ebd9c8 Lidarr: Fix RELEASE variable fetching (#7162) 2025-08-25 06:59:01 +02:00
403 changed files with 11053 additions and 6119 deletions

View File

@@ -67,6 +67,14 @@ body:
validations: validations:
required: true required: true
- type: input
id: pve_version
attributes:
label: 📈 Which Proxmox version are you on?
placeholder: "run pveversion in your PVE node console"
validations:
required: true
- type: textarea - type: textarea
id: issue_description id: issue_description
attributes: attributes:

View File

@@ -10,8 +10,426 @@
> [!CAUTION] > [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-09-16
## 2025-09-15
### 🆕 New Scripts
- SigNoz ([#7648](https://github.com/community-scripts/ProxmoxVE/pull/7648))
- Scraparr ([#7644](https://github.com/community-scripts/ProxmoxVE/pull/7644))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- vm: move pv installation into ensure_pv function [@MickLesk](https://github.com/MickLesk) ([#7642](https://github.com/community-scripts/ProxmoxVE/pull/7642))
- Cloudflare-DDNS: Fix the IP6_PROVIDER variable [@hugodantas](https://github.com/hugodantas) ([#7660](https://github.com/community-scripts/ProxmoxVE/pull/7660))
- Wikijs: Bump Node.js version to 22 [@MickLesk](https://github.com/MickLesk) ([#7643](https://github.com/community-scripts/ProxmoxVE/pull/7643))
## 2025-09-14
## 2025-09-13
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Palmr: hotfix #7622 [@vhsdream](https://github.com/vhsdream) ([#7625](https://github.com/community-scripts/ProxmoxVE/pull/7625))
- ollama: fix: ccurl continue on interrupts [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7620](https://github.com/community-scripts/ProxmoxVE/pull/7620))
- #### 🔧 Refactor
- pdm: refactor for beta version [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7619](https://github.com/community-scripts/ProxmoxVE/pull/7619))
- Immich: bump to v1.142.0 [@vhsdream](https://github.com/vhsdream) ([#7594](https://github.com/community-scripts/ProxmoxVE/pull/7594))
### 🌐 Website
- fix: tagline grammar [@jonathanwuki](https://github.com/jonathanwuki) ([#7621](https://github.com/community-scripts/ProxmoxVE/pull/7621))
- fix: grammar/capitalization for links and taglines [@jonathanwuki](https://github.com/jonathanwuki) ([#7609](https://github.com/community-scripts/ProxmoxVE/pull/7609))
## 2025-09-12
### 🆕 New Scripts
- Stylus ([#7588](https://github.com/community-scripts/ProxmoxVE/pull/7588))
- UHF ([#7589](https://github.com/community-scripts/ProxmoxVE/pull/7589))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Tweak: post-pve-install: create folder if Not exist [@JVKeller](https://github.com/JVKeller) ([#7598](https://github.com/community-scripts/ProxmoxVE/pull/7598))
- Update openwebui.sh [@webmogul1](https://github.com/webmogul1) ([#7582](https://github.com/community-scripts/ProxmoxVE/pull/7582))
- #### ✨ New Features
- [core]: add fallback if mariadb upstream unreachable [@MickLesk](https://github.com/MickLesk) ([#7599](https://github.com/community-scripts/ProxmoxVE/pull/7599))
- ESPHome: Increase default disk size [@tremor021](https://github.com/tremor021) ([#7600](https://github.com/community-scripts/ProxmoxVE/pull/7600))
## 2025-09-11
### 🆕 New Scripts
- telegraf ([#7576](https://github.com/community-scripts/ProxmoxVE/pull/7576))
### 🚀 Updated Scripts
- [core] Sort tools.func functions alphabeticaly [@tremor021](https://github.com/tremor021) ([#7569](https://github.com/community-scripts/ProxmoxVE/pull/7569))
- mobile subscription nag fix [@dvino](https://github.com/dvino) ([#7567](https://github.com/community-scripts/ProxmoxVE/pull/7567))
- #### 🐞 Bug Fixes
- alpine-install: switch to using GitHub to fetch tools when using GitHub [@burritosoftware](https://github.com/burritosoftware) ([#7566](https://github.com/community-scripts/ProxmoxVE/pull/7566))
### 🌐 Website
- #### 🐞 Bug Fixes
- Add margin-bottom to Most Viewed Scripts header to unifi UI [@BramSuurdje](https://github.com/BramSuurdje) ([#7572](https://github.com/community-scripts/ProxmoxVE/pull/7572))
- #### 📝 Script Information
- Fix frontend url [@r1cebank](https://github.com/r1cebank) ([#7578](https://github.com/community-scripts/ProxmoxVE/pull/7578))
## 2025-09-10
### 🆕 New Scripts
- Autocaliweb ([#7515](https://github.com/community-scripts/ProxmoxVE/pull/7515))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Palmr: fix #7556 [@vhsdream](https://github.com/vhsdream) ([#7558](https://github.com/community-scripts/ProxmoxVE/pull/7558))
- Wizarr: Fix DB migrations [@vhsdream](https://github.com/vhsdream) ([#7552](https://github.com/community-scripts/ProxmoxVE/pull/7552))
- fix: pmg - split no-nag script into separate config files [@MickLesk](https://github.com/MickLesk) ([#7540](https://github.com/community-scripts/ProxmoxVE/pull/7540))
- #### ✨ New Features
- Update Palmr to Support new v3.2.1 [@vhsdream](https://github.com/vhsdream) ([#7526](https://github.com/community-scripts/ProxmoxVE/pull/7526))
- add external installer warnings and user confirmation in several LXC's [@MickLesk](https://github.com/MickLesk) ([#7539](https://github.com/community-scripts/ProxmoxVE/pull/7539))
- Booklore: Add Bookdrop location to .env [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7533](https://github.com/community-scripts/ProxmoxVE/pull/7533))
- #### 🔧 Refactor
- Refactor: audiobookshelf [@MickLesk](https://github.com/MickLesk) ([#7538](https://github.com/community-scripts/ProxmoxVE/pull/7538))
- Refactor: Blocky [@MickLesk](https://github.com/MickLesk) ([#7537](https://github.com/community-scripts/ProxmoxVE/pull/7537))
- Improve npmplus credential retrieval and messaging [@MickLesk](https://github.com/MickLesk) ([#7532](https://github.com/community-scripts/ProxmoxVE/pull/7532))
### 🌐 Website
- #### 💥 Breaking Changes
- Remove Pingvin Share [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7553](https://github.com/community-scripts/ProxmoxVE/pull/7553))
- #### 📝 Script Information
- set updateable to true for several lxc JSON-configs [@MickLesk](https://github.com/MickLesk) ([#7534](https://github.com/community-scripts/ProxmoxVE/pull/7534))
## 2025-09-09
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Tududi: v0.81 [@vhsdream](https://github.com/vhsdream) ([#7517](https://github.com/community-scripts/ProxmoxVE/pull/7517))
- WGDashboard: Revert back to old update method [@tremor021](https://github.com/tremor021) ([#7500](https://github.com/community-scripts/ProxmoxVE/pull/7500))
- AdventureLog: remove folder during update process [@MickLesk](https://github.com/MickLesk) ([#7507](https://github.com/community-scripts/ProxmoxVE/pull/7507))
- PLANKA: Fix backup and restore commands [@tremor021](https://github.com/tremor021) ([#7505](https://github.com/community-scripts/ProxmoxVE/pull/7505))
- Recyclarr: Suppress config creation output [@tremor021](https://github.com/tremor021) ([#7502](https://github.com/community-scripts/ProxmoxVE/pull/7502))
- #### 🔧 Refactor
- Pulse: standardise install/update with Pulse repo script [@vhsdream](https://github.com/vhsdream) ([#7519](https://github.com/community-scripts/ProxmoxVE/pull/7519))
### 🌐 Website
- #### 🐞 Bug Fixes
- Refactor GitHubStarsButton to wrap in Link component for external navigation [@BramSuurdje](https://github.com/BramSuurdje) ([#7492](https://github.com/community-scripts/ProxmoxVE/pull/7492))
- #### ✨ New Features
- Bump vite from 7.0.0 to 7.1.5 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#7522](https://github.com/community-scripts/ProxmoxVE/pull/7522))
- #### 📝 Script Information
- swizzin: Change category from nvr to media [@MickLesk](https://github.com/MickLesk) ([#7511](https://github.com/community-scripts/ProxmoxVE/pull/7511))
## 2025-09-08
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- CT's: fix missing variable declaration (actualBudget, openziti, umlautadaptarr) [@MickLesk](https://github.com/MickLesk) ([#7483](https://github.com/community-scripts/ProxmoxVE/pull/7483))
- karakeep: fix service file [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7482](https://github.com/community-scripts/ProxmoxVE/pull/7482))
- Update searxng-install.sh [@sebguy](https://github.com/sebguy) ([#7469](https://github.com/community-scripts/ProxmoxVE/pull/7469))
- #### ✨ New Features
- Immich: bump to version 1.141.1 [@vhsdream](https://github.com/vhsdream) ([#7418](https://github.com/community-scripts/ProxmoxVE/pull/7418))
- [core]: switch all base_settings to variables [@MickLesk](https://github.com/MickLesk) ([#7479](https://github.com/community-scripts/ProxmoxVE/pull/7479))
- #### 💥 Breaking Changes
- RustDesk Server: Update the credentials info [@tremor021](https://github.com/tremor021) ([#7473](https://github.com/community-scripts/ProxmoxVE/pull/7473))
### 🌐 Website
- #### 🐞 Bug Fixes
- Format numerical values in DataFetcher component for better readability [@BramSuurdje](https://github.com/BramSuurdje) ([#7477](https://github.com/community-scripts/ProxmoxVE/pull/7477))
- #### ✨ New Features
- feat: enhance github stars button to be better looking and more compact [@BramSuurdje](https://github.com/BramSuurdje) ([#7464](https://github.com/community-scripts/ProxmoxVE/pull/7464))
## 2025-09-07
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Update ExecStart path for karakeep service [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7460](https://github.com/community-scripts/ProxmoxVE/pull/7460))
## 2025-09-06
### 🆕 New Scripts
- Resilio Sync ([#7442](https://github.com/community-scripts/ProxmoxVE/pull/7442))
- leantime ([#7414](https://github.com/community-scripts/ProxmoxVE/pull/7414))
### 🚀 Updated Scripts
- use debian source for direct installation of MQTT [@EtlamGit](https://github.com/EtlamGit) ([#7423](https://github.com/community-scripts/ProxmoxVE/pull/7423))
- #### ✨ New Features
- feat: added mobile ui subscription nag removal [@ivan-penchev](https://github.com/ivan-penchev) ([#7164](https://github.com/community-scripts/ProxmoxVE/pull/7164))
### 🌐 Website
- #### 📝 Script Information
- MediaManager Configuration Path [@austinpilz](https://github.com/austinpilz) ([#7408](https://github.com/community-scripts/ProxmoxVE/pull/7408))
- Paperless-NGX: Remove default credentials from json [@tremor021](https://github.com/tremor021) ([#7403](https://github.com/community-scripts/ProxmoxVE/pull/7403))
## 2025-09-05
### 🚀 Updated Scripts
- Tududi: Pin version to 0.80 [@vhsdream](https://github.com/vhsdream) ([#7420](https://github.com/community-scripts/ProxmoxVE/pull/7420))
- #### 🐞 Bug Fixes
- AdventureLog: Update dependencies [@tremor021](https://github.com/tremor021) ([#7404](https://github.com/community-scripts/ProxmoxVE/pull/7404))
### 🌐 Website
- refactor: Enhance ScriptAccordion and Sidebar components to support selectedCategory state [@BramSuurdje](https://github.com/BramSuurdje) ([#7405](https://github.com/community-scripts/ProxmoxVE/pull/7405))
## 2025-09-04
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- fix: Syntax error in Immich scripts [@henworth](https://github.com/henworth) ([#7398](https://github.com/community-scripts/ProxmoxVE/pull/7398))
- Netdata: Fix pve_check for 8 [@MickLesk](https://github.com/MickLesk) ([#7392](https://github.com/community-scripts/ProxmoxVE/pull/7392))
- #### 🔧 Refactor
- Immich: pin compiled photo library revisions [@vhsdream](https://github.com/vhsdream) ([#7395](https://github.com/community-scripts/ProxmoxVE/pull/7395))
## 2025-09-03
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Element-Synapse: Increase HDD size [@tremor021](https://github.com/tremor021) ([#7384](https://github.com/community-scripts/ProxmoxVE/pull/7384))
- Wizarr: fix uv lock issue; use correct output suppression [@vhsdream](https://github.com/vhsdream) ([#7378](https://github.com/community-scripts/ProxmoxVE/pull/7378))
- Netbox: Fix missing directory [@tremor021](https://github.com/tremor021) ([#7374](https://github.com/community-scripts/ProxmoxVE/pull/7374))
- #### 🔧 Refactor
- Enhanced IP-Tag installation script with interactive configuration, improved VM IP detection, and better visual indicators [@DesertGamer](https://github.com/DesertGamer) ([#7366](https://github.com/community-scripts/ProxmoxVE/pull/7366))
### 🌐 Website
- #### 🐞 Bug Fixes
- Fix navigation [@BramSuurdje](https://github.com/BramSuurdje) ([#7376](https://github.com/community-scripts/ProxmoxVE/pull/7376))
## 2025-09-02
### 🚀 Updated Scripts
- Increase default disk size for Apt-Cacher-NG [@MickLesk](https://github.com/MickLesk) ([#7352](https://github.com/community-scripts/ProxmoxVE/pull/7352))
- #### 🐞 Bug Fixes
- Snipe-IT: Fix Nginx configuration [@tremor021](https://github.com/tremor021) ([#7358](https://github.com/community-scripts/ProxmoxVE/pull/7358))
- booklore: remove folder before update [@MickLesk](https://github.com/MickLesk) ([#7351](https://github.com/community-scripts/ProxmoxVE/pull/7351))
- #### ✨ New Features
- Immich: bump version to 1.140.1 [@vhsdream](https://github.com/vhsdream) ([#7349](https://github.com/community-scripts/ProxmoxVE/pull/7349))
### 🌐 Website
- #### 📝 Script Information
- pbs: increase note on website for ipv6 [@MickLesk](https://github.com/MickLesk) ([#7339](https://github.com/community-scripts/ProxmoxVE/pull/7339))
## 2025-09-01
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Update configarr.sh to mv backep up .env correctly [@finkerle](https://github.com/finkerle) ([#7323](https://github.com/community-scripts/ProxmoxVE/pull/7323))
- #### ✨ New Features
- Refactor + Feature Bump: HomeAssistant OS [@MickLesk](https://github.com/MickLesk) ([#7336](https://github.com/community-scripts/ProxmoxVE/pull/7336))
- UmbrelOS: Refactor / use q35 / better import [@MickLesk](https://github.com/MickLesk) ([#7329](https://github.com/community-scripts/ProxmoxVE/pull/7329))
- Harmonize GH Release Check (excl. Pre-Releases & Migrate old "_version.txt" [@MickLesk](https://github.com/MickLesk) ([#7328](https://github.com/community-scripts/ProxmoxVE/pull/7328))
### 🌐 Website
- Bump next from 15.2.4 to 15.5.2 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#7309](https://github.com/community-scripts/ProxmoxVE/pull/7309))
- #### 📝 Script Information
- booklore: add note for start-up in frontend [@MickLesk](https://github.com/MickLesk) ([#7331](https://github.com/community-scripts/ProxmoxVE/pull/7331))
## 2025-08-31
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- n8n: Increase disk size [@tremor021](https://github.com/tremor021) ([#7320](https://github.com/community-scripts/ProxmoxVE/pull/7320))
## 2025-08-30
### 🚀 Updated Scripts
- Immich: bump version to 1.140.0 [@vhsdream](https://github.com/vhsdream) ([#7275](https://github.com/community-scripts/ProxmoxVE/pull/7275))
- #### 🔧 Refactor
- Refactor gitea-mirror env-file [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7240](https://github.com/community-scripts/ProxmoxVE/pull/7240))
## 2025-08-29
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- fix version check for pocket-id migration [@MickLesk](https://github.com/MickLesk) ([#7298](https://github.com/community-scripts/ProxmoxVE/pull/7298))
- fix: remove file creation at release fetching and version checking logic [@MickLesk](https://github.com/MickLesk) ([#7299](https://github.com/community-scripts/ProxmoxVE/pull/7299))
- Zitadel: Fix initial setup [@tremor021](https://github.com/tremor021) ([#7284](https://github.com/community-scripts/ProxmoxVE/pull/7284))
- post-pbs: increase enterprise recognition [@MickLesk](https://github.com/MickLesk) ([#7280](https://github.com/community-scripts/ProxmoxVE/pull/7280))
- Fix typo where install mode was changed instead of pinned version [@Brandsma](https://github.com/Brandsma) ([#7277](https://github.com/community-scripts/ProxmoxVE/pull/7277))
- #### ✨ New Features
- [core]: feature - check_for_gh_release - version pinning [@MickLesk](https://github.com/MickLesk) ([#7279](https://github.com/community-scripts/ProxmoxVE/pull/7279))
- [feat]: migrate all update_scripts to new version helper (gh) [@MickLesk](https://github.com/MickLesk) ([#7262](https://github.com/community-scripts/ProxmoxVE/pull/7262))
## 2025-08-28
### 🆕 New Scripts
- MediaManager ([#7238](https://github.com/community-scripts/ProxmoxVE/pull/7238))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- MMDL: add build-essential as dep [@vhsdream](https://github.com/vhsdream) ([#7266](https://github.com/community-scripts/ProxmoxVE/pull/7266))
- #### ✨ New Features
- add support for multiple ip addresses in monitor-all.sh [@moshekv](https://github.com/moshekv) ([#7244](https://github.com/community-scripts/ProxmoxVE/pull/7244))
- [core]: feature - check_for_gh_release as update-handler [@MickLesk](https://github.com/MickLesk) ([#7254](https://github.com/community-scripts/ProxmoxVE/pull/7254))
- #### 💥 Breaking Changes
- Flaresolverr: Pin to 3.3.25 (Python Issue) [@MickLesk](https://github.com/MickLesk) ([#7248](https://github.com/community-scripts/ProxmoxVE/pull/7248))
### 🌐 Website
- #### 📝 Script Information
- Keycloak: Update website [@tremor021](https://github.com/tremor021) ([#7256](https://github.com/community-scripts/ProxmoxVE/pull/7256))
## 2025-08-27
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- searxng: improve installation [@MickLesk](https://github.com/MickLesk) ([#7233](https://github.com/community-scripts/ProxmoxVE/pull/7233))
- Homebox: Fix Update Script [@MickLesk](https://github.com/MickLesk) ([#7232](https://github.com/community-scripts/ProxmoxVE/pull/7232))
## 2025-08-26
### 🆕 New Scripts
- tracktor ([#7190](https://github.com/community-scripts/ProxmoxVE/pull/7190))
- PBS: Upgrade Script for v4 [@MickLesk](https://github.com/MickLesk) ([#7214](https://github.com/community-scripts/ProxmoxVE/pull/7214))
### 🚀 Updated Scripts
- #### ✨ New Features
- Refactor: Post-PBS-Script [@MickLesk](https://github.com/MickLesk) ([#7213](https://github.com/community-scripts/ProxmoxVE/pull/7213))
- Refactor: Post-PMG-Script [@MickLesk](https://github.com/MickLesk) ([#7212](https://github.com/community-scripts/ProxmoxVE/pull/7212))
### 🌐 Website
- #### 📝 Script Information
- [website] Update documentation URLs [@tremor021](https://github.com/tremor021) ([#7201](https://github.com/community-scripts/ProxmoxVE/pull/7201))
## 2025-08-25 ## 2025-08-25
### 🆕 New Scripts
- Alpine-RustDesk Server [@tremor021](https://github.com/tremor021) ([#7191](https://github.com/community-scripts/ProxmoxVE/pull/7191))
- Alpine-Redlib ([#7178](https://github.com/community-scripts/ProxmoxVE/pull/7178))
- healthchecks ([#7177](https://github.com/community-scripts/ProxmoxVE/pull/7177))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- FileBrowser Quantum: safer update (tmp download + atomic replace + arch autodetect) [@CommanderPaladin](https://github.com/CommanderPaladin) ([#7174](https://github.com/community-scripts/ProxmoxVE/pull/7174))
- Immich: bump to v1.139.4 [@vhsdream](https://github.com/vhsdream) ([#7138](https://github.com/community-scripts/ProxmoxVE/pull/7138))
- Komodo: Fix compose.env path [@tremor021](https://github.com/tremor021) ([#7202](https://github.com/community-scripts/ProxmoxVE/pull/7202))
- Komodo: Fix update procedure and missing env var [@tremor021](https://github.com/tremor021) ([#7198](https://github.com/community-scripts/ProxmoxVE/pull/7198))
- SnipeIT: Update nginx config to v8.3 [@tremor021](https://github.com/tremor021) ([#7171](https://github.com/community-scripts/ProxmoxVE/pull/7171))
- Lidarr: Fix RELEASE variable fetching [@tremor021](https://github.com/tremor021) ([#7162](https://github.com/community-scripts/ProxmoxVE/pull/7162))
- #### ✨ New Features
- Komodo: Generate admin users password [@tremor021](https://github.com/tremor021) ([#7193](https://github.com/community-scripts/ProxmoxVE/pull/7193))
- [core]: uv uses now "update-shell" command [@MickLesk](https://github.com/MickLesk) ([#7172](https://github.com/community-scripts/ProxmoxVE/pull/7172))
- [core]: tools.func - better verbose for postgresql [@MickLesk](https://github.com/MickLesk) ([#7173](https://github.com/community-scripts/ProxmoxVE/pull/7173))
- n8n: Force update to NodeJS v22 [@tremor021](https://github.com/tremor021) ([#7176](https://github.com/community-scripts/ProxmoxVE/pull/7176))
### 🌐 Website
- #### 📝 Script Information
- 2FAuth: Fix website and docs URLs [@tremor021](https://github.com/tremor021) ([#7199](https://github.com/community-scripts/ProxmoxVE/pull/7199))
## 2025-08-24 ## 2025-08-24
### 🚀 Updated Scripts ### 🚀 Updated Scripts

View File

@@ -28,12 +28,7 @@ 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 if check_for_gh_release "2fauth" "Bubka/2FAuth"; then
$STD apt-get install -y jq
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat ~/.2fauth 2>/dev/null)" ]] || [[ ! -f ~/.2fauth ]]; then
msg_info "Updating $APP to ${RELEASE}"
$STD apt-get update $STD apt-get update
$STD apt-get -y upgrade $STD apt-get -y upgrade
@@ -64,18 +59,13 @@ function update_script() {
$STD systemctl restart nginx $STD systemctl restart nginx
msg_info "Cleaning Up" msg_info "Cleaning Up"
rm -rf "v${RELEASE}.zip"
if dpkg -l | grep -q 'php8.2'; then if dpkg -l | grep -q 'php8.2'; then
$STD apt-get remove --purge -y php8.2* $STD apt-get remove --purge -y php8.2*
fi fi
$STD apt-get -y autoremove $STD apt-get -y autoremove
$STD apt-get -y autoclean $STD apt-get -y autoclean
msg_ok "Cleanup Completed" msg_ok "Cleanup Completed"
msg_ok "Updated Successfully"
echo "${RELEASE}" >/opt/2fauth_version.txt
msg_ok "Updated $APP to ${RELEASE}"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

View File

@@ -6,13 +6,13 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
# Source: https://actualbudget.org/ # Source: https://actualbudget.org/
APP="Actual Budget" APP="Actual Budget"
var_tags="finance" var_tags="${var_tags:-finance}"
var_cpu="2" var_cpu="${var_cpu:-2}"
var_ram="2048" var_ram="${var_ram:-2048}"
var_disk="4" var_disk="${var_disk:-4}"
var_os="debian" var_os="${var_os:-debian}"
var_version="12" var_version="${var_version:-12}"
var_unprivileged="1" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
variables variables

View File

@@ -27,9 +27,11 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if ! command -v memcached >/dev/null 2>&1; then
RELEASE=$(curl -fsSL https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') $STD apt-get update
if [[ "${RELEASE}" != "$(cat ~/.adventurelog 2>/dev/null)" ]] || [[ ! -f ~/.adventurelog ]]; then $STD apt-get install -y memcached libmemcached-tools
fi
if check_for_gh_release "adventurelog" "seanmorley15/adventurelog"; then
msg_info "Stopping Services" msg_info "Stopping Services"
systemctl stop adventurelog-backend systemctl stop adventurelog-backend
systemctl stop adventurelog-frontend systemctl stop adventurelog-frontend
@@ -37,12 +39,13 @@ function update_script() {
msg_info "Backup Old Installation" msg_info "Backup Old Installation"
cp -r /opt/adventurelog /opt/adventurelog-backup cp -r /opt/adventurelog /opt/adventurelog-backup
rm -rf /opt/adventurelog
msg_ok "Backup done" msg_ok "Backup done"
fetch_and_deploy_gh_release "adventurelog" "seanmorley15/adventurelog" fetch_and_deploy_gh_release "adventurelog" "seanmorley15/adventurelog"
PYTHON_VERSION="3.12" setup_uv PYTHON_VERSION="3.12" setup_uv
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Updating ${APP}"
cp /opt/adventurelog-backup/backend/server/.env /opt/adventurelog/backend/server/.env cp /opt/adventurelog-backup/backend/server/.env /opt/adventurelog/backend/server/.env
cp -r /opt/adventurelog-backup/backend/server/media /opt/adventurelog/backend/server/media cp -r /opt/adventurelog-backup/backend/server/media /opt/adventurelog/backend/server/media
cd /opt/adventurelog/backend/server cd /opt/adventurelog/backend/server
@@ -54,7 +57,7 @@ function update_script() {
$STD .venv/bin/python -m pip install -r requirements.txt $STD .venv/bin/python -m pip install -r requirements.txt
$STD .venv/bin/python -m manage collectstatic --noinput $STD .venv/bin/python -m manage collectstatic --noinput
$STD .venv/bin/python -m manage migrate $STD .venv/bin/python -m manage migrate
cp /opt/adventurelog-backup/frontend/.env /opt/adventurelog/frontend/.env cp /opt/adventurelog-backup/frontend/.env /opt/adventurelog/frontend/.env
cd /opt/adventurelog/frontend cd /opt/adventurelog/frontend
$STD pnpm i $STD pnpm i
@@ -70,10 +73,7 @@ function update_script() {
msg_info "Cleaning Up" msg_info "Cleaning Up"
rm -rf /opt/adventurelog-backup rm -rf /opt/adventurelog-backup
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

56
ct/alpine-redlib.sh Normal 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: andrej-kocijan (Andrej Kocijan)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/redlib-org/redlib
APP="Alpine-Redlib"
var_tags="${var_tags:-alpine;frontend}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.22}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_resources
if [[ ! -d /opt/redlib ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating Alpine Packages"
$STD apk -U upgrade
msg_ok "Updated Alpine Packages"
msg_info "Stopping ${APP} Service"
$STD rc-service redlib stop
msg_ok "Stopped ${APP} Service"
fetch_and_deploy_gh_release "redlib" "redlib-org/redlib" "prebuild" "latest" "/opt/redlib" "redlib-x86_64-unknown-linux-musl.tar.gz"
msg_info "Starting ${APP} Service"
$STD rc-service redlib start
msg_ok "Started ${APP} Service"
msg_ok "Update Successful"
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}:5252${CL}"

View File

@@ -0,0 +1,74 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/rustdesk/rustdesk-server
APP="Alpine-RustDeskServer"
var_tags="${var_tags:-alpine;monitoring}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-3}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.22}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
if [[ ! -d /opt/rustdesk-server ]]; then
msg_error "No ${APP} Installation Found!"
exit 1
fi
APIRELEASE=$(curl -s https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
RELEASE=$(curl -s https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [ "${RELEASE}" != "$(cat ~/.rustdesk-server 2>/dev/null)" ] || [ ! -f ~/.rustdesk-server ]; then
msg_info "Updating RustDesk Server to v${RELEASE}"
$STD apk -U upgrade
$STD service rustdesk-server-hbbs stop
$STD service rustdesk-server-hbbr stop
temp_file1=$(mktemp)
curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-amd64.zip" -o "$temp_file1"
$STD unzip "$temp_file1"
cp -r amd64/* /opt/rustdesk-server/
echo "${RELEASE}" >~/.rustdesk-server
$STD service rustdesk-server-hbbs start
$STD service rustdesk-server-hbbr start
rm -rf amd64
rm -f $temp_file1
msg_ok "Updated RustDesk Server successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
if [ "${APIRELEASE}" != "$(cat ~/.rustdesk-api)" ] || [ ! -f ~/.rustdesk-api ]; then
msg_info "Updating RustDesk API to v${APIRELEASE}"
$STD service rustdesk-api stop
temp_file2=$(mktemp)
curl -fsSL "https://github.com/lejianwen/rustdesk-api/releases/download/v${APIRELEASE}/linux-amd64.tar.gz" -o "$temp_file2"
$STD tar zxvf "$temp_file2"
cp -r release/* /opt/rustdesk-api
echo "${APIRELEASE}" >~/.rustdesk-api
$STD service rustdesk-api start
rm -rf release
rm -f $temp_file2
msg_ok "Updated RustDesk API"
else
msg_ok "No update required. RustDesk API is already at v${APIRELEASE}"
fi
exit 0
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following IP:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:21114${CL}"

View File

@@ -9,7 +9,7 @@ APP="Apt-Cacher-NG"
var_tags="${var_tags:-caching}" var_tags="${var_tags:-caching}"
var_cpu="${var_cpu:-1}" var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}" var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}" var_disk="${var_disk:-10}"
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}"
@@ -20,18 +20,18 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /var ]]; then if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
exit exit
fi
msg_info "Updating $APP LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
exit
} }
start start
@@ -41,4 +41,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3142/acng-report.html${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3142/acng-report.html${CL}"

View File

@@ -27,9 +27,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "argus" "release-argus/Argus"; then
RELEASE=$(curl -fsSL https://api.github.com/repos/release-argus/Argus/releases/latest | jq -r .tag_name | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat ~/.Argus 2>/dev/null)" ]] || [[ ! -f ~/.Argus ]]; then
msg_info "Stopping service" msg_info "Stopping service"
systemctl stop argus systemctl stop argus
msg_ok "Service stopped" msg_ok "Service stopped"
@@ -39,11 +37,9 @@ function update_script() {
msg_info "Starting service" msg_info "Starting service"
systemctl start argus systemctl start argus
msg_ok "Service started" msg_ok "Service started"
msg_ok "Updated Successfully"
msg_ok "Updated ${APP} to ${RELEASE}"
else
msg_ok "${APP} is already up to date (${RELEASE})"
fi fi
exit
} }
start start

View File

@@ -9,7 +9,7 @@ APP="audiobookshelf"
var_tags="${var_tags:-podcast;audiobook}" var_tags="${var_tags:-podcast;audiobook}"
var_cpu="${var_cpu:-2}" var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-5}"
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}"
@@ -20,15 +20,19 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -f /etc/apt/trusted.gpg.d/audiobookshelf-ppa.asc ]]; then if [[ ! -f /etc/default/audiobookshelf ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit
fi
echo "This application receives updates through the APT package manager."
exit exit
fi
msg_info "Updating $APP LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
exit
} }
start start
@@ -38,4 +42,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:13378${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:13378${CL}"

View File

@@ -29,8 +29,8 @@ 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/authelia/authelia/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(/usr/bin/authelia -v | awk '{print substr($3, 2, length($2)) }')" ]]; then if check_for_gh_release "authelia" "authelia/authelia"; then
$STD apt-get update $STD apt-get update
$STD apt-get -y upgrade $STD apt-get -y upgrade
@@ -40,14 +40,10 @@ function update_script() {
$STD apt-get -y autoremove $STD apt-get -y autoremove
$STD apt-get -y autoclean $STD apt-get -y autoclean
msg_ok "Cleanup Completed" msg_ok "Cleanup Completed"
msg_ok "Updated Successfully"
msg_ok "Updated $APP to ${RELEASE}"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }
start start
build_container build_container
description description

View File

@@ -20,30 +20,26 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -f /root/.config/autobrr/config.toml ]]; then if [[ ! -f /root/.config/autobrr/config.toml ]]; 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/autobrr/autobrr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "autobrr" "autobrr/autobrr"; then
if [[ "${RELEASE}" != "$(cat ~/.autobrr 2>/dev/null)" ]] || [[ ! -f ~/.autobrr ]]; then msg_info "Stopping ${APP} LXC"
msg_info "Stopping ${APP} LXC" systemctl stop autobrr
systemctl stop autobrr msg_ok "Stopped ${APP} LXC"
msg_ok "Stopped ${APP} LXC"
fetch_and_deploy_gh_release "autobrr" "autobrr/autobrr" "prebuild" "latest" "/usr/local/bin" "autobrr_*_linux_x86_64.tar.gz" fetch_and_deploy_gh_release "autobrr" "autobrr/autobrr" "prebuild" "latest" "/usr/local/bin" "autobrr_*_linux_x86_64.tar.gz"
msg_info "Starting ${APP} LXC" msg_info "Starting ${APP} LXC"
systemctl start autobrr systemctl start autobrr
msg_ok "Started ${APP} LXC" msg_ok "Started ${APP} LXC"
msg_ok "Updated Successfully"
msg_ok "Updated Successfully" fi
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }

83
ct/autocaliweb.sh Normal file
View File

@@ -0,0 +1,83 @@
#!/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/gelbphoenix/autocaliweb
APP="Autocaliweb"
var_tags="${var_tags:-ebooks}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
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/autocaliweb ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
setup_uv
RELEASE=$(curl -fsSL https://api.github.com/repos/gelbphoenix/autocaliweb/releases/latest | jq '.tag_name' | sed 's/^"v//;s/"$//')
if check_for_gh_release "autocaliweb" "gelbphoenix/autocaliweb"; then
msg_info "Stopping Services"
systemctl stop autocaliweb metadata-change-detector acw-ingest-service acw-auto-zipper
msg_ok "Stopped Services"
INSTALL_DIR="/opt/autocaliweb"
export VIRTUAL_ENV="${INSTALL_DIR}/venv"
$STD tar -cf ~/autocaliweb_bkp.tar "$INSTALL_DIR"/{metadata_change_logs,dirs.json,.env,scripts/ingest_watcher.sh,scripts/auto_zipper_wrapper.sh,scripts/metadata_change_detector_wrapper.sh}
fetch_and_deploy_gh_release "autocaliweb" "gelbphoenix/autocaliweb" "tarball" "latest" "/opt/autocaliweb"
msg_info "Updating ${APP}"
cd "$INSTALL_DIR"
if [[ ! -d "$VIRTUAL_ENV" ]]; then
$STD uv venv "$VIRTUAL_ENV"
fi
$STD uv sync --all-extras --active
cd "$INSTALL_DIR"/koreader/plugins
PLUGIN_DIGEST="$(find acwsync.koplugin -type f -name "*.lua" -o -name "*.json" | sort | xargs sha256sum | sha256sum | cut -d' ' -f1)"
echo "Plugin files digest: $PLUGIN_DIGEST" >acwsync.koplugin/${PLUGIN_DIGEST}.digest
echo "Build date: $(date)" >>acwsync.koplugin/${PLUGIN_DIGEST}.digest
echo "Files included:" >>acwsync.koplugin/${PLUGIN_DIGEST}.digest
$STD zip -r koplugin.zip acwsync.koplugin/
cp -r koplugin.zip "$INSTALL_DIR"/cps/static
mkdir -p "$INSTALL_DIR"/metadata_temp
$STD tar -xf ~/autocaliweb_bkp.tar --directory /
KEPUB_VERSION="$(/usr/bin/kepubify --version)"
CALIBRE_RELEASE="$(curl -s https://api.github.com/repos/kovidgoyal/calibre/releases/latest | grep -o '"tag_name": "[^"]*' | cut -d'"' -f4)"
echo "${KEPUB_VERSION#v}" >"$INSTALL_DIR"/KEPUBIFY_RELEASE
echo "${CALIBRE_RELEASE#v}" >/"$INSTALL_DIR"/CALIBRE_RELEASE
sed 's/^/v/' ~/.autocaliweb >"$INSTALL_DIR"/ACW_RELEASE
chown -R acw:acw "$INSTALL_DIR"
rm ~/autocaliweb_bkp.tar
msg_ok "Updated $APP"
msg_info "Starting Services"
systemctl start autocaliweb metadata-change-detector acw-ingest-service acw-auto-zipper
msg_ok "Started Services"
msg_ok "Updated Successfully"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8083${CL}"

View File

@@ -28,8 +28,7 @@ function update_script() {
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/babybuddy/babybuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "babybuddy" "babybuddy/babybuddy"; then
if [[ "${RELEASE}" != "$(cat ~/.babybuddy 2>/dev/null)" ]] || [[ ! -f ~/.babybuddy ]]; then
setup_uv setup_uv
msg_info "Stopping Services" msg_info "Stopping Services"
@@ -44,13 +43,13 @@ function update_script() {
fetch_and_deploy_gh_release "babybuddy" "babybuddy/babybuddy" fetch_and_deploy_gh_release "babybuddy" "babybuddy/babybuddy"
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Updating ${APP}"
cd /opt/babybuddy cd /opt/babybuddy
mv /tmp/production.py.bak /opt/babybuddy/babybuddy/settings/production.py mv /tmp/production.py.bak /opt/babybuddy/babybuddy/settings/production.py
source .venv/bin/activate source .venv/bin/activate
$STD uv pip install -r requirements.txt $STD uv pip install -r requirements.txt
$STD python manage.py migrate $STD python manage.py migrate
msg_ok "Updated ${APP} to v${RELEASE}" msg_ok "Updated ${APP}"
msg_info "Fixing permissions" msg_info "Fixing permissions"
chown -R www-data:www-data /opt/data chown -R www-data:www-data /opt/data
@@ -62,14 +61,10 @@ function update_script() {
systemctl start uwsgi systemctl start uwsgi
systemctl start nginx systemctl start nginx
msg_ok "Services Started" msg_ok "Services Started"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }
start start
build_container build_container
description description

View File

@@ -28,8 +28,7 @@ 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/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if check_for_gh_release "baikal" "sabre-io/Baikal"; then
if [[ "${RELEASE}" != "$(cat ~/.baikal 2>/dev/null)" ]] || [[ ! -f ~/.baikal ]]; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop apache2 systemctl stop apache2
msg_ok "Stopped Service" msg_ok "Stopped Service"
@@ -58,8 +57,6 @@ function update_script() {
rm -rf /opt/baikal-backup rm -rf /opt/baikal-backup
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -29,11 +29,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE_MEILISEARCH=$(curl -fsSL https://api.github.com/repos/meilisearch/meilisearch/releases/latest | jq -r '.tag_name | sub("^v"; "")') if check_for_gh_release "bar-assistant" "karlomikus/bar-assistant"; then
RELEASE_BARASSISTANT=$(curl -fsSL https://api.github.com/repos/karlomikus/bar-assistant/releases/latest | jq -r '.tag_name | sub("^v"; "")')
RELEASE_SALTRIM=$(curl -fsSL https://api.github.com/repos/karlomikus/vue-salt-rim/releases/latest | jq -r '.tag_name | sub("^v"; "")')
if [[ "${RELEASE_BARASSISTANT}" != "$(cat ~/.bar-assistant 2>/dev/null)" ]] || [[ ! -f ~/.bar-assistant ]]; then
msg_info "Stopping nginx" msg_info "Stopping nginx"
systemctl stop nginx systemctl stop nginx
msg_ok "Stopped nginx" msg_ok "Stopped nginx"
@@ -45,7 +41,7 @@ function update_script() {
fetch_and_deploy_gh_release "bar-assistant" "karlomikus/bar-assistant" "tarball" "latest" "/opt/bar-assistant" fetch_and_deploy_gh_release "bar-assistant" "karlomikus/bar-assistant" "tarball" "latest" "/opt/bar-assistant"
setup_composer setup_composer
msg_info "Updating ${APP} to ${RELEASE_BARASSISTANT}" msg_info "Updating Bar-Assistant"
cp -r /opt/bar-assistant-backup/.env /opt/bar-assistant/.env cp -r /opt/bar-assistant-backup/.env /opt/bar-assistant/.env
cp -r /opt/bar-assistant-backup/storage/bar-assistant /opt/bar-assistant/storage/bar-assistant cp -r /opt/bar-assistant-backup/storage/bar-assistant /opt/bar-assistant/storage/bar-assistant
cd /opt/bar-assistant cd /opt/bar-assistant
@@ -58,7 +54,7 @@ function update_script() {
$STD php artisan route:cache $STD php artisan route:cache
$STD php artisan event:cache $STD php artisan event:cache
chown -R www-data:www-data /opt/bar-assistant chown -R www-data:www-data /opt/bar-assistant
msg_ok "Updated $APP to ${RELEASE_BARASSISTANT}" msg_ok "Updated Bar-Assistant"
msg_info "Starting nginx" msg_info "Starting nginx"
systemctl start nginx systemctl start nginx
@@ -67,11 +63,9 @@ function update_script() {
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf /opt/bar-assistant-backup rm -rf /opt/bar-assistant-backup
msg_ok "Cleaned" msg_ok "Cleaned"
else
msg_ok "No update required. ${APP} is already at ${RELEASE_BARASSISTANT}"
fi fi
if [[ "${RELEASE_SALTRIM}" != "$(cat ~/.vue-salt-rim 2>/dev/null)" ]] || [[ ! -f ~/.vue-salt-rim ]]; then if check_for_gh_release "vue-salt-rim" "karlomikus/vue-salt-rim"; then
msg_info "Backing up Vue Salt Rim" msg_info "Backing up Vue Salt Rim"
mv /opt/vue-salt-rim /opt/vue-salt-rim-backup mv /opt/vue-salt-rim /opt/vue-salt-rim-backup
msg_ok "Backed up Vue Salt Rim" msg_ok "Backed up Vue Salt Rim"
@@ -82,12 +76,12 @@ function update_script() {
fetch_and_deploy_gh_release "vue-salt-rim" "karlomikus/vue-salt-rim" "tarball" "latest" "/opt/vue-salt-rim" fetch_and_deploy_gh_release "vue-salt-rim" "karlomikus/vue-salt-rim" "tarball" "latest" "/opt/vue-salt-rim"
msg_info "Updating Salt Rim to ${RELEASE_SALTRIM}" msg_info "Updating Vue Salt Rim"
cp /opt/vue-salt-rim-backup/public/config.js /opt/vue-salt-rim/public/config.js cp /opt/vue-salt-rim-backup/public/config.js /opt/vue-salt-rim/public/config.js
cd /opt/vue-salt-rim cd /opt/vue-salt-rim
$STD npm install $STD npm install
$STD npm run build $STD npm run build
msg_ok "Updated $APP to ${RELEASE_SALTRIM}" msg_ok "Updated Vue Salt Rim"
msg_info "Starting nginx" msg_info "Starting nginx"
systemctl start nginx systemctl start nginx
@@ -96,12 +90,9 @@ function update_script() {
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf /opt/vue-salt-rim-backup rm -rf /opt/vue-salt-rim-backup
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated"
else
msg_ok "No update required. Salt Rim is already at ${RELEASE_SALTRIM}"
fi fi
if [[ "${RELEASE_MEILISEARCH}" != "$(cat ~/.meilisearch 2>/dev/null)" ]] || [[ ! -f ~/.meilisearch ]]; then if check_for_gh_release "meilisearch" "meilisearch/meilisearch"; then
msg_info "Stopping Meilisearch" msg_info "Stopping Meilisearch"
systemctl stop meilisearch systemctl stop meilisearch
msg_ok "Stopped Meilisearch" msg_ok "Stopped Meilisearch"
@@ -111,10 +102,7 @@ function update_script() {
msg_info "Starting Meilisearch" msg_info "Starting Meilisearch"
systemctl start meilisearch systemctl start meilisearch
msg_ok "Started Meilisearch" msg_ok "Started Meilisearch"
msg_ok "Updated Successfully"
msg_ok "Updated Meilisearch"
else
msg_ok "No update required. Meilisearch is already at ${RELEASE_MEILISEARCH}"
fi fi
exit exit
} }

View File

@@ -28,8 +28,8 @@ 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/Forceu/barcodebuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.barcodebuddy 2>/dev/null)" ]] || [[ ! -f ~/.barcodebuddy ]]; then if check_for_gh_release "barcodebuddy" "Forceu/barcodebuddy"; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop apache2 systemctl stop apache2
systemctl stop barcodebuddy systemctl stop barcodebuddy
@@ -55,8 +55,6 @@ function update_script() {
rm -r /opt/barcodebuddy-backup rm -r /opt/barcodebuddy-backup
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -27,14 +27,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "bazarr" "morpheus65535/bazarr"; then
if ! command -v jq &>/dev/null; then
$STD apt-get install -y jq
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 PYTHON_VERSION="3.13" setup_uv
fetch_and_deploy_gh_release "bazarr" "morpheus65535/bazarr" "prebuild" "latest" "/opt/bazarr" "bazarr.zip" fetch_and_deploy_gh_release "bazarr" "morpheus65535/bazarr" "prebuild" "latest" "/opt/bazarr" "bazarr.zip"
@@ -44,10 +37,7 @@ function update_script() {
sed -i.bak 's/--only-binary=Pillow//g' /opt/bazarr/requirements.txt sed -i.bak 's/--only-binary=Pillow//g' /opt/bazarr/requirements.txt
$STD uv pip install -r /opt/bazarr/requirements.txt --system $STD uv pip install -r /opt/bazarr/requirements.txt --system
msg_ok "Setup Bazarr" msg_ok "Setup Bazarr"
msg_ok "Updated Successfully"
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -27,8 +27,7 @@ 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/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "bitmagnet" "bitmagnet-io/bitmagnet"; then
if [[ "${RELEASE}" != "$(cat ~/.bitmagnet 2>/dev/null)" ]] || [[ ! -f ~/.bitmagnet ]]; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop bitmagnet-web systemctl stop bitmagnet-web
msg_ok "Stopped Service" msg_ok "Stopped Service"
@@ -63,22 +62,19 @@ function update_script() {
rm -rf /opt/bitmagnet rm -rf /opt/bitmagnet
fetch_and_deploy_gh_release "bitmagnet" "bitmagnet-io/bitmagnet" fetch_and_deploy_gh_release "bitmagnet" "bitmagnet-io/bitmagnet"
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Updating ${APP}"
cd /opt/bitmagnet cd /opt/bitmagnet
VREL=v$RELEASE VREL=v$(curl -fsSL https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
$STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=$VREL" $STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=$VREL"
chmod +x bitmagnet chmod +x bitmagnet
[ -f "/opt/.env" ] && cp "/opt/.env" /opt/bitmagnet/ [ -f "/opt/.env" ] && cp "/opt/.env" /opt/bitmagnet/
[ -f "/opt/config.yml" ] && cp "/opt/config.yml" /opt/bitmagnet/ [ -f "/opt/config.yml" ] && cp "/opt/config.yml" /opt/bitmagnet/
msg_ok "Updated $APP to v${RELEASE}" msg_ok "Updated $APP"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start bitmagnet-web systemctl start bitmagnet-web
msg_ok "Started Service" 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 fi
exit exit
} }

View File

@@ -3,7 +3,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://0xerr0r.github.io/blocky/latest/ # Source: https://0xerr0r.github.io/blocky
APP="Blocky" APP="Blocky"
var_tags="${var_tags:-adblock}" var_tags="${var_tags:-adblock}"
@@ -20,18 +20,38 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /var ]]; then if [[ ! -d /opt/blocky ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
exit exit
fi
if check_for_gh_release "blocky" "0xERR0R/blocky"; then
msg_info "Stopping Service"
systemctl stop blocky
msg_ok "Stopped Service"
msg_info "Backup Config"
mv /opt/blocky/config.yml /opt/config.yml
msg_ok "Backed Up Config"
msg_info "Removing Old Version"
rm -rf /opt/blocky
msg_ok "Removed Old Version"
fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_linux_x86_64.tar.gz"
msg_info "Restore Config"
mv /opt/config.yml /opt/blocky/config.yml
msg_ok "Restored Config"
msg_info "Starting Service"
systemctl start blocky
msg_ok "Started Service"
msg_ok "Updated Successfully"
fi
exit
} }
start start
@@ -41,4 +61,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4000${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4000${CL}"

View File

@@ -28,13 +28,15 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "booklore" "booklore-app/BookLore"; then
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
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop booklore systemctl stop booklore
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
msg_info "backup old install"
mv /opt/booklore /opt/booklore_bak
msg_ok "backup done"
fetch_and_deploy_gh_release "booklore" "booklore-app/BookLore" fetch_and_deploy_gh_release "booklore" "booklore-app/BookLore"
msg_info "Building Frontend" msg_info "Building Frontend"
@@ -60,11 +62,9 @@ function update_script() {
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start booklore systemctl start booklore
systemctl reload nginx systemctl reload nginx
rm -rf /opt/booklore_bak
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 v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -28,8 +28,7 @@ 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/BookStackApp/BookStack/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "bookstack" "BookStackApp/BookStack"; then
if [[ "${RELEASE}" != "$(cat ~/.bookstack 2>/dev/null)" ]] || [[ ! -f ~/.bookstack ]]; then
msg_info "Stopping Apache2" msg_info "Stopping Apache2"
systemctl stop apache2 systemctl stop apache2
msg_ok "Services Stopped" msg_ok "Services Stopped"
@@ -58,7 +57,6 @@ function update_script() {
chmod -R 755 /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage chmod -R 755 /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage
chmod -R 775 /opt/bookstack/storage /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads chmod -R 775 /opt/bookstack/storage /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads
chmod -R 640 /opt/bookstack/.env chmod -R 640 /opt/bookstack/.env
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Configured BookStack" msg_ok "Configured BookStack"
msg_info "Starting Apache2" msg_info "Starting Apache2"
@@ -69,12 +67,9 @@ function update_script() {
rm -rf /opt/bookstack-backup rm -rf /opt/bookstack-backup
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }
start start
build_container build_container
description description

View File

@@ -28,9 +28,7 @@ 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/jordan-dalby/ByteStash/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "bytestash" "jordan-dalby/ByteStash"; then
if [[ "${RELEASE}" != "$(cat ~/.bytestash 2>/dev/null)" ]] || [[ ! -f ~/.bytestash ]]; then
read -rp "${TAB3}Did you make a backup via application WebUI? (y/n): " backuped read -rp "${TAB3}Did you make a backup via application WebUI? (y/n): " backuped
if [[ "$backuped" =~ ^[Yy]$ ]]; then if [[ "$backuped" =~ ^[Yy]$ ]]; then
msg_info "Stopping Services" msg_info "Stopping Services"
@@ -57,10 +55,7 @@ function update_script() {
exit exit
fi fi
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit
} }
start start

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
RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | tr ' ' '\n' | grep -Ev 'rc|b' | sort -V | tail -n 1) if check_for_gh_release "checkmk" "checkmk/checkmk"; then
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | tr ' ' '\n' | grep -Ev 'rc|b' | sort -V | tail -n 1)
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Updating ${APP} to v${RELEASE}"
$STD omd stop monitoring $STD omd stop monitoring
$STD omd cp monitoring monitoringbackup $STD omd cp monitoring monitoringbackup
curl -fsSL "https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb" -o "/opt/checkmk.deb" curl -fsSL "https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb" -o "/opt/checkmk.deb"
$STD apt-get install -y /opt/checkmk.deb $STD apt-get install -y /opt/checkmk.deb
$STD omd --force -V ${RELEASE}.cre update --conflict=install monitoring $STD omd --force -V ${RELEASE}.cre update --conflict=install monitoring
$STD omd start monitoring $STD omd start monitoring
$STD omd -f rm monitoringbackup $STD omd -f rm monitoringbackup
$STD omd cleanup $STD omd cleanup
rm -rf /opt/checkmk.deb rm -rf /opt/checkmk.deb
msg_ok "Updated ${APP} to v${RELEASE}" msg_ok "Updated ${APP}"
else msg_ok "Updated Successfully"
msg_ok "No update required. ${APP} is already at v${RELEASE}."
fi fi
exit exit
} }

View File

@@ -20,32 +20,27 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -f /opt/cleanuparr/Cleanuparr ]]; then if [[ ! -f /opt/cleanuparr/Cleanuparr ]]; then
msg_error "No ${APP} Installation Found!" 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 exit
} fi
if check_for_gh_release "cleanuparr" "Cleanuparr/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"
fi
exit
}
start start
build_container build_container
description description

View File

@@ -28,9 +28,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "cloudreve" "cloudreve/cloudreve"; then
RELEASE=$(curl -fsSL https://api.github.com/repos/cloudreve/cloudreve/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat ~/.cloudreve 2>/dev/null)" ]] || [[ ! -f ~/.cloudreve ]]; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop cloudreve systemctl stop cloudreve
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
@@ -40,10 +38,7 @@ function update_script() {
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start cloudreve systemctl start cloudreve
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 v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -28,8 +28,7 @@ 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/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4) if check_for_gh_release "commafeed" "Athou/commafeed"; then
if [[ "${RELEASE}" != "$(cat ~/.commafeed 2>/dev/null)" ]] || [[ ! -f ~/.commafeed ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop commafeed systemctl stop commafeed
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
@@ -59,8 +58,6 @@ function update_script() {
systemctl start commafeed systemctl start commafeed
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

View File

@@ -27,31 +27,28 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/raydak-labs/configarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "configarr" "raydak-labs/configarr"; then
if [[ "${RELEASE}" != "$(cat ~/.configarr 2>/dev/null || cat /opt/configarr_version.txt 2>/dev/null)" ]]; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop configarr-task.timer systemctl stop configarr-task.timer
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
msg_info "Updating $APP to v${RELEASE}" msg_info "Updating $APP"
mkdir -p /opt/backup/ mkdir -p /opt/backup/
mv /opt/configarr/{config.yml,secrets.yml,.env} "/opt/backup/" mv /opt/configarr/{config.yml,secrets.yml,.env} "/opt/backup/"
rm -rf /opt/configarr rm -rf /opt/configarr
fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr" fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr"
mv /opt/backup/* /opt/configarr/ mv /opt/backup/{config.yml,secrets.yml,.env} "/opt/configarr/"
cd /opt/configarr cd /opt/configarr
$STD pnpm install $STD pnpm install
$STD pnpm run build $STD pnpm run build
msg_ok "Updated $APP to v${RELEASE}" msg_ok "Updated $APP"
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start configarr-task.timer systemctl start configarr-task.timer
msg_ok "Started configarr" msg_ok "Started configarr"
rm -rf /opt/backup rm -rf /opt/backup
msg_ok "Update Successful" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -27,8 +27,7 @@ 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/C4illin/ConvertX/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if check_for_gh_release "ConvertX" "C4illin/ConvertX"; then
if [[ "${RELEASE}" != "$(cat ~/.convertx 2>/dev/null)" ]] || [[ ! -f ~/.convertx ]]; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop convertx systemctl stop convertx
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
@@ -41,25 +40,21 @@ function update_script() {
fetch_and_deploy_gh_release "ConvertX" "C4illin/ConvertX" "tarball" "latest" "/opt/convertx" fetch_and_deploy_gh_release "ConvertX" "C4illin/ConvertX" "tarball" "latest" "/opt/convertx"
msg_info "Updating $APP to v${RELEASE}" msg_info "Updating $APP"
if [[ -d /opt/data ]]; then if [[ -d /opt/data ]]; then
mv /opt/data /opt/convertx/data mv /opt/data /opt/convertx/data
fi fi
cd /opt/convertx cd /opt/convertx
$STD bun install $STD bun install
msg_ok "Updated $APP to v${RELEASE}" msg_ok "Updated $APP"
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start convertx systemctl start convertx
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 v${RELEASE}"
fi fi
exit exit
} }
start start
build_container build_container
description description

View File

@@ -33,52 +33,42 @@ 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 NODE_VERSION="22" setup_nodejs
if ! command -v npm >/dev/null 2>&1; then
echo "Installing NPM..."
$STD apt-get install -y npm
echo "Installed NPM..."
fi
fi
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
$STD /opt/cronicle/bin/control.sh upgrade $STD /opt/cronicle/bin/control.sh upgrade
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"
exit exit
fi fi
if [ "$UPD" == "2" ]; then if [ "$UPD" == "2" ]; then
if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
if ! command -v npm >/dev/null 2>&1; then
echo "Installing NPM..."
$STD apt-get install -y npm
echo "Installed NPM..."
fi
fi
LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
IP=$(hostname -I | awk '{print $1}')
msg_info "Installing Dependencies"
$STD apt-get install -y \
git \
build-essential \
ca-certificates \
gnupg2
msg_ok "Installed Dependencies"
NODE_VERSION="22" setup_nodejs NODE_VERSION="22" setup_nodejs
fetch_and_deploy_gh_release "cronicle" "jhuckaby/Cronicle" if check_for_gh_release "cronicle" "jhuckaby/Cronicle"; then
IP=$(hostname -I | awk '{print $1}')
msg_info "Installing Dependencies"
$STD apt-get install -y \
git \
build-essential \
ca-certificates \
gnupg2
msg_ok "Installed Dependencies"
msg_info "Configuring Cronicle Worker" NODE_VERSION="22" setup_nodejs
cd /opt/cronicle fetch_and_deploy_gh_release "cronicle" "jhuckaby/Cronicle"
$STD npm install
$STD node bin/build.js dist msg_info "Configuring Cronicle Worker"
sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json cd /opt/cronicle
$STD /opt/cronicle/bin/control.sh start $STD npm install
$STD cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled $STD node bin/build.js dist
chmod 775 /etc/init.d/cronicled sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
$STD update-rc.d cronicled defaults $STD /opt/cronicle/bin/control.sh start
msg_ok "Installed Cronicle Worker" $STD cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled
chmod 775 /etc/init.d/cronicled
echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n" $STD update-rc.d cronicled defaults
exit msg_ok "Installed Cronicle Worker"
echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n"
exit
fi
fi fi
} }

View File

@@ -28,8 +28,7 @@ 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/cryptpad/cryptpad/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if check_for_gh_release "cryptpad" "cryptpad/cryptpad"; then
if [[ "${RELEASE}" != "$(cat ~/.cryptpad 2>/dev/null)" ]] || [[ ! -f ~/.cryptpad ]]; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop cryptpad systemctl stop cryptpad
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
@@ -40,12 +39,12 @@ function update_script() {
fetch_and_deploy_gh_release "cryptpad" "cryptpad/cryptpad" fetch_and_deploy_gh_release "cryptpad" "cryptpad/cryptpad"
msg_info "Updating $APP to ${RELEASE}" msg_info "Updating $APP"
cd /opt/cryptpad cd /opt/cryptpad
$STD npm ci $STD npm ci
$STD npm run install:components $STD npm run install:components
$STD npm run build $STD npm run build
msg_ok "Updated $APP to ${RELEASE}" msg_ok "Updated $APP"
msg_info "Restoring configuration" msg_info "Restoring configuration"
mv /opt/config.js /opt/cryptpad/config/ mv /opt/config.js /opt/cryptpad/config/
@@ -54,10 +53,7 @@ function update_script() {
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start cryptpad systemctl start cryptpad
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 fi
exit exit
} }

View File

@@ -27,9 +27,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "dashy" "Lissy93/dashy"; then
RELEASE=$(curl -fsSL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
if [[ "${RELEASE}" != "$(cat ~/.dashy 2>/dev/null)" ]] || [[ ! -f ~/.dashy ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop dashy systemctl stop dashy
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
@@ -46,11 +44,11 @@ function update_script() {
rm -rf /opt/dashy rm -rf /opt/dashy
fetch_and_deploy_gh_release "dashy" "Lissy93/dashy" fetch_and_deploy_gh_release "dashy" "Lissy93/dashy"
msg_info "Updating ${APP} to ${RELEASE}" msg_info "Updating ${APP}"
cd /opt/dashy cd /opt/dashy
npm install npm install
npm run build npm run build
msg_ok "Updated ${APP} to ${RELEASE}" msg_ok "Updated ${APP}"
msg_info "Restoring conf.yml" msg_info "Restoring conf.yml"
cd ~ cd ~
@@ -64,10 +62,7 @@ function update_script() {
msg_info "Starting Dashy" msg_info "Starting Dashy"
systemctl start dashy systemctl start dashy
msg_ok "Started Dashy" msg_ok "Started Dashy"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

View File

@@ -30,8 +30,8 @@ function update_script() {
NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
fi fi
export NODE_OPTIONS="--max_old_space_size=4096" export NODE_OPTIONS="--max_old_space_size=4096"
RELEASE=$(curl -fsSL https://api.github.com/repos/docmost/docmost/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.docmost 2>/dev/null)" ]] || [[ ! -f ~/.docmost ]]; then if check_for_gh_release "docmost" "docmost/docmost"; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop docmost systemctl stop docmost
msg_ok "${APP} Stopped" msg_ok "${APP} Stopped"
@@ -44,7 +44,7 @@ function update_script() {
fetch_and_deploy_gh_release "docmost" "docmost/docmost" fetch_and_deploy_gh_release "docmost" "docmost/docmost"
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Updating ${APP}"
cd /opt/docmost cd /opt/docmost
mv /opt/.env /opt/docmost/.env mv /opt/.env /opt/docmost/.env
mv /opt/data /opt/docmost/data mv /opt/data /opt/docmost/data
@@ -55,10 +55,7 @@ function update_script() {
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start docmost systemctl start docmost
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

View File

@@ -20,31 +20,27 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -f /usr/bin/duplicati-server ]]; then if [[ ! -f /usr/bin/duplicati-server ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit
fi
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 ~/.duplicati)" ]] || [[ ! -f ~/.duplicati ]]; then
msg_info "Stopping $APP"
systemctl stop duplicati
msg_ok "Stopped $APP"
fetch_and_deploy_gh_release "duplicati" "duplicati/duplicati" "binary" "latest" "/opt/duplicati" "duplicati-*-linux-x64-gui.deb"
msg_info "Starting $APP"
systemctl start duplicati
msg_ok "Started $APP"
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit exit
fi
if check_for_gh_release "duplicati" "duplicati/duplicati"; then
msg_info "Stopping $APP"
systemctl stop duplicati
msg_ok "Stopped $APP"
fetch_and_deploy_gh_release "duplicati" "duplicati/duplicati" "binary" "latest" "/opt/duplicati" "duplicati-*-linux-x64-gui.deb"
msg_info "Starting $APP"
systemctl start duplicati
msg_ok "Started $APP"
msg_ok "Update Successful"
fi
exit
} }
start start

View File

@@ -9,7 +9,7 @@ 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:-2048}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-8}"
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}"

View File

@@ -28,8 +28,7 @@ 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/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4) if check_for_gh_release "emby" "MediaBrowser/Emby.Releases"; then
if [[ "${RELEASE}" != "$(cat ~/.emby 2>/dev/null)" ]] || [[ ! -f ~/.emby ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop emby-server systemctl stop emby-server
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
@@ -39,10 +38,7 @@ function update_script() {
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start emby-server systemctl start emby-server
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

View File

@@ -26,10 +26,7 @@ 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/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\Kv\K[^"]+' | head -n1) if check_for_gh_release "ersatztv" "ErsatzTV/ErsatzTV"; then
RELEASE_FFMPEG=$(curl -fsSL https://api.github.com/repos/ErsatzTV/ErsatzTV-ffmpeg/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
if [[ "${RELEASE}" != "$(cat ~/.ersatztv 2>/dev/null)" ]] || [[ ! -f ~/.ersatztv ]]; then
msg_info "Stopping ErsatzTV" msg_info "Stopping ErsatzTV"
systemctl stop ersatzTV systemctl stop ersatzTV
msg_ok "Stopped ErsatzTV" msg_ok "Stopped ErsatzTV"
@@ -41,11 +38,9 @@ function update_script() {
msg_ok "Started ErsatzTV" msg_ok "Started ErsatzTV"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
if [[ "${RELEASE_FFMPEG}" != "$(cat ~/.ersatztv-ffmpeg 2>/dev/null)" ]] || [[ ! -f ~/.ersatztv-ffmpeg ]]; then if check_for_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg"; then
msg_info "Stopping ErsatzTV" msg_info "Stopping ErsatzTV"
systemctl stop ersatzTV systemctl stop ersatzTV
msg_ok "Stopped ErsatzTV" msg_ok "Stopped ErsatzTV"
@@ -62,10 +57,7 @@ function update_script() {
msg_info "Starting ErsatzTV" msg_info "Starting ErsatzTV"
systemctl start ersatzTV systemctl start ersatzTV
msg_ok "Started ErsatzTV" msg_ok "Started ErsatzTV"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ErsatzTV-ffmpeg is already at ${RELEASE_FFMPEG}"
fi fi
exit exit
} }

View File

@@ -9,7 +9,7 @@ APP="ESPHome"
var_tags="${var_tags:-automation}" var_tags="${var_tags:-automation}"
var_cpu="${var_cpu:-2}" var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}" var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-10}"
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}"

View File

@@ -28,8 +28,7 @@ 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/excalidraw/excalidraw/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "excalidraw" "excalidraw/excalidraw"; then
if [[ "${RELEASE}" != "$(cat ~/.excalidraw 2>/dev/null)" ]] || [[ ! -f ~/.excalidraw ]]; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop excalidraw systemctl stop excalidraw
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
@@ -37,18 +36,15 @@ function update_script() {
rm -rf /opt/excalidraw rm -rf /opt/excalidraw
fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw" fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw"
msg_info "Updating $APP to v${RELEASE}" msg_info "Updating $APP"
cd /opt/excalidraw cd /opt/excalidraw
$STD yarn $STD yarn
msg_ok "Updated $APP to v${RELEASE}" msg_ok "Updated $APP"
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start excalidraw systemctl start excalidraw
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 v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -28,8 +28,7 @@ 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/firefly-iii/firefly-iii/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') if check_for_gh_release "firefly" "firefly-iii/firefly-iii"; then
if [[ "${RELEASE}" != "$(cat ~/.firefly 2>/dev/null)" ]] || [[ ! -f ~/.firefly ]]; then
msg_info "Stopping Apache2" msg_info "Stopping Apache2"
systemctl stop apache2 systemctl stop apache2
msg_ok "Stopped Apache2" msg_ok "Stopped Apache2"
@@ -42,11 +41,11 @@ function update_script() {
fetch_and_deploy_gh_release "firefly" "firefly-iii/firefly-iii" "prebuild" "latest" "/opt/firefly" "FireflyIII-*.zip" fetch_and_deploy_gh_release "firefly" "firefly-iii/firefly-iii" "prebuild" "latest" "/opt/firefly" "FireflyIII-*.zip"
setup_composer setup_composer
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Updating ${APP}"
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
chown -R www-data:www-data /opt/firefly chown -R www-data:www-data /opt/firefly
find /opt/firefly/storage -type d -exec chmod 775 {} \; find /opt/firefly/storage -type d -exec chmod 775 {} \;
find /opt/firefly/storage -type f -exec chmod 664 {} \; find /opt/firefly/storage -type f -exec chmod 664 {} \;
@@ -58,15 +57,12 @@ function update_script() {
$STD php artisan view:clear $STD php artisan view:clear
$STD php artisan firefly-iii:upgrade-database $STD php artisan firefly-iii:upgrade-database
$STD php artisan firefly-iii:laravel-passport-keys $STD php artisan firefly-iii:laravel-passport-keys
msg_ok "Updated ${APP} to v${RELEASE}" msg_ok "Updated ${APP}"
msg_info "Starting Apache2" msg_info "Starting Apache2"
systemctl start apache2 systemctl start apache2
msg_ok "Started Apache2" msg_ok "Started Apache2"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}."
fi fi
exit exit
} }

View File

@@ -28,20 +28,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/FlareSolverr/FlareSolverr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "3.3.5"; then
if [[ "${RELEASE}" != "$(cat ~/.flaresolverr 2>/dev/null)" ]] || [[ ! -f ~/.flaresolverr ]]; then
msg_info "Stopping service" msg_info "Stopping service"
systemctl stop flaresolverr systemctl stop flaresolverr
msg_ok "Stopped service" msg_ok "Stopped service"
rm -rf /opt/flaresolverr rm -rf /opt/flaresolverr
fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "latest" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz" fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "v3.3.25" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz"
msg_info "Starting service" msg_info "Starting service"
systemctl start flaresolverr systemctl start flaresolverr
msg_ok "Started service" msg_ok "Started service"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

View File

@@ -28,8 +28,7 @@ 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/dotnetfactory/fluid-calendar/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"; then
if [[ "${RELEASE}" != "$(cat ~/.fluid-calendar 2>/dev/null)" ]] || [[ ! -f ~/.fluid-calendar ]]; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop fluid-calendar systemctl stop fluid-calendar
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
@@ -38,7 +37,7 @@ function update_script() {
rm -rf /opt/fluid-calendar rm -rf /opt/fluid-calendar
fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar" fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"
msg_info "Updating $APP to v${RELEASE}" msg_info "Updating $APP"
mv /opt/fluid.env /opt/fluid-calendar/.env mv /opt/fluid.env /opt/fluid-calendar/.env
cd /opt/fluid-calendar cd /opt/fluid-calendar
export NEXT_TELEMETRY_DISABLED=1 export NEXT_TELEMETRY_DISABLED=1
@@ -46,15 +45,12 @@ function update_script() {
$STD npm run prisma:generate $STD npm run prisma:generate
$STD npx prisma migrate deploy $STD npx prisma migrate deploy
$STD npm run build:os $STD npm run build:os
msg_ok "Updated $APP to v${RELEASE}" msg_ok "Updated $APP"
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start fluid-calendar systemctl start fluid-calendar
msg_ok "Started $APP" msg_ok "Started $APP"
msg_ok "Update Successful" msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -28,10 +28,7 @@ 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/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "gatus" "TwiN/gatus"; then
if [[ "${RELEASE}" != "$(cat ~/.gatus 2>/dev/null)" ]] || [[ ! -f ~/.gatus ]]; then
msg_info "Updating $APP"
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop gatus systemctl stop gatus
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
@@ -40,21 +37,18 @@ function update_script() {
rm -rf /opt/gatus rm -rf /opt/gatus
fetch_and_deploy_gh_release "gatus" "TwiN/gatus" fetch_and_deploy_gh_release "gatus" "TwiN/gatus"
msg_info "Updating $APP to v${RELEASE}" msg_info "Updating $APP"
cd /opt/gatus cd /opt/gatus
$STD go mod tidy $STD go mod tidy
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus . CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus .
setcap CAP_NET_RAW+ep gatus setcap CAP_NET_RAW+ep gatus
mv /opt/config.yaml config mv /opt/config.yaml config
msg_ok "Updated $APP to v${RELEASE}" msg_ok "Updated $APP"
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start gatus systemctl start gatus
msg_ok "Started $APP" msg_ok "Started $APP"
msg_ok "Update Successful" msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -32,25 +32,54 @@ function update_script() {
APP_VERSION=$(grep -o '"version": *"[^"]*"' /opt/gitea-mirror/package.json | cut -d'"' -f4) APP_VERSION=$(grep -o '"version": *"[^"]*"' /opt/gitea-mirror/package.json | cut -d'"' -f4)
if [[ $APP_VERSION =~ ^2\. ]]; then if [[ $APP_VERSION =~ ^2\. ]]; then
if ! whiptail --backtitle "Gitea Mirror Update" --title "⚠️ VERSION 2.x DETECTED" --yesno \ 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 "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
then
exit 0 exit 0
fi fi
if ! whiptail --backtitle "Gitea Mirror Update" --title "⚠️ FINAL CONFIRMATION" --yesno \ 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 "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
then whiptail --backtitle "Gitea Mirror Update" --title "Update Cancelled" --msgbox "Update process cancelled. Please backup your configuration before proceeding." 8 60
whiptail --backtitle "Gitea Mirror Update" --title "Update Cancelled" --msgbox "Update process cancelled. Please backup your configuration before proceeding." 8 60 exit 0
exit 0
fi fi
whiptail --backtitle "Gitea Mirror Update" --title "Proceeding with Update" --msgbox \ 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 "Proceeding with version $APP_VERSION update.\n\nAll configuration will be cleared as warned." 8 50
rm -rf /opt/gitea-mirror rm -rf /opt/gitea-mirror
fi 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) }')
if [[ "${RELEASE}" != "$(cat ~/.${APP} 2>/dev/null || cat /opt/${APP}_version.txt 2>/dev/null)" ]]; then
if [[ ! -f /opt/gitea-mirror.env ]]; then
msg_info "Detected old Enviroment, updating files"
APP_SECRET=$(openssl rand -base64 32)
HOST_IP=$(hostname -I | awk '{print $1}')
cat <<EOF >/opt/gitea-mirror.env
# See here for config options: https://github.com/RayLabsHQ/gitea-mirror/blob/main/docs/ENVIRONMENT_VARIABLES.md
NODE_ENV=production
HOST=0.0.0.0
PORT=4321
DATABASE_URL=sqlite://data/gitea-mirror.db
BETTER_AUTH_URL=http://${HOST_IP}:4321
BETTER_AUTH_SECRET=${APP_SECRET}
npm_package_version=${APP_VERSION}
EOF
rm /etc/systemd/system/gitea-mirror.service
cat <<EOF >/etc/systemd/system/gitea-mirror.service
[Unit]
Description=Gitea Mirror
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/gitea-mirror
ExecStart=/usr/local/bin/bun dist/server/entry.mjs
Restart=on-failure
RestartSec=10
EnvironmentFile=/opt/gitea-mirror.env
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
msg_ok "Old Enviroment fixed"
fi
if check_for_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror"; then
msg_info "Stopping Services" msg_info "Stopping Services"
systemctl stop gitea-mirror systemctl stop gitea-mirror
msg_ok "Services Stopped" msg_ok "Services Stopped"
@@ -70,25 +99,23 @@ function update_script() {
rm -rf /opt/gitea-mirror rm -rf /opt/gitea-mirror
fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror" fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror"
msg_info "Updating and rebuilding ${APP} to v${RELEASE}" msg_info "Updating and rebuilding ${APP}"
cd /opt/gitea-mirror cd /opt/gitea-mirror
$STD bun run setup $STD bun run setup
$STD bun run build $STD bun run build
APP_VERSION=$(grep -o '"version": *"[^"]*"' package.json | cut -d'"' -f4) APP_VERSION=$(grep -o '"version": *"[^"]*"' package.json | cut -d'"' -f4)
sudo sed -i.bak "s|^Environment=npm_package_version=.*|Environment=npm_package_version=${APP_VERSION}|" /etc/systemd/system/gitea-mirror.service
msg_ok "Updated and rebuilt ${APP} to v${RELEASE}" sudo sed -i.bak "s|^npm_package_version=.*|npm_package_version=${APP_VERSION}|" /opt/gitea-mirror.env
msg_ok "Updated and rebuilt ${APP}"
msg_info "Restoring Data" msg_info "Restoring Data"
cp /opt/gitea-mirror-backup/data/* /opt/gitea-mirror/data cp /opt/gitea-mirror-backup/data/* /opt/gitea-mirror/data
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Restored Data" msg_ok "Restored Data"
msg_info "Starting Service" msg_info "Starting Service"
systemctl daemon-reload
systemctl start gitea-mirror systemctl start gitea-mirror
msg_ok "Service Started" msg_ok "Service Started"
else msg_ok "Update Successfully"
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -28,8 +28,7 @@ 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/go-gitea/gitea/releases/latest | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//') if check_for_gh_release "gitea" "go-gitea/gitea"; then
if [[ "${RELEASE}" != "$(cat ~/.gitea 2>/dev/null)" ]] || [[ ! -f ~/.gitea ]]; then
msg_info "Stopping service" msg_info "Stopping service"
systemctl stop gitea systemctl stop gitea
msg_ok "Service stopped" msg_ok "Service stopped"
@@ -41,10 +40,7 @@ function update_script() {
msg_info "Starting service" msg_info "Starting service"
systemctl start gitea systemctl start gitea
msg_ok "Started service" msg_ok "Started service"
msg_ok "Update Successful" msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

View File

@@ -28,8 +28,7 @@ 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/glanceapp/glance/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "glance" "glanceapp/glance"; then
if [[ "${RELEASE}" != "$(cat ~/.glance 2>/dev/null)" ]] || [[ ! -f ~/.glance ]]; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop glance systemctl stop glance
msg_ok "Stopped Service" msg_ok "Stopped Service"
@@ -40,10 +39,7 @@ function update_script() {
msg_info "Starting Service" msg_info "Starting Service"
systemctl start glance systemctl start glance
msg_ok "Started Service" 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 fi
exit exit
} }

View File

@@ -28,8 +28,7 @@ function update_script() {
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/AlexxIT/go2rtc/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "go2rtc" "AlexxIT/go2rtc"; then
if [[ "${RELEASE}" != "$(cat ~/.go2rtc 2>/dev/null)" ]] || [[ ! -f ~/.go2rtc ]]; then
msg_info "Stopping service" msg_info "Stopping service"
systemctl stop go2rtc systemctl stop go2rtc
msg_ok "Stopped service" msg_ok "Stopped service"
@@ -39,10 +38,7 @@ function update_script() {
msg_info "Starting service" msg_info "Starting service"
systemctl start go2rtc systemctl start go2rtc
msg_ok "Started service" msg_ok "Started service"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

View File

@@ -20,19 +20,14 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /opt/gokapi ]]; then if [[ ! -d /opt/gokapi ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if [[ -f /opt/${APP}_version.txt ]]; then if check_for_gh_release "gokapi" "Forceu/Gokapi"; 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}" msg_info "Stopping ${APP}"
systemctl stop gokapi systemctl stop gokapi
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
@@ -42,10 +37,7 @@ function update_script() {
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start gokapi systemctl start gokapi
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

View File

@@ -28,9 +28,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "gomft" "StarFleetCPTN/GoMFT"; then
RELEASE=$(curl -fsSL "https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest" | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.gomft)" ]] || [[ ! -f ~/.gomft ]]; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop gomft systemctl stop gomft
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
@@ -40,10 +38,7 @@ function update_script() {
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start gomft systemctl start gomft
msg_ok "Started $APP" msg_ok "Started $APP"
msg_ok "Update Successful" msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

View File

@@ -27,9 +27,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "gotify" "gotify/server"; then
RELEASE=$(curl -fsSL https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
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}"
@@ -40,10 +38,7 @@ function update_script() {
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
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

View File

@@ -27,19 +27,14 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
php_ver=$(php -v | head -n 1 | awk '{print $2}') php_ver=$(php -v | head -n 1 | awk '{print $2}')
if [[ ! $php_ver == "8.3"* ]]; then if [[ ! $php_ver == "8.3"* ]]; then
PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php
fi fi
if check_for_gh_release "grocy" "grocy/grocy"; then
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 fi
exit exit
} }

View File

@@ -29,9 +29,7 @@ function update_script() {
exit exit
fi fi
NODE_VERSION="20" NODE_MODULE="gulp-cli,mocha" setup_nodejs NODE_VERSION="20" NODE_MODULE="gulp-cli,mocha" setup_nodejs
RELEASE=$(curl -fsSL https://api.github.com/repos/HabitRPG/habitica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "habitica" "HabitRPG/habitica"; then
if [[ "${RELEASE}" != "$(cat ~/.habitica 2>/dev/null)" ]] || [[ ! -f ~/.habitica ]]; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop habitica-mongodb systemctl stop habitica-mongodb
systemctl stop habitica systemctl stop habitica
@@ -48,13 +46,13 @@ function update_script() {
fetch_and_deploy_gh_release "habitica" "HabitRPG/habitica" "tarball" "latest" "/opt/habitica" fetch_and_deploy_gh_release "habitica" "HabitRPG/habitica" "tarball" "latest" "/opt/habitica"
msg_info "Updating $APP to ${RELEASE}" msg_info "Updating $APP"
cd /opt/habitica cd /opt/habitica
$STD npm i $STD npm i
$STD npm run postinstall $STD npm run postinstall
$STD npm run client:build $STD npm run client:build
$STD gulp build:prod $STD gulp build:prod
msg_ok "Updated $APP to ${RELEASE}" msg_ok "Updated $APP"
msg_info "Restoring configuration" msg_info "Restoring configuration"
if [[ -f ~/config.json ]]; then if [[ -f ~/config.json ]]; then
@@ -69,10 +67,7 @@ function update_script() {
systemctl start habitica systemctl start habitica
systemctl start habitica-client systemctl start habitica-client
msg_ok "Started $APP" msg_ok "Started $APP"
msg_ok "Update Successful" msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

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

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

View File

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

6
ct/headers/autocaliweb Normal file
View File

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

6
ct/headers/healthchecks Normal file
View File

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

View File

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

6
ct/headers/leantime Normal file
View File

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

6
ct/headers/mediamanager Normal file
View File

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

View File

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

6
ct/headers/resiliosync Normal file
View File

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

6
ct/headers/scraparr Normal file
View File

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

6
ct/headers/signoz Normal file
View File

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

6
ct/headers/stylus Normal file
View File

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

6
ct/headers/telegraf Normal file
View File

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

6
ct/headers/tracktor Normal file
View File

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

6
ct/headers/uhf Normal file
View File

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

View File

@@ -31,8 +31,7 @@ function update_script() {
mv /opt/"${APP}_version.txt" ~/.headscale mv /opt/"${APP}_version.txt" ~/.headscale
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "headscale" "juanfont/headscale"; 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}"
@@ -41,12 +40,9 @@ function update_script() {
fetch_and_deploy_gh_release "headscale-admin" "GoodiesHQ/headscale-admin" "prebuild" "latest" "/opt/headscale-admin" "admin.zip" fetch_and_deploy_gh_release "headscale-admin" "GoodiesHQ/headscale-admin" "prebuild" "latest" "/opt/headscale-admin" "admin.zip"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
# Temporary fix until headscale project resolves service getting disabled on updates.
systemctl enable -q --now headscale systemctl enable -q --now headscale
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

65
ct/healthchecks.sh Normal file
View File

@@ -0,0 +1,65 @@
#!/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://healthchecks.io/
APP="healthchecks"
var_tags="${var_tags:-monitoring}"
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/healthchecks ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "healthchecks" "healthchecks/healthchecks"; then
msg_info "Stopping $APP"
systemctl stop healthchecks
msg_ok "Stopped $APP"
setup_uv
fetch_and_deploy_gh_release "healthchecks" "healthchecks/healthchecks"
msg_info "Updating $APP"
cd /opt/healthchecks
mkdir -p /opt/healthchecks/static-collected/
$STD uv pip install wheel gunicorn -r requirements.txt --system
$STD uv run -- python manage.py makemigrations
$STD uv run -- python manage.py migrate --noinput
$STD uv run -- python manage.py collectstatic --noinput
$STD uv run -- python manage.py compress
msg_ok "Updated $APP"
msg_info "Starting $APP"
systemctl start healthchecks
systemctl restart caddy
msg_ok "Started $APP"
msg_ok "Update Successful"
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

@@ -1,85 +0,0 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 tteck
# Author: MickLesk (Canbiz) & vhsdream
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://hoarder.app/
APP="Hoarder"
var_tags="${var_tags:-bookmark}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/hoarder ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
PREV_RELEASE=$(cat /opt/${APP}_version.txt)
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "${PREV_RELEASE}" ]]; then
msg_info "Stopping Services"
systemctl stop hoarder-web hoarder-workers hoarder-browser
msg_ok "Stopped Services"
msg_info "Updating ${APP} to v${RELEASE}"
if [[ $(corepack -v) < "0.31.0" ]]; then
$STD npm install -g corepack@0.31.0
fi
if [[ "${PREV_RELEASE}" < 0.23.0 ]]; then
$STD apt-get install -y graphicsmagick ghostscript
fi
cd /opt
if [[ -f /opt/hoarder/.env ]] && [[ ! -f /etc/hoarder/hoarder.env ]]; then
mkdir -p /etc/hoarder
mv /opt/hoarder/.env /etc/hoarder/hoarder.env
fi
rm -rf /opt/hoarder
curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
$STD unzip v"${RELEASE}".zip
mv karakeep-"${RELEASE}" /opt/hoarder
cd /opt/hoarder/apps/web
$STD pnpm install --frozen-lockfile
$STD pnpm exec next build --experimental-build-mode compile
cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web
cd /opt/hoarder/apps/workers
$STD pnpm install --frozen-lockfile
export DATA_DIR=/opt/hoarder_data
cd /opt/hoarder/packages/db
$STD pnpm migrate
sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /etc/hoarder/hoarder.env
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting Services"
systemctl start hoarder-browser hoarder-workers hoarder-web
msg_ok "Started Services"
msg_info "Cleaning up"
rm -R /opt/v"${RELEASE}".zip
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}."
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

View File

@@ -81,9 +81,8 @@ EOF
msg_ok "Updated Services" msg_ok "Updated Services"
systemctl daemon-reload systemctl daemon-reload
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/homarr-labs/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.${APP} 2>/dev/null || cat /opt/${APP}_version.txt 2>/dev/null)" ]]; then
if check_for_gh_release "homarr" "homarr-labs/homarr"; then
msg_info "Stopping Services (Patience)" msg_info "Stopping Services (Patience)"
systemctl stop homarr systemctl stop homarr
msg_ok "Services Stopped" msg_ok "Services Stopped"
@@ -98,7 +97,6 @@ EOF
$STD apt upgrade nodejs -y $STD apt upgrade nodejs -y
msg_ok "Updated Nodejs" msg_ok "Updated Nodejs"
$STD command -v jq || $STD apt-get update && $STD apt-get install -y jq
NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]') NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')"
setup_nodejs setup_nodejs
@@ -106,7 +104,7 @@ EOF
rm -rf /opt/homarr rm -rf /opt/homarr
fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr" fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr"
msg_info "Updating and rebuilding ${APP} to v${RELEASE} (Patience)" msg_info "Updating and rebuilding ${APP} (Patience)"
rm /opt/run_homarr.sh rm /opt/run_homarr.sh
cat <<'EOF' >/opt/run_homarr.sh cat <<'EOF' >/opt/run_homarr.sh
#!/bin/bash #!/bin/bash
@@ -153,7 +151,6 @@ EOF
mkdir /opt/homarr/build mkdir /opt/homarr/build
cp ./node_modules/better-sqlite3/build/Release/better_sqlite3.node ./build/better_sqlite3.node cp ./node_modules/better-sqlite3/build/Release/better_sqlite3.node ./build/better_sqlite3.node
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"
msg_info "Starting Services" msg_info "Starting Services"
@@ -164,8 +161,6 @@ EOF
if [[ "$choice" =~ ^[Yy]$ ]]; then if [[ "$choice" =~ ^[Yy]$ ]]; then
reboot reboot
fi fi
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -27,18 +27,20 @@ function update_script() {
exit exit
fi fi
if [[ -x /opt/homebox ]]; then if [[ -x /opt/homebox ]]; then
sed -i 's|/opt\b|/opt/homebox|g' /etc/systemd/system/homebox.service sed -i 's|WorkingDirectory=/opt$|WorkingDirectory=/opt/homebox|' /etc/systemd/system/homebox.service
sed -i 's|^ExecStart=/opt/homebox$|ExecStart=/opt/homebox/homebox|' /etc/systemd/system/homebox.service sed -i 's|ExecStart=/opt/homebox$|ExecStart=/opt/homebox/homebox|' /etc/systemd/system/homebox.service
sed -i 's|EnvironmentFile=/opt/.env$|EnvironmentFile=/opt/homebox/.env|' /etc/systemd/system/homebox.service
systemctl daemon-reload systemctl daemon-reload
fi 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 check_for_gh_release "homebox" "sysadminsmedia/homebox"; then
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"
[ -x /opt/homebox ] && rm -f /opt/homebox if [ -f /opt/homebox ] && [ -x /opt/homebox ]; then
rm -f /opt/homebox
fi
fetch_and_deploy_gh_release "homebox" "sysadminsmedia/homebox" "prebuild" "latest" "/opt/homebox" "homebox_Linux_x86_64.tar.gz" fetch_and_deploy_gh_release "homebox" "sysadminsmedia/homebox" "prebuild" "latest" "/opt/homebox" "homebox_Linux_x86_64.tar.gz"
chmod +x /opt/homebox/homebox chmod +x /opt/homebox/homebox
[ -f /opt/.env ] && mv /opt/.env /opt/homebox/.env [ -f /opt/.env ] && mv /opt/.env /opt/homebox/.env
@@ -47,10 +49,7 @@ function update_script() {
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start homebox systemctl start homebox
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

View File

@@ -27,8 +27,7 @@ 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/danielbrendel/hortusfox-web/releases/latest | jq -r .tag_name | sed 's/^v//') if check_for_gh_release "danielbrendel" "hortusfox-web"; then
if [[ ! -f ~/.hortusfox ]] || [[ "${RELEASE}" != "$(cat ~/.hortusfox)" ]]; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop apache2 systemctl stop apache2
msg_ok "Stopped Service" msg_ok "Stopped Service"
@@ -58,8 +57,6 @@ function update_script() {
rm -r /opt/hortusfox-backup rm -r /opt/hortusfox-backup
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -30,26 +30,24 @@ function update_script() {
fi fi
setup_uv setup_uv
RELEASE=$(curl -fsSL https://api.github.com/repos/plexguide/Huntarr.io/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')
if [[ -f ~/.huntarr && "${RELEASE}" == "$(cat ~/.huntarr)" ]]; then if check_for_gh_release "huntarr" "plexguide/Huntarr.io"; then
msg_ok "No update required. ${APP} is already at ${RELEASE}" msg_info "Stopping huntarr"
exit systemctl stop huntarr
msg_ok "Stopped huntarr"
fetch_and_deploy_gh_release "huntarr" "plexguide/Huntarr.io"
msg_info "Configuring $APP"
cd /opt/huntarr
$STD uv pip install -r requirements.txt --python /opt/huntarr/.venv/bin/python
msg_ok "Configured $APP"
msg_info "Starting $APP"
systemctl start huntarr
msg_ok "Started $APP"
msg_ok "Updated $APP"
fi fi
msg_info "Stopping huntarr service"
systemctl stop huntarr
msg_ok "Stopped huntarr service"
fetch_and_deploy_gh_release "huntarr" "plexguide/Huntarr.io"
msg_info "Configuring $APP"
cd /opt/huntarr
$STD uv pip install -r requirements.txt --python /opt/huntarr/.venv/bin/python
msg_ok "Configured $APP"
msg_info "Starting $APP"
systemctl start huntarr
msg_ok "Started $APP"
msg_ok "Updated $APP to v${RELEASE}"
exit exit
} }

View File

@@ -61,53 +61,49 @@ function update_script() {
done done
msg_ok "Image-processing libraries up to date" msg_ok "Image-processing libraries up to date"
fi fi
RELEASE="1.139.2" RELEASE="1.142.0"
#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 check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then
if [[ -f ~/.immich && "$RELEASE" == "$(cat ~/.immich)" ]]; then msg_info "Stopping Services"
msg_ok "No update required. ${APP} is already at v${RELEASE}" systemctl stop immich-web
exit systemctl stop immich-ml
fi msg_ok "Stopped ${APP}"
msg_info "Stopping ${APP} services" INSTALL_DIR="/opt/${APP}"
systemctl stop immich-web UPLOAD_DIR="$(sed -n '/^IMMICH_MEDIA_LOCATION/s/[^=]*=//p' /opt/immich/.env)"
systemctl stop immich-ml SRC_DIR="${INSTALL_DIR}/source"
msg_ok "Stopped ${APP}" APP_DIR="${INSTALL_DIR}/app"
INSTALL_DIR="/opt/${APP}" ML_DIR="${APP_DIR}/machine-learning"
UPLOAD_DIR="$(sed -n '/^IMMICH_MEDIA_LOCATION/s/[^=]*=//p' /opt/immich/.env)" GEO_DIR="${INSTALL_DIR}/geodata"
SRC_DIR="${INSTALL_DIR}/source" VCHORD_RELEASE="0.4.3"
APP_DIR="${INSTALL_DIR}/app" # VCHORD_RELEASE="$(curl -fsSL https://api.github.com/repos/tensorchord/vectorchord/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')"
ML_DIR="${APP_DIR}/machine-learning"
GEO_DIR="${INSTALL_DIR}/geodata"
VCHORD_RELEASE="0.4.3"
# VCHORD_RELEASE="$(curl -fsSL https://api.github.com/repos/tensorchord/vectorchord/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')"
if [[ ! -f ~/.vchord_version ]] || [[ "$VCHORD_RELEASE" != "$(cat ~/.vchord_version)" ]]; then if [[ ! -f ~/.vchord_version ]] || [[ "$VCHORD_RELEASE" != "$(cat ~/.vchord_version)" ]]; then
msg_info "Updating VectorChord" msg_info "Updating VectorChord"
if [[ ! -f ~/.vchord_version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then if [[ ! -f ~/.vchord_version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then
$STD sudo -u postgres pg_dumpall --clean --if-exists --username=postgres | gzip >/etc/postgresql/immich-db-vchord0.3.0.sql.gz $STD sudo -u postgres pg_dumpall --clean --if-exists --username=postgres | gzip >/etc/postgresql/immich-db-vchord0.3.0.sql.gz
chown postgres /etc/postgresql/immich-db-vchord0.3.0.sql.gz chown postgres /etc/postgresql/immich-db-vchord0.3.0.sql.gz
$STD sudo -u postgres gunzip --stdout /etc/postgresql/immich-db-vchord0.3.0.sql.gz | $STD sudo -u postgres gunzip --stdout /etc/postgresql/immich-db-vchord0.3.0.sql.gz |
sed -e "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" \ sed -e "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" \
-e "/vchordrq.prewarm_dim/d" | -e "/vchordrq.prewarm_dim/d" |
sudo -u postgres psql sudo -u postgres psql
fi
curl -fsSL "https://github.com/tensorchord/vectorchord/releases/download/${VCHORD_RELEASE}/postgresql-16-vchord_${VCHORD_RELEASE}-1_amd64.deb" -o vchord.deb
$STD apt install -y ./vchord.deb
$STD sudo -u postgres psql -d immich -c "ALTER EXTENSION vchord UPDATE;"
systemctl restart postgresql
if [[ ! -f ~/.vchord_version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then
$STD sudo -u postgres psql -d immich -c "REINDEX INDEX face_index;"
$STD sudo -u postgres psql -d immich -c "REINDEX INDEX clip_index;"
fi
echo "$VCHORD_RELEASE" >~/.vchord_version
rm ./vchord.deb
msg_ok "Updated VectorChord to v${VCHORD_RELEASE}"
fi fi
curl -fsSL "https://github.com/tensorchord/vectorchord/releases/download/${VCHORD_RELEASE}/postgresql-16-vchord_${VCHORD_RELEASE}-1_amd64.deb" -o vchord.deb
$STD apt install -y ./vchord.deb
$STD sudo -u postgres psql -d immich -c "ALTER EXTENSION vchord UPDATE;"
systemctl restart postgresql
if [[ ! -f ~/.vchord_version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then
$STD sudo -u postgres psql -d immich -c "REINDEX INDEX face_index;"
$STD sudo -u postgres psql -d immich -c "REINDEX INDEX clip_index;"
fi
echo "$VCHORD_RELEASE" >~/.vchord_version
rm ./vchord.deb
msg_ok "Updated VectorChord to v${VCHORD_RELEASE}"
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 if grep -qs "set -a" "$APP_DIR"/bin/start.sh; then
cp "$APP_DIR"/bin/start.sh "$INSTALL_DIR" cp "$APP_DIR"/bin/start.sh "$INSTALL_DIR"
else else
cat <<EOF >"$INSTALL_DIR"/start.sh cat <<EOF >"$INSTALL_DIR"/start.sh
#!/usr/bin/env bash #!/usr/bin/env bash
set -a set -a
@@ -116,90 +112,92 @@ set +a
/usr/bin/node ${APP_DIR}/dist/main.js "\$@" /usr/bin/node ${APP_DIR}/dist/main.js "\$@"
EOF EOF
chmod +x "$INSTALL_DIR"/start.sh chmod +x "$INSTALL_DIR"/start.sh
fi
(
shopt -s dotglob
rm -rf "${APP_DIR:?}"/*
)
rm -rf "$SRC_DIR"
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v${RELEASE}" "$SRC_DIR"
msg_info "Updating ${APP} web and microservices"
cd "$SRC_DIR"/server
if [[ "$RELEASE" == "1.135.1" ]]; then
rm ./src/schema/migrations/1750323941566-UnsetPrewarmDimParameter.ts
fi
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
export CI=1
corepack enable
# server build
export SHARP_IGNORE_GLOBAL_LIBVIPS=true
$STD pnpm --filter immich --frozen-lockfile build
unset SHARP_IGNORE_GLOBAL_LIBVIPS
export SHARP_FORCE_GLOBAL_LIBVIPS=true
$STD pnpm --filter immich --frozen-lockfile --prod --no-optional deploy "$APP_DIR"
cp "$APP_DIR"/package.json "$APP_DIR"/bin
sed -i 's|^start|./start|' "$APP_DIR"/bin/immich-admin
# openapi & web build
cd "$SRC_DIR"
$STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install
$STD pnpm --filter @immich/sdk --filter immich-web build
cp -a web/build "$APP_DIR"/www
cp LICENSE "$APP_DIR"
# cli build
$STD pnpm --filter @immich/sdk --filter @immich/cli --frozen-lockfile install
$STD pnpm --filter @immich/sdk --filter @immich/cli build
$STD pnpm --filter @immich/cli --prod --no-optional deploy "$APP_DIR"/cli
cd "$APP_DIR"
mv "$INSTALL_DIR"/start.sh "$APP_DIR"/bin
msg_ok "Updated ${APP} web and microservices"
cd "$SRC_DIR"/machine-learning
mkdir -p "$ML_DIR"
export VIRTUAL_ENV="${ML_DIR}"/ml-venv
if [[ -f ~/.openvino ]]; then
msg_info "Updating HW-accelerated machine-learning"
$STD /usr/local/bin/uv sync --extra openvino --no-cache --active
patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so"
msg_ok "Updated HW-accelerated machine-learning"
else
msg_info "Updating machine-learning"
$STD /usr/local/bin/uv sync --extra cpu --no-cache --active
msg_ok "Updated machine-learning"
fi
cd "$SRC_DIR"
cp -a machine-learning/{ann,immich_ml} "$ML_DIR"
mv "$INSTALL_DIR"/ml_start.sh "$ML_DIR"
if [[ -f ~/.openvino ]]; then
sed -i "/intra_op/s/int = 0/int = os.cpu_count() or 0/" "$ML_DIR"/immich_ml/config.py
fi
ln -sf "$APP_DIR"/resources "$INSTALL_DIR"
cd "$APP_DIR"
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"
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}" "$ML_DIR"/upload
ln -s "$GEO_DIR" "$APP_DIR"
chown -R immich:immich "$INSTALL_DIR"
if [[ ! -f ~/.debian_version.bak ]]; then
cp /etc/debian_version ~/.debian_version.bak
sed -i 's/.*/13.0/' /etc/debian_version
fi
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
systemctl restart immich-ml immich-web
fi fi
(
shopt -s dotglob
rm -rf "${APP_DIR:?}"/*
)
rm -rf "$SRC_DIR"
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v${RELEASE}" "$SRC_DIR"
msg_info "Updating ${APP} web and microservices"
cd "$SRC_DIR"/server
if [[ "$RELEASE" == "1.135.1" ]]; then
rm ./src/schema/migrations/1750323941566-UnsetPrewarmDimParameter.ts
fi
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
export CI=1
corepack enable
# server build
$STD pnpm --filter immich --frozen-lockfile build
$STD pnpm --filter immich --frozen-lockfile --prod --no-optional deploy "$APP_DIR"
cp "$APP_DIR"/package.json "$APP_DIR"/bin
sed -i 's|^start|./start|' "$APP_DIR"/bin/immich-admin
# openapi & web build
cd "$SRC_DIR"
export SHARP_FORCE_GLOBAL_LIBVIPS=true
$STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install
$STD pnpm --filter @immich/sdk --filter immich-web build
cp -a web/build "$APP_DIR"/www
cp LICENSE "$APP_DIR"
# cli build
$STD pnpm --filter @immich/sdk --filter @immich/cli --frozen-lockfile install
$STD pnpm --filter @immich/sdk --filter @immich/cli build
$STD pnpm --filter @immich/cli --prod --no-optional deploy "$APP_DIR"/cli
cd "$APP_DIR"
mv "$INSTALL_DIR"/start.sh "$APP_DIR"/bin
msg_ok "Updated ${APP} web and microservices"
cd "$SRC_DIR"/machine-learning
mkdir -p "$ML_DIR"
export VIRTUAL_ENV="${ML_DIR}"/ml-venv
$STD /usr/local/bin/uv venv "$VIRTUAL_ENV"
if [[ -f ~/.openvino ]]; then
msg_info "Updating HW-accelerated machine-learning"
/usr/local/bin/uv -q sync --extra openvino --no-cache --active
patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so"
msg_ok "Updated HW-accelerated machine-learning"
else
msg_info "Updating machine-learning"
/usr/local/bin/uv -q sync --extra cpu --no-cache --active
msg_ok "Updated machine-learning"
fi
cd "$SRC_DIR"
cp -a machine-learning/{ann,immich_ml} "$ML_DIR"
mv "$INSTALL_DIR"/ml_start.sh "$ML_DIR"
if [[ -f ~/.openvino ]]; then
sed -i "/intra_op/s/int = 0/int = os.cpu_count() or 0/" "$ML_DIR"/immich_ml/config.py
fi
ln -sf "$APP_DIR"/resources "$INSTALL_DIR"
cd "$APP_DIR"
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"
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}" "$ML_DIR"/upload
ln -s "$GEO_DIR" "$APP_DIR"
chown -R immich:immich "$INSTALL_DIR"
if [[ ! -f ~/.debian_version.bak ]]; then
cp /etc/debian_version ~/.debian_version.bak
sed -i 's/.*/13.0/' /etc/debian_version
fi
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
systemctl restart immich-ml immich-web
exit exit
} }
@@ -207,8 +205,9 @@ function compile_libjxl() {
SOURCE=${SOURCE_DIR}/libjxl SOURCE=${SOURCE_DIR}/libjxl
JPEGLI_LIBJPEG_LIBRARY_SOVERSION="62" JPEGLI_LIBJPEG_LIBRARY_SOVERSION="62"
JPEGLI_LIBJPEG_LIBRARY_VERSION="62.3.0" JPEGLI_LIBJPEG_LIBRARY_VERSION="62.3.0"
: "${LIBJXL_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libjxl.json)}" # : "${LIBJXL_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libjxl.json)}"
if [[ "${update:-}" ]] || [[ "$LIBJXL_REVISION" != "$(grep 'libjxl' ~/.immich_library_revisions | awk '{print $2}')" ]]; then : "${LIBJXL_REVISION:=794a5dcf0d54f9f0b20d288a12e87afb91d20dfc}"
if [[ "$LIBJXL_REVISION" != "$(grep 'libjxl' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
msg_info "Recompiling libjxl" msg_info "Recompiling libjxl"
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
$STD git clone https://github.com/libjxl/libjxl.git "$SOURCE" $STD git clone https://github.com/libjxl/libjxl.git "$SOURCE"
@@ -254,7 +253,8 @@ function compile_libheif() {
$STD apt-get install -y libaom-dev $STD apt-get install -y libaom-dev
local update="required" local update="required"
fi fi
: "${LIBHEIF_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libheif.json)}" # : "${LIBHEIF_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libheif.json)}"
: "${LIBHEIF_REVISION:=35dad50a9145332a7bfdf1ff6aef6801fb613d68}"
if [[ "${update:-}" ]] || [[ "$LIBHEIF_REVISION" != "$(grep 'libheif' ~/.immich_library_revisions | awk '{print $2}')" ]]; then if [[ "${update:-}" ]] || [[ "$LIBHEIF_REVISION" != "$(grep 'libheif' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
msg_info "Recompiling libheif" msg_info "Recompiling libheif"
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
@@ -286,8 +286,9 @@ function compile_libheif() {
function compile_libraw() { function compile_libraw() {
SOURCE=${SOURCE_DIR}/libraw SOURCE=${SOURCE_DIR}/libraw
local update local update
: "${LIBRAW_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libraw.json)}" # : "${LIBRAW_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libraw.json)}"
if [[ "${update:-}" ]] || [[ "$LIBRAW_REVISION" != "$(grep 'libraw' ~/.immich_library_revisions | awk '{print $2}')" ]]; then : "${LIBRAW_REVISION:=09bea31181b43e97959ee5452d91e5bc66365f1f}"
if [[ "$LIBRAW_REVISION" != "$(grep 'libraw' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
msg_info "Recompiling libraw" msg_info "Recompiling libraw"
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
$STD git clone https://github.com/libraw/libraw.git "$SOURCE" $STD git clone https://github.com/libraw/libraw.git "$SOURCE"
@@ -307,8 +308,9 @@ function compile_libraw() {
function compile_imagemagick() { function compile_imagemagick() {
SOURCE=$SOURCE_DIR/imagemagick SOURCE=$SOURCE_DIR/imagemagick
: "${IMAGEMAGICK_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/imagemagick.json)}" # : "${IMAGEMAGICK_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/imagemagick.json)}"
if [[ "${update:-}" ]] || [[ "$IMAGEMAGICK_REVISION" != "$(grep 'imagemagick' ~/.immich_library_revisions | awk '{print $2}')" ]]; then : "${IMAGEMAGICK_REVISION:=8289a3388a085ad5ae81aa6812f21554bdfd54f2}"
if [[ "$IMAGEMAGICK_REVISION" != "$(grep 'imagemagick' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
msg_info "Recompiling ImageMagick" msg_info "Recompiling ImageMagick"
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
$STD git clone https://github.com/ImageMagick/ImageMagick.git "$SOURCE" $STD git clone https://github.com/ImageMagick/ImageMagick.git "$SOURCE"
@@ -327,8 +329,9 @@ function compile_imagemagick() {
function compile_libvips() { function compile_libvips() {
SOURCE=$SOURCE_DIR/libvips SOURCE=$SOURCE_DIR/libvips
: "${LIBVIPS_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libvips.json)}" # : "${LIBVIPS_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libvips.json)}"
if [[ "${update:-}" ]] || [[ "$LIBVIPS_REVISION" != "$(grep 'libvips' ~/.immich_library_revisions | awk '{print $2}')" ]]; then : "${LIBVIPS_REVISION:=8fa37a64547e392d3808eed8d72adab7e02b3d00}"
if [[ "$LIBVIPS_REVISION" != "$(grep 'libvips' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
msg_info "Recompiling libvips" msg_info "Recompiling libvips"
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
$STD git clone https://github.com/libvips/libvips.git "$SOURCE" $STD git clone https://github.com/libvips/libvips.git "$SOURCE"

View File

@@ -27,9 +27,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "inspircd" "inspircd/inspircd"; then
RELEASE=$(curl -fsSL https://api.github.com/repos/inspircd/inspircd/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
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"
@@ -39,10 +37,7 @@ function update_script() {
msg_info "Starting Service" msg_info "Starting Service"
systemctl start inspircd systemctl start inspircd
msg_ok "Started Service" 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 fi
exit exit
} }

View File

@@ -34,13 +34,18 @@ function update_script() {
DisableRootWarning=true DisableRootWarning=true
EOF EOF
fi fi
if check_for_gh_release "Jackett" "Jackett/Jackett"; then
msg_info "Stopping Service"
systemctl stop jackett
msg_ok "Stopped Service"
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
fetch_and_deploy_gh_release "jackett" "Jackett/Jackett" "prebuild" "latest" "/opt/Jackett" "Jackett.Binaries.LinuxAMDx64.tar.gz" fetch_and_deploy_gh_release "jackett" "Jackett/Jackett" "prebuild" "latest" "/opt/Jackett" "Jackett.Binaries.LinuxAMDx64.tar.gz"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}" msg_info "Starting Service"
systemctl start jackett
msg_ok "Started Service"
msg_ok "Updated Successfully"
fi fi
exit exit
} }

View File

@@ -28,10 +28,10 @@ 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/Casvt/Kapowarr/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat $HOME/.kapowarr)" ]] || [[ ! -f $HOME/.kapowarr ]]; then setup_uv
setup_uv
if check_for_gh_release "kapowarr" "Casvt/Kapowarr"; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop kapowarr systemctl stop kapowarr
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
@@ -41,17 +41,15 @@ function update_script() {
msg_ok "Backup Created" msg_ok "Backup Created"
fetch_and_deploy_gh_release "kapowarr" "Casvt/Kapowarr" fetch_and_deploy_gh_release "kapowarr" "Casvt/Kapowarr"
msg_info "Updating $APP to ${RELEASE}"
msg_info "Updating $APP"
mv /opt/db /opt/kapowarr mv /opt/db /opt/kapowarr
msg_ok "Updated $APP to ${RELEASE}" msg_ok "Updated $APP"
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start kapowarr systemctl start kapowarr
msg_ok "Started $APP" msg_ok "Started $APP"
msg_ok "Update Successful" msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

View File

@@ -28,73 +28,76 @@ function update_script() {
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "karakeep" "karakeep-app/karakeep"; then
if [[ -f ~/.karakeep && "$RELEASE" == "$(cat ~/.karakeep)" ]]; then msg_info "Stopping Services"
msg_ok "No update required. ${APP} is already at ${RELEASE}" systemctl stop karakeep-web karakeep-workers karakeep-browser
exit msg_ok "Stopped Services"
msg_info "Updating yt-dlp"
$STD yt-dlp --update-to nightly
msg_ok "Updated yt-dlp"
msg_info "Prepare update"
if [[ -f /opt/${APP}_version.txt && "$(cat /opt/${APP}_version.txt)" < "0.23.0" ]]; then
$STD apt-get install -y graphicsmagick ghostscript
fi
if [[ -f /opt/karakeep/.env ]] && [[ ! -f /etc/karakeep/karakeep.env ]]; then
mkdir -p /etc/karakeep
mv /opt/karakeep/.env /etc/karakeep/karakeep.env
fi
rm -rf /opt/karakeep
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
if grep -q '^ExecStart=/usr/bin/node\s\+dist/index\.mjs$' /etc/systemd/system/karakeep-workers.service; then
sed -i -E 's#^(ExecStart=/usr/bin/node\s+dist/)index\.mjs$#\1index.js#' /etc/systemd/system/karakeep-workers.service
systemctl daemon-reload
fi
fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep"
if command -v corepack >/dev/null; then
$STD corepack disable
fi
MODULE_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/karakeep/package.json)"
NODE_VERSION="22" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs
msg_info "Updating ${APP}"
corepack enable
export PUPPETEER_SKIP_DOWNLOAD="true"
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="true"
export NEXT_TELEMETRY_DISABLED=1
export CI="true"
cd /opt/karakeep/apps/web
$STD pnpm install --frozen-lockfile
$STD pnpm build
cd /opt/karakeep/apps/workers
$STD pnpm install --frozen-lockfile
$STD pnpm build
cd /opt/karakeep/apps/cli
$STD pnpm install --frozen-lockfile
$STD pnpm build
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
$STD pnpm migrate
$STD pnpm store prune
sed -i "s/^SERVER_VERSION=.*$/SERVER_VERSION=${CHECK_UPDATE_RELEASE}/" /etc/karakeep/karakeep.env
msg_ok "Updated ${APP}"
msg_info "Starting Services"
systemctl start karakeep-browser karakeep-workers karakeep-web
msg_ok "Started Services"
msg_info "Cleaning up"
$STD apt-get autoremove -y
$STD apt-get autoclean -y
msg_ok "Cleaned"
msg_ok "Updated Successfully"
fi fi
msg_info "Stopping Services"
systemctl stop karakeep-web karakeep-workers karakeep-browser
msg_ok "Stopped Services"
msg_info "Updating yt-dlp"
$STD yt-dlp --update-to nightly
msg_ok "Updated yt-dlp"
msg_info "Prepare update"
if [[ -f /opt/${APP}_version.txt && "$(cat /opt/${APP}_version.txt)" < "0.23.0" ]]; then
$STD apt-get install -y graphicsmagick ghostscript
fi
if [[ -f /opt/karakeep/.env ]] && [[ ! -f /etc/karakeep/karakeep.env ]]; then
mkdir -p /etc/karakeep
mv /opt/karakeep/.env /etc/karakeep/karakeep.env
fi
rm -rf /opt/karakeep
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"
if command -v corepack >/dev/null; then
$STD corepack disable
fi
MODULE_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/karakeep/package.json)"
NODE_VERSION="22" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs
msg_info "Updating ${APP} to v${RELEASE}"
corepack enable
export PUPPETEER_SKIP_DOWNLOAD="true"
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="true"
export NEXT_TELEMETRY_DISABLED=1
export CI="true"
cd /opt/karakeep/apps/web
$STD pnpm install --frozen-lockfile
$STD pnpm build
cd /opt/karakeep/apps/workers
$STD pnpm install --frozen-lockfile
$STD pnpm build
cd /opt/karakeep/apps/cli
$STD pnpm install --frozen-lockfile
$STD pnpm build
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
$STD pnpm migrate
$STD pnpm store prune
sed -i "s/^SERVER_VERSION=.*$/SERVER_VERSION=${RELEASE}/" /etc/karakeep/karakeep.env
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting Services"
systemctl start karakeep-browser karakeep-workers karakeep-web
msg_ok "Started Services"
msg_info "Cleaning up"
$STD apt-get autoremove -y
$STD apt-get autoclean -y
msg_ok "Cleaned"
msg_ok "Updated Successfully"
exit exit
} }

View File

@@ -27,50 +27,42 @@ 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 if check_for_gh_release "keycloak" "keycloak/keycloak"; then
$STD apt-get install -y jq
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/keycloak/keycloak/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat ~/.keycloak_app 2>/dev/null)" ]] || [[ ! -f ~/.keycloak_app ]]; then
msg_info "Stopping Keycloak" msg_info "Stopping Keycloak"
systemctl stop keycloak systemctl stop keycloak
msg_ok "Stopped 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" msg_ok "Updated packages"
msg_info "Backup old Keycloak" msg_info "Backup old Keycloak"
cd /opt cd /opt
mv keycloak keycloak.old mv keycloak keycloak.old
msg_ok "Backup done" msg_ok "Backup done"
fetch_and_deploy_gh_release "keycloak_app" "keycloak/keycloak" "prebuild" "latest" "/opt/keycloak" "keycloak-*.tar.gz" fetch_and_deploy_gh_release "keycloak_app" "keycloak/keycloak" "prebuild" "latest" "/opt/keycloak" "keycloak-*.tar.gz"
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
cd /opt cd /opt
cp -a keycloak.old/conf/. keycloak/conf/ cp -a keycloak.old/conf/. keycloak/conf/
cp -a keycloak.old/providers/. keycloak/providers/ 2>/dev/null || true cp -a keycloak.old/providers/. keycloak/providers/ 2>/dev/null || true
cp -a keycloak.old/themes/. keycloak/themes/ 2>/dev/null || true cp -a keycloak.old/themes/. keycloak/themes/ 2>/dev/null || true
msg_ok "Updated ${APP} LXC" msg_ok "Updated ${APP} LXC"
msg_info "Restarting Keycloak" msg_info "Restarting Keycloak"
systemctl restart keycloak systemctl restart keycloak
msg_ok "Restarted Keycloak" msg_ok "Restarted Keycloak"
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf keycloak.old rm -rf keycloak.old
msg_ok "Cleanup complete" msg_ok "Cleanup complete"
msg_ok "Update Successful" msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }
start start
build_container build_container
description description

View File

@@ -27,8 +27,7 @@ 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/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if check_for_gh_release "koillection" "benjaminjonard/koillection"; 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"
@@ -36,10 +35,10 @@ function update_script() {
msg_info "Creating a backup" msg_info "Creating a backup"
mv /opt/koillection/ /opt/koillection-backup mv /opt/koillection/ /opt/koillection-backup
msg_ok "Backup created" msg_ok "Backup created"
fetch_and_deploy_gh_release "koillection" "benjaminjonard/koillection" fetch_and_deploy_gh_release "koillection" "benjaminjonard/koillection"
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Updating ${APP}"
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/
@@ -51,7 +50,7 @@ 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
msg_ok "Updated $APP to v${RELEASE}" msg_ok "Updated $APP"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start apache2 systemctl start apache2
@@ -60,10 +59,7 @@ function update_script() {
msg_info "Cleaning up" msg_info "Cleaning up"
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
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -28,12 +28,7 @@ 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 if check_for_gh_release "kometa" "Kometa-Team/Kometa"; then
$STD apt-get install -y jq
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/Kometa-Team/Kometa/releases/latest | jq -r '.tag_name | sub("^v";"")')
if [[ "${RELEASE}" != "$(cat ~/.kometa 2>/dev/null)" ]] || [[ ! -f ~/.kometa ]]; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop kometa systemctl stop kometa
msg_ok "Stopped Service" msg_ok "Stopped Service"
@@ -43,7 +38,6 @@ function update_script() {
msg_ok "Backup completed" msg_ok "Backup completed"
PYTHON_VERSION="3.12" setup_uv PYTHON_VERSION="3.12" setup_uv
$STD uv python update-shell
fetch_and_deploy_gh_release "kometa" "Kometa-Team/Kometa" fetch_and_deploy_gh_release "kometa" "Kometa-Team/Kometa"
msg_info "Updating Kometa" msg_info "Updating Kometa"
@@ -56,8 +50,6 @@ function update_script() {
systemctl start kometa systemctl start kometa
msg_ok "Started Service" msg_ok "Started Service"
msg_ok "Update Successful" msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -27,9 +27,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "komga" "gotson/komga"; then
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 ~/.komga-org ]] || [[ "${RELEASE}" != "$(cat ~/.komga-org)" ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop komga systemctl stop komga
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
@@ -41,10 +39,7 @@ function update_script() {
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
msg_ok "No update required. ${APP} is already at ${RELEASE}."
fi fi
exit exit
} }

View File

@@ -56,6 +56,9 @@ function update_script() {
mv "$BACKUP_FILE" "$COMPOSE_FILE" mv "$BACKUP_FILE" "$COMPOSE_FILE"
exit 1 exit 1
fi fi
if ! grep -qxF 'COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups' /opt/komodo/compose.env; then
sed -i '/^COMPOSE_KOMODO_IMAGE_TAG=latest$/a COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups' /opt/komodo/compose.env
fi
$STD docker compose -p komodo -f "$COMPOSE_FILE" --env-file /opt/komodo/compose.env up -d $STD docker compose -p komodo -f "$COMPOSE_FILE" --env-file /opt/komodo/compose.env up -d
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"
exit exit

View File

@@ -27,9 +27,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "kubo" "ipfs/kubo"; then
RELEASE=$(curl -fsSL https://api.github.com/repos/ipfs/kubo/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.kubo)" ]] || [[ ! -f ~/.kubo ]]; then
msg_info "Stopping service" msg_info "Stopping service"
systemctl stop ipfs systemctl stop ipfs
msg_ok "Stopped service" msg_ok "Stopped service"
@@ -39,10 +37,7 @@ function update_script() {
msg_info "Starting service" msg_info "Starting service"
systemctl start ipfs systemctl start ipfs
msg_ok "Service started" msg_ok "Service started"
msg_ok "Updated successfully"
msg_ok "Updated successfuly"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

62
ct/leantime.sh Normal file
View File

@@ -0,0 +1,62 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Stroopwafe1
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://leantime.io
APP="Leantime"
var_tags="${var_tags:-productivity}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-20}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/leantime ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "leantime" "Leantime/leantime"; then
msg_info "Creating Backup"
mariadb-dump leantime >"/opt/${APP}_db_backup_$(date +%F).sql"
tar -czf "/opt/${APP}_backup_$(date +%F).tar.gz" "/opt/${APP}"
mv /opt/leantime /opt/leantime_bak
msg_ok "Backup Created"
fetch_and_deploy_gh_release "leantime" "Leantime/leantime" "prebuild" "latest" "/opt/leantime" Leantime*.tar.gz
msg_info "Restoring Config & Permissions"
mv /opt/leantime_bak/config/.env /opt/leantime/config/.env
chown -R www-data:www-data "/opt/leantime"
chmod -R 750 "/opt/leantime"
msg_ok "Restored Config & Permissions"
msg_info "Removing Backup"
rm -rf /opt/leantime_bak
msg_ok "Removed Backup"
msg_ok "Updated Successfully"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/install${CL}"

View File

@@ -27,9 +27,8 @@ 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 | jq -r '.tag_name' | sed 's/^v//') if check_for_gh_release "librespeed-rust" "librespeed/speedtest-rust"; 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"
@@ -39,8 +38,7 @@ function update_script() {
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 msg_ok "Updated Successfully"
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -28,25 +28,21 @@ 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/LibreTranslate/LibreTranslate/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if check_for_gh_release "libretranslate" "LibreTranslate/LibreTranslate"; then
if [[ "${RELEASE}" != "$(cat $HOME/.libretranslate)" ]] || [[ ! -f $HOME/.libretranslate ]]; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop libretranslate systemctl stop libretranslate
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
msg_info "Updating $APP to ${RELEASE}" msg_info "Updating $APP"
cd /opt/libretranslate cd /opt/libretranslate
source .venv/bin/activate source .venv/bin/activate
$STD pip install -U libretranslate $STD pip install -U libretranslate
msg_ok "Updated $APP to ${RELEASE}" msg_ok "Updated $APP"
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start libretranslate systemctl start libretranslate
msg_ok "Started $APP" msg_ok "Started $APP"
msg_ok "Update Successful" msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

View File

@@ -29,23 +29,18 @@ function update_script() {
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/Lidarr/Lidarr/releases/latest | jq -r '.tag_name' | sed 's/^v//') if check_for_gh_release "lidarr" "Lidarr/Lidarr"; then
if [[ "${RELEASE}" != "$(cat ~/.lidarr)" ]] || [[ ! -f ~/.lidarr ]]; then
msg_info "Stopping service" msg_info "Stopping service"
systemctl stop lidarr systemctl stop lidarr
msg_ok "Service stopped" msg_ok "Service stopped"
fetch_and_deploy_gh_release "lidarr" "Lidarr/Lidarr" "prebuild" "latest" "/opt/Lidarr" "Lidarr.master*linux-core-x64.tar.gz" fetch_and_deploy_gh_release "lidarr" "Lidarr/Lidarr" "prebuild" "latest" "/opt/Lidarr" "Lidarr.master*linux-core-x64.tar.gz"
chmod 775 /opt/Lidarr chmod 775 /opt/Lidarr
msg_info "Starting service" msg_info "Starting service"
systemctl start lidarr systemctl start lidarr
msg_ok "Service started" msg_ok "Service started"
msg_ok "Updated successfully" msg_ok "Updated successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit
} }

View File

@@ -26,8 +26,7 @@ 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/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if check_for_gh_release "linkwarden" "linkwarden/linkwarden"; then
if [[ "${RELEASE}" != "$(cat /opt/linkwarden_version.txt)" ]] || [[ ! -f /opt/linkwarden_version.txt ]]; then
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop linkwarden systemctl stop linkwarden
@@ -35,11 +34,15 @@ function update_script() {
RUST_CRATES="monolith" setup_rust RUST_CRATES="monolith" setup_rust
msg_info "Updating ${APP} to ${RELEASE}" msg_info "Backing up data"
mv /opt/linkwarden/.env /opt/.env mv /opt/linkwarden/.env /opt/.env
[ -d /opt/linkwarden/data ] && mv /opt/linkwarden/data /opt/data.bak [ -d /opt/linkwarden/data ] && mv /opt/linkwarden/data /opt/data.bak
rm -rf /opt/linkwarden rm -rf /opt/linkwarden
msg_ok "Backed up data"
fetch_and_deploy_gh_release "linkwarden" "linkwarden/linkwarden" fetch_and_deploy_gh_release "linkwarden" "linkwarden/linkwarden"
msg_info "Updating ${APP}"
cd /opt/linkwarden cd /opt/linkwarden
$STD yarn $STD yarn
$STD npx playwright install-deps $STD npx playwright install-deps
@@ -49,7 +52,7 @@ function update_script() {
$STD yarn web:build $STD yarn web:build
$STD yarn prisma:deploy $STD yarn prisma:deploy
[ -d /opt/data.bak ] && mv /opt/data.bak /opt/linkwarden/data [ -d /opt/data.bak ] && mv /opt/data.bak /opt/linkwarden/data
msg_ok "Updated ${APP} to ${RELEASE}" msg_ok "Updated ${APP}"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start linkwarden systemctl start linkwarden
@@ -61,8 +64,6 @@ function update_script() {
rm -rf /opt/linkwarden/.next/cache rm -rf /opt/linkwarden/.next/cache
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}."
fi fi
exit exit
} }

View File

@@ -27,12 +27,7 @@ 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 if check_for_gh_release "listmonk" "knadh/listmonk"; then
$STD apt-get install -y jq
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/knadh/listmonk/releases/latest | jq -r '.tag_name' | sed 's/^v//')
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}"
@@ -56,10 +51,7 @@ function update_script() {
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf /opt/listmonk-backup/ rm -rf /opt/listmonk-backup/
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -27,12 +27,7 @@ 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 if check_for_gh_release "lubelogger" "hargata/lubelog"; then
$STD apt-get install -y jq
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"
@@ -67,10 +62,7 @@ function update_script() {
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf /tmp/lubeloggerData rm -rf /tmp/lubeloggerData
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}."
fi fi
exit exit
} }

View File

@@ -27,30 +27,30 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "mafl" "hywax/mafl"; then
RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.mafl 2>/dev/null)" ]] || [[ ! -f ~/.mafl ]]; then
msg_info "Stopping Mafl service" msg_info "Stopping Mafl service"
systemctl stop mafl systemctl stop mafl
msg_ok "Service stopped" msg_ok "Service stopped"
msg_info "Performing backup" msg_info "Backing up data"
mkdir -p /opt/mafl-backup/data mkdir -p /opt/mafl-backup/data
mv /opt/mafl/data /opt/mafl-backup/data mv /opt/mafl/data /opt/mafl-backup/data
rm -rf /opt/mafl rm -rf /opt/mafl
msg_ok "Backup complete" msg_ok "Backup complete"
fetch_and_deploy_gh_release "mafl" "hywax/mafl" fetch_and_deploy_gh_release "mafl" "hywax/mafl"
msg_info "Updating Mafl to v${RELEASE}" msg_info "Updating Mafl"
cd /opt/mafl cd /opt/mafl
yarn install $STD yarn install
yarn build $STD yarn build
mv /opt/mafl-backup/data /opt/mafl/data mv /opt/mafl-backup/data /opt/mafl/data
msg_ok "Mafl updated"
msg_info "Starting Service"
systemctl start mafl systemctl start mafl
msg_ok "Updated Mafl to v${RELEASE}" msg_ok "Service started"
else msg_ok "Update successfully"
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -27,12 +27,7 @@ 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 if check_for_gh_release "magicmirror" "MagicMirrorOrg/MagicMirror"; then
$STD apt-get install -y jq
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"
@@ -62,10 +57,7 @@ function update_script() {
msg_info "Starting Service" msg_info "Starting Service"
systemctl start magicmirror systemctl start magicmirror
msg_ok "Started Service" 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 fi
exit exit
} }

View File

@@ -28,12 +28,7 @@ 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 if check_for_gh_release "mmdl" "intri-in/manage-my-damn-life-nextjs"; 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 | jq -r '.tag_name' | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat ~/.mmdl)" ]] || [[ ! -f ~/.mmdl ]]; then
msg_info "Stopping service" msg_info "Stopping service"
systemctl stop mmdl systemctl stop mmdl
msg_ok "Stopped service" msg_ok "Stopped service"
@@ -54,10 +49,7 @@ function update_script() {
msg_info "Starting service" msg_info "Starting service"
systemctl start mmdl systemctl start mmdl
msg_ok "Started service" msg_ok "Started service"
msg_ok "Update Successful" msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

View File

@@ -28,10 +28,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "mealie" "mealie-recipes/mealie"; then
RELEASE=$(curl -fsSL https://api.github.com/repos/mealie-recipes/mealie/releases/latest | jq -r '.tag_name | sub("^v"; "")')
if [[ "${RELEASE}" != "$(cat ~/.mealie 2>/dev/null)" ]] || [[ ! -f ~/.mealie ]]; then
PYTHON_VERSION="3.12" setup_uv PYTHON_VERSION="3.12" setup_uv
NODE_MODULE="yarn" NODE_VERSION="20" setup_nodejs NODE_MODULE="yarn" NODE_VERSION="20" setup_nodejs
@@ -79,10 +76,7 @@ function update_script() {
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start mealie systemctl start mealie
msg_ok "Started $APP" msg_ok "Started $APP"
msg_ok "Update Successful"
msg_ok "Update to $RELEASE Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

75
ct/mediamanager.sh Normal file
View File

@@ -0,0 +1,75 @@
#!/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/maxdorninger/MediaManager
APP="MediaManager"
var_tags="${var_tags:-arr}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-3072}"
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/mediamanager ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
setup_uv
if check_for_gh_release "mediamanager" "maxdorninger/MediaManager"; then
msg_info "Stopping Service"
systemctl stop mediamanager
msg_ok "Stopped Service"
fetch_and_deploy_gh_release "MediaManager" "maxdorninger/MediaManager" "tarball" "latest" "/opt/mediamanager"
msg_info "Updating ${APP}"
MM_DIR="/opt/mm"
export CONFIG_DIR="${MM_DIR}/config"
export FRONTEND_FILES_DIR="${MM_DIR}/web/build"
export BASE_PATH=""
export PUBLIC_VERSION=""
export PUBLIC_API_URL="${BASE_PATH}/api/v1"
export BASE_PATH="${BASE_PATH}/web"
cd /opt/mediamanager/web
$STD npm ci
$STD npm run build
rm -rf "$FRONTEND_FILES_DIR"/build
cp -r build "$FRONTEND_FILES_DIR"
export BASE_PATH=""
export VIRTUAL_ENV="/opt/${MM_DIR}/venv"
cd /opt/mediamanager
rm -rf "$MM_DIR"/{media_manager,alembic*}
cp -r {media_manager,alembic*} "$MM_DIR"
$STD /usr/local/bin/uv sync --locked --active
msg_ok "Updated $APP"
msg_info "Starting Service"
systemctl start mediamanager
msg_ok "Started Service"
msg_ok "Updated Successfully"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}"

View File

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

View File

@@ -30,15 +30,18 @@ function update_script() {
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)
if [ "$UPD" == "1" ]; then if [ "$UPD" == "1" ]; then
msg_info "Stopping Meilisearch" if check_for_gh_release "meilisearch" "meilisearch/meilisearch"; then
systemctl stop meilisearch msg_info "Stopping Meilisearch"
msg_ok "Stopped Meilisearch" systemctl stop meilisearch
msg_ok "Stopped Meilisearch"
fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary" fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary"
msg_info "Starting Meilisearch" msg_info "Starting Meilisearch"
systemctl start meilisearch systemctl start meilisearch
msg_ok "Started Meilisearch" msg_ok "Started Meilisearch"
msg_ok "Update Successfully"
fi
exit exit
fi fi
@@ -47,24 +50,27 @@ function update_script() {
msg_error "No Meilisearch-UI Installation Found!" msg_error "No Meilisearch-UI Installation Found!"
exit exit
fi fi
msg_info "Stopping Meilisearch-UI" if check_for_gh_release "meilisearch-ui" "riccox/meilisearch-ui"; then
systemctl stop meilisearch-ui msg_info "Stopping Meilisearch-UI"
msg_ok "Stopped Meilisearch-UI" systemctl stop meilisearch-ui
msg_ok "Stopped Meilisearch-UI"
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
fetch_and_deploy_gh_release "meilisearch-ui" "riccox/meilisearch-ui" "tarball" fetch_and_deploy_gh_release "meilisearch-ui" "riccox/meilisearch-ui" "tarball"
msg_info "Configuring Meilisearch-UI" msg_info "Configuring 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
msg_ok "Configured Meilisearch-UI" msg_ok "Configured Meilisearch-UI"
msg_info "Starting Meilisearch-UI" msg_info "Starting Meilisearch-UI"
systemctl start meilisearch-ui systemctl start meilisearch-ui
msg_ok "Started Meilisearch-UI" msg_ok "Started Meilisearch-UI"
msg_ok "Update Successfully"
fi
exit exit
fi fi
} }

View File

@@ -27,9 +27,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "memos" "usememos/memos"; then
RELEASE=$(curl -fsSL https://api.github.com/repos/usememos/memos/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.memos 2>/dev/null)" ]] || [[ ! -f ~/.memos ]]; then
msg_info "Stopping service" msg_info "Stopping service"
systemctl stop memos systemctl stop memos
msg_ok "Service stopped" msg_ok "Service stopped"
@@ -39,10 +37,7 @@ function update_script() {
msg_info "Starting service" msg_info "Starting service"
systemctl start memos systemctl start memos
msg_ok "Service started" msg_ok "Service started"
msg_ok "Updated successfully" msg_ok "Updated successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }

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