Compare commits

...

120 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
601e1853e9 Update CHANGELOG.md (#5266)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-19 01:15:57 +01:00
community-scripts-pr-app[bot]
14077eddcd Update versions.json (#5265)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-19 02:15:24 +02:00
community-scripts-pr-app[bot]
2255600c3b Update CHANGELOG.md (#5261)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-18 21:08:59 +01:00
CanbiZ
badd63d4a7 Refactor all VM's to same logic & functions (#5254) 2025-06-18 22:08:23 +02:00
CanbiZ
6c345af691 quickfix after failed mig 2025-06-18 22:02:02 +02:00
community-scripts-pr-app[bot]
2f326ffb97 Update CHANGELOG.md (#5257)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-18 17:19:15 +01:00
community-scripts-pr-app[bot]
e7bb270c34 Update date in json (#5256)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-06-18 17:18:15 +01:00
CanbiZ
fc4a46b72d FileBrowser Quantum (#5248) 2025-06-18 18:17:40 +02:00
community-scripts-pr-app[bot]
a402b45b17 Update versions.json (#5253)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-18 15:51:02 +02:00
community-scripts-pr-app[bot]
9ab2089d01 Update date in json (#5251)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-06-18 14:17:22 +01:00
community-scripts-pr-app[bot]
0dc533cb82 Update CHANGELOG.md (#5250)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-18 14:17:18 +01:00
push-app-to-main[bot]
4351218f8b 'Add new script' (#5249)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-06-18 15:16:48 +02:00
community-scripts-pr-app[bot]
3ee4ece04d Update versions.json (#5247)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-18 14:07:56 +02:00
community-scripts-pr-app[bot]
a377640d16 Update CHANGELOG.md (#5246)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-18 11:35:09 +01:00
Chris
bece1c574f Immich: fix prompt clobber issue (#5231)
* Immich: fix prompt clobber issue

* change functions to new tools.func

* duplicate

---------

Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-06-18 12:34:33 +02:00
community-scripts-pr-app[bot]
e9afe958b1 Update CHANGELOG.md (#5244)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-18 11:07:44 +01:00
CanbiZ
93f9291d7c tools.func: Standardized and Renamed Setup Functions (#5241)
* Upgrade Tools.func

* Update tools.func

* Update tools.func
2025-06-18 12:07:08 +02:00
community-scripts-pr-app[bot]
8f0751442d Update CHANGELOG.md (#5243)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-18 11:03:27 +01:00
CanbiZ
003422934a upgrade old Scriptcalls to new tools.func calls (#5242)
* Upgraded Function Names related to #5241

* change gh calls

* add 2 missing
2025-06-18 12:03:00 +02:00
Slaviša Arežina
c11636562c Update libretranslate.json (#5236) 2025-06-18 07:43:31 +02:00
community-scripts-pr-app[bot]
654508eb94 Update CHANGELOG.md (#5239)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-18 01:15:31 +01:00
community-scripts-pr-app[bot]
acfb9d6ea1 Update versions.json (#5238)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-18 02:14:53 +02:00
community-scripts-pr-app[bot]
0d56db2d3d Update CHANGELOG.md (#5237)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-17 22:06:45 +01:00
Tobias
4a1ae51446 gitea-mirror: increase build ressources (#5235) 2025-06-17 23:06:06 +02:00
community-scripts-pr-app[bot]
6520b7f4d4 Update CHANGELOG.md (#5230)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-17 15:57:51 +01:00
community-scripts-pr-app[bot]
48da94f77a Update CHANGELOG.md (#5229)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-17 15:57:35 +01:00
Chris
2ea372f034 Immich: ensure in proper working dir when updating (#5227) 2025-06-17 16:57:08 +02:00
community-scripts-pr-app[bot]
5773459a39 Update CHANGELOG.md (#5228)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-17 15:57:05 +01:00
Desert Gamer
40f083ea40 Resolve issue #5212 (#5226) 2025-06-17 16:56:27 +02:00
community-scripts-pr-app[bot]
219a7853e1 Update CHANGELOG.md (#5221)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-17 13:36:02 +01:00
TJ
6d1d903345 trilium: fix update function after db changes folder (#5207)
* Update trilium.sh

Fixed issue with db location

* Update ct/trilium.sh

Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>

* Update trilium.sh

---------

Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>
2025-06-17 14:35:17 +02:00
community-scripts-pr-app[bot]
ef9ca48477 Update versions.json (#5220)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-17 14:07:50 +02:00
community-scripts-pr-app[bot]
8ac24981a6 Update CHANGELOG.md (#5219)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-17 13:02:31 +01:00
CanbiZ
7e046d830d IPTag: Better explanation (#5213) 2025-06-17 14:01:46 +02:00
community-scripts-pr-app[bot]
1691fafcc1 Update CHANGELOG.md (#5218)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-17 12:45:47 +01:00
Slaviša Arežina
4400cd2b97 Add .env (#5216) 2025-06-17 13:45:20 +02:00
community-scripts-pr-app[bot]
795fe72768 Update CHANGELOG.md (#5209)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-17 01:15:30 +01:00
community-scripts-pr-app[bot]
6d7d15ce46 Update versions.json (#5208)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-17 02:14:58 +02:00
CanbiZ
a648b9abc4 Change wrong Type of iptag 2025-06-16 19:16:24 +02:00
community-scripts-pr-app[bot]
4057fadfe0 Update CHANGELOG.md (#5200)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 16:15:16 +01:00
community-scripts-pr-app[bot]
9b700195e4 Update CHANGELOG.md (#5199)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 16:14:35 +01:00
Bram Suurd
906a0a0fbc Refactor ScriptItem and ConfigFile components to conditionally render config file location. Update ConfigFile to accept configPath prop instead of item. (#5197) 2025-06-16 17:14:17 +02:00
community-scripts-pr-app[bot]
8df55a03f4 Update CHANGELOG.md (#5198)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 16:14:01 +01:00
Bram Suurd
8241ed932d Refactor layout and component styles for improved responsiveness (#5195) 2025-06-16 17:13:33 +02:00
community-scripts-pr-app[bot]
0b3c645ffb Update .app files (#5191)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-06-16 17:03:00 +02:00
community-scripts-pr-app[bot]
0c17402efc Update CHANGELOG.md (#5194)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 16:02:00 +01:00
community-scripts-pr-app[bot]
ccad7a2cd8 Update CHANGELOG.md (#5193)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 16:01:33 +01:00
Bram Suurd
15772d8802 Update default image asset in the public directory (#5189)
* Update default image asset in the public directory

* update background to be blue instead of black
2025-06-16 17:01:18 +02:00
community-scripts-pr-app[bot]
c7e0faa33b Update CHANGELOG.md (#5192)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 16:00:57 +01:00
Slaviša Arežina
13b1c684ee Refactor: 2FAuth (#5184)
* Refactor: 2fauth

* Update
2025-06-16 17:00:14 +02:00
community-scripts-pr-app[bot]
5e649d7cb1 Update CHANGELOG.md (#5188)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 15:02:08 +01:00
Koen
ec8a8b1908 add optional Cloud-init support to Debian VM script (#5137)
* Edit Debian VM script to use Cloud-init

* Edit Debian VM page to point to Cloud-init guide

* Revert "Edit Debian VM page to point to Cloud-init guide"

This reverts commit 3f99b2def1.

* Edit Debian VM script to ask for cloud-init
2025-06-16 16:01:27 +02:00
community-scripts-pr-app[bot]
d850dde4ef Update CHANGELOG.md (#5186)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 14:40:49 +01:00
Slaviša Arežina
fb4075ac12 Fix missing dependencies (#5185) 2025-06-16 15:40:12 +02:00
community-scripts-pr-app[bot]
8576463522 Update CHANGELOG.md (#5183)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 13:21:14 +01:00
Michel Roegl-Brunner
2a4353fa13 [core] Move install_php() from VED to main (#5182) 2025-06-16 14:20:46 +02:00
community-scripts-pr-app[bot]
d21cbf1d40 Update versions.json (#5181)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 14:07:47 +02:00
community-scripts-pr-app[bot]
e97c96d0bb Update CHANGELOG.md (#5180)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 12:46:32 +01:00
Bram Suurd
04dab68e17 Update default image asset in the public directory and update api route to only search for files that end with .json (#5179)
* Update default image asset in the public directory

* Enhance file filtering in getScripts function to include only JSON files
2025-06-16 13:46:05 +02:00
community-scripts-pr-app[bot]
b001687f5c Update CHANGELOG.md (#5174)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 09:17:21 +01:00
Omar Minaya
9f26e25126 Kasm: Storing Creds Fix (#5162)
* this should do it.

* Update kasm-install.sh

---------

Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>
2025-06-16 10:16:51 +02:00
community-scripts-pr-app[bot]
5671d8e957 Update CHANGELOG.md (#5173)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 06:42:19 +01:00
community-scripts-pr-app[bot]
0bf641f02c Update CHANGELOG.md (#5172)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 06:41:00 +01:00
community-scripts-pr-app[bot]
7fc39a442b Update date in json (#5171)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-06-16 06:40:57 +01:00
CanbiZ
6e1ee7d16e Refactor: IP-Tag (#5152) 2025-06-16 07:40:21 +02:00
community-scripts-pr-app[bot]
5ee48aba1e Update CHANGELOG.md (#5170)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 06:32:05 +01:00
Slaviša Arežina
e6c21811bb Firefly: Add Data Importer to LXC (#5159)
* Add Data Importer to Firefly LXC

* Remove useless var
2025-06-16 07:31:22 +02:00
community-scripts-pr-app[bot]
142fea21bd Update CHANGELOG.md (#5168)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 05:59:43 +01:00
CanbiZ
df43101b4e Intel NIC offload Fix by @rcastley (#5155)
* Create nic-offloading-fix.sh

* Update nic-offloading-fix.json
2025-06-16 06:59:18 +02:00
community-scripts-pr-app[bot]
3044a774c2 Update CHANGELOG.md (#5165)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 01:16:08 +01:00
community-scripts-pr-app[bot]
65e4c027b8 Update versions.json (#5164)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-16 02:15:31 +02:00
community-scripts-pr-app[bot]
dabfb57173 Update CHANGELOG.md (#5158)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-15 19:56:47 +01:00
community-scripts-pr-app[bot]
63dfc2bd7b Update CHANGELOG.md (#5157)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-15 19:55:39 +01:00
community-scripts-pr-app[bot]
89399ef421 Update date in json (#5156)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-06-15 19:55:36 +01:00
push-app-to-main[bot]
d9474c3dd6 LibreTranslate (#5154)
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-06-15 20:55:01 +02:00
community-scripts-pr-app[bot]
f5a5e4854c Update date in json (#5153)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-06-15 19:39:27 +01:00
CanbiZ
632e823749 Create nic-offloading-fix.json 2025-06-15 20:39:06 +02:00
community-scripts-pr-app[bot]
a128f3c43d Update versions.json (#5150)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-15 14:07:03 +02:00
community-scripts-pr-app[bot]
9c90699ca2 Update CHANGELOG.md (#5146)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-15 01:17:09 +01:00
community-scripts-pr-app[bot]
f6f6ca6bac Update versions.json (#5145)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-15 02:16:25 +02:00
community-scripts-pr-app[bot]
b6d0b1ae6a Update CHANGELOG.md (#5144)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-14 22:15:15 +01:00
community-scripts-pr-app[bot]
93906db2d1 Update CHANGELOG.md (#5143)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-14 22:15:02 +01:00
CanbiZ
4ab71ccf00 flowiseai: set NodeJS to Version 20 (#5130)
doesnt Work with 2w
2025-06-14 23:14:38 +02:00
community-scripts-pr-app[bot]
e058badee6 Update CHANGELOG.md (#5142)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-14 22:14:33 +01:00
Slaviša Arežina
74c6df5aa6 Update install_mariadb func (#5138) 2025-06-14 23:13:59 +02:00
community-scripts-pr-app[bot]
c2484b7c60 Update versions.json (#5136)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-14 14:06:48 +02:00
community-scripts-pr-app[bot]
b064127323 Update CHANGELOG.md (#5134)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-14 11:47:34 +01:00
TJ
138f90f09c Update dolibarr-install.sh (#5127)
On the sourceforge page Dolibar v18.0.7 was modified after v21.0.1 even though v21.0.1 is the latest version. The original line get the lastest modified folder, this line gets the largest numbered folder.

https://sourceforge.net/projects/dolibarr/files/Dolibarr%20installer%20for%20Debian-Ubuntu%20%28DoliDeb%29/
2025-06-14 12:46:59 +02:00
community-scripts-pr-app[bot]
84469e2b5b Update CHANGELOG.md (#5132)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-14 01:15:11 +01:00
community-scripts-pr-app[bot]
a164d259e0 Update versions.json (#5131)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-14 02:14:32 +02:00
community-scripts-pr-app[bot]
34aa360920 Update CHANGELOG.md (#5126)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-13 18:09:10 +01:00
Slaviša Arežina
f0dde5a42d Update umbrel-os-vm.json (#5125) 2025-06-13 19:08:28 +02:00
community-scripts-pr-app[bot]
e0ccc1a0af Update versions.json (#5123)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-13 14:07:32 +02:00
community-scripts-pr-app[bot]
4fa7483d8b Update CHANGELOG.md (#5122)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-13 11:35:08 +01:00
Slaviša Arežina
cd835c6791 Update alpine-zigbee2mqtt-install.sh (#5120) 2025-06-13 12:34:42 +02:00
community-scripts-pr-app[bot]
abf233c94f Update CHANGELOG.md (#5117)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-13 01:15:50 +01:00
community-scripts-pr-app[bot]
edd4fb3cc2 Update versions.json (#5116)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-13 02:15:05 +02:00
community-scripts-pr-app[bot]
d97620a390 Update CHANGELOG.md (#5115)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-12 22:13:21 +01:00
CanbiZ
c2c5159a2d Kasm: Increase Ressources & Hint for Fuse / Swap (#5112)
* Kasm: Increase Ressources & Hint for Fuse / Swap

* extend info
2025-06-12 21:31:32 +02:00
community-scripts-pr-app[bot]
46d9f85f5e Update date in json (#5111)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-06-12 16:28:37 +01:00
community-scripts-pr-app[bot]
ba7ec5aa68 Update CHANGELOG.md (#5110)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-12 16:28:32 +01:00
push-app-to-main[bot]
dd4c556959 Manage my Damn Life (#5100)
* 'Add new script'

* fix curl

* curl

* Update managemydamnlife-install.sh

Remove unneeded msg

---------

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: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>
2025-06-12 17:28:05 +02:00
Michel Roegl-Brunner
0e63437154 install.func (#5109) 2025-06-12 17:26:12 +02:00
community-scripts-pr-app[bot]
0769320146 Update versions.json (#5107)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-12 14:07:39 +02:00
community-scripts-pr-app[bot]
d6da26c640 Update CHANGELOG.md (#5104)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-12 01:15:39 +01:00
community-scripts-pr-app[bot]
d9facc0e62 Update versions.json (#5103)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-12 02:14:56 +02:00
community-scripts-pr-app[bot]
31e0b5fae3 Update versions.json (#5099)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-11 14:07:38 +02:00
community-scripts-pr-app[bot]
b0bd2f4804 Update CHANGELOG.md (#5098)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-11 01:15:34 +01:00
community-scripts-pr-app[bot]
3aefe199f7 Update versions.json (#5097)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-11 02:14:59 +02:00
community-scripts-pr-app[bot]
677008c779 Update CHANGELOG.md (#5094)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-10 19:13:25 +01:00
Frankmaaan
b8ba409e5c Element Synapse: switched from development to production mode and fixed update (#5066)
* Update elementsynapse.sh

* Update elementsynapse-install.sh

* Update elementsynapse.sh

removed comment
2025-06-10 20:13:00 +02:00
community-scripts-pr-app[bot]
7cf8300b47 Update CHANGELOG.md (#5093)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-10 18:37:20 +01:00
community-scripts-pr-app[bot]
77fb5ea516 Update CHANGELOG.md (#5092)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-10 18:37:00 +01:00
Slaviša Arežina
e92dfe1b2b Update dolibarr-install.sh (#5091) 2025-06-10 19:36:48 +02:00
Slaviša Arežina
61bfa16645 Update alpine-tinyauth-install.sh (#5090) 2025-06-10 19:36:33 +02:00
community-scripts-pr-app[bot]
84c295a10b Update CHANGELOG.md (#5086)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-10 15:02:17 +01:00
Chris
ed834bf424 Immich: Update JSON (#5085)
- Provide more clarity around OpenVINO, hardware transcoding, and how to
change upload locations
2025-06-10 16:01:48 +02:00
community-scripts-pr-app[bot]
b1f8992933 Update versions.json (#5084)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-10 14:07:47 +02:00
community-scripts-pr-app[bot]
201f7c4651 Update CHANGELOG.md (#5081)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-10 08:24:46 +01:00
Michel Roegl-Brunner
2574e41ee8 Prevent api from posing if disabled (#5080) 2025-06-10 09:24:20 +02:00
173 changed files with 3828 additions and 2055 deletions

View File

@@ -14,8 +14,151 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
## 2025-06-19
## 2025-06-18
### 🆕 New Scripts
- FileBrowser Quantum [@MickLesk](https://github.com/MickLesk) ([#5248](https://github.com/community-scripts/ProxmoxVE/pull/5248))
- Huntarr ([#5249](https://github.com/community-scripts/ProxmoxVE/pull/5249))
### 🚀 Updated Scripts
- tools.func: Standardized and Renamed Setup Functions [@MickLesk](https://github.com/MickLesk) ([#5241](https://github.com/community-scripts/ProxmoxVE/pull/5241))
- #### 🐞 Bug Fixes
- Immich: fix prompt clobber issue [@vhsdream](https://github.com/vhsdream) ([#5231](https://github.com/community-scripts/ProxmoxVE/pull/5231))
- #### 🔧 Refactor
- Refactor all VM's to same logic & functions [@MickLesk](https://github.com/MickLesk) ([#5254](https://github.com/community-scripts/ProxmoxVE/pull/5254))
- upgrade old Scriptcalls to new tools.func calls [@MickLesk](https://github.com/MickLesk) ([#5242](https://github.com/community-scripts/ProxmoxVE/pull/5242))
## 2025-06-17
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- gitea-mirror: increase build ressources [@CrazyWolf13](https://github.com/CrazyWolf13) ([#5235](https://github.com/community-scripts/ProxmoxVE/pull/5235))
- Immich: ensure in proper working dir when updating [@vhsdream](https://github.com/vhsdream) ([#5227](https://github.com/community-scripts/ProxmoxVE/pull/5227))
- Update IP-Tag [@DesertGamer](https://github.com/DesertGamer) ([#5226](https://github.com/community-scripts/ProxmoxVE/pull/5226))
- trilium: fix update function after db changes folder [@tjcomserv](https://github.com/tjcomserv) ([#5207](https://github.com/community-scripts/ProxmoxVE/pull/5207))
- #### ✨ New Features
- LibreTranslate: Add .env for easier configuration [@tremor021](https://github.com/tremor021) ([#5216](https://github.com/community-scripts/ProxmoxVE/pull/5216))
### 🌐 Website
- #### 📝 Script Information
- IPTag: Better explanation [@MickLesk](https://github.com/MickLesk) ([#5213](https://github.com/community-scripts/ProxmoxVE/pull/5213))
## 2025-06-16
### 🆕 New Scripts
- Intel NIC offload Fix by @rcastley [@MickLesk](https://github.com/MickLesk) ([#5155](https://github.com/community-scripts/ProxmoxVE/pull/5155))
### 🚀 Updated Scripts
- [core] Move install_php() from VED to main [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#5182](https://github.com/community-scripts/ProxmoxVE/pull/5182))
- Firefly: Add Data Importer to LXC [@tremor021](https://github.com/tremor021) ([#5159](https://github.com/community-scripts/ProxmoxVE/pull/5159))
- #### 🐞 Bug Fixes
- Wastebin: Fix missing dependencies [@tremor021](https://github.com/tremor021) ([#5185](https://github.com/community-scripts/ProxmoxVE/pull/5185))
- Kasm: Storing Creds Fix [@omiinaya](https://github.com/omiinaya) ([#5162](https://github.com/community-scripts/ProxmoxVE/pull/5162))
- #### ✨ New Features
- add optional Cloud-init support to Debian VM script [@koendiender](https://github.com/koendiender) ([#5137](https://github.com/community-scripts/ProxmoxVE/pull/5137))
- #### 🔧 Refactor
- Refactor: 2FAuth [@tremor021](https://github.com/tremor021) ([#5184](https://github.com/community-scripts/ProxmoxVE/pull/5184))
### 🌐 Website
- Refactor layout and component styles for improved responsiveness [@BramSuurdje](https://github.com/BramSuurdje) ([#5195](https://github.com/community-scripts/ProxmoxVE/pull/5195))
- #### 🐞 Bug Fixes
- Refactor ScriptItem and ConfigFile components to conditionally render config file location. Update ConfigFile to accept configPath prop instead of item. [@BramSuurdje](https://github.com/BramSuurdje) ([#5197](https://github.com/community-scripts/ProxmoxVE/pull/5197))
- Update default image asset in the public directory and update api route to only search for files that end with .json [@BramSuurdje](https://github.com/BramSuurdje) ([#5179](https://github.com/community-scripts/ProxmoxVE/pull/5179))
- #### ✨ New Features
- Update default image asset in the public directory [@BramSuurdje](https://github.com/BramSuurdje) ([#5189](https://github.com/community-scripts/ProxmoxVE/pull/5189))
## 2025-06-15
### 🆕 New Scripts
- LibreTranslate ([#5154](https://github.com/community-scripts/ProxmoxVE/pull/5154))
## 2025-06-14
### 🚀 Updated Scripts
- [core] Update install_mariadb func [@tremor021](https://github.com/tremor021) ([#5138](https://github.com/community-scripts/ProxmoxVE/pull/5138))
- #### 🐞 Bug Fixes
- flowiseai: set NodeJS to Version 20 [@MickLesk](https://github.com/MickLesk) ([#5130](https://github.com/community-scripts/ProxmoxVE/pull/5130))
- Update dolibarr-install.sh - Get largest version number [@tjcomserv](https://github.com/tjcomserv) ([#5127](https://github.com/community-scripts/ProxmoxVE/pull/5127))
## 2025-06-13
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Zigbee2MQTT: Fix missing directory [@tremor021](https://github.com/tremor021) ([#5120](https://github.com/community-scripts/ProxmoxVE/pull/5120))
### 🌐 Website
- #### 📝 Script Information
- Umbrel OS: Fix bad disk size shown on website [@tremor021](https://github.com/tremor021) ([#5125](https://github.com/community-scripts/ProxmoxVE/pull/5125))
## 2025-06-12
### 🆕 New Scripts
- Manage my Damn Life ([#5100](https://github.com/community-scripts/ProxmoxVE/pull/5100))
### 🚀 Updated Scripts
- Kasm: Increase Ressources & Hint for Fuse / Swap [@MickLesk](https://github.com/MickLesk) ([#5112](https://github.com/community-scripts/ProxmoxVE/pull/5112))
## 2025-06-11
## 2025-06-10 ## 2025-06-10
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Element Synapse: switched from development to production mode and fixed update [@Frankmaaan](https://github.com/Frankmaaan) ([#5066](https://github.com/community-scripts/ProxmoxVE/pull/5066))
- Tinyauth: Fix creation of service file [@tremor021](https://github.com/tremor021) ([#5090](https://github.com/community-scripts/ProxmoxVE/pull/5090))
- Dolibarr: Fix typo in SQL command [@tremor021](https://github.com/tremor021) ([#5091](https://github.com/community-scripts/ProxmoxVE/pull/5091))
### 🧰 Maintenance
- #### 📡 API
- [core] Prevent API form sending Data when disabled [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#5080](https://github.com/community-scripts/ProxmoxVE/pull/5080))
### 🌐 Website
- #### 📝 Script Information
- Immich: Update JSON [@vhsdream](https://github.com/vhsdream) ([#5085](https://github.com/community-scripts/ProxmoxVE/pull/5085))
## 2025-06-09 ## 2025-06-09
### 🚀 Updated Scripts ### 🚀 Updated Scripts

View File

@@ -24,21 +24,16 @@ function update_script() {
check_container_storage check_container_storage
check_container_resources check_container_resources
# Check if installation is present | -f for file, -d for folder
if [[ ! -d "/opt/2fauth" ]]; then if [[ ! -d "/opt/2fauth" ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
# Crawling the new version and checking whether an update is required
RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat /opt/2fauth_version.txt)" ]] || [[ ! -f /opt/2fauth_version.txt ]]; then if [[ "${RELEASE}" != "$(cat ~/.2fauth 2>/dev/null || cat /opt/2fauth_version.txt 2>/dev/null)" ]]; then
msg_info "Updating $APP to ${RELEASE}" msg_info "Updating $APP to ${RELEASE}"
$STD apt-get update $STD apt-get update
$STD apt-get -y upgrade $STD apt-get -y upgrade
# Creating Backup
msg_info "Creating Backup" msg_info "Creating Backup"
mv "/opt/2fauth" "/opt/2fauth-backup" mv "/opt/2fauth" "/opt/2fauth-backup"
if ! dpkg -l | grep -q 'php8.3'; then if ! dpkg -l | grep -q 'php8.3'; then
@@ -46,37 +41,24 @@ function update_script() {
fi fi
msg_ok "Backup Created" msg_ok "Backup Created"
# Upgrade PHP
if ! dpkg -l | grep -q 'php8.3'; then if ! dpkg -l | grep -q 'php8.3'; then
$STD apt-get install -y \ $STD apt-get install -y \
lsb-release \ lsb-release \
gpg gnupg2
curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,fpm,mysql,cli" setup_php
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" >/etc/apt/sources.list.d/php.list
$STD apt-get update
$STD apt-get install -y php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,mbstring,mysql,xml,cli,intl}
sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/2fauth.conf sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/2fauth.conf
fi fi
fetch_and_deploy_gh_release "2fauth" "Bubka/2FAuth"
# Execute Update
curl -fsSL -o "${RELEASE}.zip" "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip"
$STD unzip "${RELEASE}.zip"
mv "2FAuth-${RELEASE//v/}/" "/opt/2fauth"
mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env" mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env"
mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage" mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage"
cd "/opt/2fauth" || return cd "/opt/2fauth" || return
chown -R www-data: "/opt/2fauth" chown -R www-data: "/opt/2fauth"
chmod -R 755 "/opt/2fauth" chmod -R 755 "/opt/2fauth"
export COMPOSER_ALLOW_SUPERUSER=1 export COMPOSER_ALLOW_SUPERUSER=1
$STD composer install --no-dev --prefer-source $STD composer install --no-dev --prefer-source
php artisan 2fauth:install php artisan 2fauth:install
$STD systemctl restart nginx $STD systemctl restart nginx
# Cleaning up
msg_info "Cleaning Up" msg_info "Cleaning Up"
rm -rf "v${RELEASE}.zip" rm -rf "v${RELEASE}.zip"
if dpkg -l | grep -q 'php8.2'; then if dpkg -l | grep -q 'php8.2'; then
@@ -86,7 +68,6 @@ function update_script() {
$STD apt-get -y autoclean $STD apt-get -y autoclean
msg_ok "Cleanup Completed" msg_ok "Cleanup Completed"
# Last Action
echo "${RELEASE}" >/opt/2fauth_version.txt echo "${RELEASE}" >/opt/2fauth_version.txt
msg_ok "Updated $APP to ${RELEASE}" msg_ok "Updated $APP to ${RELEASE}"
else else

View File

@@ -29,7 +29,7 @@ function update_script() {
exit exit
fi fi
NODE_VERSION="22" NODE_VERSION="22"
install_node_and_modules setup_nodejs
RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ -f /opt/actualbudget-data/config.json ]]; then if [[ -f /opt/actualbudget-data/config.json ]]; then
if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then

View File

@@ -28,7 +28,7 @@ function update_script() {
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) }') 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 [[ "${RELEASE}" != "$(cat /opt/configarr_version.txt)" ]] || [[ ! -f /opt/configarr_version.txt ]]; 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"
@@ -37,7 +37,7 @@ function update_script() {
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 "raydak-labs/configarr" fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr"
mv /opt/backup/* /opt/configarr/ mv /opt/backup/* /opt/configarr/
cd /opt/configarr cd /opt/configarr
$STD pnpm install $STD pnpm install

View File

@@ -47,7 +47,7 @@ function update_script() {
$STD apt-get -y upgrade $STD apt-get -y upgrade
msg_ok "Updated $APP LXC" msg_ok "Updated $APP LXC"
if [[ -f /systemd/system/synapse-admin.service ]]; then if [[ -f /etc/systemd/system/synapse-admin.service ]]; then
msg_info "Updating Synapse-Admin" msg_info "Updating Synapse-Admin"
RELEASE=$(curl -fsSL https://api.github.com/repos/etkecc/synapse-admin/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/etkecc/synapse-admin/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/"${APP}"_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then if [[ "${RELEASE}" != "$(cat /opt/"${APP}"_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
@@ -58,7 +58,16 @@ function update_script() {
curl -fsSL "https://github.com/etkecc/synapse-admin/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" curl -fsSL "https://github.com/etkecc/synapse-admin/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
tar xzf "$temp_file" -C /opt/synapse-admin --strip-components=1 tar xzf "$temp_file" -C /opt/synapse-admin --strip-components=1
cd /opt/synapse-admin cd /opt/synapse-admin
$STD yarn global add serve
$STD yarn install --ignore-engines $STD yarn install --ignore-engines
$STD yarn build
mv ./dist ../ && \
rm -rf * && \
mv ../dist ./
if [[ -z $(grep "ExecStart=/usr/local/bin/serve" /etc/systemd/system/synapse-admin.service) ]]; then
sed -i 's|^ExecStart=.*|ExecStart=/usr/local/bin/serve -s dist -l 5173|' /etc/systemd/system/synapse-admin.service
systemctl reenable synapse-admin
fi
systemctl start synapse-admin systemctl start synapse-admin
echo "${RELEASE}" >/opt/"${APP}"_version.txt echo "${RELEASE}" >/opt/"${APP}"_version.txt
rm -f "$temp_file" rm -f "$temp_file"

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG # Copyright (c) 2021-2025 community-scripts ORG
# Author: quantumryuu # Author: quantumryuu | Co-Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://firefly-iii.org/ # Source: https://firefly-iii.org/

View File

@@ -34,7 +34,7 @@ function update_script() {
exit 1 exit 1
fi fi
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
PROJECT_NAME=$(</opt/fumadocs/.projectname) PROJECT_NAME=$(</opt/fumadocs/.projectname)
PROJECT_DIR="/opt/fumadocs/${PROJECT_NAME}" PROJECT_DIR="/opt/fumadocs/${PROJECT_NAME}"
SERVICE_NAME="fumadocs_${PROJECT_NAME}.service" SERVICE_NAME="fumadocs_${PROJECT_NAME}.service"

View File

@@ -7,9 +7,9 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
APP="gitea-mirror" APP="gitea-mirror"
var_tags="${var_tags:-mirror;gitea}" var_tags="${var_tags:-mirror;gitea}"
var_cpu="${var_cpu:-1}" var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-5}" var_disk="${var_disk:-6}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
@@ -29,7 +29,7 @@ function update_script() {
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/arunavo4/gitea-mirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/arunavo4/gitea-mirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [[ "${RELEASE}" != "$(cat ~/.${APP} 2>/dev/null || cat /opt/${APP}_version.txt 2>/dev/null)" ]]; then
msg_info "Stopping Services" msg_info "Stopping Services"
systemctl stop gitea-mirror systemctl stop gitea-mirror
@@ -48,7 +48,7 @@ function update_script() {
msg_ok "Installed Bun" msg_ok "Installed Bun"
rm -rf /opt/gitea-mirror rm -rf /opt/gitea-mirror
fetch_and_deploy_gh_release "arunavo4/gitea-mirror" fetch_and_deploy_gh_release "gitea-mirror" "arunavo4/gitea-mirror"
msg_info "Updating and rebuilding ${APP} to v${RELEASE}" msg_info "Updating and rebuilding ${APP} to v${RELEASE}"
cd /opt/gitea-mirror cd /opt/gitea-mirror

6
ct/headers/huntarr Normal file
View File

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

View File

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

View File

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

View File

@@ -81,7 +81,7 @@ EOF
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) }') RELEASE=$(curl -fsSL https://api.github.com/repos/homarr-labs/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [[ "${RELEASE}" != "$(cat ~/.${APP} 2>/dev/null || cat /opt/${APP}_version.txt 2>/dev/null)" ]]; then
msg_info "Stopping Services (Patience)" msg_info "Stopping Services (Patience)"
systemctl stop homarr systemctl stop homarr
@@ -100,10 +100,10 @@ EOF
$STD command -v jq || $STD apt-get update && $STD apt-get install -y jq $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]')"
install_node_and_modules setup_nodejs
rm -rf /opt/homarr rm -rf /opt/homarr
fetch_and_deploy_gh_release "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} to v${RELEASE} (Patience)"
rm /opt/run_homarr.sh rm /opt/run_homarr.sh

63
ct/huntarr.sh Normal file
View File

@@ -0,0 +1,63 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: BiluliB
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/plexguide/Huntarr.io
APP="huntarr"
var_tags="${var_tags:-arr}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /opt/huntarr/main.py ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
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
msg_ok "No update required. ${APP} is already at ${RELEASE}"
exit
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 "Updating $APP to v${RELEASE}"
cd /opt/huntarr
$STD uv pip install -r requirements.txt --python /opt/huntarr/.venv/bin/python
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
systemctl start huntarr
msg_ok "Started $APP"
msg_ok "Updated $APP to v${RELEASE}"
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}:9705${CL}"

View File

@@ -30,6 +30,7 @@ function update_script() {
STAGING_DIR=/opt/staging STAGING_DIR=/opt/staging
BASE_DIR=${STAGING_DIR}/base-images BASE_DIR=${STAGING_DIR}/base-images
SOURCE_DIR=${STAGING_DIR}/image-source SOURCE_DIR=${STAGING_DIR}/image-source
cd /root
if [[ -f ~/.intel_version ]]; then if [[ -f ~/.intel_version ]]; then
curl -fsSLO https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/machine-learning/Dockerfile curl -fsSLO https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/machine-learning/Dockerfile
readarray -t INTEL_URLS < <(sed -n "/intel/p" ./Dockerfile | awk '{print $3}') readarray -t INTEL_URLS < <(sed -n "/intel/p" ./Dockerfile | awk '{print $3}')

View File

@@ -53,10 +53,10 @@ function update_script() {
if [ -z "$pnpm_current" ]; then if [ -z "$pnpm_current" ]; then
msg_error "pnpm not found. Installing version $pnpm_desired..." msg_error "pnpm not found. Installing version $pnpm_desired..."
NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" install_node_and_modules NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" setup_nodejs
elif ! node -e "const semver = require('semver'); process.exit(semver.satisfies('$pnpm_current', '$pnpm_desired') ? 0 : 1)"; then elif ! node -e "const semver = require('semver'); process.exit(semver.satisfies('$pnpm_current', '$pnpm_desired') ? 0 : 1)"; then
msg_error "Updating pnpm from version $pnpm_current to $pnpm_desired..." msg_error "Updating pnpm from version $pnpm_current to $pnpm_desired..."
NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" install_node_and_modules NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" setup_nodejs
else else
msg_ok "pnpm is already installed and satisfies version $pnpm_desired." msg_ok "pnpm is already installed and satisfies version $pnpm_desired."
fi fi

View File

@@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
APP="Kasm" APP="Kasm"
var_tags="${var_tags:-os}" var_tags="${var_tags:-os}"
var_cpu="${var_cpu:-2}" var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4192}" var_ram="${var_ram:-8192}"
var_disk="${var_disk:-30}" var_disk="${var_disk:-30}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"

61
ct/libretranslate.sh Normal file
View File

@@ -0,0 +1,61 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/LibreTranslate/LibreTranslate
APP="LibreTranslate"
var_tags="${var_tags:-Arr}"
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/libretranslate ]]; then
msg_error "No ${APP} Installation Found!"
exit
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 [[ "${RELEASE}" != "$(cat $HOME/.libretranslate)" ]] || [[ ! -f $HOME/.libretranslate ]]; then
msg_info "Stopping $APP"
systemctl stop libretranslate
msg_ok "Stopped $APP"
msg_info "Updating $APP to ${RELEASE}"
cd /opt/libretranslate
source .venv/bin/activate
$STD pip install -U libretranslate
msg_ok "Updated $APP to ${RELEASE}"
msg_info "Starting $APP"
systemctl start libretranslate
msg_ok "Started $APP"
msg_ok "Update Successful"
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}:5000${CL}"

View File

@@ -28,17 +28,17 @@ function update_script() {
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) }') RELEASE=$(curl -fsSL https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat /opt/linkwarden_version.txt)" ]] || [[ ! -f /opt/linkwarden_version.txt ]]; then if [[ "${RELEASE}" != "$(cat /opt/linkwarden_version.txt)" ]] || [[ ! -f /opt/linkwarden_version.txt ]]; then
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop linkwarden systemctl stop linkwarden
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
RUST_CRATES="monolith" install_rust_and_crates RUST_CRATES="monolith" setup_rust
msg_info "Updating ${APP} to ${RELEASE}" msg_info "Updating ${APP} to ${RELEASE}"
mv /opt/linkwarden/.env /opt/.env mv /opt/linkwarden/.env /opt/.env
rm -rf /opt/linkwarden rm -rf /opt/linkwarden
fetch_and_deploy_gh_release "linkwarden/linkwarden" fetch_and_deploy_gh_release "linkwarden" "linkwarden/linkwarden"
cd /opt/linkwarden cd /opt/linkwarden
$STD yarn $STD yarn
$STD npx playwright install-deps $STD npx playwright install-deps

78
ct/managemydamnlife.sh Normal file
View File

@@ -0,0 +1,78 @@
#!/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/intri-in/manage-my-damn-life-nextjs
APP="Manage My Damn Life"
var_tags="${var_tags:-calendar;tasks}"
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/mmdl ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/intri-in/manage-my-damn-life-nextjs/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/mmdl_version.txt)" ]] || [[ ! -f /opt/mmdl_version.txt ]]; then
msg_info "Stopping $APP"
systemctl stop mmdl
msg_ok "Stopped $APP"
msg_info "Creating Backup"
cp /opt/mmdl/.env /opt/mmdl.env
msg_ok "Backup Created"
msg_info "Updating $APP to v${RELEASE}"
curl -fsSLO "https://github.com/intri-in/manage-my-damn-life-nextjs/archive/refs/tags/v${RELEASE}.zip"
rm -r /opt/mmdl
unzip -q v"$RELEASE".zip
mv manage-my-damn-life-nextjs-"$RELEASE"/ /opt/mmdl
mv /opt/mmdl.env /opt/mmdl/.env
cd /opt/mmdl
$STD npm install
$STD npm run migrate
$STD npm run build
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
systemctl start mmdl
msg_ok "Started $APP"
msg_info "Cleaning Up"
rm -f ~/v"$RELEASE".zip
msg_ok "Cleanup Completed"
# Last Action
echo "$RELEASE" >/opt/mmdl_version.txt
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

View File

@@ -20,19 +20,17 @@ 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 /root/Matterbridge ]]; then if [[ ! -d /root/Matterbridge ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit
fi
$STD apt-get update
$STD apt-get upgrade -y
NODE_VERSION="22"
NODE_MODULE="matterbridge"
install_node_and_modules
exit exit
fi
$STD apt-get update
$STD apt-get upgrade -y
NODE_VERSION="22" NODE_MODULE="matterbridge" setup_nodejs
exit
} }
start start

View File

@@ -28,7 +28,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if fetch_and_deploy_gh_release "YuukanOO/seelf"; then if fetch_and_deploy_gh_release "seelf" "YuukanOO/seelf"; then
msg_ok "$APP already at the latest version. No update required." msg_ok "$APP already at the latest version. No update required."
else else
msg_info "Stopping $APP" msg_info "Stopping $APP"

View File

@@ -30,7 +30,7 @@ function update_script() {
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/CrazyWolf13/streamlink-webui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(curl -fsSL https://api.github.com/repos/CrazyWolf13/streamlink-webui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then if [[ "${RELEASE}" != "$(cat ~/.${APP} 2>/dev/null || cat /opt/${APP}_version.txt 2>/dev/null)" ]]; then
msg_info "Starting Update" msg_info "Starting Update"
msg_info "Stopping $APP" msg_info "Stopping $APP"
@@ -40,9 +40,9 @@ function update_script() {
rm -rf /opt/${APP} rm -rf /opt/${APP}
NODE_VERSION="22" NODE_VERSION="22"
NODE_MODULE="npm,yarn" NODE_MODULE="npm,yarn"
install_node_and_modules setup_nodejs
setup_uv setup_uv
fetch_and_deploy_gh_release "CrazyWolf13/streamlink-webui" fetch_and_deploy_gh_release "streamlink-webui" "CrazyWolf13/streamlink-webui"
msg_info "Updating $APP to v${RELEASE}" msg_info "Updating $APP to v${RELEASE}"
$STD uv venv /opt/"${APP}"/backend/src/.venv $STD uv venv /opt/"${APP}"/backend/src/.venv

View File

@@ -31,7 +31,7 @@ function update_script() {
if dpkg -l | grep -q "openjdk-17-jre"; then if dpkg -l | grep -q "openjdk-17-jre"; then
$STD apt-get remove -y openjdk-17-jre $STD apt-get remove -y openjdk-17-jre
fi fi
JAVA_VERSION=21 install_java JAVA_VERSION=21 setup_java
RELEASE=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat /opt/suwayomi-server_version.txt)" ]] || [[ ! -f /opt/suwayomi-server_version.txt ]]; then if [[ "${RELEASE}" != "$(cat /opt/suwayomi-server_version.txt)" ]] || [[ ! -f /opt/suwayomi-server_version.txt ]]; then
msg_info "Updating $APP" msg_info "Updating $APP"

View File

@@ -29,38 +29,55 @@ function update_script() {
fi fi
if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt; fi if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt; fi
RELEASE=$(curl -fsSL https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "v${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then if [[ "v${RELEASE}" != "$(cat /opt/${APP}_version.txt 2>/dev/null)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping ${APP}"
systemctl stop trilium
sleep 1
msg_ok "Stopped ${APP}"
msg_info "Updating to ${RELEASE}" if [[ -d /opt/trilium/db ]]; then
mkdir -p /opt/trilium_backup DB_PATH="/opt/trilium/db"
mv /opt/trilium/db /opt/trilium_backup/ DB_RESTORE_PATH="/opt/trilium/db"
rm -rf /opt/trilium elif [[ -d /opt/trilium/assets/db ]]; then
cd /tmp DB_PATH="/opt/trilium/assets/db"
curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o $(basename "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz") DB_RESTORE_PATH="/opt/trilium/assets/db"
tar -xf TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz
mv TriliumNextNotes-Server-$RELEASE-linux-x64 /opt/trilium
cp -r /opt/trilium_backup/db /opt/trilium/
echo "v${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated to ${RELEASE}"
msg_info "Cleaning up"
rm -rf /tmp/TriliumNextNotes-Server-${RELEASE}-linux-x64.tar.xz
rm -rf /opt/trilium_backup
msg_ok "Cleaned"
msg_info "Starting ${APP}"
systemctl start trilium
sleep 1
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at ${RELEASE}" msg_error "Database not found in either /opt/trilium/db or /opt/trilium/assets/db"
exit 1
fi fi
exit
msg_info "Stopping ${APP}"
systemctl stop trilium
sleep 1
msg_ok "Stopped ${APP}"
msg_info "Updating to ${RELEASE}"
mkdir -p /opt/trilium_backup
cp -r "${DB_PATH}" /opt/trilium_backup/
rm -rf /opt/trilium
cd /tmp
curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o "TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz"
tar -xf "TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz"
mv "TriliumNextNotes-Server-${RELEASE}-linux-x64" /opt/trilium
# Restore database
mkdir -p "$(dirname "${DB_RESTORE_PATH}")"
cp -r /opt/trilium_backup/$(basename "${DB_PATH}") "${DB_RESTORE_PATH}"
echo "v${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated to ${RELEASE}"
msg_info "Cleaning up"
rm -rf "/tmp/TriliumNextNotes-Server-${RELEASE}-linux-x64.tar.xz"
rm -rf /opt/trilium_backup
msg_ok "Cleaned"
msg_info "Starting ${APP}"
systemctl start trilium
sleep 1
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
} }
start start

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 120 KiB

View File

@@ -1,23 +1,23 @@
{ {
"name": "Proxmox VE LXC IP-Tag", "name": "Proxmox VE LXC Tag",
"slug": "add-lxc-iptag", "slug": "add-iptag",
"categories": [ "categories": [
1 1
], ],
"date_created": "2024-12-16", "date_created": "2025-06-16",
"type": "pve", "type": "pve",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": null, "interface_port": null,
"documentation": null, "documentation": null,
"website": null, "website": null,
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/proxmox.svg",
"config_path": "/opt/lxc-iptag/iptag.conf", "config_path": "/opt/iptag/iptag.conf",
"description": "This script automatically adds IP address as tags to LXC containers using a Systemd service. The service also updates the tags if a LXC IP address is changed.", "description": "This script automatically adds IP address as tags to LXC containers or VM's using a systemd service. The service also updates the tags if a LXC/VM IP address is changed.",
"install_methods": [ "install_methods": [
{ {
"type": "default", "type": "default",
"script": "tools/pve/add-lxc-iptag.sh", "script": "tools/pve/add-iptag.sh",
"resources": { "resources": {
"cpu": null, "cpu": null,
"ram": null, "ram": null,
@@ -36,6 +36,10 @@
"text": "Execute within the Proxmox shell", "text": "Execute within the Proxmox shell",
"type": "info" "type": "info"
}, },
{
"text": "Configuration: `nano /opt/iptag/iptag.conf`. iptag.service must be restarted after change.",
"type": "info"
},
{ {
"text": "The Proxmox Node must contain ipcalc and net-tools. `apt-get install -y ipcalc net-tools`", "text": "The Proxmox Node must contain ipcalc and net-tools. `apt-get install -y ipcalc net-tools`",
"type": "warning" "type": "warning"

View File

@@ -0,0 +1,47 @@
{
"name": "FileBrowser Quantum",
"slug": "filebrowser-quantum",
"categories": [
1,
11
],
"date_created": "2025-06-18",
"type": "addon",
"updateable": false,
"privileged": false,
"interface_port": 8080,
"documentation": "https://github.com/gtsteffaniak/filebrowser/wiki/Getting-Started",
"website": "https://github.com/gtsteffaniak/filebrowser",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/filebrowser-quantum.webp",
"config_path": "/usr/local/community-scripts/fq-config.yaml",
"description": "FileBrowser Quantum provides an easy way to access and manage your files from the web. It has has a web page interface that allows you to create secure shared links, users with their own specific permissions and settings, and offers a great viewing experience for many file types. This version is called Quantum because it packs tons of advanced features into a tiny easy to run file. Unlike the majority of alternative options, FileBrowser Quantum is simple to install and easy to configure.",
"install_methods": [
{
"type": "default",
"script": "tools/addon/filebrowser-quantum.sh",
"resources": {
"cpu": null,
"ram": null,
"hdd": null,
"os": null,
"version": null
}
},
{
"type": "alpine",
"script": "tools/addon/filebrowser-quantum.sh",
"resources": {
"cpu": null,
"ram": null,
"hdd": null,
"os": null,
"version": null
}
}
],
"default_credentials": {
"username": "admin",
"password": "helper-scripts.com"
},
"notes": []
}

View File

@@ -32,6 +32,10 @@
"password": null "password": null
}, },
"notes": [ "notes": [
{
"text": "Data Importer is at `http://<LXC_IP>/dataimporter/`",
"type": "info"
},
{ {
"text": "Database credentials: `cat ~/firefly.creds`", "text": "Database credentials: `cat ~/firefly.creds`",
"type": "info" "type": "info"

View File

@@ -19,9 +19,9 @@
"type": "default", "type": "default",
"script": "ct/gitea-mirror.sh", "script": "ct/gitea-mirror.sh",
"resources": { "resources": {
"cpu": 1, "cpu": 2,
"ram": 1024, "ram": 2048,
"hdd": 5, "hdd": 6,
"os": "Debian", "os": "Debian",
"version": "12" "version": "12"
} }

View File

@@ -0,0 +1,35 @@
{
"name": "Huntarr",
"slug": "huntarr",
"categories": [
14
],
"date_created": "2025-06-18",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 9705,
"documentation": "https://github.com/plexguide/Huntarr.io/wiki",
"config_path": "/opt/huntarr",
"website": "https://github.com/plexguide/Huntarr.io",
"logo": "https://raw.githubusercontent.com/plexguide/Huntarr.io/refs/heads/main/frontend/static/logo/Huntarr.svg",
"description": "Huntarr is a tool that automates the search for missing or low-quality media content in your collection. It works seamlessly with applications like Sonarr, Radarr, Lidarr, Readarr, and Whisparr, enhancing their functionality with continuous background scans to identify and update missed or outdated content. Through a user-friendly web interface accessible on port 9705, Huntarr provides real-time statistics, log views, and extensive configuration options. The software is especially useful for users who want to keep their media library up to date by automatically searching for missing episodes or higher-quality versions. Huntarr is well-suited for self-hosted environments and can easily run in LXC containers or Docker setups.",
"install_methods": [
{
"type": "default",
"script": "ct/huntarr.sh",
"resources": {
"cpu": 2,
"ram": 1024,
"hdd": 4,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -33,15 +33,15 @@
}, },
"notes": [ "notes": [
{ {
"text": "During installation, HW-accelerated machine-learning (with OpenVINO) is an available option. This also allows for HW-accelerated transcoding, but it must be enabled in Video Transcoding Settings", "text": "During installation, you will be prompted with the option to install Intel OpenVINO for hardware-accelerated machine-learning. If you opt in, increase your LXC RAM after installation, as OpenVINO is memory-intensive",
"type": "info" "type": "info"
}, },
{ {
"text": "If using OpenVINO HW machine-learning, increase RAM because OpenVINO is memory-intensive", "text": "HW-accelerated video transcoding is supported, but must be enabled in Immich Settings",
"type": "info" "type": "info"
}, },
{ {
"text": "To change upload location, edit 'IMMICH_MEDIA_LOCATION' in `/opt/immich/.env`", "text": "To change upload location, edit 'IMMICH_MEDIA_LOCATION' in `/opt/immich/.env`, and create the symlink 'upload' in /opt/immich/app & /opt/immich/app/machine-learning to your new upload location",
"type": "info" "type": "info"
} }
] ]

View File

@@ -20,7 +20,7 @@
"script": "ct/kasm.sh", "script": "ct/kasm.sh",
"resources": { "resources": {
"cpu": 2, "cpu": 2,
"ram": 4096, "ram": 8192,
"hdd": 50, "hdd": 50,
"os": "Debian", "os": "Debian",
"version": "12" "version": "12"
@@ -36,6 +36,10 @@
"text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.", "text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.",
"type": "warning" "type": "warning"
}, },
{
"text": "Kasm needs swap (on Proxmox host) and activated FUSE to be installed successfully!",
"type": "warning"
},
{ {
"text": "Show password: `cat ~/kasm.creds`", "text": "Show password: `cat ~/kasm.creds`",
"type": "info" "type": "info"

View File

@@ -0,0 +1,44 @@
{
"name": "LibreTranslate",
"slug": "libretranslate",
"categories": [
0
],
"date_created": "2025-06-15",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 5000,
"documentation": "https://github.com/LibreTranslate/LibreTranslate?tab=readme-ov-file#settings--flags",
"website": "https://libretranslate.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/libretranslate.webp",
"config_path": "/opt/libretranslate/.env",
"description": "Free and Open Source Machine Translation API, entirely self-hosted. Unlike other APIs, it doesn't rely on proprietary providers such as Google or Azure to perform translations. Instead, its translation engine is powered by the open source Argos Translate library.",
"install_methods": [
{
"type": "default",
"script": "ct/libretranslate.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 20,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "During the installation, application will download language models used for translation. Depending on how fast your internet/host is, this can take 5-10 minutes.",
"type": "info"
},
{
"text": "At every boot of LXC, application will look for updates for language models installed. This can prolong the startup of the LXC.",
"type": "info"
}
]
}

View File

@@ -0,0 +1,35 @@
{
"name": "Manage My Damn Life",
"slug": "managemydamnlife",
"categories": [
0
],
"date_created": "2025-06-12",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://manage-my-damn-life-nextjs.readthedocs.io/en/latest/",
"config_path": "/opt/mmdl/.env",
"website": "https://github.com/intri-in/manage-my-damn-life-nextjs",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/manage-my-damn-life.webp",
"description": "Manage My Damn Life (MMDL) is a self-hosted front end for managing your CalDAV tasks and calendars.",
"install_methods": [
{
"type": "default",
"script": "ct/managemydamnlife.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 6,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -0,0 +1,40 @@
{
"name": "NIC Offloading Fix",
"slug": "nic-offloading-fix",
"categories": [
1
],
"date_created": "2025-05-25",
"type": "pve",
"updateable": false,
"privileged": false,
"interface_port": null,
"documentation": null,
"config_path": "",
"website": null,
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
"description": "This script automates the process of disabling network interface card (NIC) offloading features specifically for Intel e1000e network interfaces on Linux systems.",
"install_methods": [
{
"type": "default",
"script": "tools/pve/nic-offloading-fix.sh",
"resources": {
"cpu": null,
"ram": null,
"hdd": null,
"os": null,
"version": null
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Execute within the Proxmox shell",
"type": "info"
}
]
}

View File

@@ -21,7 +21,7 @@
"resources": { "resources": {
"cpu": 2, "cpu": 2,
"ram": 4096, "ram": 4096,
"hdd": 20, "hdd": 32,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

File diff suppressed because it is too large Load Diff

View File

@@ -19,7 +19,11 @@ const getMetadata = async () => {
const getScripts = async () => { const getScripts = async () => {
const filePaths = (await fs.readdir(jsonDir)) const filePaths = (await fs.readdir(jsonDir))
.filter((fileName) => fileName !== metadataFileName && fileName !== versionFileName) .filter((fileName) =>
fileName.endsWith(".json") &&
fileName !== metadataFileName &&
fileName !== versionFileName
)
.map((fileName) => path.resolve(jsonDir, fileName)); .map((fileName) => path.resolve(jsonDir, fileName));
const scripts = await Promise.all( const scripts = await Promise.all(

View File

@@ -104,7 +104,7 @@ export default function RootLayout({
<Navbar /> <Navbar />
<div className="flex min-h-screen flex-col justify-center"> <div className="flex min-h-screen flex-col justify-center">
<div className="flex w-full justify-center"> <div className="flex w-full justify-center">
<div className="w-full max-w-7xl "> <div className="w-full max-w-[1440px] ">
<QueryProvider> <QueryProvider>
<NuqsAdapter>{children}</NuqsAdapter> <NuqsAdapter>{children}</NuqsAdapter>
</QueryProvider> </QueryProvider>

View File

@@ -56,7 +56,7 @@ export default function ScriptAccordion({
value={expandedItem} value={expandedItem}
onValueChange={handleAccordionChange} onValueChange={handleAccordionChange}
collapsible collapsible
className="overflow-y-scroll max-h-[calc(100vh-225px)] overflow-x-hidden mt-3 p-2" className="overflow-y-scroll max-h-[calc(100vh-225px)] overflow-x-hidden p-2"
> >
{items.map((category) => ( {items.map((category) => (
<AccordionItem <AccordionItem

View File

@@ -15,12 +15,12 @@ import { ResourceDisplay } from "./ResourceDisplay";
import { getDisplayValueFromType } from "./ScriptInfoBlocks"; import { getDisplayValueFromType } from "./ScriptInfoBlocks";
import Alerts from "./ScriptItems/Alerts"; import Alerts from "./ScriptItems/Alerts";
import Buttons from "./ScriptItems/Buttons"; import Buttons from "./ScriptItems/Buttons";
import ConfigFile from "./ScriptItems/ConfigFile";
import DefaultPassword from "./ScriptItems/DefaultPassword"; import DefaultPassword from "./ScriptItems/DefaultPassword";
import Description from "./ScriptItems/Description"; import Description from "./ScriptItems/Description";
import InstallCommand from "./ScriptItems/InstallCommand"; import InstallCommand from "./ScriptItems/InstallCommand";
import InterFaces from "./ScriptItems/InterFaces"; import InterFaces from "./ScriptItems/InterFaces";
import Tooltips from "./ScriptItems/Tooltips"; import Tooltips from "./ScriptItems/Tooltips";
import ConfigFile from "./ScriptItems/ConfigFile";
interface ScriptItemProps { interface ScriptItemProps {
item: Script; item: Script;
@@ -120,7 +120,7 @@ export function ScriptItem({ item, setSelectedScript }: ScriptItemProps) {
}; };
return ( return (
<div className="w-full max-w-5xl mx-auto"> <div className="w-full mx-auto">
<div className="flex w-full flex-col"> <div className="flex w-full flex-col">
<div className="mb-3 flex items-center justify-between"> <div className="mb-3 flex items-center justify-between">
<h2 className="text-2xl font-semibold tracking-tight text-foreground/90">Selected Script</h2> <h2 className="text-2xl font-semibold tracking-tight text-foreground/90">Selected Script</h2>
@@ -132,7 +132,7 @@ export function ScriptItem({ item, setSelectedScript }: ScriptItemProps) {
</button> </button>
</div> </div>
<div className="rounded-xl border border-border/40 bg-gradient-to-b from-card/30 to-background/50 backdrop-blur-sm shadow-sm"> <div className="rounded-xl border border-border bg-gradient-to-b from-card/30 to-background/50 backdrop-blur-sm shadow-sm">
<div className="p-6 space-y-6"> <div className="p-6 space-y-6">
<Suspense fallback={<div className="animate-pulse h-32 bg-accent/20 rounded-xl" />}> <Suspense fallback={<div className="animate-pulse h-32 bg-accent/20 rounded-xl" />}>
<ScriptHeader item={item} /> <ScriptHeader item={item} />
@@ -152,16 +152,18 @@ export function ScriptItem({ item, setSelectedScript }: ScriptItemProps) {
<div className=""> <div className="">
<InstallCommand item={item} /> <InstallCommand item={item} />
</div> </div>
<Separator /> {item.config_path && (
<div className="flex gap-3 px-4 py-2 bg-accent/25"> <>
<h2 className="text-lg font-semibold"> <Separator />
Location of config file <div className="flex gap-3 px-4 py-2 bg-accent/25">
</h2> <h2 className="text-lg font-semibold">Location of config file</h2>
</div> </div>
<Separator /> <Separator />
<div className=""> <div className="">
<ConfigFile item={item} /> <ConfigFile configPath={item.config_path} />
</div> </div>
</>
)}
</div> </div>
<DefaultPassword item={item} /> <DefaultPassword item={item} />

View File

@@ -1,10 +1,9 @@
import ConfigCopyButton from "@/components/ui/config-copy-button"; import ConfigCopyButton from "@/components/ui/config-copy-button";
import { Script } from "@/lib/types";
export default function ConfigFile({ item }: { item: Script }) { export default function ConfigFile({ configPath }: { configPath: string }) {
return ( return (
<div className="px-4 pb-4"> <div className="px-4 pb-4">
<ConfigCopyButton>{item.config_path ? item.config_path : "No config path set"}</ConfigCopyButton> <ConfigCopyButton>{configPath}</ConfigCopyButton>
</div> </div>
); );
} }

View File

@@ -22,7 +22,7 @@ const Sidebar = ({
}, [] as Script[]); }, [] as Script[]);
return ( return (
<div className="flex min-w-72 flex-col sm:max-w-72"> <div className="flex min-w-[350px] flex-col sm:max-w-[350px]">
<div className="flex items-end justify-between pb-4"> <div className="flex items-end justify-between pb-4">
<h1 className="text-xl font-bold">Categories</h1> <h1 className="text-xl font-bold">Categories</h1>
<p className="text-xs italic text-muted-foreground"> <p className="text-xs italic text-muted-foreground">

View File

@@ -47,7 +47,7 @@ function ScriptContent() {
setSelectedScript={setSelectedScript} setSelectedScript={setSelectedScript}
/> />
</div> </div>
<div className="mx-7 w-full sm:mx-0 sm:ml-7"> <div className="mx-4 w-full sm:mx-0 sm:ml-4">
{selectedScript && item ? ( {selectedScript && item ? (
<ScriptItem item={item} setSelectedScript={setSelectedScript} /> <ScriptItem item={item} setSelectedScript={setSelectedScript} />
) : ( ) : (

View File

@@ -34,7 +34,7 @@ function Navbar() {
isScrolled ? "glass border-b bg-background/50" : "" isScrolled ? "glass border-b bg-background/50" : ""
}`} }`}
> >
<div className="flex h-20 w-full max-w-7xl items-center justify-between sm:flex-row"> <div className="flex h-20 w-full max-w-[1440px] items-center justify-between sm:flex-row">
<Link <Link
href={"/"} href={"/"}
className="flex cursor-pointer w-full justify-center sm:justify-start flex-row-reverse items-center gap-2 font-semibold sm:flex-row" className="flex cursor-pointer w-full justify-center sm:justify-start flex-row-reverse items-center gap-2 font-semibold sm:flex-row"

View File

@@ -15,18 +15,13 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
lsb-release lsb-release \
curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg nginx
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" >/etc/apt/sources.list.d/php.list
$STD apt-get update
$STD apt-get install -y \
nginx \
composer \
php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,intl,mbstring,mysql,xml,cli}
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,fpm,mysql,cli" setup_php
setup_composer
setup_mariadb
msg_info "Setting up Database" msg_info "Setting up Database"
DB_NAME=2fauth_db DB_NAME=2fauth_db
@@ -43,16 +38,12 @@ $STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUS
} >>~/2FAuth.creds } >>~/2FAuth.creds
msg_ok "Set up Database" msg_ok "Set up Database"
msg_info "Setup 2FAuth" fetch_and_deploy_gh_release "2fauth" "Bubka/2FAuth"
RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
curl -fsSL "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" -o "${RELEASE}.zip"
$STD unzip "${RELEASE}.zip"
mv "2FAuth-${RELEASE//v/}/" /opt/2fauth
cd "/opt/2fauth" || return msg_info "Setup 2FAuth"
cd /opt/2fauth
cp .env.example .env cp .env.example .env
IPADDRESS=$(hostname -I | awk '{print $1}') IPADDRESS=$(hostname -I | awk '{print $1}')
sed -i -e "s|^APP_URL=.*|APP_URL=http://$IPADDRESS|" \ sed -i -e "s|^APP_URL=.*|APP_URL=http://$IPADDRESS|" \
-e "s|^DB_CONNECTION=$|DB_CONNECTION=mysql|" \ -e "s|^DB_CONNECTION=$|DB_CONNECTION=mysql|" \
-e "s|^DB_DATABASE=$|DB_DATABASE=$DB_NAME|" \ -e "s|^DB_DATABASE=$|DB_DATABASE=$DB_NAME|" \
@@ -60,22 +51,16 @@ sed -i -e "s|^APP_URL=.*|APP_URL=http://$IPADDRESS|" \
-e "s|^DB_PORT=$|DB_PORT=3306|" \ -e "s|^DB_PORT=$|DB_PORT=3306|" \
-e "s|^DB_USERNAME=$|DB_USERNAME=$DB_USER|" \ -e "s|^DB_USERNAME=$|DB_USERNAME=$DB_USER|" \
-e "s|^DB_PASSWORD=$|DB_PASSWORD=$DB_PASS|" .env -e "s|^DB_PASSWORD=$|DB_PASSWORD=$DB_PASS|" .env
export COMPOSER_ALLOW_SUPERUSER=1 export COMPOSER_ALLOW_SUPERUSER=1
$STD composer update --no-plugins --no-scripts $STD composer update --no-plugins --no-scripts
$STD composer install --no-dev --prefer-source --no-plugins --no-scripts $STD composer install --no-dev --prefer-source --no-plugins --no-scripts
$STD php artisan key:generate --force $STD php artisan key:generate --force
$STD php artisan migrate:refresh $STD php artisan migrate:refresh
$STD php artisan passport:install -q -n $STD php artisan passport:install -q -n
$STD php artisan storage:link $STD php artisan storage:link
$STD php artisan config:cache $STD php artisan config:cache
chown -R www-data: /opt/2fauth chown -R www-data: /opt/2fauth
chmod -R 755 /opt/2fauth chmod -R 755 /opt/2fauth
echo "${RELEASE}" >"/opt/2fauth_version.txt"
msg_ok "Setup 2fauth" msg_ok "Setup 2fauth"
msg_info "Configure Service" msg_info "Configure Service"
@@ -107,7 +92,6 @@ server {
} }
} }
EOF EOF
systemctl reload nginx systemctl reload nginx
msg_ok "Configured Service" msg_ok "Configured Service"
@@ -115,7 +99,6 @@ motd_ssh
customize customize
msg_info "Cleaning up" msg_info "Cleaning up"
rm -f "/opt/v${RELEASE}.zip"
$STD apt-get -y autoremove $STD apt-get -y autoremove
$STD apt-get -y autoclean $STD apt-get -y autoclean
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@@ -22,7 +22,7 @@ msg_info "Installing Actual Budget"
cd /opt cd /opt
RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
NODE_VERSION="22" NODE_VERSION="22"
install_node_and_modules setup_nodejs
mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config} mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config}
chown -R root:root /opt/actualbudget-data chown -R root:root /opt/actualbudget-data
chmod -R 755 /opt/actualbudget-data chmod -R 755 /opt/actualbudget-data

View File

@@ -23,8 +23,8 @@ $STD apt-get install -y \
python3-pip python3-pip
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
PG_VERSION="16" PG_MODULES="postgis" install_postgresql PG_VERSION="16" PG_MODULES="postgis" setup_postgresql
msg_info "Set up PostgreSQL Database" msg_info "Set up PostgreSQL Database"
DB_NAME="adventurelog_db" DB_NAME="adventurelog_db"

View File

@@ -49,7 +49,7 @@ EOF
sed -i -e 's/\$/\$\$/g' /opt/tinyauth/.env sed -i -e 's/\$/\$\$/g' /opt/tinyauth/.env
cat <<EOF >/etc/init.d/tinyauth cat <<'EOF' >/etc/init.d/tinyauth
#!/sbin/openrc-run #!/sbin/openrc-run
description="Tinyauth Service" description="Tinyauth Service"

View File

@@ -14,8 +14,8 @@ network_check
update_os update_os
msg_info "Installing Alpine-Zigbee2MQTT" msg_info "Installing Alpine-Zigbee2MQTT"
mkdir -p /root/.z2m /etc/zigbee2mqtt
$STD apk add zigbee2mqtt $STD apk add zigbee2mqtt
mkdir -p /root/.z2m
ln -s /etc/zigbee2mqtt/ /root/.z2m ln -s /etc/zigbee2mqtt/ /root/.z2m
chown -R root:root /etc/zigbee2mqtt /root/.z2m chown -R root:root /etc/zigbee2mqtt /root/.z2m
sed -i -e 's/#datadir="\/var\/lib\/zigbee2mqtt"/datadir="\/etc\/zigbee2mqtt"/' -e 's/#command_user="zigbee2mqtt"/command_user="root"/' /etc/conf.d/zigbee2mqtt sed -i -e 's/#datadir="\/var\/lib\/zigbee2mqtt"/datadir="\/etc\/zigbee2mqtt"/' -e 's/#command_user="zigbee2mqtt"/command_user="root"/' /etc/conf.d/zigbee2mqtt

View File

@@ -38,7 +38,7 @@ $STD apt-get install -y \
default-jdk default-jdk
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb setup_mariadb
msg_info "Setup Apache Tomcat" msg_info "Setup Apache Tomcat"
RELEASE=$(curl -fsSL https://dlcdn.apache.org/tomcat/tomcat-9/ | grep -oP '(?<=href=")v[^"/]+(?=/")' | sed 's/^v//' | sort -V | tail -n1) RELEASE=$(curl -fsSL https://dlcdn.apache.org/tomcat/tomcat-9/ | grep -oP '(?<=href=")v[^"/]+(?=/")' | sed 's/^v//' | sort -V | tail -n1)

View File

@@ -33,7 +33,7 @@ $STD apt-get install -y \
python3-regex python3-regex
msg_ok "Installed Python Dependencies" msg_ok "Installed Python Dependencies"
NODE_VERSION="22" install_node_and_modules NODE_VERSION="22" setup_nodejs
msg_info "Installing Playwright" msg_info "Installing Playwright"
$STD pip install playwright $STD pip install playwright

View File

@@ -20,7 +20,7 @@ $STD apt-get install -y \
php-{pgsql,dom} php-{pgsql,dom}
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
PG_VERSION="16" install_postgresql PG_VERSION="16" setup_postgresql
msg_info "Setting up PostgreSQL Database" msg_info "Setting up PostgreSQL Database"
DB_NAME=baikal DB_NAME=baikal

View File

@@ -20,8 +20,8 @@ $STD apt-get install -y \
musl-dev musl-dev
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
PG_VERSION="16" install_postgresql PG_VERSION="16" setup_postgresql
install_go setup_go
RELEASE=$(curl -fsSL https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Installing bitmagnet v${RELEASE}" msg_info "Installing bitmagnet v${RELEASE}"

View File

@@ -22,7 +22,7 @@ $STD apt-get install -y \
make make
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb setup_mariadb
msg_info "Setting up Database" msg_info "Setting up Database"
DB_NAME=bookstack DB_NAME=bookstack

View File

@@ -13,7 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
NODE_VERSION="22" install_node_and_modules NODE_VERSION="22" setup_nodejs
msg_info "Installing ByteStash" msg_info "Installing ByteStash"
JWT_SECRET=$(openssl rand -base64 32 | tr -d '/+=') JWT_SECRET=$(openssl rand -base64 32 | tr -d '/+=')

View File

@@ -29,7 +29,7 @@ msg_ok "Installed Caddy"
read -r -p "${TAB3}Would you like to install xCaddy Addon? <y/N> " prompt read -r -p "${TAB3}Would you like to install xCaddy Addon? <y/N> " prompt
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
install_go setup_go
msg_info "Setup xCaddy" msg_info "Setup xCaddy"
$STD apt-get install -y git $STD apt-get install -y git
cd /opt cd /opt

View File

@@ -51,7 +51,7 @@ $STD apt-get install -y \
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Setup Python3" msg_ok "Setup Python3"
NODE_VERSION="22" install_node_and_modules NODE_VERSION="22" setup_nodejs
msg_info "Installing Change Detection" msg_info "Installing Change Detection"
mkdir /opt/changedetection mkdir /opt/changedetection

View File

@@ -13,7 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
install_go setup_go
msg_info "Configure Application" msg_info "Configure Application"
var_cf_api_token="default" var_cf_api_token="default"

View File

@@ -18,8 +18,8 @@ $STD apt-get install -y \
git git
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_MODULE="pnpm@latest" install_node_and_modules NODE_MODULE="pnpm@latest" setup_nodejs
fetch_and_deploy_gh_release "raydak-labs/configarr" fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr"
msg_info "Setup ${APPLICATION}" msg_info "Setup ${APPLICATION}"
cat <<EOF >/opt/configarr/.env cat <<EOF >/opt/configarr/.env

View File

@@ -13,7 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
NODE_VERSION="22" install_node_and_modules NODE_VERSION="22" setup_nodejs
msg_info "Installing Cronicle Primary Server" msg_info "Installing Cronicle Primary Server"
LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4) LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4)

View File

@@ -13,7 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
NODE_VERSION="22" install_node_and_modules NODE_VERSION="22" setup_nodejs
msg_info "Setup Cross-Seed" msg_info "Setup Cross-Seed"
$STD npm install cross-seed@latest -g $STD npm install cross-seed@latest -g

View File

@@ -18,7 +18,7 @@ $STD apt-get install -y \
git git
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" install_node_and_modules NODE_VERSION="22" setup_nodejs
read -p "${TAB3}Install OnlyOffice components instead of CKEditor? (Y/N): " onlyoffice read -p "${TAB3}Install OnlyOffice components instead of CKEditor? (Y/N): " onlyoffice

View File

@@ -13,7 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
NODE_VERSION="22" install_node_and_modules NODE_VERSION="22" setup_nodejs
RELEASE=$(curl -fsSL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(curl -fsSL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
msg_info "Installing Dashy ${RELEASE} (Patience)" msg_info "Installing Dashy ${RELEASE} (Patience)"

View File

@@ -20,8 +20,8 @@ $STD apt-get install -y \
make make
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" install_node_and_modules NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
PG_VERSION="16" install_postgresql PG_VERSION="16" setup_postgresql
msg_info "Setting up PostgreSQL" msg_info "Setting up PostgreSQL"
DB_NAME="docmost_db" DB_NAME="docmost_db"

View File

@@ -28,8 +28,8 @@ $STD apt-get install -y \
python3-bcrypt python3-bcrypt
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="turbo@1.9.3" install_node_and_modules NODE_VERSION="22" NODE_MODULE="turbo@1.9.3" setup_nodejs
PG_VERSION="16" install_postgresql PG_VERSION="16" setup_postgresql
msg_info "Setting up PostgreSQL" msg_info "Setting up PostgreSQL"
DB_NAME="documenso_db" DB_NAME="documenso_db"

View File

@@ -19,11 +19,11 @@ $STD apt-get install -y \
debconf-utils debconf-utils
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb setup_mariadb
msg_info "Setting up Database" msg_info "Setting up Database"
ROOT_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) ROOT_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
$STD mariadb -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$ROOT_PASS'); flush privileges;" $STD mariadb -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$ROOT_PASS'; flush privileges;"
{ {
echo "Dolibarr DB Credentials" echo "Dolibarr DB Credentials"
echo "MariaDB Root Password: $ROOT_PASS" echo "MariaDB Root Password: $ROOT_PASS"
@@ -32,7 +32,7 @@ msg_ok "Set up database"
msg_info "Setup Dolibarr" msg_info "Setup Dolibarr"
BASE="https://sourceforge.net/projects/dolibarr/files/Dolibarr%20installer%20for%20Debian-Ubuntu%20(DoliDeb)/" BASE="https://sourceforge.net/projects/dolibarr/files/Dolibarr%20installer%20for%20Debian-Ubuntu%20(DoliDeb)/"
RELEASE=$(curl -fsSL "$BASE" | grep -oP '(?<=/Dolibarr%20installer%20for%20Debian-Ubuntu%20%28DoliDeb%29/)[^/"]+' | head -n1) RELEASE=$(curl -fsSL "$BASE" | grep -oP '(?<=/Dolibarr%20installer%20for%20Debian-Ubuntu%20%28DoliDeb%29/)\d+(\.\d+)+(?=/)' | sort -V | tail -n1)
FILE=$(curl -fsSL "${BASE}${RELEASE}/" | grep -oP 'dolibarr_[^"]+_all.deb' | head -n1) FILE=$(curl -fsSL "${BASE}${RELEASE}/" | grep -oP 'dolibarr_[^"]+_all.deb' | head -n1)
curl -fsSL "https://netcologne.dl.sourceforge.net/project/dolibarr/Dolibarr%20installer%20for%20Debian-Ubuntu%20(DoliDeb)/${RELEASE}/${FILE}?viasf=1" -o ""$FILE"" curl -fsSL "https://netcologne.dl.sourceforge.net/project/dolibarr/Dolibarr%20installer%20for%20Debian-Ubuntu%20(DoliDeb)/${RELEASE}/${FILE}?viasf=1" -o ""$FILE""
echo "dolibarr dolibarr/reconfigure-webserver multiselect apache2" | debconf-set-selections echo "dolibarr dolibarr/reconfigure-webserver multiselect apache2" | debconf-set-selections

View File

@@ -20,7 +20,7 @@ $STD apt-get install -y \
debconf-utils debconf-utils
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
read -p "${TAB3}Please enter the name for your server: " servername read -p "${TAB3}Please enter the name for your server: " servername
@@ -54,7 +54,12 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/etkecc/synapse-admin/releases/
curl -fsSL "https://github.com/etkecc/synapse-admin/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" curl -fsSL "https://github.com/etkecc/synapse-admin/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
tar xzf "$temp_file" -C /opt/synapse-admin --strip-components=1 tar xzf "$temp_file" -C /opt/synapse-admin --strip-components=1
cd /opt/synapse-admin cd /opt/synapse-admin
$STD yarn global add serve
$STD yarn install --ignore-engines $STD yarn install --ignore-engines
$STD yarn build
mv ./dist ../ &&
rm -rf * &&
mv ../dist ./
msg_ok "Installed Element Synapse" msg_ok "Installed Element Synapse"
msg_info "Creating Service" msg_info "Creating Service"
@@ -67,7 +72,7 @@ Requires=matrix-synapse.service
[Service] [Service]
Type=simple Type=simple
WorkingDirectory=/opt/synapse-admin WorkingDirectory=/opt/synapse-admin
ExecStart=/usr/bin/yarn start --host ExecStart=/usr/local/bin/serve -s dist -l 5173
Restart=always Restart=always
[Install] [Install]

View File

@@ -18,7 +18,7 @@ $STD apt-get install -y \
xdg-utils xdg-utils
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
msg_info "Setup Excalidraw" msg_info "Setup Excalidraw"
temp_file=$(mktemp) temp_file=$(mktemp)

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG # Copyright (c) 2021-2025 community-scripts ORG
# Author: quantumryuu # Author: quantumryuu | Co-Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://firefly-iii.org/ # Source: https://firefly-iii.org/
@@ -24,13 +24,12 @@ $STD apt-get install -y \
composer composer
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb setup_mariadb
msg_info "Setting up database" msg_info "Setting up database"
DB_NAME=firefly DB_NAME=firefly
DB_USER=firefly DB_USER=firefly
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
MYSQL_VERSION=$(mariadb --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -n1)
$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" $STD mariadb -u root -e "CREATE DATABASE $DB_NAME;"
$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" $STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
@@ -43,6 +42,7 @@ mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRI
msg_ok "Set up database" msg_ok "Set up database"
msg_info "Installing Firefly III (Patience)" msg_info "Installing Firefly III (Patience)"
LOCAL_IP=$(hostname -I | awk '{print $1}')
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)}') 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)}')
cd /opt cd /opt
curl -fsSL "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" -o "FireflyIII-v${RELEASE}.tar.gz" curl -fsSL "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" -o "FireflyIII-v${RELEASE}.tar.gz"
@@ -61,6 +61,14 @@ $STD php artisan firefly:upgrade-database
$STD php artisan firefly:correct-database $STD php artisan firefly:correct-database
$STD php artisan firefly:report-integrity $STD php artisan firefly:report-integrity
$STD php artisan firefly:laravel-passport-keys $STD php artisan firefly:laravel-passport-keys
IMPORTER_RELEASE=$(curl -fsSL https://api.github.com/repos/firefly-iii/data-importer/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}')
mkdir -p /opt/firefly/dataimporter
cd /opt
curl -fsSL "https://github.com/firefly-iii/data-importer/releases/download/v${IMPORTER_RELEASE}/DataImporter-v${IMPORTER_RELEASE}.tar.gz" -o "DataImporter-v${IMPORTER_RELEASE}.tar.gz"
tar -xzf "DataImporter-v${IMPORTER_RELEASE}.tar.gz" -C /opt/firefly/dataimporter
cp /opt/firefly/dataimporter/.env.example /opt/firefly/dataimporter/.env
sed -i "s#FIREFLY_III_URL=#FIREFLY_III_URL=http://${LOCAL_IP}#g" /opt/firefly/dataimporter/.env
chown -R www-data:www-data /opt/firefly
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed Firefly III" msg_ok "Installed Firefly III"
@@ -76,6 +84,17 @@ cat <<EOF >/etc/apache2/sites-available/firefly.conf
Require all granted Require all granted
</Directory> </Directory>
Alias /dataimporter/ /opt/firefly/dataimporter/public/
<Directory /opt/firefly/dataimporter/public/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
ErrorLog /var/log/apache2/error.log ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined CustomLog /var/log/apache2/access.log combined
@@ -93,7 +112,8 @@ motd_ssh
customize customize
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf /opt/FireflyIII-v${RELEASE}.tar.gz rm -rf "/opt/FireflyIII-v${RELEASE}.tar.gz"
rm -rf "/opt/DataImporter-v${IMPORTER_RELEASE}.tar.gz"
$STD apt-get -y autoremove $STD apt-get -y autoremove
$STD apt-get -y autoclean $STD apt-get -y autoclean
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@@ -13,7 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
NODE_VERSION="22" install_node_and_modules NODE_VERSION="20" setup_nodejs
msg_info "Installing FlowiseAI (Patience)" msg_info "Installing FlowiseAI (Patience)"
$STD npm install -g flowise \ $STD npm install -g flowise \

View File

@@ -20,7 +20,7 @@ $STD apt-get install -y \
libapache2-mod-php libapache2-mod-php
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
PG_VERSION="16" install_postgresql PG_VERSION="16" setup_postgresql
msg_info "Setting up PostgreSQL" msg_info "Setting up PostgreSQL"
DB_NAME=freshrss DB_NAME=freshrss

View File

@@ -23,7 +23,7 @@ $STD apt-get install -y {python3,python3-dev,python3-setuptools,python3-distutil
$STD pip install --upgrade pip $STD pip install --upgrade pip
msg_ok "Setup Python3" msg_ok "Setup Python3"
NODE_VERSION="22" install_node_and_modules NODE_VERSION="22" setup_nodejs
msg_info "Installing go2rtc" msg_info "Installing go2rtc"
mkdir -p /usr/local/go2rtc/bin mkdir -p /usr/local/go2rtc/bin

View File

@@ -17,7 +17,7 @@ $STD apt-get install -y \
ca-certificates ca-certificates
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
msg_info "Installing Fumadocs" msg_info "Installing Fumadocs"
mkdir -p /opt/fumadocs mkdir -p /opt/fumadocs

View File

@@ -19,7 +19,7 @@ $STD apt-get install -y \
libcap2-bin libcap2-bin
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_go setup_go
RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Setting up gatus v${RELEASE}" msg_info "Setting up gatus v${RELEASE}"

View File

@@ -19,7 +19,7 @@ $STD apt-get install -y \
ca-certificates ca-certificates
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb setup_mariadb
msg_info "Configuring Database" msg_info "Configuring Database"
DB_NAME=ghost DB_NAME=ghost
@@ -37,7 +37,7 @@ $STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUS
} >>~/ghost.creds } >>~/ghost.creds
msg_ok "Configured MySQL" msg_ok "Configured MySQL"
NODE_VERSION="20" install_node_and_modules NODE_VERSION="20" setup_nodejs
msg_info "Installing Ghost CLI" msg_info "Installing Ghost CLI"
$STD npm install ghost-cli@latest -g $STD npm install ghost-cli@latest -g

View File

@@ -28,7 +28,7 @@ ln -sf /opt/bun/bin/bun /usr/local/bin/bun
ln -sf /opt/bun/bin/bun /usr/local/bin/bunx ln -sf /opt/bun/bin/bun /usr/local/bin/bunx
msg_ok "Installed Bun" msg_ok "Installed Bun"
fetch_and_deploy_gh_release "arunavo4/gitea-mirror" fetch_and_deploy_gh_release "gitea-mirror" "arunavo4/gitea-mirror"
msg_info "Installing gitea-mirror" msg_info "Installing gitea-mirror"
cd /opt/gitea-mirror cd /opt/gitea-mirror

View File

@@ -22,7 +22,7 @@ $STD apt-get install -y \
libapache2-mod-php libapache2-mod-php
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb setup_mariadb
msg_info "Setting up database" msg_info "Setting up database"
DB_NAME=glpi_db DB_NAME=glpi_db

View File

@@ -22,8 +22,8 @@ $STD apt-get install -y \
build-essential build-essential
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_go setup_go
NODE_VERSION="22" install_node_and_modules NODE_VERSION="22" setup_nodejs
msg_info "Setup ${APPLICATION} (Patience)" msg_info "Setup ${APPLICATION} (Patience)"
temp_file=$(mktemp) temp_file=$(mktemp)

View File

@@ -13,7 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
MONGO_VERSION="7.0" install_mongodb MONGO_VERSION="7.0" setup_mongodb
msg_info "Setup Graylog Data Node" msg_info "Setup Graylog Data Node"
PASSWORD_SECRET=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16) PASSWORD_SECRET=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16)

View File

@@ -20,7 +20,7 @@ $STD apt-get install -y \
python3.11-venv python3.11-venv
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
msg_info "Installing Grist" msg_info "Installing Grist"
RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')

View File

@@ -22,7 +22,7 @@ curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1
$STD dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb $STD dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="20" install_node_and_modules NODE_VERSION="20" setup_nodejs
msg_info "Setup ${APPLICATION}" msg_info "Setup ${APPLICATION}"
temp_file=$(mktemp) temp_file=$(mktemp)

View File

@@ -28,8 +28,8 @@ msg_ok "Installed Dependencies"
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]')"
install_node_and_modules setup_nodejs
fetch_and_deploy_gh_release "homarr-labs/homarr" fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr"
msg_info "Installing Homarr (Patience)" msg_info "Installing Homarr (Patience)"
cd /opt cd /opt

View File

@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
$STD apt-get install -y jq $STD apt-get install -y jq
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
LOCAL_IP=$(hostname -I | awk '{print $1}') LOCAL_IP=$(hostname -I | awk '{print $1}')
RELEASE=$(curl -fsSL https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')

View File

@@ -0,0 +1,49 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: BiluliB
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/plexguide/Huntarr.io
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y jq
msg_ok "Installed Dependencies"
setup_uv
fetch_and_deploy_gh_release "huntarr" "plexguide/Huntarr.io"
msg_info "Configure Huntarr"
$STD uv venv /opt/huntarr/.venv
$STD uv pip install --python /opt/huntarr/.venv/bin/python -r /opt/huntarr/requirements.txt
msg_ok "Configured Huntrarr"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/huntarr.service
[Unit]
Description=Huntarr Service
After=network.target
[Service]
WorkingDirectory=/opt/huntarr
ExecStart=/opt/huntarr/.venv/bin/python /opt/huntarr/main.py
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now huntarr
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -84,10 +84,7 @@ ln -s /usr/lib/jellyfin-ffmpeg/ffmpeg /usr/bin/ffmpeg
ln -s /usr/lib/jellyfin-ffmpeg/ffprobe /usr/bin/ffprobe ln -s /usr/lib/jellyfin-ffmpeg/ffprobe /usr/bin/ffprobe
msg_ok "Dependencies Installed" msg_ok "Dependencies Installed"
NODE_VERSION="22" install_node_and_modules read -r -p "Install OpenVINO dependencies for Intel HW-accelerated machine-learning? y/N " prompt
PG_VERSION="16" install_postgresql
read -r -p "${TAB3}Install OpenVINO dependencies for Intel HW-accelerated machine-learning? " prompt
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_info "Installing OpenVINO dependencies" msg_info "Installing OpenVINO dependencies"
touch ~/.openvino touch ~/.openvino
@@ -112,6 +109,9 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_ok "Installed OpenVINO dependencies" msg_ok "Installed OpenVINO dependencies"
fi fi
NODE_VERSION="22" setup_nodejs
PG_VERSION="16" setup_postgresql
msg_info "Setting up Postgresql Database" msg_info "Setting up Postgresql Database"
$STD apt-get install postgresql-16-pgvector $STD apt-get install postgresql-16-pgvector
curl -fsSL https://github.com/tensorchord/VectorChord/releases/download/0.3.0/postgresql-16-vchord_0.3.0-1_amd64.deb -o vchord.deb curl -fsSL https://github.com/tensorchord/VectorChord/releases/download/0.3.0/postgresql-16-vchord_0.3.0-1_amd64.deb -o vchord.deb

View File

@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
$STD apt-get install -y ca-certificates $STD apt-get install -y ca-certificates
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" install_node_and_modules NODE_VERSION="22" setup_nodejs
msg_info "Installing ioBroker (Patience)" msg_info "Installing ioBroker (Patience)"
$STD bash <(curl -fsSL https://iobroker.net/install.sh) $STD bash <(curl -fsSL https://iobroker.net/install.sh)

View File

@@ -19,14 +19,12 @@ $STD apt-get install -y \
build-essential build-essential
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
git clone -q https://github.com/Fallenbagel/jellyseerr.git /opt/jellyseerr git clone -q https://github.com/Fallenbagel/jellyseerr.git /opt/jellyseerr
cd /opt/jellyseerr cd /opt/jellyseerr
$STD git checkout main $STD git checkout main
pnpm_desired=$(grep -Po '"pnpm":\s*"\K[^"]+' /opt/jellyseerr/package.json) pnpm_desired=$(grep -Po '"pnpm":\s*"\K[^"]+' /opt/jellyseerr/package.json)
NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" install_node_and_modules NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" setup_nodejs
msg_info "Installing Jellyseerr (Patience)" msg_info "Installing Jellyseerr (Patience)"
export CYPRESS_INSTALL_BINARY=0 export CYPRESS_INSTALL_BINARY=0

View File

@@ -48,7 +48,7 @@ sed -i \
/etc/meilisearch.toml /etc/meilisearch.toml
msg_ok "Installed Meilisearch" msg_ok "Installed Meilisearch"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
$STD npm install -g corepack@0.31.0 $STD npm install -g corepack@0.31.0
msg_info "Installing karakeep" msg_info "Installing karakeep"

View File

@@ -16,17 +16,25 @@ update_os
msg_info "Installing Kasm Workspaces" msg_info "Installing Kasm Workspaces"
KASM_VERSION=$(curl -fsSL 'https://www.kasmweb.com/downloads' | grep -o 'https://kasm-static-content.s3.amazonaws.com/kasm_release_[^"]*\.tar\.gz' | head -n 1 | sed -E 's/.*release_(.*)\.tar\.gz/\1/') KASM_VERSION=$(curl -fsSL 'https://www.kasmweb.com/downloads' | grep -o 'https://kasm-static-content.s3.amazonaws.com/kasm_release_[^"]*\.tar\.gz' | head -n 1 | sed -E 's/.*release_(.*)\.tar\.gz/\1/')
curl -fsSL -o "/opt/kasm_release_${KASM_VERSION}.tar.gz" "https://kasm-static-content.s3.amazonaws.com/kasm_release_${KASM_VERSION}.tar.gz" curl -fsSL -o "/opt/kasm_release_${KASM_VERSION}.tar.gz" "https://kasm-static-content.s3.amazonaws.com/kasm_release_${KASM_VERSION}.tar.gz"
tar -xf "/opt/kasm_release_${KASM_VERSION}.tar.gz" -C /opt
printf 'y\ny\ny\n4\n' | bash /opt/kasm_release/install.sh cd /opt
touch ~/kasm-install.output tar -xf "kasm_release_${KASM_VERSION}.tar.gz"
sed -n '/Kasm UI Login Credentials/,$p' ~/kasm-install.output >~/kasm.creds chmod +x /opt/kasm_release/install.sh
printf 'y\ny\ny\n4\n' | bash /opt/kasm_release/install.sh > ~/kasm-install.output 2>&1
cat ~/kasm-install.output | grep -A 20 -i "credentials\|login\|password\|admin" | sed '1i Kasm-Workspaces-Credentials' >~/kasm.creds
msg_ok "Installed Kasm Workspaces" msg_ok "Installed Kasm Workspaces"
motd_ssh motd_ssh
customize customize
msg_info "Displaying Kasm Credentials"
cat ~/kasm.creds
msg_ok "Kasm Credentials displayed"
msg_info "Cleaning up" msg_info "Cleaning up"
$STD rm -f "/opt/kasm_release_${KASM_VERSION}.tar.gz" rm -f /opt/kasm_release_${KASM_VERSION}.tar.gz
rm -f ~/kasm-install.output
$STD apt-get -y autoremove $STD apt-get -y autoremove
$STD apt-get -y autoclean $STD apt-get -y autoclean
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@@ -23,7 +23,7 @@ $STD apt-get install -y \
lsb-release lsb-release
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mysql setup_mysql
msg_info "Adding PHP8.4 Repository" msg_info "Adding PHP8.4 Repository"
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb

View File

@@ -19,8 +19,8 @@ $STD apt-get install -y \
lsb-release lsb-release
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
PG_VERSION="16" install_postgresql PG_VERSION="16" setup_postgresql
msg_info "Setup PHP8.4 Repository" msg_info "Setup PHP8.4 Repository"
$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb

View File

@@ -0,0 +1,81 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/LibreTranslate/LibreTranslate
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing dependencies"
$STD apt-get install -y --no-install-recommends \
pkg-config \
gcc \
g++ \
libicu-dev
msg_ok "Installed dependencies"
msg_info "Setup Python3"
$STD apt-get install -y \
python3-pip \
python3-dev \
python3-icu
msg_ok "Setup Python3"
setup_uv
fetch_and_deploy_gh_release "libretranslate" "LibreTranslate/LibreTranslate"
msg_info "Setup LibreTranslate (Patience)"
cd /opt/libretranslate
$STD uv venv .venv
$STD source .venv/bin/activate
$STD uv pip install --upgrade pip setuptools
$STD uv pip install Babel==2.12.1
$STD .venv/bin/python scripts/compile_locales.py
$STD uv pip install torch==2.2.0 --extra-index-url https://download.pytorch.org/whl/cpu
$STD uv pip install "numpy<2"
$STD uv pip install .
$STD uv pip install libretranslate
$STD .venv/bin/python scripts/install_models.py
cat <<EOF >/opt/libretranslate/.env
LT_PORT=5000
EOF
msg_ok "Installed LibreTranslate"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/libretranslate.service
[Unit]
Description=LibreTranslate
After=network.target
[Service]
User=root
Type=idle
Restart=always
Environment="PATH=/usr/local/lib/python3.11/dist-packages/libretranslate"
EnvironmentFile=/opt/libretranslate/.env
ExecStart=/opt/libretranslate/.venv/bin/python3 /opt/libretranslate/.venv/bin/libretranslate --host * --update-models
ExecReload=/bin/kill -s HUP
KillMode=mixed
TimeoutStopSec=1
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now libretranslate
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -19,9 +19,9 @@ $STD apt-get install -y \
build-essential build-essential
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
PG_VERSION="16" install_postgresql PG_VERSION="16" setup_postgresql
RUST_CRATES="monolith" install_rust_and_crates RUST_CRATES="monolith" setup_rust
msg_info "Setting up PostgreSQL DB" msg_info "Setting up PostgreSQL DB"
DB_NAME=linkwardendb DB_NAME=linkwardendb
@@ -48,7 +48,7 @@ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
fi fi
msg_info "Installing Linkwarden (Patience)" msg_info "Installing Linkwarden (Patience)"
fetch_and_deploy_gh_release "linkwarden/linkwarden" fetch_and_deploy_gh_release "linkwarden" "linkwarden/linkwarden"
cd /opt/linkwarden cd /opt/linkwarden
$STD yarn $STD yarn
$STD npx playwright install-deps $STD npx playwright install-deps

View File

@@ -20,7 +20,7 @@ $STD apt-get install -y gcc
$STD apt-get install -y ca-certificates $STD apt-get install -y ca-certificates
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Installing Mafl v${RELEASE}" msg_info "Installing Mafl v${RELEASE}"

View File

@@ -13,7 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
NODE_VERSION="22" install_node_and_modules NODE_VERSION="22" setup_nodejs
msg_info "Setup MagicMirror" msg_info "Setup MagicMirror"
temp_file=$(mktemp) temp_file=$(mktemp)

View File

@@ -0,0 +1,84 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: vhsdream
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/intri-in/manage-my-damn-life-nextjs
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
NODE_VERSION="20" setup_nodejs
MYSQL_VERSION="8.0" setup_mysql
msg_info "Setting up Database"
DB_NAME="mmdl"
DB_USER="mmdl"
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
$STD mysql -u root -e "CREATE DATABASE $DB_NAME;"
$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED by '$DB_PASS';"
$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
{
echo "Manage My Damn Life Credentials"
echo "Database User: $DB_USER"
echo "Database Password: $DB_PASS"
echo "Database Name: $DB_NAME"
} >>~/mmdl.creds
msg_ok "Set up Database"
msg_info "Installing ${APPLICATION}"
RELEASE=$(curl -fsSL https://api.github.com/repos/intri-in/manage-my-damn-life-nextjs/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSLO "https://github.com/intri-in/manage-my-damn-life-nextjs/archive/refs/tags/v${RELEASE}.zip"
unzip -q v"$RELEASE".zip
mv manage-my-damn-life-nextjs-"$RELEASE"/ /opt/mmdl
cp /opt/mmdl/sample.env.local /opt/mmdl/.env
sed -i -e 's|db|localhost|' \
-e "s|myuser|${DB_USER}|" \
-e "s|mypassword|${DB_PASS}|" \
-e 's|5433|3306|' \
-e 's|DB_DIALECT=postgres|DB_DIALECT=mysql|' \
-e "s|sample_install_mmdm|${DB_NAME}|" \
-e "s|=PASSWORD|=$(openssl rand -base64 40 | tr -dc 'a-zA-Z0-9' | head -c40)|" \
/opt/mmdl/.env
cd /opt/mmdl
export NEXT_TELEMETRY_DISABLE=1
export CI="true"
$STD npm install
$STD npm run migrate
$STD npm run build
echo "${RELEASE}" >/opt/mmdl_version.txt
msg_ok "Installed ${APPLICATION}"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/mmdl.service
[Unit]
Description=${APPLICATION} Service
After=network.target mysql.service
[Service]
WorkingDirectory=/opt/mmdl
EnvironmentFile=/opt/mmdl/.env
ExecStart=/usr/bin/npm run start
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now mmdl
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
rm -f ~/v${RELEASE}.zip
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -13,7 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
install_mariadb setup_mariadb
msg_info "Setup MariaDB" msg_info "Setup MariaDB"
sed -i 's/^# *\(port *=.*\)/\1/' /etc/mysql/my.cnf sed -i 's/^# *\(port *=.*\)/\1/' /etc/mysql/my.cnf

View File

@@ -17,7 +17,7 @@ msg_info "Install Matterbridge"
mkdir -p /root/Matterbridge mkdir -p /root/Matterbridge
NODE_VERSION="22" NODE_VERSION="22"
NODE_MODULE="matterbridge" NODE_MODULE="matterbridge"
install_node_and_modules setup_nodejs
msg_ok "Installed Matterbridge" msg_ok "Installed Matterbridge"
msg_info "Creating Service" msg_info "Creating Service"

View File

@@ -13,7 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
PG_VERSION="16" install_postgresql PG_VERSION="16" setup_postgresql
msg_info "Setting up PostgreSQL" msg_info "Setting up PostgreSQL"
DB_NAME=mattermost DB_NAME=mattermost

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