Compare commits

...

86 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
7db94ad73a
Update date in json (#4769)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-27 16:21:42 +01:00
community-scripts-pr-app[bot]
56c2682601
Update CHANGELOG.md (#4768)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 16:21:33 +01:00
push-app-to-main[bot]
11a7c2e410
'Add new script' (#4766)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-05-27 17:21:07 +02:00
community-scripts-pr-app[bot]
ed9d8e995d
Update CHANGELOG.md (#4765)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 15:31:53 +01:00
Saif
3b67e8dcc1
Alpine-Vaultwarden: Increase min disk requirements to 1GB (#4764)
* Increase var_disk size

0.5 > 1

* Update alpine-warden frontend hdd size

hdd: 0.5 > 1
2025-05-27 16:31:24 +02:00
community-scripts-pr-app[bot]
f09e57c200
Update CHANGELOG.md (#4763)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 15:10:23 +01:00
Théophile Diot
72c24d5147
Increase default RAM allocation for BunkerWeb to 8192MB in script and JSON configuration (#4762) 2025-05-27 16:09:55 +02:00
community-scripts-pr-app[bot]
93a179c201
Update CHANGELOG.md (#4761)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 14:32:47 +01:00
CanbiZ
ac2f0e66ae
merge MariaDB to tools.func Installer (#4753)
* merge MariaDB to tools.func Installer

* add more mariadb migrations
2025-05-27 15:32:22 +02:00
community-scripts-pr-app[bot]
5ccf8a7cd6
Update CHANGELOG.md (#4760)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 14:28:58 +01:00
community-scripts-pr-app[bot]
db82285b95
Update CHANGELOG.md (#4759)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 14:28:30 +01:00
CanbiZ
58586cbfc8
merge PostgreSQL to tools.func Installer (#4752)
* Update tools.func

* Merge PostgreSQL to tools.func Installer
2025-05-27 15:28:05 +02:00
community-scripts-pr-app[bot]
8708980786
Update CHANGELOG.md (#4754)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 13:30:17 +01:00
CanbiZ
943fa7b7aa
tools.func: little bugfixes | add rust install | add adminer install (#4750)
* tools.func: little bugfixes | add rust install | add adminer install

* Update tools.func

* fiix mongodb for ubuntu

* merge pg_modules function
2025-05-27 14:29:50 +02:00
community-scripts-pr-app[bot]
5085547f39
Update versions.json (#4751)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 14:07:26 +02:00
community-scripts-pr-app[bot]
5685e7e088
Update CHANGELOG.md (#4749)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 12:49:10 +01:00
CanbiZ
72db97b226
Big NodeJS Update: Use Helper Function on all Install-Scripts (#4744)
* Big NodeJS Update: Use Helper Function on all Install-Scripts

* add jq in node_function

* add more
2025-05-27 13:48:34 +02:00
community-scripts-pr-app[bot]
e6805db9f5
Update CHANGELOG.md (#4743)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 09:45:51 +01:00
CanbiZ
97073be5e2
lldap: fix update-check (#4742) 2025-05-27 10:45:16 +02:00
Tobias
82228189a7
Update pulse.json (#4740) 2025-05-27 10:06:35 +02:00
community-scripts-pr-app[bot]
53bdedfc08
Update CHANGELOG.md (#4739)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 08:06:20 +01:00
community-scripts-pr-app[bot]
92ff5a9881
Update date in json (#4738)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-27 08:04:41 +01:00
push-app-to-main[bot]
0bb4509cd7
Pulse (#4728)
* 'Add new script'

* Update pulse.sh

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-05-27 09:04:00 +02:00
community-scripts-pr-app[bot]
f339b7df10
Update CHANGELOG.md (#4735)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 01:15:09 +01:00
community-scripts-pr-app[bot]
a23a6a3da1
Update versions.json (#4734)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 02:14:29 +02:00
community-scripts-pr-app[bot]
3c12773956
Update CHANGELOG.md (#4727)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-26 13:08:04 +01:00
community-scripts-pr-app[bot]
d79ac98a31
Update versions.json (#4726)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-26 14:07:14 +02:00
CanbiZ
17654c2006
quickfix: tag for argus 2025-05-26 10:54:47 +02:00
community-scripts-pr-app[bot]
575443fac5
Update CHANGELOG.md (#4723)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-26 09:49:43 +01:00
community-scripts-pr-app[bot]
f38225d52f
Update date in json (#4722)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-26 10:48:51 +02:00
community-scripts-pr-app[bot]
cef451c42c
Update date in json (#4724)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-26 09:43:54 +01:00
community-scripts-pr-app[bot]
2a5856db03
Update CHANGELOG.md (#4721)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-26 09:43:27 +01:00
push-app-to-main[bot]
47abe248d0
'Add new script' (#4717)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-05-26 10:43:11 +02:00
push-app-to-main[bot]
98c64ffae9
'Add new script' (#4716)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-05-26 10:42:50 +02:00
CanbiZ
c136133b7c
Excalidraw: increase HDD to 10GB (#4718) 2025-05-26 10:42:40 +02:00
Slaviša Arežina
1e5395d21b
InspIRCd: Fix release name in release url (#4720)
* Update inspircd-install.sh

* Update
2025-05-26 10:29:44 +02:00
community-scripts-pr-app[bot]
dfb98698f3
Update CHANGELOG.md (#4715)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-26 06:31:05 +01:00
Chris
ff5b793e1e
BREAKING CHANGE: Fix PocketID for v1.0.0 (#4711) 2025-05-26 07:30:24 +02:00
community-scripts-pr-app[bot]
4044790e5e
Update CHANGELOG.md (#4713)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-26 01:15:51 +01:00
community-scripts-pr-app[bot]
e64b10bf99
Update versions.json (#4712)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-26 02:15:07 +02:00
community-scripts-pr-app[bot]
bf2b36f095
Update versions.json (#4707)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-25 14:06:48 +02:00
community-scripts-pr-app[bot]
15b606c019
Update CHANGELOG.md (#4706)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-25 12:15:35 +01:00
community-scripts-pr-app[bot]
16740ece38
Update CHANGELOG.md (#4705)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-25 12:15:17 +01:00
Bas van den Berg
d2d9a59e35
Back-up database if using sqlite (#4700) 2025-05-25 13:14:46 +02:00
community-scripts-pr-app[bot]
7d7664f12a
Update CHANGELOG.md (#4703)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-25 12:14:32 +01:00
Bas van den Berg
98c1136d8e
Fix typo (#4701) 2025-05-25 13:14:09 +02:00
Slaviša Arežina
2f1f0393b6
Update grafana.json (#4696) 2025-05-25 12:25:23 +02:00
community-scripts-pr-app[bot]
0cdde92556
Update CHANGELOG.md (#4698)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-25 01:16:38 +01:00
community-scripts-pr-app[bot]
85b638169d
Update versions.json (#4697)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-25 02:16:06 +02:00
community-scripts-pr-app[bot]
1c186b5087
Update versions.json (#4695)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-24 14:06:48 +02:00
Slaviša Arežina
21efb1a2ec
Update cloudflare-ddns-install.sh (#4694) 2025-05-24 13:44:43 +02:00
community-scripts-pr-app[bot]
9de702c301
Update CHANGELOG.md (#4691)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-24 01:14:44 +01:00
community-scripts-pr-app[bot]
a47d6efe41
Update versions.json (#4690)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-24 02:14:11 +02:00
community-scripts-pr-app[bot]
36253b0045
Update CHANGELOG.md (#4687)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-23 20:23:57 +01:00
Michel Roegl-Brunner
34e7c33e05
Remove rtsptoweb (deprecated) (#4686)
* Delete ct/rtsptoweb.sh

* Delete install/rtsptoweb-install.sh

* Delete ct/headers/rtsptoweb
2025-05-23 21:23:21 +02:00
Slaviša Arežina
e0a47f0aa3
Update zammad.json (#4682) 2025-05-23 15:06:28 +02:00
community-scripts-pr-app[bot]
bce10d447e
Update versions.json (#4683)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-23 14:07:25 +02:00
community-scripts-pr-app[bot]
0d9804fcfe
Update CHANGELOG.md (#4681)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-23 12:07:39 +01:00
CanbiZ
3b7c63183b
Update Icons to selfhst/icons (#4680)
FreePBX & Configarr
2025-05-23 13:07:10 +02:00
community-scripts-pr-app[bot]
2d323d94ec
Update CHANGELOG.md (#4675)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-23 06:43:43 +01:00
Stoufiler
ab0ed91c4f
TYPO: Fix nexcloud to nextcloud (#4670) 2025-05-23 07:43:15 +02:00
community-scripts-pr-app[bot]
31e99bc49b
Update CHANGELOG.md (#4672)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-23 01:15:17 +01:00
community-scripts-pr-app[bot]
5b27942981
Update versions.json (#4671)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-23 02:14:43 +02:00
Slaviša Arežina
161bafa818
Paperless-AI: Upscale the resources (#4668)
* Upscale the resources

* Update

* Update
2025-05-22 20:17:03 +02:00
community-scripts-pr-app[bot]
a5241ef1c5
Update CHANGELOG.md (#4666)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-22 18:35:37 +01:00
diemade
bf3f7dc3b1
Update commafeed.json (#4665) 2025-05-22 19:34:59 +02:00
community-scripts-pr-app[bot]
7264934136
Update .app files (#4658)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-22 15:37:52 +02:00
community-scripts-pr-app[bot]
a0745de096
Update CHANGELOG.md (#4661)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-22 14:30:45 +01:00
community-scripts-pr-app[bot]
4f4ec7d477
Update CHANGELOG.md (#4660)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-22 14:29:10 +01:00
community-scripts-pr-app[bot]
ba3de8d080
Update date in json (#4659)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-22 14:28:33 +01:00
community-scripts-pr-app[bot]
0f8932b125
Update CHANGELOG.md (#4657)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-22 14:27:23 +01:00
push-app-to-main[bot]
348354079b
'Add new script' (#4648)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-05-22 15:27:18 +02:00
push-app-to-main[bot]
48db08192a
cloudflare-ddns (#4647)
* 'Add new script'

* Update cloudflare-ddns.json

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-05-22 15:26:39 +02:00
community-scripts-pr-app[bot]
b6f410e895
Update CHANGELOG.md (#4656)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-22 13:34:12 +01:00
community-scripts-pr-app[bot]
1221fec5ab
Update CHANGELOG.md (#4655)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-22 13:33:57 +01:00
community-scripts-pr-app[bot]
faa805547c
Update CHANGELOG.md (#4654)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-22 13:33:38 +01:00
Chris
fe0ac37ff1
slskd: fix #4649 (#4651) 2025-05-22 14:33:20 +02:00
community-scripts-pr-app[bot]
eed391917c
Update CHANGELOG.md (#4653)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-22 13:33:05 +01:00
community-scripts-pr-app[bot]
76da24386d
Update CHANGELOG.md (#4652)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-22 13:32:47 +01:00
CanbiZ
8e7caf4cd9
enable FUSE and TUN Handling (#4644) 2025-05-22 14:32:27 +02:00
CanbiZ
7d3040ab76
[gh]: Feature: Header-Generation for vm | tools | addon (#4643) 2025-05-22 14:32:21 +02:00
community-scripts-pr-app[bot]
6a3bf770fb
Update versions.json (#4650)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-22 14:07:25 +02:00
CanbiZ
6805b01df2 Update alpine-node-red-install.sh 2025-05-22 11:17:26 +02:00
community-scripts-pr-app[bot]
7520917dcc
Update CHANGELOG.md (#4641)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-22 08:08:56 +01:00
Slaviša Arežina
ec186b0288
Paperless-AI: Add RAG chat (#4635)
* Add RAG

* Oops
2025-05-22 09:08:19 +02:00
CanbiZ
c7afd9c427
quickfix json babybuddy 2025-05-22 08:30:50 +02:00
143 changed files with 2172 additions and 1624 deletions

View File

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

View File

@ -14,8 +14,113 @@ 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-05-27
### 🆕 New Scripts
- Backrest ([#4766](https://github.com/community-scripts/ProxmoxVE/pull/4766))
- Pulse ([#4728](https://github.com/community-scripts/ProxmoxVE/pull/4728))
### 🚀 Updated Scripts
- Alpine-Vaultwarden: Increase min disk requirements to 1GB [@neyzm](https://github.com/neyzm) ([#4764](https://github.com/community-scripts/ProxmoxVE/pull/4764))
- #### 🐞 Bug Fixes
- lldap: fix update-check [@MickLesk](https://github.com/MickLesk) ([#4742](https://github.com/community-scripts/ProxmoxVE/pull/4742))
- #### ✨ New Features
- Big NodeJS Update: Use Helper Function on all Install-Scripts [@MickLesk](https://github.com/MickLesk) ([#4744](https://github.com/community-scripts/ProxmoxVE/pull/4744))
- #### 🔧 Refactor
- merge MariaDB to tools.func Installer [@MickLesk](https://github.com/MickLesk) ([#4753](https://github.com/community-scripts/ProxmoxVE/pull/4753))
- merge PostgreSQL to tools.func Installer [@MickLesk](https://github.com/MickLesk) ([#4752](https://github.com/community-scripts/ProxmoxVE/pull/4752))
### 🌐 Website
- #### 📝 Script Information
- Increase default RAM allocation for BunkerWeb to 8192MB [@TheophileDiot](https://github.com/TheophileDiot) ([#4762](https://github.com/community-scripts/ProxmoxVE/pull/4762))
## 2025-05-26
### 🆕 New Scripts
- Argus ([#4717](https://github.com/community-scripts/ProxmoxVE/pull/4717))
- Kasm ([#4716](https://github.com/community-scripts/ProxmoxVE/pull/4716))
### 🚀 Updated Scripts
- Excalidraw: increase HDD to 10GB [@MickLesk](https://github.com/MickLesk) ([#4718](https://github.com/community-scripts/ProxmoxVE/pull/4718))
- #### 🐞 Bug Fixes
- BREAKING CHANGE: Fix PocketID for v1.0.0 [@vhsdream](https://github.com/vhsdream) ([#4711](https://github.com/community-scripts/ProxmoxVE/pull/4711))
- InspIRCd: Fix release name in release url [@tremor021](https://github.com/tremor021) ([#4720](https://github.com/community-scripts/ProxmoxVE/pull/4720))
## 2025-05-25
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Pelican-panel: back-up database if using sqlite [@bvdberg01](https://github.com/bvdberg01) ([#4700](https://github.com/community-scripts/ProxmoxVE/pull/4700))
- #### 🔧 Refactor
- Pterodactyl panel read typo [@bvdberg01](https://github.com/bvdberg01) ([#4701](https://github.com/community-scripts/ProxmoxVE/pull/4701))
## 2025-05-24
## 2025-05-23
### 🚀 Updated Scripts
- #### 🔧 Refactor
- TYPO: Fix nexcloud to nextcloud (VM) [@Stoufiler](https://github.com/Stoufiler) ([#4670](https://github.com/community-scripts/ProxmoxVE/pull/4670))
### 🌐 Website
- #### 📝 Script Information
- Update Icons to selfhst/icons (FreePBX & Configarr) [@MickLesk](https://github.com/MickLesk) ([#4680](https://github.com/community-scripts/ProxmoxVE/pull/4680))
### 💥 Breaking Changes
- Remove rtsptoweb (deprecated) [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4686](https://github.com/community-scripts/ProxmoxVE/pull/4686))
## 2025-05-22 ## 2025-05-22
### 🆕 New Scripts
- FreePBX ([#4648](https://github.com/community-scripts/ProxmoxVE/pull/4648))
- cloudflare-ddns ([#4647](https://github.com/community-scripts/ProxmoxVE/pull/4647))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- slskd: fix #4649 [@vhsdream](https://github.com/vhsdream) ([#4651](https://github.com/community-scripts/ProxmoxVE/pull/4651))
- #### ✨ New Features
- Paperless-AI: Add RAG chat [@tremor021](https://github.com/tremor021) ([#4635](https://github.com/community-scripts/ProxmoxVE/pull/4635))
### 🧰 Maintenance
- #### 📂 Github
- [gh]: Feature: Header-Generation for vm | tools | addon [@MickLesk](https://github.com/MickLesk) ([#4643](https://github.com/community-scripts/ProxmoxVE/pull/4643))
### 🌐 Website
- #### 📝 Script Information
- Commafeed: move to Documents category [@diemade](https://github.com/diemade) ([#4665](https://github.com/community-scripts/ProxmoxVE/pull/4665))
## 2025-05-21 ## 2025-05-21
### 🆕 New Scripts ### 🆕 New Scripts

View File

@ -9,7 +9,7 @@ APP="Alpine-Vaultwarden"
var_tags="${var_tags:-alpine;vault}" var_tags="${var_tags:-alpine;vault}"
var_cpu="${var_cpu:-1}" var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-256}" var_ram="${var_ram:-256}"
var_disk="${var_disk:-0.5}" var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}" var_os="${var_os:-alpine}"
var_version="${var_version:-3.21}" var_version="${var_version:-3.21}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"

53
ct/argus.sh Normal file
View File

@ -0,0 +1,53 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://release-argus.io/
APP="Argus"
var_tags="${var_tags:-watcher}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-3}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/argus ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/release-argus/Argus/releases/latest | jq -r .tag_name | sed 's/^v//')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Updating $APP to ${RELEASE}"
rm -f /opt/argus/Argus
curl -fsSL "https://github.com/release-argus/Argus/releases/download/${RELEASE}/Argus-${RELEASE}.linux-amd64" -o /opt/argus/Argus
chmod +x /opt/argus/Argus
systemctl restart argus
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
else
msg_ok "${APP} is already up to date (${RELEASE})"
fi
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"

66
ct/backrest.sh Normal file
View File

@ -0,0 +1,66 @@
#!/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: ksad (enirys31)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://garethgeorge.github.io/backrest/
APP="Backrest"
var_tags="${var_tags:-backup}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/backrest ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/garethgeorge/backrest/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping ${APP}"
systemctl stop backrest
msg_ok "Stopped ${APP}"
msg_info "Updating ${APP} to ${RELEASE}"
temp_file=$(mktemp)
rm -f /opt/backrest/bin/backrest
curl -fsSL "https://github.com/garethgeorge/backrest/releases/download/v${RELEASE}/backrest_Linux_x86_64.tar.gz" -o "$temp_file"
tar xzf $temp_file -C /opt/backrest/bin
chmod +x /opt/backrest/bin/backrest
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Starting ${APP}"
systemctl start backrest
msg_ok "Started ${APP}"
msg_info "Cleaning up"
rm -f "$temp_file"
msg_ok "Cleaned up"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9898${CL}"

View File

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

37
ct/cloudflare-ddns.sh Normal file
View File

@ -0,0 +1,37 @@
#!/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: edoardop13
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/favonia/cloudflare-ddns
APP="Cloudflare-DDNS"
var_tags="${var_tags:-network}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-3}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/systemd/system/cloudflare-ddns.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "There is no update function for ${APP}."
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"

View File

@ -9,7 +9,7 @@ APP="Excalidraw"
TAGS="diagrams" TAGS="diagrams"
var_cpu="${var_cpu:-2}" var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-3072}" var_ram="${var_ram:-3072}"
var_disk="${var_disk:-6}" var_disk="${var_disk:-10}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
@ -20,46 +20,46 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /opt/excalidraw ]]; then if [[ ! -d /opt/excalidraw ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/excalidraw/excalidraw/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/excalidraw_version.txt)" ]] || [[ ! -f /opt/excalidraw_version.txt ]]; then
msg_info "Stopping $APP"
systemctl stop excalidraw
msg_ok "Stopped $APP"
msg_info "Updating $APP to v${RELEASE}"
cd /tmp
temp_file=$(mktemp)
curl -fsSL "https://github.com/excalidraw/excalidraw/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
tar xzf $temp_file
rm -rf /opt/excalidraw
mv excalidraw-${RELEASE} /opt/excalidraw
cd /opt/excalidraw
$STD yarn
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
systemctl start excalidraw
msg_ok "Started $APP"
msg_info "Cleaning Up"
rm -rf $temp_file
msg_ok "Cleanup Completed"
echo "${RELEASE}" >/opt/excalidraw_version.txt
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/excalidraw/excalidraw/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/excalidraw_version.txt)" ]] || [[ ! -f /opt/excalidraw_version.txt ]]; then
msg_info "Stopping $APP"
systemctl stop excalidraw
msg_ok "Stopped $APP"
msg_info "Updating $APP to v${RELEASE}"
cd /tmp
temp_file=$(mktemp)
curl -fsSL "https://github.com/excalidraw/excalidraw/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
tar xzf $temp_file
rm -rf /opt/excalidraw
mv excalidraw-${RELEASE} /opt/excalidraw
cd /opt/excalidraw
$STD yarn
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
systemctl start excalidraw
msg_ok "Started $APP"
msg_info "Cleaning Up"
rm -rf $temp_file
msg_ok "Cleanup Completed"
echo "${RELEASE}" >/opt/excalidraw_version.txt
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
} }
start start

View File

@ -1,15 +1,15 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2025 community-scripts ORG
# Author: tteck (tteckster) # Author: Arian Nasr (arian-nasr)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/deepch/RTSPtoWeb # Source: https://www.freepbx.org/
APP="RTSPtoWeb" APP="FreePBX"
var_tags="${var_tags:-media}" var_tags="pbx;voip;telephony"
var_cpu="${var_cpu:-2}" var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-10}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
@ -23,14 +23,12 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /var ]]; then
if [[ ! -f /lib/systemd/system/freepbx.service ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Updating $APP LXC" msg_error "Currently we don't provide an update function for this ${APP}."
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
exit exit
} }
@ -41,4 +39,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8083${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"

6
ct/headers/argus Normal file
View File

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

6
ct/headers/backrest Normal file
View File

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

View File

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

6
ct/headers/freepbx Normal file
View File

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

6
ct/headers/kasm Normal file
View File

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

6
ct/headers/pulse Normal file
View File

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

View File

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

View File

@ -35,8 +35,8 @@ function update_script() {
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Updating ${APP} to v${RELEASE}"
cd /opt cd /opt
curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb" -o $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb") curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb" -o $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb")
$STD apt-get install "./inspircd_${RELEASE}.deb12u1_amd64.deb" -y $STD apt-get install "./inspircd_${RELEASE}.deb12u2_amd64.deb" -y
echo "${RELEASE}" >"/opt/${APP}_version.txt" echo "${RELEASE}" >"/opt/${APP}_version.txt"
msg_ok "Updated ${APP} to v${RELEASE}" msg_ok "Updated ${APP} to v${RELEASE}"
@ -45,7 +45,7 @@ function update_script() {
msg_ok "Started Service" msg_ok "Started Service"
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf /opt/inspircd_${RELEASE}.deb12u1_amd64.deb rm -rf /opt/inspircd_${RELEASE}.deb12u2_amd64.deb
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else

46
ct/kasm.sh Normal file
View File

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

View File

@ -23,7 +23,7 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -f /etc/systemd/system/lldap.service ]]; then if [[ ! -f /lib/systemd/system/lldap.service ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi

View File

@ -9,7 +9,7 @@ APP="Paperless-AI"
var_tags="${var_tags:-ai;document}" var_tags="${var_tags:-ai;document}"
var_cpu="${var_cpu:-2}" var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-5}" var_disk="${var_disk:-12}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
@ -27,6 +27,9 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if ! dpkg -s python3-pip >/dev/null 2>&1; then
$STD apt-get install -y python3-pip
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/clusterzx/paperless-ai/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/clusterzx/paperless-ai/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
msg_info "Stopping $APP" msg_info "Stopping $APP"
@ -42,6 +45,25 @@ function update_script() {
mkdir -p /opt/paperless-ai/data mkdir -p /opt/paperless-ai/data
cp -a /opt/paperless-ai_bak/data/. /opt/paperless-ai/data/ cp -a /opt/paperless-ai_bak/data/. /opt/paperless-ai/data/
cd /opt/paperless-ai cd /opt/paperless-ai
if [[ ! -f /etc/systemd/system/paperless-rag.service ]]; then
cat <<EOF >/etc/systemd/system/paperless-rag.service
[Unit]
Description=PaperlessAI-RAG Service
After=network.target
[Service]
WorkingDirectory=/opt/paperless-ai
ExecStart=/usr/bin/python3 main.py --host 0.0.0.0 --port 8000 --initialize
Restart=always
[Install]
WantedBy=multi-user.target
EOF
echo "RAG_SERVICE_URL=http://localhost:8000" >>/opt/paperless-ai/data/.env
echo "RAG_SERVICE_ENABLED=true" >>/opt/paperless-ai/data/.env
fi
$STD pip install --no-cache-dir -r requirements.txt
mkdir -p data/chromadb
$STD npm install $STD npm install
echo "${RELEASE}" >/opt/${APP}_version.txt echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP to v${RELEASE}" msg_ok "Updated $APP to v${RELEASE}"

View File

@ -40,7 +40,6 @@ function update_script() {
php8.4 \ php8.4 \
php8.4-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm} \ php8.4-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm} \
libapache2-mod-php8.4 libapache2-mod-php8.4
msg_ok "Migrated PHP $CURRENT_PHP to 8.4" msg_ok "Migrated PHP $CURRENT_PHP to 8.4"
fi fi
@ -53,10 +52,13 @@ function update_script() {
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Updating ${APP} to v${RELEASE}"
cp -r /opt/pelican-panel/.env /opt/ cp -r /opt/pelican-panel/.env /opt/
SQLITE_INSTALL=$(ls /opt/pelican-panel/database/*.sqlite 1> /dev/null 2>&1 && echo "true" || echo "false")
$SQLITE_INSTALL && cp -r /opt/pelican-panel/database/*.sqlite /opt/
rm -rf * .* rm -rf * .*
curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz") curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz")
tar -xzf "panel.tar.gz" tar -xzf "panel.tar.gz"
mv /opt/.env /opt/pelican-panel/ mv /opt/.env /opt/pelican-panel/
$SQLITE_INSTALL && mv /opt/*.sqlite /opt/pelican-panel/database/
$STD composer install --no-dev --optimize-autoloader --no-interaction $STD composer install --no-dev --optimize-autoloader --no-interaction
$STD php artisan p:environment:setup $STD php artisan p:environment:setup
$STD php artisan view:clear $STD php artisan view:clear

View File

@ -20,63 +20,62 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /opt/pocket-id ]]; then if [[ ! -d /opt/pocket-id ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/pocket-id/pocket-id/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Updating $APP"
msg_info "Stopping $APP"
systemctl stop pocketid-backend.service
systemctl stop pocketid-frontend.service
systemctl stop caddy.service
msg_ok "Stopped $APP"
msg_info "Updating $APP to v${RELEASE}"
cd /opt
cp -r /opt/pocket-id/backend/data /opt/data
cp /opt/pocket-id/backend/.env /opt/backend.env
cp /opt/pocket-id/frontend/.env /opt/frontend.env
rm -r /opt/pocket-id
curl -fsSL "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip")
unzip -q v${RELEASE}.zip
mv pocket-id-${RELEASE} /opt/pocket-id
mv /opt/data /opt/pocket-id/backend/data
mv /opt/backend.env /opt/pocket-id/backend/.env
mv /opt/frontend.env /opt/pocket-id/frontend/.env
cd /opt/pocket-id/backend/cmd
go build -o ../pocket-id-backend
cd ../../frontend
npm install
npm run build
msg_ok "Updated $APP to ${RELEASE}"
msg_info "Starting $APP"
systemctl start pocketid-backend.service
systemctl start pocketid-frontend.service
systemctl start caddy.service
sleep 2
msg_ok "Started $APP"
# Cleaning up
msg_info "Cleaning Up"
rm -f /opt/v${RELEASE}.zip
msg_ok "Cleanup Completed"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/pocket-id/pocket-id/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
if [[ "$(cat /opt/${APP}_version.txt)" < "1.0.0" ]]; then
msg_info "Migrating ${APP} to v${RELEASE}"
systemctl -q disable --now pocketid-backend pocketid-frontend caddy
mv /etc/caddy/Caddyfile ~/Caddyfile.bak
$STD apt remove --purge caddy nodejs -y
$STD apt autoremove -y
rm /etc/apt/{keyrings/nodesource.gpg,sources.list.d/nodesource.list}
rm -r /usr/local/go
cp -r /opt/pocket-id/backend/data /opt/data
cp /opt/pocket-id/backend/.env /opt/env
sed -i -e 's/PUBLIC_//g' \
-e '/^SQLITE_DB_PATH/d' \
-e '/^POSTGRES/s/^/# /' \
-e '/^UPLOAD_PATH/d' \
-e 's/8080/1411/' /opt/env
rm -r /opt/pocket-id
rm /etc/systemd/system/pocketid-frontend.service
BACKEND="/etc/systemd/system/pocketid-backend.service"
sed -i -e 's/Backend/Service/' \
-e 's/\/backend\|-backend//g' "$BACKEND"
mv "$BACKEND" ${BACKEND//-backend/}
systemctl daemon-reload
systemctl -q enable pocketid
mkdir /opt/pocket-id
mv /opt/data /opt/pocket-id
msg_ok "Migration complete. The reverse proxy port has been changed to 1411."
else
msg_info "Updating $APP to v${RELEASE}"
systemctl stop pocketid
cp /opt/pocket-id/.env /opt/env
fi
curl -fsSL "https://github.com/pocket-id/pocket-id/releases/download/v${RELEASE}/pocket-id-linux-amd64" -o /opt/pocket-id/pocket-id
chmod u+x /opt/pocket-id/pocket-id
mv /opt/env /opt/pocket-id/.env
msg_info "Starting $APP"
systemctl start pocketid
msg_ok "Started $APP"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
} }
start start
@ -85,6 +84,6 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Configure your reverse proxy to point to:${BGN} ${IP}:80${CL}" echo -e "${INFO}${YW} Configure your reverse proxy to point to:${BGN} ${IP}:1411${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}https://{PUBLIC_URL}/login/setup${CL}" echo -e "${TAB}${GATEWAY}${BGN}https://{PUBLIC_URL}/login/setup${CL}"

79
ct/pulse.sh Normal file
View File

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

View File

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

View File

@ -12,7 +12,7 @@
"documentation": "https://docs.baby-buddy.net/", "documentation": "https://docs.baby-buddy.net/",
"website": "https://github.com/babybuddy/babybuddy", "website": "https://github.com/babybuddy/babybuddy",
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/baby-buddy.svg", "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/baby-buddy.svg",
"config_path": "/opt/babybuddy/babybuddy/production.py", "config_path": "/opt/babybuddy/babybuddy/settings/production.py",
"description": "Baby Buddy is an open-source web application designed to assist caregivers in tracking various aspects of a baby's daily routine, including sleep, feedings, diaper changes, tummy time, and more. By recording this data, caregivers can better understand and anticipate their baby's needs, reducing guesswork in daily care. The application offers a user-friendly dashboard for data entry and visualization, supports multiple users, and provides features like timers and reminders. Additionally, Baby Buddy can be integrated with platforms like Home Assistant and Grafana for enhanced functionality.", "description": "Baby Buddy is an open-source web application designed to assist caregivers in tracking various aspects of a baby's daily routine, including sleep, feedings, diaper changes, tummy time, and more. By recording this data, caregivers can better understand and anticipate their baby's needs, reducing guesswork in daily care. The application offers a user-friendly dashboard for data entry and visualization, supports multiple users, and provides features like timers and reminders. Additionally, Baby Buddy can be integrated with platforms like Home Assistant and Grafana for enhanced functionality.",
"install_methods": [ "install_methods": [
{ {

View File

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

View File

@ -20,7 +20,7 @@
"script": "ct/bunkerweb.sh", "script": "ct/bunkerweb.sh",
"resources": { "resources": {
"cpu": 2, "cpu": 2,
"ram": 4096, "ram": 8192,
"hdd": 4, "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"

View File

@ -0,0 +1,44 @@
{
"name": "Cloudflare-DDNS",
"slug": "cloudflare-ddns",
"categories": [
4
],
"date_created": "2025-05-22",
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": null,
"documentation": "https://github.com/favonia/cloudflare-ddns/blob/main/README.markdown",
"config_path": "/etc/systemd/system/cloudflare-ddns.service",
"website": "https://github.com/favonia/cloudflare-ddns",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/cloudflare.webp",
"description": "A feature-rich and robust Cloudflare DDNS updater with a small footprint. The program will detect your machines public IP addresses and update DNS records using the Cloudflare API",
"install_methods": [
{
"type": "default",
"script": "ct/cloudflare-ddns.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 2,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "To setup the updater you must have the Cloudflare Token and the domains, please read the Github documentation at `https://github.com/favonia/cloudflare-ddns?tab=readme-ov-file#-step-1-updating-the-compose-file` (only the expandable section)",
"type": "warning"
},
{
"text": "To update the configuration edit `/etc/systemd/system/cloudflare-ddns.service`. After edit please restard with `systemctl restart cloudflare-ddns`",
"type": "info"
}
]
}

View File

@ -2,7 +2,7 @@
"name": "CommaFeed", "name": "CommaFeed",
"slug": "commafeed", "slug": "commafeed",
"categories": [ "categories": [
19 12
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",

View File

@ -12,7 +12,7 @@
"documentation": "https://configarr.raydak.de/docs/intro", "documentation": "https://configarr.raydak.de/docs/intro",
"config_path": "/opt/configarr/config.yml", "config_path": "/opt/configarr/config.yml",
"website": "https://configarr.raydak.de/", "website": "https://configarr.raydak.de/",
"logo": "https://github.com/raydak-labs/configarr/blob/main/docs/static/img/logo.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/configarr.webp",
"description": "Configarr is an open-source tool designed to simplify configuration and synchronization for Sonarr and Radarr (and other experimental). It integrates with TRaSH Guides to automate updates of custom formats, quality profiles, and other settings, while also supporting user-defined configurations.", "description": "Configarr is an open-source tool designed to simplify configuration and synchronization for Sonarr and Radarr (and other experimental). It integrates with TRaSH Guides to automate updates of custom formats, quality profiles, and other settings, while also supporting user-defined configurations.",
"install_methods": [ "install_methods": [
{ {

View File

@ -21,7 +21,7 @@
"resources": { "resources": {
"cpu": 2, "cpu": 2,
"ram": 3072, "ram": 3072,
"hdd": 6, "hdd": 10,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -0,0 +1,40 @@
{
"name": "FreePBX",
"slug": "freepbx",
"categories": [
0
],
"date_created": "2025-05-22",
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": 80,
"documentation": "https://sangomakb.atlassian.net/wiki/spaces/FP/overview?homepageId=8454359",
"website": "https://www.freepbx.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/freepbx.webp",
"config_path": "",
"description": "FreePBX is a web-based open-source graphical user interface that manages Asterisk, a voice over IP and telephony server.",
"install_methods": [
{
"type": "default",
"script": "ct/freepbx.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 10,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "This script uses the official FreePBX install script. Check it here: https://github.com/FreePBX/sng_freepbx_debian_install",
"type": "info"
}
]
}

View File

@ -12,7 +12,7 @@
"documentation": "https://grafana.com/docs/grafana/latest/", "documentation": "https://grafana.com/docs/grafana/latest/",
"website": "https://grafana.com/", "website": "https://grafana.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/grafana.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/grafana.webp",
"config_path": "/etc/grafana", "config_path": "Debian: /etc/grafana/grafana.ini | Alpine: /etc/grafana.ini",
"description": "Grafana is a data visualization and monitoring platform that enables users to query, visualize, alert on and understand metrics, logs, and other data sources. It integrates with various data sources, including Prometheus, InfluxDB, Elasticsearch, and many others, to present a unified view of the data and enable users to create insightful and interactive dashboards.", "description": "Grafana is a data visualization and monitoring platform that enables users to query, visualize, alert on and understand metrics, logs, and other data sources. It integrates with various data sources, including Prometheus, InfluxDB, Elasticsearch, and many others, to present a unified view of the data and enable users to create insightful and interactive dashboards.",
"install_methods": [ "install_methods": [
{ {

View File

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

View File

@ -21,7 +21,7 @@
"resources": { "resources": {
"cpu": 2, "cpu": 2,
"ram": 2048, "ram": 2048,
"hdd": 5, "hdd": 12,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,11 +8,11 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": 80, "interface_port": 1411,
"documentation": "https://pocket-id.org/docs/", "documentation": "https://pocket-id.org/docs/",
"website": "https://github.com/pocket-id/pocket-id", "website": "https://github.com/pocket-id/pocket-id",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/pocket-id.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/pocket-id.webp",
"config_path": "/opt/pocket-id/backend/.env and /opt/pocket-id/frontend/.env", "config_path": "/opt/pocket-id/.env",
"description": "Pocket ID is a simple OIDC provider that allows users to authenticate with their passkeys to your services.", "description": "Pocket ID is a simple OIDC provider that allows users to authenticate with their passkeys to your services.",
"install_methods": [ "install_methods": [
{ {
@ -35,10 +35,6 @@
{ {
"text": "Pocket ID requires https to work.", "text": "Pocket ID requires https to work.",
"type": "warning" "type": "warning"
},
{
"text": "Configuration Path: `/opt/pocket-id/backend/.env`, `/opt/pocket-id/frontend/.env`.",
"type": "info"
} }
] ]
} }

View File

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

View File

@ -32,7 +32,7 @@
"resources": { "resources": {
"cpu": 1, "cpu": 1,
"ram": 256, "ram": 256,
"hdd": 0.5, "hdd": 1,
"os": "alpine", "os": "alpine",
"version": "3.21" "version": "3.21"
} }

View File

@ -1,29 +1,284 @@
[ [
{
"name": "mattermost/mattermost",
"version": "v10.5.7",
"date": "2025-05-27T05:34:42Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.94.1",
"date": "2025-05-27T10:36:43Z"
},
{
"name": "traefik/traefik",
"version": "v2.11.25",
"date": "2025-05-27T10:25:28Z"
},
{
"name": "readeck/readeck",
"version": "0.19.0",
"date": "2025-05-27T09:15:55Z"
},
{
"name": "esphome/esphome",
"version": "2025.5.1",
"date": "2025-05-27T09:01:29Z"
},
{
"name": "zitadel/zitadel",
"version": "v2.65.10",
"date": "2025-05-27T08:47:06Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.1956",
"date": "2025-05-27T05:55:21Z"
},
{
"name": "semaphoreui/semaphore",
"version": "v2.14.12",
"date": "2025-05-27T03:58:59Z"
},
{
"name": "open-webui/open-webui",
"version": "v0.6.11",
"date": "2025-05-26T22:27:26Z"
},
{
"name": "Radarr/Radarr",
"version": "v5.25.0.10024",
"date": "2025-05-26T21:58:37Z"
},
{
"name": "dani-garcia/vaultwarden",
"version": "1.34.1",
"date": "2025-05-26T21:40:54Z"
},
{
"name": "home-assistant/core",
"version": "2025.5.3",
"date": "2025-05-23T15:10:33Z"
},
{
"name": "keycloak/keycloak",
"version": "26.0.12",
"date": "2025-05-15T14:06:52Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.49.18",
"date": "2025-05-26T18:36:33Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.2.15",
"date": "2025-05-25T05:11:31Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.8.11.0",
"date": "2025-03-10T06:39:11Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w22-4.13.0",
"date": "2025-05-26T15:04:48Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.0",
"date": "2025-05-12T09:12:04Z"
},
{
"name": "jupyter/notebook",
"version": "v7.4.3",
"date": "2025-05-26T14:27:27Z"
},
{
"name": "Checkmk/checkmk",
"version": "v2.3.0p33",
"date": "2025-05-26T13:57:51Z"
},
{
"name": "syncthing/syncthing",
"version": "v1.29.6",
"date": "2025-05-06T07:57:02Z"
},
{
"name": "VictoriaMetrics/VictoriaMetrics",
"version": "pmm-6401-v1.118.0",
"date": "2025-05-26T13:09:32Z"
},
{
"name": "Graylog2/graylog2-server",
"version": "6.3.0-beta.3",
"date": "2025-05-26T12:40:56Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.61",
"date": "2025-04-22T12:42:26Z"
},
{
"name": "OliveTin/OliveTin",
"version": "2025.5.26",
"date": "2025-05-26T11:30:11Z"
},
{
"name": "Luligu/matterbridge",
"version": "3.0.4",
"date": "2025-05-26T08:33:33Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.2",
"date": "2025-05-11T16:40:55Z"
},
{
"name": "stonith404/pingvin-share",
"version": "v1.13.0",
"date": "2025-05-25T20:21:13Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.21.0",
"date": "2025-05-25T16:41:43Z"
},
{
"name": "cross-seed/cross-seed",
"version": "v6.12.5",
"date": "2025-05-17T02:52:33Z"
},
{
"name": "Prowlarr/Prowlarr",
"version": "v1.36.3.5071",
"date": "2025-05-25T13:59:43Z"
},
{
"name": "Lidarr/Lidarr",
"version": "v2.11.2.4629",
"date": "2025-04-28T11:59:37Z"
},
{
"name": "runtipi/runtipi",
"version": "v4.1.1",
"date": "2025-05-16T17:37:30Z"
},
{
"name": "Kozea/Radicale",
"version": "v3.5.4",
"date": "2025-05-25T06:53:34Z"
},
{
"name": "authelia/authelia",
"version": "v4.39.4",
"date": "2025-05-25T02:27:28Z"
},
{
"name": "pocket-id/pocket-id",
"version": "v1.0.0",
"date": "2025-05-24T22:06:55Z"
},
{
"name": "minio/minio",
"version": "RELEASE.2025-05-24T17-08-30Z",
"date": "2025-05-24T21:42:19Z"
},
{
"name": "paperless-ngx/paperless-ngx",
"version": "v2.16.2",
"date": "2025-05-24T18:52:35Z"
},
{
"name": "ioBroker/ioBroker",
"version": "2025-05-24",
"date": "2025-05-24T13:56:54Z"
},
{
"name": "pocketbase/pocketbase",
"version": "v0.28.2",
"date": "2025-05-24T07:59:15Z"
},
{
"name": "traccar/traccar",
"version": "v6.7.1",
"date": "2025-05-24T04:51:02Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.21.0",
"date": "2025-05-23T19:17:15Z"
},
{
"name": "immich-app/immich",
"version": "v1.133.1",
"date": "2025-05-23T18:14:44Z"
},
{
"name": "Threadfin/Threadfin",
"version": "1.2.33",
"date": "2025-05-23T15:59:05Z"
},
{
"name": "docker/compose",
"version": "v2.36.2",
"date": "2025-05-23T14:21:20Z"
},
{
"name": "grokability/snipe-it",
"version": "v8.1.4",
"date": "2025-05-23T12:29:19Z"
},
{
"name": "ollama/ollama",
"version": "v0.7.1-rc2",
"date": "2025-05-23T01:53:31Z"
},
{
"name": "rogerfar/rdt-client",
"version": "v2.0.113",
"date": "2025-05-23T01:47:35Z"
},
{
"name": "grafana/grafana",
"version": "v11.2.10",
"date": "2025-05-22T23:50:45Z"
},
{
"name": "crowdsecurity/crowdsec",
"version": "v1.6.8",
"date": "2025-03-25T13:33:10Z"
},
{
"name": "MariaDB/server",
"version": "mariadb-11.4.7",
"date": "2025-05-22T14:22:22Z"
},
{
"name": "neo4j/neo4j",
"version": "4.4.44",
"date": "2025-05-22T13:58:43Z"
},
{
"name": "apache/cassandra",
"version": "4.0.18-tentative",
"date": "2025-05-22T11:46:18Z"
},
{
"name": "0xERR0R/blocky",
"version": "v0.26.2",
"date": "2025-05-22T05:24:42Z"
},
{ {
"name": "tobychui/zoraxy", "name": "tobychui/zoraxy",
"version": "v3.1.9", "version": "v3.1.9",
"date": "2025-03-01T02:24:33Z" "date": "2025-03-01T02:24:33Z"
}, },
{
"name": "ollama/ollama",
"version": "v0.7.0",
"date": "2025-05-14T23:42:30Z"
},
{
"name": "immich-app/immich",
"version": "v1.133.0",
"date": "2025-05-21T20:17:38Z"
},
{ {
"name": "apache/tika", "name": "apache/tika",
"version": "3.2.0-rc2", "version": "3.2.0-rc2",
"date": "2025-05-21T20:09:07Z" "date": "2025-05-21T20:09:07Z"
}, },
{
"name": "0xERR0R/blocky",
"version": "v0.26.2",
"date": "2025-05-21T19:52:07Z"
},
{ {
"name": "tailscale/tailscale", "name": "tailscale/tailscale",
"version": "v1.84.0", "version": "v1.84.0",
@ -44,26 +299,11 @@
"version": "v0.35.0", "version": "v0.35.0",
"date": "2025-05-21T18:00:32Z" "date": "2025-05-21T18:00:32Z"
}, },
{
"name": "msgbyte/tianji",
"version": "v1.20.10",
"date": "2025-05-21T17:22:32Z"
},
{
"name": "cross-seed/cross-seed",
"version": "v6.12.5",
"date": "2025-05-17T02:52:33Z"
},
{ {
"name": "cockpit-project/cockpit", "name": "cockpit-project/cockpit",
"version": "339", "version": "339",
"date": "2025-05-21T14:49:36Z" "date": "2025-05-21T14:49:36Z"
}, },
{
"name": "mattermost/mattermost",
"version": "v9.11.16",
"date": "2025-05-21T13:57:13Z"
},
{ {
"name": "theonedev/onedev", "name": "theonedev/onedev",
"version": "v11.9.9", "version": "v11.9.9",
@ -74,31 +314,6 @@
"version": "10.0.18", "version": "10.0.18",
"date": "2025-02-12T11:07:02Z" "date": "2025-02-12T11:07:02Z"
}, },
{
"name": "zitadel/zitadel",
"version": "v3.1.0",
"date": "2025-05-21T12:40:54Z"
},
{
"name": "esphome/esphome",
"version": "2025.5.0",
"date": "2025-05-21T08:32:53Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w21-4.13.0",
"date": "2025-05-21T08:15:52Z"
},
{
"name": "syncthing/syncthing",
"version": "v1.29.6",
"date": "2025-05-06T07:57:02Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.1933",
"date": "2025-05-21T05:53:49Z"
},
{ {
"name": "inventree/InvenTree", "name": "inventree/InvenTree",
"version": "0.17.12", "version": "0.17.12",
@ -119,16 +334,6 @@
"version": "3.1.0", "version": "3.1.0",
"date": "2025-05-20T19:20:03Z" "date": "2025-05-20T19:20:03Z"
}, },
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.8.11.0",
"date": "2025-03-10T06:39:11Z"
},
{
"name": "keycloak/keycloak",
"version": "26.0.12",
"date": "2025-05-15T14:06:52Z"
},
{ {
"name": "jenkinsci/jenkins", "name": "jenkinsci/jenkins",
"version": "jenkins-2.511", "version": "jenkins-2.511",
@ -154,11 +359,6 @@
"version": "7.2.7", "version": "7.2.7",
"date": "2025-05-20T11:00:56Z" "date": "2025-05-20T11:00:56Z"
}, },
{
"name": "Luligu/matterbridge",
"version": "3.0.3",
"date": "2025-05-20T06:51:42Z"
},
{ {
"name": "crafty-controller/crafty-4", "name": "crafty-controller/crafty-4",
"version": "v4.4.9", "version": "v4.4.9",
@ -169,16 +369,6 @@
"version": "v5.36.4", "version": "v5.36.4",
"date": "2025-05-19T22:28:11Z" "date": "2025-05-19T22:28:11Z"
}, },
{
"name": "apache/cassandra",
"version": "cassandra-4.1.9",
"date": "2025-05-19T21:37:07Z"
},
{
"name": "paperless-ngx/paperless-ngx",
"version": "v2.16.1",
"date": "2025-05-19T21:26:44Z"
},
{ {
"name": "glanceapp/glance", "name": "glanceapp/glance",
"version": "v0.8.3", "version": "v0.8.3",
@ -194,36 +384,6 @@
"version": "v1.9.6", "version": "v1.9.6",
"date": "2024-12-18T14:35:37Z" "date": "2024-12-18T14:35:37Z"
}, },
{
"name": "Checkmk/checkmk",
"version": "v2.4.0p2",
"date": "2025-05-19T17:06:15Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.2.12",
"date": "2025-04-20T19:22:17Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.91.3",
"date": "2025-05-08T12:25:10Z"
},
{
"name": "docker/compose",
"version": "v2.36.1",
"date": "2025-05-19T12:26:41Z"
},
{
"name": "Graylog2/graylog2-server",
"version": "6.3.0-beta.1",
"date": "2025-05-19T11:23:27Z"
},
{
"name": "open-webui/open-webui",
"version": "v0.6.10",
"date": "2025-05-19T01:34:37Z"
},
{ {
"name": "Part-DB/Part-DB-server", "name": "Part-DB/Part-DB-server",
"version": "v1.17.1", "version": "v1.17.1",
@ -234,11 +394,6 @@
"version": "v2.1.0", "version": "v2.1.0",
"date": "2025-05-18T18:20:43Z" "date": "2025-05-18T18:20:43Z"
}, },
{
"name": "rogerfar/rdt-client",
"version": "v2.0.112",
"date": "2025-05-18T17:44:52Z"
},
{ {
"name": "YunoHost/yunohost", "name": "YunoHost/yunohost",
"version": "debian/12.1.6.1", "version": "debian/12.1.6.1",
@ -249,26 +404,11 @@
"version": "2.34.0", "version": "2.34.0",
"date": "2025-05-18T13:22:17Z" "date": "2025-05-18T13:22:17Z"
}, },
{
"name": "runtipi/runtipi",
"version": "v4.1.1",
"date": "2025-05-16T17:37:30Z"
},
{ {
"name": "hansmi/prometheus-paperless-exporter", "name": "hansmi/prometheus-paperless-exporter",
"version": "v0.0.8", "version": "v0.0.8",
"date": "2025-05-18T11:37:31Z" "date": "2025-05-18T11:37:31Z"
}, },
{
"name": "Prowlarr/Prowlarr",
"version": "v1.35.1.5034",
"date": "2025-04-30T11:02:36Z"
},
{
"name": "Radarr/Radarr",
"version": "v5.23.3.9987",
"date": "2025-05-17T12:55:29Z"
},
{ {
"name": "bastienwirtz/homer", "name": "bastienwirtz/homer",
"version": "v25.05.2", "version": "v25.05.2",
@ -299,16 +439,6 @@
"version": "v2.23.0", "version": "v2.23.0",
"date": "2025-05-16T22:13:53Z" "date": "2025-05-16T22:13:53Z"
}, },
{
"name": "home-assistant/core",
"version": "2025.5.2",
"date": "2025-05-16T21:09:45Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.20.0",
"date": "2025-05-16T19:18:10Z"
},
{ {
"name": "NodeBB/NodeBB", "name": "NodeBB/NodeBB",
"version": "v4.4.1", "version": "v4.4.1",
@ -349,11 +479,6 @@
"version": "2025.5.0", "version": "2025.5.0",
"date": "2025-05-15T17:09:50Z" "date": "2025-05-15T17:09:50Z"
}, },
{
"name": "VictoriaMetrics/VictoriaMetrics",
"version": "pmm-6401-v1.117.1",
"date": "2025-05-15T15:45:22Z"
},
{ {
"name": "ellite/Wallos", "name": "ellite/Wallos",
"version": "v3.1.1", "version": "v3.1.1",
@ -364,11 +489,6 @@
"version": "v10.5.1", "version": "v10.5.1",
"date": "2025-05-15T09:59:28Z" "date": "2025-05-15T09:59:28Z"
}, },
{
"name": "morpheus65535/bazarr",
"version": "v1.5.2",
"date": "2025-05-11T16:40:55Z"
},
{ {
"name": "FlowiseAI/Flowise", "name": "FlowiseAI/Flowise",
"version": "flowise@3.0.0", "version": "flowise@3.0.0",
@ -394,11 +514,6 @@
"version": "0.42.1", "version": "0.42.1",
"date": "2020-06-07T07:27:04Z" "date": "2020-06-07T07:27:04Z"
}, },
{
"name": "nzbgetcom/nzbget",
"version": "v25.0",
"date": "2025-05-12T09:12:04Z"
},
{ {
"name": "blakeblackshear/frigate", "name": "blakeblackshear/frigate",
"version": "v0.14.1", "version": "v0.14.1",
@ -414,11 +529,6 @@
"version": "v4.3.1", "version": "v4.3.1",
"date": "2025-05-13T19:45:00Z" "date": "2025-05-13T19:45:00Z"
}, },
{
"name": "pocketbase/pocketbase",
"version": "v0.28.1",
"date": "2025-05-13T18:45:47Z"
},
{ {
"name": "OctoPrint/OctoPrint", "name": "OctoPrint/OctoPrint",
"version": "1.11.1", "version": "1.11.1",
@ -444,21 +554,11 @@
"version": "v2.1.0.118-2.1.0.118_canary_2025-05-12", "version": "v2.1.0.118-2.1.0.118_canary_2025-05-12",
"date": "2025-05-12T18:50:44Z" "date": "2025-05-12T18:50:44Z"
}, },
{
"name": "neo4j/neo4j",
"version": "4.4.43",
"date": "2025-05-12T15:33:17Z"
},
{ {
"name": "usememos/memos", "name": "usememos/memos",
"version": "v0.24.3", "version": "v0.24.3",
"date": "2025-05-12T15:23:21Z" "date": "2025-05-12T15:23:21Z"
}, },
{
"name": "dgtlmoon/changedetection.io",
"version": "0.49.17",
"date": "2025-05-12T08:48:30Z"
},
{ {
"name": "stackblitz-labs/bolt.diy", "name": "stackblitz-labs/bolt.diy",
"version": "1.0.0", "version": "1.0.0",
@ -474,16 +574,6 @@
"version": "v0.84.0", "version": "v0.84.0",
"date": "2025-05-11T15:50:48Z" "date": "2025-05-11T15:50:48Z"
}, },
{
"name": "Kozea/Radicale",
"version": "v3.5.3",
"date": "2025-05-11T15:17:13Z"
},
{
"name": "authelia/authelia",
"version": "v4.39.3",
"date": "2025-05-11T11:12:15Z"
},
{ {
"name": "owncast/owncast", "name": "owncast/owncast",
"version": "v0.2.3", "version": "v0.2.3",
@ -499,46 +589,16 @@
"version": "v1.0.0-beta21", "version": "v1.0.0-beta21",
"date": "2025-05-09T23:14:23Z" "date": "2025-05-09T23:14:23Z"
}, },
{
"name": "crowdsecurity/crowdsec",
"version": "v1.6.8",
"date": "2025-03-25T13:33:10Z"
},
{
"name": "pocket-id/pocket-id",
"version": "v0.53.0",
"date": "2025-05-08T19:56:55Z"
},
{ {
"name": "apache/tomcat", "name": "apache/tomcat",
"version": "10.1.41", "version": "10.1.41",
"date": "2025-05-08T12:45:44Z" "date": "2025-05-08T12:45:44Z"
}, },
{
"name": "semaphoreui/semaphore",
"version": "v2.14.10",
"date": "2025-05-07T20:23:29Z"
},
{
"name": "readeck/readeck",
"version": "0.18.2",
"date": "2025-05-07T19:22:22Z"
},
{
"name": "grafana/grafana",
"version": "v12.0.0+security-01",
"date": "2025-05-07T18:03:17Z"
},
{ {
"name": "donaldzou/WGDashboard", "name": "donaldzou/WGDashboard",
"version": "v4.2.3", "version": "v4.2.3",
"date": "2025-05-07T15:35:04Z" "date": "2025-05-07T15:35:04Z"
}, },
{
"name": "stonith404/pingvin-share",
"version": "v1.12.0",
"date": "2025-05-07T14:12:11Z"
},
{ {
"name": "Brandawg93/PeaNUT", "name": "Brandawg93/PeaNUT",
"version": "v5.7.5", "version": "v5.7.5",
@ -554,36 +614,16 @@
"version": "v0.14.7", "version": "v0.14.7",
"date": "2025-05-07T11:32:23Z" "date": "2025-05-07T11:32:23Z"
}, },
{
"name": "grokability/snipe-it",
"version": "v8.1.3",
"date": "2025-05-07T11:09:21Z"
},
{
"name": "jupyter/notebook",
"version": "@jupyter-notebook/ui-components@7.5.0-alpha.0",
"date": "2025-05-07T09:12:08Z"
},
{ {
"name": "sysadminsmedia/homebox", "name": "sysadminsmedia/homebox",
"version": "v0.19.0", "version": "v0.19.0",
"date": "2025-05-06T18:05:42Z" "date": "2025-05-06T18:05:42Z"
}, },
{
"name": "MariaDB/server",
"version": "mariadb-11.4.6",
"date": "2025-05-06T15:30:49Z"
},
{ {
"name": "bluenviron/mediamtx", "name": "bluenviron/mediamtx",
"version": "v1.12.2", "version": "v1.12.2",
"date": "2025-05-06T15:30:10Z" "date": "2025-05-06T15:30:10Z"
}, },
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.61",
"date": "2025-04-22T12:42:26Z"
},
{ {
"name": "linkwarden/linkwarden", "name": "linkwarden/linkwarden",
"version": "v2.10.2", "version": "v2.10.2",
@ -609,21 +649,11 @@
"version": "3.5.0", "version": "3.5.0",
"date": "2025-05-05T16:28:24Z" "date": "2025-05-05T16:28:24Z"
}, },
{
"name": "traefik/traefik",
"version": "v3.4.0",
"date": "2025-05-05T13:59:23Z"
},
{ {
"name": "moghtech/komodo", "name": "moghtech/komodo",
"version": "v1.17.5", "version": "v1.17.5",
"date": "2025-05-04T22:17:06Z" "date": "2025-05-04T22:17:06Z"
}, },
{
"name": "Lidarr/Lidarr",
"version": "v2.11.2.4629",
"date": "2025-04-28T11:59:37Z"
},
{ {
"name": "Readarr/Readarr", "name": "Readarr/Readarr",
"version": "v2.0.0.4645", "version": "v2.0.0.4645",
@ -744,16 +774,6 @@
"version": "release-1.23.0", "version": "release-1.23.0",
"date": "2025-04-24T08:07:21Z" "date": "2025-04-24T08:07:21Z"
}, },
{
"name": "minio/minio",
"version": "RELEASE.2025-04-22T22-12-26Z",
"date": "2025-04-22T22:44:34Z"
},
{
"name": "OliveTin/OliveTin",
"version": "2025.4.22",
"date": "2025-04-22T14:18:11Z"
},
{ {
"name": "monicahq/monica", "name": "monicahq/monica",
"version": "v4.1.2", "version": "v4.1.2",
@ -829,11 +849,6 @@
"version": "4.5.1", "version": "4.5.1",
"date": "2025-04-11T09:57:47Z" "date": "2025-04-11T09:57:47Z"
}, },
{
"name": "Threadfin/Threadfin",
"version": "1.2.32",
"date": "2025-04-07T20:01:09Z"
},
{ {
"name": "thomiceli/opengist", "name": "thomiceli/opengist",
"version": "v1.10.0", "version": "v1.10.0",
@ -1024,11 +1039,6 @@
"version": "v2.6.6", "version": "v2.6.6",
"date": "2025-02-24T19:14:46Z" "date": "2025-02-24T19:14:46Z"
}, },
{
"name": "ioBroker/ioBroker",
"version": "2025-02-23",
"date": "2025-02-24T16:05:06Z"
},
{ {
"name": "ventoy/Ventoy", "name": "ventoy/Ventoy",
"version": "v1.1.05", "version": "v1.1.05",
@ -1064,11 +1074,6 @@
"version": "v1.9.0", "version": "v1.9.0",
"date": "2025-02-11T13:26:42Z" "date": "2025-02-11T13:26:42Z"
}, },
{
"name": "dani-garcia/vaultwarden",
"version": "1.33.2",
"date": "2025-02-09T17:54:59Z"
},
{ {
"name": "actualbudget/actual-server", "name": "actualbudget/actual-server",
"version": "v25.2.1", "version": "v25.2.1",
@ -1094,11 +1099,6 @@
"version": "v0.5.7", "version": "v0.5.7",
"date": "2025-01-17T15:57:17Z" "date": "2025-01-17T15:57:17Z"
}, },
{
"name": "traccar/traccar",
"version": "v6.6",
"date": "2025-01-11T17:26:49Z"
},
{ {
"name": "ErsatzTV/ErsatzTV", "name": "ErsatzTV/ErsatzTV",
"version": "v25.1.0", "version": "v25.1.0",

View File

@ -10,7 +10,7 @@
"privileged": false, "privileged": false,
"interface_port": null, "interface_port": null,
"documentation": "https://docs.zammad.org/en/latest/", "documentation": "https://docs.zammad.org/en/latest/",
"website": "https://zammad.com/", "website": "https://zammad.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zammad.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zammad.webp",
"config_path": "/etc/nginx/sites-available/zammad.conf", "config_path": "/etc/nginx/sites-available/zammad.conf",
"description": "Zammad is a web based open source helpdesk/customer support system with many features to manage customer communication via several channels like telephone, facebook, twitter, chat and emails. It is distributed under version 3 of the GNU AFFERO General Public License (GNU AGPLv3).", "description": "Zammad is a web based open source helpdesk/customer support system with many features to manage customer communication via several channels like telephone, facebook, twitter, chat and emails. It is distributed under version 3 of the GNU AFFERO General Public License (GNU AGPLv3).",

View File

@ -14,11 +14,8 @@ network_check
update_os update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
lsb-release \ lsb-release
gpg
curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg
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 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 update
@ -26,10 +23,11 @@ $STD apt-get update
$STD apt-get install -y \ $STD apt-get install -y \
nginx \ nginx \
composer \ composer \
php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,intl,mbstring,mysql,xml,cli} \ php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,intl,mbstring,mysql,xml,cli}
mariadb-server
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb
msg_info "Setting up Database" msg_info "Setting up Database"
DB_NAME=2fauth_db DB_NAME=2fauth_db
DB_USER=2fauth DB_USER=2fauth

View File

@ -24,25 +24,10 @@ $STD apt-get install -y \
python3-pip python3-pip
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
mkdir -p /etc/apt/keyrings PG_VERSION="16" PG_MODULES="postgis" install_postgresql
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Setting up PostgreSQL Repository" msg_info "Set up PostgreSQL Database"
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >/etc/apt/sources.list.d/pgdg.list
msg_ok "Set up PostgreSQL Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g pnpm
msg_ok "Installed Node.js"
msg_info "Install/Set up PostgreSQL Database"
$STD apt-get install -y postgresql-16 postgresql-16-postgis
DB_NAME="adventurelog_db" DB_NAME="adventurelog_db"
DB_USER="adventurelog_user" DB_USER="adventurelog_user"
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"

View File

@ -15,10 +15,10 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apk add --no-cache \ $STD apk add --no-cache \
gpg \ gpg \
git \ git \
nodejs \ nodejs \
npm npm
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Creating Node-RED User" msg_info "Creating Node-RED User"
@ -26,7 +26,7 @@ adduser -D -H -s /sbin/nologin -G users nodered
msg_ok "Created Node-RED User" msg_ok "Created Node-RED User"
msg_info "Installing Node-RED" msg_info "Installing Node-RED"
npm install -g --unsafe-perm node-red $STD npm install -g --unsafe-perm node-red
msg_ok "Installed Node-RED" msg_ok "Installed Node-RED"
msg_info "Creating /home/nodered" msg_info "Creating /home/nodered"
@ -55,7 +55,7 @@ $STD rc-update add nodered default
msg_ok "Created Node-RED Service" msg_ok "Created Node-RED Service"
msg_info "Starting Node-RED" msg_info "Starting Node-RED"
$STD service nodered start $STD rc-service nodered start
msg_ok "Started Node-RED" msg_ok "Started Node-RED"
motd_ssh motd_ssh

View File

@ -14,31 +14,32 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
build-essential \ build-essential \
jq \ jq \
libcairo2-dev \ libcairo2-dev \
libturbojpeg0 \ libturbojpeg0 \
libpng-dev \ libpng-dev \
libtool-bin \ libtool-bin \
libossp-uuid-dev \ libossp-uuid-dev \
libvncserver-dev \ libvncserver-dev \
freerdp2-dev \ freerdp2-dev \
libssh2-1-dev \ libssh2-1-dev \
libtelnet-dev \ libtelnet-dev \
libwebsockets-dev \ libwebsockets-dev \
libpulse-dev \ libpulse-dev \
libvorbis-dev \ libvorbis-dev \
libwebp-dev \ libwebp-dev \
libssl-dev \ libssl-dev \
libpango1.0-dev \ libpango1.0-dev \
libswscale-dev \ libswscale-dev \
libavcodec-dev \ libavcodec-dev \
libavutil-dev \ libavutil-dev \
libavformat-dev \ libavformat-dev \
mariadb-server \ default-jdk
default-jdk
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_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)
mkdir -p /opt/apache-guacamole/tomcat9 mkdir -p /opt/apache-guacamole/tomcat9
@ -79,19 +80,19 @@ mysql -u root -e "CREATE DATABASE $DB_NAME;"
mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
{ {
echo "Guacamole-Credentials" echo "Guacamole-Credentials"
echo "Database User: $DB_USER" echo "Database User: $DB_USER"
echo "Database Password: $DB_PASS" echo "Database Password: $DB_PASS"
echo "Database Name: $DB_NAME" echo "Database Name: $DB_NAME"
} >>~/guacamole.creds } >>~/guacamole.creds
cd guacamole-auth-jdbc-1.5.5/mysql/schema cd guacamole-auth-jdbc-1.5.5/mysql/schema
cat *.sql | mysql -u root ${DB_NAME} cat *.sql | mysql -u root ${DB_NAME}
{ {
echo "mysql-hostname: 127.0.0.1" echo "mysql-hostname: 127.0.0.1"
echo "mysql-port: 3306" echo "mysql-port: 3306"
echo "mysql-database: $DB_NAME" echo "mysql-database: $DB_NAME"
echo "mysql-username: $DB_USER" echo "mysql-username: $DB_USER"
echo "mysql-password: $DB_PASS" echo "mysql-password: $DB_PASS"
} >>/etc/guacamole/guacamole.properties } >>/etc/guacamole/guacamole.properties
msg_ok "Setup Database" msg_ok "Setup Database"

View File

@ -33,16 +33,7 @@ $STD apt-get install -y \
python3-regex python3-regex
msg_ok "Installed Python Dependencies" msg_ok "Installed Python Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing Playwright" msg_info "Installing Playwright"
$STD pip install playwright $STD pip install playwright

100
install/argus-install.sh Normal file
View File

@ -0,0 +1,100 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://release-argus.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"
msg_info "Setup Argus"
RELEASE=$(curl -fsSL https://api.github.com/repos/release-argus/Argus/releases/latest | jq -r .tag_name | sed 's/^v//')
mkdir -p /opt/argus
curl -fsSL "https://github.com/release-argus/Argus/releases/download/${RELEASE}/Argus-${RELEASE}.linux-amd64" -o /opt/argus/Argus
chmod +x /opt/argus/Argus
msg_ok "Setup Argus"
msg_info "Setup Argus Config"
cat <<EOF >/opt/argus/config.yml
settings:
log:
level: INFO
timestamps: false
data:
database_file: data/argus.db
web:
listen_host: 0.0.0.0
listen_port: 8080
route_prefix: /
defaults:
service:
options:
interval: 30m
semantic_versioning: true
latest_version:
allow_invalid_certs: false
use_prerelease: false
dashboard:
auto_approve: true
webhook:
desired_status_code: 201
service:
release-argus/argus:
latest_version:
type: github
url: release-argus/argus
dashboard:
icon: https://raw.githubusercontent.com/release-argus/Argus/master/web/ui/react-app/public/favicon.svg
icon_link_to: https://release-argus.io
web_url: https://github.com/release-argus/Argus/blob/master/CHANGELOG.md
community-scripts/ProxmoxVE:
latest_version:
type: github
url: community-scripts/ProxmoxVE
use_prerelease: false
dashboard:
icon: https://raw.githubusercontent.com/community-scripts/ProxmoxVE/refs/heads/main/misc/images/logo.png
icon_link_to: https://helper-scripts.com/
web_url: https://github.com/community-scripts/ProxmoxVE/releases
EOF
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Setup Config"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/argus.service
[Unit]
Description=Argus
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/argus
ExecStart=/opt/argus/Argus
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now argus
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

@ -37,7 +37,7 @@ $STD apt-get install -y \
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
setup_uv setup_uv
PG_VERSION="16" install_postgresql PG_VERSION="16" PG_MODULES="contrib" install_postgresql
NODE_VERSION="22" install_node_and_modules NODE_VERSION="22" install_node_and_modules
install_go install_go
@ -61,8 +61,7 @@ cat <<EOF >/etc/GeoIP.conf
EOF EOF
msg_ok "Installed GeoIP" msg_ok "Installed GeoIP"
msg_info "Installing PostgreSQL" msg_info "Setup PostgreSQL Database"
$STD apt-get install -y postgresql-16 postgresql-contrib-16
DB_NAME="authentik" DB_NAME="authentik"
DB_USER="authentik" DB_USER="authentik"
DB_PASS="$(openssl rand -base64 18 | cut -c1-13)" DB_PASS="$(openssl rand -base64 18 | cut -c1-13)"

View File

@ -0,0 +1,54 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: ksad (enirys31)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://garethgeorge.github.io/backrest/
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Backrest"
RELEASE=$(curl -fsSL https://api.github.com/repos/garethgeorge/backrest/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
temp_file=$(mktemp)
mkdir -p /opt/backrest/{bin,config,data}
curl -fsSL "https://github.com/garethgeorge/backrest/releases/download/v${RELEASE}/backrest_Linux_x86_64.tar.gz" -o "$temp_file"
tar xzf $temp_file -C /opt/backrest/bin
chmod +x /opt/backrest/bin/backrest
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Installed Backrest"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/backrest.service
[Unit]
Description=Backrest
After=network.target
[Service]
Type=simple
User=root
ExecStart=/opt/backrest/bin/backrest
Environment="BACKREST_PORT=9898"
Environment="BACKREST_CONFIG=/opt/backrest/config/config.json"
Environment="BACKREST_DATA=/opt/backrest/data"
Environment="XDG_CACHE_HOME=/opt/backrest/cache"
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now backrest
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
rm -f "$temp_file"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@ -15,25 +15,26 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
postgresql \ apache2 \
apache2 \ libapache2-mod-php \
libapache2-mod-php \ php-{pgsql,dom}
php-{pgsql,dom}
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up PostgreSQL" PG_VERSION="16" install_postgresql
msg_info "Setting up PostgreSQL Database"
DB_NAME=baikal DB_NAME=baikal
DB_USER=baikal DB_USER=baikal
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13) DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';" $STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMPLATE template0;" $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMPLATE template0;"
{ {
echo "Baikal Credentials" echo "Baikal Credentials"
echo "Baikal Database User: $DB_USER" echo "Baikal Database User: $DB_USER"
echo "Baikal Database Password: $DB_PASS" echo "Baikal Database Password: $DB_PASS"
echo "Baikal Database Name: $DB_NAME" echo "Baikal Database Name: $DB_NAME"
} >>~/baikal.creds } >>~/baikal.creds
msg_ok "Set up PostgreSQL" msg_ok "Set up PostgreSQL Database"
msg_info "Installing Baikal" msg_info "Installing Baikal"
RELEASE=$(curl -fsSL https://api.github.com/repos/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(curl -fsSL https://api.github.com/repos/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')

View File

@ -15,15 +15,16 @@ update_os
msg_info "Installing Dependencies (Patience)" msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y \ $STD apt-get install -y \
unzip \ unzip \
mariadb-server \ apache2 \
apache2 \ php8.2-{mbstring,gd,fpm,curl,intl,ldap,tidy,bz2,mysql,zip,xml} \
php8.2-{mbstring,gd,fpm,curl,intl,ldap,tidy,bz2,mysql,zip,xml} \ composer \
composer \ libapache2-mod-php \
libapache2-mod-php \ make
make
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb
msg_info "Setting up Database" msg_info "Setting up Database"
DB_NAME=bookstack DB_NAME=bookstack
DB_USER=bookstack DB_USER=bookstack
@ -32,10 +33,10 @@ $STD sudo mysql -u root -e "CREATE DATABASE $DB_NAME;"
$STD sudo mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" $STD sudo mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
$STD sudo mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" $STD sudo mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
{ {
echo "Bookstack-Credentials" echo "Bookstack-Credentials"
echo "Bookstack Database User: $DB_USER" echo "Bookstack Database User: $DB_USER"
echo "Bookstack Database Password: $DB_PASS" echo "Bookstack Database Password: $DB_PASS"
echo "Bookstack Database Name: $DB_NAME" echo "Bookstack Database Name: $DB_NAME"
} >>~/bookstack.creds } >>~/bookstack.creds
msg_ok "Set up database" msg_ok "Set up database"

View File

@ -13,21 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
msg_info "Installing Dependencies" NODE_VERSION="22" install_node_and_modules
$STD apt-get install -y \
gnupg
msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
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

@ -52,16 +52,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"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing Change Detection" msg_info "Installing Change Detection"
mkdir /opt/changedetection mkdir /opt/changedetection

View File

@ -0,0 +1,87 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: edoardop13
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/favonia/cloudflare-ddns
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
install_go
msg_info "Configure Application"
var_cf_api_token="default"
read -rp "Enter the Cloudflare API token: " var_cf_api_token
var_cf_domains="default"
read -rp "Enter the domains separated with a comma (*.example.org,www.example.org) " var_cf_domains
var_cf_proxied="false"
while true; do
read -rp "Proxied? (y/n): " answer
case "$answer" in
[Yy]*)
var_cf_proxied="true"
break
;;
[Nn]*)
var_cf_proxied="false"
break
;;
*) echo "Please answer y or n." ;;
esac
done
var_cf_ip6_provider="none"
while true; do
read -rp "Enable IPv6 support? (y/n): " answer
case "$answer" in
[Yy]*)
var_cf_ip6_provider="auto"
break
;;
[Nn]*)
var_cf_ip6_provider="none"
break
;;
*) echo "Please answer y or n." ;;
esac
done
msg_ok "Configured Application"
msg_info "Setting up service"
mkdir -p /root/go
cat <<EOF >/etc/systemd/system/cloudflare-ddns.service
[Unit]
Description=Cloudflare DDNS Service (Go run)
After=network.target
[Service]
Environment="CLOUDFLARE_API_TOKEN=${var_cf_api_token}"
Environment="DOMAINS=${var_cf_domains}"
Environment="PROXIED=${var_cf_proxied}"
Environment="IP6_PROVIDER=${var_cf_ip6_provider}"
Environment="GOPATH=/root/go"
Environment="GOCACHE=/tmp/go-build"
ExecStart=/usr/local/bin/go run github.com/favonia/cloudflare-ddns/cmd/ddns@latest
Restart=always
RestartSec=300
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now cloudflare-ddns
msg_ok "Setup Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@ -13,20 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
msg_info "Installing Dependencies" NODE_VERSION="22" install_node_and_modules
$STD apt-get install -y gnupg
msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
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,20 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
msg_info "Installing Dependencies" NODE_VERSION="22" install_node_and_modules
$STD apt-get install -y gnupg
msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_23.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Setup Node.js Repository"
msg_info "Setting up Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Setup Node.js"
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

@ -15,20 +15,10 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
gnupg \
git git
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Setup Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Setup Node.js"
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,20 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
msg_info "Installing Dependencies" NODE_VERSION="22" install_node_and_modules
$STD apt-get install -y gpg
msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
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

@ -15,23 +15,12 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
gpg \
redis \ redis \
make \ make
postgresql
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" 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
mkdir -p /etc/apt/keyrings PG_VERSION="16" install_postgresql
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g pnpm@10.4.0
msg_ok "Installed Node.js"
msg_info "Setting up PostgreSQL" msg_info "Setting up PostgreSQL"
DB_NAME="docmost_db" DB_NAME="docmost_db"

View File

@ -16,10 +16,11 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
php-imap \ php-imap \
debconf-utils \ debconf-utils
mariadb-server
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_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 sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$ROOT_PASS'); flush privileges;" $STD sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$ROOT_PASS'); flush privileges;"

View File

@ -17,21 +17,10 @@ msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
lsb-release \ lsb-release \
apt-transport-https \ apt-transport-https \
debconf-utils \ debconf-utils
gpg
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g yarn
msg_ok "Installed Node.js"
read -p "${TAB3}Please enter the name for your server: " servername read -p "${TAB3}Please enter the name for your server: " servername

View File

@ -15,21 +15,10 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
gnupg \
xdg-utils xdg-utils
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setup Node.js Repository" NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Setup Node.js Repository"
msg_info "Setup Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g yarn
msg_ok "Setup Node.js"
msg_info "Setup Excalidraw" msg_info "Setup Excalidraw"
temp_file=$(mktemp) temp_file=$(mktemp)

View File

@ -18,13 +18,14 @@ curl -fsSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/p
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list
$STD apt-get update $STD apt-get update
$STD apt-get install -y \ $STD apt-get install -y \
apache2 \ apache2 \
libapache2-mod-php8.4 \ libapache2-mod-php8.4 \
php8.4-{bcmath,cli,intl,curl,zip,gd,xml,mbstring,mysql} \ php8.4-{bcmath,cli,intl,curl,zip,gd,xml,mbstring,mysql} \
mariadb-server \ composer
composer
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb
msg_info "Setting up database" msg_info "Setting up database"
DB_NAME=firefly DB_NAME=firefly
DB_USER=firefly DB_USER=firefly
@ -34,10 +35,10 @@ mysql -u root -e "CREATE DATABASE $DB_NAME;"
mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
{ {
echo "Firefly-Credentials" echo "Firefly-Credentials"
echo "Firefly Database User: $DB_USER" echo "Firefly Database User: $DB_USER"
echo "Firefly Database Password: $DB_PASS" echo "Firefly Database Password: $DB_PASS"
echo "Firefly Database Name: $DB_NAME" echo "Firefly Database Name: $DB_NAME"
} >>~/firefly.creds } >>~/firefly.creds
msg_ok "Set up database" msg_ok "Set up database"

View File

@ -13,17 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
msg_info "Installing Dependencies" NODE_VERSION="22" install_node_and_modules
$STD apt-get install -y gpg
msg_ok "Installed Dependencies"
msg_info "Installing Node.js"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing FlowiseAI (Patience)" msg_info "Installing FlowiseAI (Patience)"
$STD npm install -g flowise \ $STD npm install -g flowise \

View File

@ -0,0 +1,28 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Arian Nasr (arian-nasr)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.freepbx.org/
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing FreePBX (Patience)"
curl -fsSL https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh -o /opt/sng_freepbx_debian_install.sh
$STD bash /opt/sng_freepbx_debian_install.sh
msg_ok "Installed FreePBX"
motd_ssh
customize
msg_info "Cleaning up"
rm /opt/sng_freepbx_debian_install.sh
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@ -15,12 +15,13 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
postgresql \
apache2 \ apache2 \
php-{curl,dom,json,ctype,pgsql,gmp,mbstring,iconv,zip} \ php-{curl,dom,json,ctype,pgsql,gmp,mbstring,iconv,zip} \
libapache2-mod-php libapache2-mod-php
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
PG_VERSION="16" install_postgresql
msg_info "Setting up PostgreSQL" msg_info "Setting up PostgreSQL"
DB_NAME=freshrss DB_NAME=freshrss
DB_USER=freshrss DB_USER=freshrss

View File

@ -23,13 +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"
msg_info "Installing Node.js" NODE_VERSION="22" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing go2rtc" msg_info "Installing go2rtc"
mkdir -p /usr/local/go2rtc/bin mkdir -p /usr/local/go2rtc/bin

View File

@ -16,11 +16,11 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
nginx \ nginx \
mariadb-server \ ca-certificates
ca-certificates \
gnupg
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb
msg_info "Configuring Database" msg_info "Configuring Database"
DB_NAME=ghost DB_NAME=ghost
DB_USER=ghostuser DB_USER=ghostuser
@ -37,16 +37,7 @@ mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRI
} >>~/ghost.creds } >>~/ghost.creds
msg_ok "Configured MySQL" msg_ok "Configured MySQL"
msg_info "Setting up Node.js Repository" NODE_VERSION="20" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Setup Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Setup Node.js"
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

@ -15,14 +15,15 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
git \ git \
apache2 \ apache2 \
php8.2-{apcu,cli,common,curl,gd,imap,ldap,mysql,xmlrpc,xml,mbstring,bcmath,intl,zip,redis,bz2,soap} \ php8.2-{apcu,cli,common,curl,gd,imap,ldap,mysql,xmlrpc,xml,mbstring,bcmath,intl,zip,redis,bz2,soap} \
php-cas \ php-cas \
libapache2-mod-php \ libapache2-mod-php
mariadb-server
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb
msg_info "Setting up database" msg_info "Setting up database"
DB_NAME=glpi_db DB_NAME=glpi_db
DB_USER=glpi DB_USER=glpi
@ -33,10 +34,10 @@ mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';" mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';"
mysql -u root -e "GRANT SELECT ON \`mysql\`.\`time_zone_name\` TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" mysql -u root -e "GRANT SELECT ON \`mysql\`.\`time_zone_name\` TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
{ {
echo "GLPI Database Credentials" echo "GLPI Database Credentials"
echo "Database: $DB_NAME" echo "Database: $DB_NAME"
echo "Username: $DB_USER" echo "Username: $DB_USER"
echo "Password: $DB_PASS" echo "Password: $DB_PASS"
} >>~/glpi_db.creds } >>~/glpi_db.creds
msg_ok "Set up database" msg_ok "Set up database"

View File

@ -19,30 +19,11 @@ $STD apt-get install -y \
rclone \ rclone \
tzdata \ tzdata \
ca-certificates \ ca-certificates \
build-essential \ build-essential
gnupg
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Golang" install_go
set +o pipefail NODE_VERSION="22" install_node_and_modules
temp_file=$(mktemp)
golang_tarball=$(curl -s https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1)
wget -q https://golang.org/dl/"$golang_tarball" -O "$temp_file"
tar -C /usr/local -xzf "$temp_file"
ln -sf /usr/local/go/bin/go /usr/local/bin/go
set -o pipefail
msg_ok "Setup Golang"
msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Setup ${APPLICATION} (Patience)" msg_info "Setup ${APPLICATION} (Patience)"
temp_file=$(mktemp) temp_file=$(mktemp)

View File

@ -16,20 +16,12 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
make \ make \
gnupg \
ca-certificates \ ca-certificates \
unzip \ unzip \
python3.11-venv python3.11-venv
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Installing Node.js" NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g yarn
msg_ok "Installed Node.js"
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

@ -15,24 +15,14 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
libkrb5-dev \ libkrb5-dev \
gnupg \ build-essential \
build-essential \ git
git
curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb" -o $(basename "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb") curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb" -o $(basename "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb")
$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"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Setup Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Setup Node.js"
msg_info "Setup ${APPLICATION}" msg_info "Setup ${APPLICATION}"
temp_file=$(mktemp) temp_file=$(mktemp)

View File

@ -17,17 +17,7 @@ msg_info "Installing Dependencies"
$STD apt-get install -y gpg jq $STD apt-get install -y gpg jq
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g pnpm
msg_ok "Installed Node.js"
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

@ -16,8 +16,8 @@ update_os
msg_info "Installing InspIRCd" msg_info "Installing InspIRCd"
RELEASE=$(curl -fsSL https://api.github.com/repos/inspircd/inspircd/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/inspircd/inspircd/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
cd /opt cd /opt
curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb" -o $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb") curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb" -o $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb")
$STD apt-get install "./inspircd_${RELEASE}.deb12u1_amd64.deb" -y &>/dev/null $STD apt-get install "./inspircd_${RELEASE}.deb12u2_amd64.deb" -y &>/dev/null
cat <<EOF >/etc/inspircd/inspircd.conf cat <<EOF >/etc/inspircd/inspircd.conf
<define name="networkDomain" value="helper-scripts.com"> <define name="networkDomain" value="helper-scripts.com">
<define name="networkName" value="Proxmox VE Helper-Scripts"> <define name="networkName" value="Proxmox VE Helper-Scripts">
@ -40,7 +40,7 @@ motd_ssh
customize customize
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf /opt/inspircd_${RELEASE}.deb12u1_amd64.deb rm -rf /opt/inspircd_${RELEASE}.deb12u2_amd64.deb
$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

@ -18,16 +18,7 @@ $STD apt-get install -y ca-certificates
$STD apt-get install -y gnupg $STD apt-get install -y gnupg
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
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

@ -49,14 +49,8 @@ sed -i \
/etc/meilisearch.toml /etc/meilisearch.toml
msg_ok "Installed Meilisearch" msg_ok "Installed Meilisearch"
msg_info "Installing Node.js" NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g corepack@0.31.0 $STD npm install -g corepack@0.31.0
msg_ok "Installed Node.js"
msg_info "Installing karakeep" msg_info "Installing karakeep"
cd /opt cd /opt

33
install/kasm-install.sh Normal file
View File

@ -0,0 +1,33 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Omar Minaya
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.kasmweb.com/docs/latest/index.html
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
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/')
curl -fsSL -o "/opt/kasm_release_${KASM_VERSION}.tar.gz" "https://kasm-static-content.s3.amazonaws.com/kasm_release_${KASM_VERSION}.tar.gz"
cd /opt
tar -xf "kasm_release_${KASM_VERSION}.tar.gz"
chmod +x /opt/kasm_release/install.sh
printf 'y\ny\ny\n4\n' | bash /opt/kasm_release/install.sh | tee ~/kasm-install.output
sed -n '/Kasm UI Login Credentials/,$p' ~/kasm-install.output >~/kasm.creds
msg_ok "Installed Kasm Workspaces"
motd_ssh
customize
msg_info "Cleaning up"
$STD rm -f /opt/kasm_release_${KASM_VERSION}.tar.gz
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@ -20,10 +20,11 @@ $STD apt-get install -y \
git \ git \
expect \ expect \
composer \ composer \
mariadb-server \
lsb-release lsb-release
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb
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
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb

View File

@ -15,11 +15,13 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
gnupg2 postgresql \
apache2 \ apache2 \
lsb-release lsb-release
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
PG_VERSION="16" install_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
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
@ -49,16 +51,6 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMP
} >>~/koillection.creds } >>~/koillection.creds
msg_ok "Set up PostgreSQL" msg_ok "Set up PostgreSQL"
msg_info "Setting up Node.js/Yarn"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g npm@latest
$STD npm install -g yarn
msg_ok "Installed Node.js/Yarn"
msg_info "Installing Koillection" msg_info "Installing Koillection"
RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
cd /opt cd /opt

View File

@ -18,21 +18,9 @@ $STD apt-get install -y make
$STD apt-get install -y g++ $STD apt-get install -y g++
$STD apt-get install -y gcc $STD apt-get install -y gcc
$STD apt-get install -y ca-certificates $STD apt-get install -y ca-certificates
$STD apt-get install -y gnupg
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g npm@latest
$STD npm install -g yarn
msg_ok "Installed Node.js"
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,20 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
msg_info "Installing Dependencies" NODE_VERSION="22" install_node_and_modules
$STD apt-get install -y gnupg
msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Setup MagicMirror" msg_info "Setup MagicMirror"
temp_file=$(mktemp) temp_file=$(mktemp)

View File

@ -13,11 +13,12 @@ setting_up_container
network_check network_check
update_os update_os
msg_info "Installing MariaDB" install_mariadb
$STD apt-get install -y mariadb-server
msg_info "Setup MariaDB"
sed -i 's/^# *\(port *=.*\)/\1/' /etc/mysql/my.cnf sed -i 's/^# *\(port *=.*\)/\1/' /etc/mysql/my.cnf
sed -i 's/^bind-address/#bind-address/g' /etc/mysql/mariadb.conf.d/50-server.cnf sed -i 's/^bind-address/#bind-address/g' /etc/mysql/mariadb.conf.d/50-server.cnf
msg_ok "Installed MariaDB" msg_ok "Setup MariaDB"
read -r -p "${TAB3}Would you like to add PhpMyAdmin? <y/N> " prompt read -r -p "${TAB3}Would you like to add PhpMyAdmin? <y/N> " prompt
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then

View File

@ -40,17 +40,7 @@ msg_ok "Setup ${APPLICATION}"
read -r -p "${TAB3}Do you want add meilisearch-ui? [y/n]: " prompt read -r -p "${TAB3}Do you want add meilisearch-ui? [y/n]: " prompt
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_info "Setting up Node.js Repository" NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g pnpm
msg_ok "Installed Node.js"
msg_info "Setup ${APPLICATION}-ui" msg_info "Setup ${APPLICATION}-ui"
tmp_file=$(mktemp) tmp_file=$(mktemp)

View File

@ -21,31 +21,8 @@ $STD apt-get install -y \
tzdata tzdata
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
mkdir -p /etc/apt/keyrings install_go
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing pnpm"
$STD npm install -g pnpm
msg_ok "Installed pnpm"
msg_info "Installing Golang"
set +o pipefail
temp_file=$(mktemp)
golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1)
curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file"
tar -C /usr/local -xzf "$temp_file"
ln -sf /usr/local/go/bin/go /usr/local/bin/go
rm -f "$temp_file"
set -o pipefail
msg_ok "Installed Golang"
msg_info "Installing Memos (Patience)" msg_info "Installing Memos (Patience)"
mkdir -p /opt/memos_data mkdir -p /opt/memos_data

View File

@ -15,19 +15,9 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y ca-certificates $STD apt-get install -y ca-certificates
$STD apt-get install -y gnupg
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing MeshCentral" msg_info "Installing MeshCentral"
mkdir /opt/meshcentral mkdir /opt/meshcentral

View File

@ -25,7 +25,6 @@ $STD apt-get install -y --no-install-recommends \
ffmpeg \ ffmpeg \
git \ git \
make \ make \
gnupg \
ca-certificates ca-certificates
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
@ -37,16 +36,7 @@ $STD apt-get install -y \
python3-venv python3-venv
msg_ok "Setup Python3" msg_ok "Setup Python3"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing MeTube" msg_info "Installing MeTube"
$STD git clone https://github.com/alexta69/metube /opt/metube $STD git clone https://github.com/alexta69/metube /opt/metube

View File

@ -15,13 +15,15 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
gnupg2 mariadb-server \ apache2 \
apache2 \ libapache2-mod-php \
libapache2-mod-php \ php-{bcmath,curl,dom,gd,gmp,iconv,intl,json,mbstring,mysqli,opcache,pdo-mysql,redis,tokenizer,xml,zip} \
php-{bcmath,curl,dom,gd,gmp,iconv,intl,json,mbstring,mysqli,opcache,pdo-mysql,redis,tokenizer,xml,zip} \ composer
composer
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
msg_info "Setting up MariaDB" msg_info "Setting up MariaDB"
DB_NAME=monica DB_NAME=monica
DB_USER=monica DB_USER=monica
@ -30,23 +32,13 @@ $STD mysql -u root -e "CREATE DATABASE $DB_NAME;"
$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" $STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" $STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
{ {
echo "monica-Credentials" echo "monica-Credentials"
echo "monica Database User: $DB_USER" echo "monica Database User: $DB_USER"
echo "monica Database Password: $DB_PASS" echo "monica Database Password: $DB_PASS"
echo "monica Database Name: $DB_NAME" echo "monica Database Name: $DB_NAME"
} >>~/monica.creds } >>~/monica.creds
msg_ok "Set up MariaDB" msg_ok "Set up MariaDB"
msg_info "Setting up Node.js/Yarn"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g npm@latest
$STD npm install -g yarn
msg_ok "Installed Node.js/Yarn"
msg_info "Installing monica" msg_info "Installing monica"
RELEASE=$(curl -fsSL https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
cd /opt cd /opt
@ -57,9 +49,9 @@ cd /opt/monica
cp /opt/monica/.env.example /opt/monica/.env cp /opt/monica/.env.example /opt/monica/.env
HASH_SALT=$(openssl rand -base64 32) HASH_SALT=$(openssl rand -base64 32)
sed -i -e "s|^DB_USERNAME=.*|DB_USERNAME=${DB_USER}|" \ sed -i -e "s|^DB_USERNAME=.*|DB_USERNAME=${DB_USER}|" \
-e "s|^DB_PASSWORD=.*|DB_PASSWORD=${DB_PASS}|" \ -e "s|^DB_PASSWORD=.*|DB_PASSWORD=${DB_PASS}|" \
-e "s|^HASH_SALT=.*|HASH_SALT=${HASH_SALT}|" \ -e "s|^HASH_SALT=.*|HASH_SALT=${HASH_SALT}|" \
/opt/monica/.env /opt/monica/.env
$STD composer install --no-dev -o --no-interaction $STD composer install --no-dev -o --no-interaction
$STD yarn install $STD yarn install
$STD yarn run production $STD yarn run production

View File

@ -16,20 +16,10 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
build-essential \ build-essential \
gpg \
ca-certificates ca-certificates
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing MySpeed" msg_info "Installing MySpeed"
RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5) RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5)

View File

@ -15,20 +15,10 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
ca-certificates \ ca-certificates
gnupg
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing n8n (Patience)" msg_info "Installing n8n (Patience)"
$STD npm install --global patch-package $STD npm install --global patch-package

View File

@ -17,7 +17,6 @@ msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
apache2 \ apache2 \
redis-server \ redis-server \
postgresql \
build-essential \ build-essential \
libxml2-dev \ libxml2-dev \
libxslt1-dev \ libxslt1-dev \
@ -27,6 +26,8 @@ $STD apt-get install -y \
zlib1g-dev zlib1g-dev
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
PG_VERSION="16" install_postgresql
msg_info "Installing Python" msg_info "Installing Python"
$STD apt-get install -y \ $STD apt-get install -y \
python3 \ python3 \

View File

@ -16,20 +16,10 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
git \ git \
ca-certificates \ ca-certificates
gnupg
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing Node-Red" msg_info "Installing Node-Red"
$STD npm install -g --unsafe-perm node-red $STD npm install -g --unsafe-perm node-red

View File

@ -15,32 +15,14 @@ update_os
msg_info "Installing Dependencies (Patience)" msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y \ $STD apt-get install -y \
build-essential \ build-essential \
redis-server \ redis-server \
expect \ expect \
gnupg \ ca-certificates
ca-certificates
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js & MongoDB Repository" install_mongodb
mkdir -p /etc/apt/keyrings NODE_VERSION="22" install_node_and_modules
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | gpg --dearmor -o /etc/apt/keyrings/mongodb-server-8.0.gpg
echo "deb [arch=amd64,arm64 signed-by=/etc/apt/keyrings/mongodb-server-8.0.gpg] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" >/etc/apt/sources.list.d/mongodb-org-8.0.list
$STD apt-get update
msg_ok "Set up Repositories"
msg_info "Installing Node.js"
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing MongoDB"
$STD apt-get install -y mongodb-org
systemctl enable -q --now mongod
sleep 10 # MongoDB needs some secounds to start, if not sleep it collide with following mongosh
msg_ok "Installed MongoDB"
msg_info "Configure MongoDB" msg_info "Configure MongoDB"
MONGO_ADMIN_USER="admin" MONGO_ADMIN_USER="admin"
@ -50,12 +32,12 @@ NODEBB_PWD="$(openssl rand -base64 18 | cut -c1-13)"
MONGO_CONNECTION_STRING="mongodb://${NODEBB_USER}:${NODEBB_PWD}@localhost:27017/nodebb" MONGO_CONNECTION_STRING="mongodb://${NODEBB_USER}:${NODEBB_PWD}@localhost:27017/nodebb"
NODEBB_SECRET=$(uuidgen) NODEBB_SECRET=$(uuidgen)
{ {
echo "NodeBB-Credentials" echo "NodeBB-Credentials"
echo "Mongo Database User: $MONGO_ADMIN_USER" echo "Mongo Database User: $MONGO_ADMIN_USER"
echo "Mongo Database Password: $MONGO_ADMIN_PWD" echo "Mongo Database Password: $MONGO_ADMIN_PWD"
echo "NodeBB User: $NODEBB_USER" echo "NodeBB User: $NODEBB_USER"
echo "NodeBB Password: $NODEBB_PWD" echo "NodeBB Password: $NODEBB_PWD"
echo "NodeBB Secret: $NODEBB_SECRET" echo "NodeBB Secret: $NODEBB_SECRET"
} >>~/nodebb.creds } >>~/nodebb.creds
$STD mongosh <<EOF $STD mongosh <<EOF

View File

@ -16,7 +16,6 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
gpg \
git \ git \
ffmpeg ffmpeg
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
@ -27,16 +26,7 @@ $STD apt-get install -y --no-install-recommends \
python3-pip python3-pip
msg_ok "Setup Python3" msg_ok "Setup Python3"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing Open WebUI (Patience)" msg_info "Installing Open WebUI (Patience)"
$STD git clone https://github.com/open-webui/open-webui.git /opt/open-webui $STD git clone https://github.com/open-webui/open-webui.git /opt/open-webui

View File

@ -21,25 +21,10 @@ $STD apt-get install -y \
redis redis
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="20" NODE_MODULE="yarn@latest" install_node_and_modules
mkdir -p /etc/apt/keyrings PG_VERSION="16" install_postgresql
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Setting up PostgreSQL Repository" msg_info "Set up PostgreSQL Database"
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >/etc/apt/sources.list.d/pgdg.list
msg_ok "Set up PostgreSQL Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g yarn
msg_ok "Installed Node.js"
msg_info "Install/Set up PostgreSQL Database"
$STD apt-get install -y postgresql-16
DB_NAME="outline" DB_NAME="outline"
DB_USER="outline" DB_USER="outline"
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
@ -48,7 +33,13 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCO
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';" $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';" $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';" $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
msg_ok "Set up PostgreSQL" {
echo "Outline-Credentials"
echo "Outline Database User: $DB_USER"
echo "Outline Database Password: $DB_PASS"
echo "Outline Database Name: $DB_NAME"
} >>~/outline.creds
msg_ok "Set up PostgreSQL Database"
msg_info "Setup Outline (Patience)" msg_info "Setup Outline (Patience)"
SECRET_KEY="$(openssl rand -hex 32)" SECRET_KEY="$(openssl rand -hex 32)"

View File

@ -16,24 +16,10 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
git \ git \
ca-certificates \ ca-certificates
gnupg
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing Yarn"
$STD npm install -g yarn
msg_ok "Installed Yarn"
msg_info "Installing Overseerr (Patience)" msg_info "Installing Overseerr (Patience)"
git clone -q https://github.com/sct/overseerr.git /opt/overseerr git clone -q https://github.com/sct/overseerr.git /opt/overseerr

View File

@ -15,20 +15,10 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
git \ git
gpg
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" install_node_and_modules
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing PairDrop" msg_info "Installing PairDrop"
git clone -q https://github.com/schlagmichdoch/PairDrop.git /opt/pairdrop git clone -q https://github.com/schlagmichdoch/PairDrop.git /opt/pairdrop

View File

@ -15,20 +15,15 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
gpg \
build-essential build-essential
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" msg_info "Installing Python3"
mkdir -p /etc/apt/keyrings $STD apt-get install -y \
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg python3-pip
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list msg_ok "Installed Python3"
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js" install_node_and_modules
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Setup Paperless-AI" msg_info "Setup Paperless-AI"
cd /opt cd /opt
@ -37,6 +32,8 @@ curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEA
unzip -q v${RELEASE}.zip unzip -q v${RELEASE}.zip
mv paperless-ai-${RELEASE} /opt/paperless-ai mv paperless-ai-${RELEASE} /opt/paperless-ai
cd /opt/paperless-ai cd /opt/paperless-ai
$STD pip install --no-cache-dir -r requirements.txt
mkdir -p data/chromadb
$STD npm install $STD npm install
mkdir -p /opt/paperless-ai/data mkdir -p /opt/paperless-ai/data
cat <<EOF >/opt/paperless-ai/data/.env cat <<EOF >/opt/paperless-ai/data/.env
@ -61,6 +58,8 @@ API_KEY=
CUSTOM_API_KEY= CUSTOM_API_KEY=
CUSTOM_BASE_URL= CUSTOM_BASE_URL=
CUSTOM_MODEL= CUSTOM_MODEL=
RAG_SERVICE_URL=http://localhost:8000
RAG_SERVICE_ENABLED=true
EOF EOF
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Setup Paperless-AI" msg_ok "Setup Paperless-AI"
@ -69,7 +68,8 @@ msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/paperless-ai.service cat <<EOF >/etc/systemd/system/paperless-ai.service
[Unit] [Unit]
Description=PaperlessAI Service Description=PaperlessAI Service
After=network.target After=network.target paperless-rag.service
Requires=paperless-rag.service
[Service] [Service]
WorkingDirectory=/opt/paperless-ai WorkingDirectory=/opt/paperless-ai
@ -79,6 +79,22 @@ Restart=always
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
EOF EOF
cat <<EOF >/etc/systemd/system/paperless-rag.service
[Unit]
Description=PaperlessAI-RAG Service
After=network.target
[Service]
WorkingDirectory=/opt/paperless-ai
ExecStart=/usr/bin/python3 main.py --host 0.0.0.0 --port 8000 --initialize
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now paperless-rag
sleep 5
systemctl enable -q --now paperless-ai systemctl enable -q --now paperless-ai
msg_ok "Created Service" msg_ok "Created Service"

View File

@ -16,7 +16,6 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
gcc \ gcc \
gnupg \
ca-certificates \ ca-certificates \
musl-dev \ musl-dev \
mupdf \ mupdf \
@ -24,27 +23,8 @@ $STD apt-get install -y \
musl-tools musl-tools
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" NODE_VERSION="22" install_node_and_modules
mkdir -p /etc/apt/keyrings install_go
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing Golang"
set +o pipefail
temp_file=$(mktemp)
golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1)
curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file"
tar -C /usr/local -xzf "$temp_file"
ln -sf /usr/local/go/bin/go /usr/local/bin/go
rm -f "$temp_file"
set -o pipefail
msg_ok "Installed Golang"
msg_info "Setup Paperless-GPT" msg_info "Setup Paperless-GPT"
temp_file=$(mktemp) temp_file=$(mktemp)

View File

@ -16,7 +16,6 @@ update_os
msg_info "Installing Dependencies (Patience)" msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y \ $STD apt-get install -y \
redis \ redis \
postgresql \
build-essential \ build-essential \
imagemagick \ imagemagick \
fonts-liberation \ fonts-liberation \
@ -37,6 +36,8 @@ $STD apt-get install -y \
libleptonica-dev libleptonica-dev
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
PG_VERSION="16" install_postgresql
msg_info "Setup Python3" msg_info "Setup Python3"
$STD apt-get install -y \ $STD apt-get install -y \
python3 \ python3 \

View File

@ -21,10 +21,12 @@ $STD apt-get install -y \
lsb-release \ lsb-release \
php-{opcache,curl,gd,mbstring,xml,bcmath,intl,zip,xsl,pgsql} \ php-{opcache,curl,gd,mbstring,xml,bcmath,intl,zip,xsl,pgsql} \
libapache2-mod-php \ libapache2-mod-php \
composer \ composer
postgresql
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
PG_VERSION="16" install_postgresql
msg_info "Setting up PHP" msg_info "Setting up PHP"
PHPVER=$(php -r 'echo PHP_MAJOR_VERSION . "." . PHP_MINOR_VERSION . "\n";') PHPVER=$(php -r 'echo PHP_MAJOR_VERSION . "." . PHP_MINOR_VERSION . "\n";')
sed -i "s@post_max_size = 8M@post_max_size = 100M@g" /etc/php/${PHPVER}/apache2/php.ini sed -i "s@post_max_size = 8M@post_max_size = 100M@g" /etc/php/${PHPVER}/apache2/php.ini
@ -45,16 +47,6 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMP
} >>~/partdb.creds } >>~/partdb.creds
msg_ok "Set up PostgreSQL" msg_ok "Set up PostgreSQL"
msg_info "Setting up Node.js/Yarn"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g npm@latest
$STD npm install -g yarn
msg_ok "Installed Node.js/Yarn"
msg_info "Installing Part-DB (Patience)" msg_info "Installing Part-DB (Patience)"
cd /opt cd /opt
RELEASE=$(curl -fsSL https://api.github.com/repos/Part-DB/Part-DB-server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/Part-DB/Part-DB-server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')

View File

@ -15,16 +15,16 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
git \ git \
software-properties-common \ software-properties-common \
apt-transport-https \ apt-transport-https \
ca-certificates \ ca-certificates \
gnupg2 \ nginx \
mariadb-server \ redis-server
nginx \
redis-server
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb
msg_info "Adding PHP Repository" msg_info "Adding PHP 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
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
@ -35,8 +35,8 @@ msg_ok "Added PHP Repository"
msg_info "Installing PHP" msg_info "Installing PHP"
$STD apt-get remove -y php8.2* $STD apt-get remove -y php8.2*
$STD apt-get install -y \ $STD apt-get install -y \
php8.3 \ php8.3 \
php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm,redis} php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm,redis}
msg_info "Installed PHP" msg_info "Installed PHP"
msg_info "Installing Composer" msg_info "Installing Composer"
@ -62,10 +62,10 @@ mysql -u root -e "CREATE DATABASE $DB_NAME;"
mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost' WITH GRANT OPTION;" mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost' WITH GRANT OPTION;"
{ {
echo "Paymenter Database Credentials" echo "Paymenter Database Credentials"
echo "Database: $DB_NAME" echo "Database: $DB_NAME"
echo "Username: $DB_USER" echo "Username: $DB_USER"
echo "Password: $DB_PASS" echo "Password: $DB_PASS"
} >>~/paymenter_db.creds } >>~/paymenter_db.creds
cp .env.example .env cp .env.example .env
$STD composer install --no-dev --optimize-autoloader --no-interaction $STD composer install --no-dev --optimize-autoloader --no-interaction

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