Compare commits
102 Commits
2025-05-20
...
main
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7db94ad73a | ||
![]() |
56c2682601 | ||
![]() |
11a7c2e410 | ||
![]() |
ed9d8e995d | ||
![]() |
3b67e8dcc1 | ||
![]() |
f09e57c200 | ||
![]() |
72c24d5147 | ||
![]() |
93a179c201 | ||
![]() |
ac2f0e66ae | ||
![]() |
5ccf8a7cd6 | ||
![]() |
db82285b95 | ||
![]() |
58586cbfc8 | ||
![]() |
8708980786 | ||
![]() |
943fa7b7aa | ||
![]() |
5085547f39 | ||
![]() |
5685e7e088 | ||
![]() |
72db97b226 | ||
![]() |
e6805db9f5 | ||
![]() |
97073be5e2 | ||
![]() |
82228189a7 | ||
![]() |
53bdedfc08 | ||
![]() |
92ff5a9881 | ||
![]() |
0bb4509cd7 | ||
![]() |
f339b7df10 | ||
![]() |
a23a6a3da1 | ||
![]() |
3c12773956 | ||
![]() |
d79ac98a31 | ||
![]() |
17654c2006 | ||
![]() |
575443fac5 | ||
![]() |
f38225d52f | ||
![]() |
cef451c42c | ||
![]() |
2a5856db03 | ||
![]() |
47abe248d0 | ||
![]() |
98c64ffae9 | ||
![]() |
c136133b7c | ||
![]() |
1e5395d21b | ||
![]() |
dfb98698f3 | ||
![]() |
ff5b793e1e | ||
![]() |
4044790e5e | ||
![]() |
e64b10bf99 | ||
![]() |
bf2b36f095 | ||
![]() |
15b606c019 | ||
![]() |
16740ece38 | ||
![]() |
d2d9a59e35 | ||
![]() |
7d7664f12a | ||
![]() |
98c1136d8e | ||
![]() |
2f1f0393b6 | ||
![]() |
0cdde92556 | ||
![]() |
85b638169d | ||
![]() |
1c186b5087 | ||
![]() |
21efb1a2ec | ||
![]() |
9de702c301 | ||
![]() |
a47d6efe41 | ||
![]() |
36253b0045 | ||
![]() |
34e7c33e05 | ||
![]() |
e0a47f0aa3 | ||
![]() |
bce10d447e | ||
![]() |
0d9804fcfe | ||
![]() |
3b7c63183b | ||
![]() |
2d323d94ec | ||
![]() |
ab0ed91c4f | ||
![]() |
31e99bc49b | ||
![]() |
5b27942981 | ||
![]() |
161bafa818 | ||
![]() |
a5241ef1c5 | ||
![]() |
bf3f7dc3b1 | ||
![]() |
7264934136 | ||
![]() |
a0745de096 | ||
![]() |
4f4ec7d477 | ||
![]() |
ba3de8d080 | ||
![]() |
0f8932b125 | ||
![]() |
348354079b | ||
![]() |
48db08192a | ||
![]() |
b6f410e895 | ||
![]() |
1221fec5ab | ||
![]() |
faa805547c | ||
![]() |
fe0ac37ff1 | ||
![]() |
eed391917c | ||
![]() |
76da24386d | ||
![]() |
8e7caf4cd9 | ||
![]() |
7d3040ab76 | ||
![]() |
6a3bf770fb | ||
![]() |
6805b01df2 | ||
![]() |
7520917dcc | ||
![]() |
ec186b0288 | ||
![]() |
c7afd9c427 | ||
![]() |
bd3b022b08 | ||
![]() |
49fcd68f42 | ||
![]() |
1382742c26 | ||
![]() |
9e2441ff53 | ||
![]() |
490dbc725e | ||
![]() |
d9201e2cac | ||
![]() |
52c09646b2 | ||
![]() |
b5d70d5201 | ||
![]() |
7089b9ef7b | ||
![]() |
034d7df9cd | ||
![]() |
f41ac673a3 | ||
![]() |
a7382f9273 | ||
![]() |
cb1465544d | ||
![]() |
796c31eae4 | ||
![]() |
047c2c44d6 | ||
![]() |
1baa841963 |
@ -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."
|
||||||
|
123
CHANGELOG.md
123
CHANGELOG.md
@ -14,8 +14,131 @@ 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
|
||||||
|
|
||||||
|
### 🆕 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
|
||||||
|
|
||||||
|
- configarr ([#4620](https://github.com/community-scripts/ProxmoxVE/pull/4620))
|
||||||
|
- babybuddy ([#4619](https://github.com/community-scripts/ProxmoxVE/pull/4619))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Alpine-Node-RED: Update Service File [@MickLesk](https://github.com/MickLesk) ([#4628](https://github.com/community-scripts/ProxmoxVE/pull/4628))
|
||||||
|
- RustDesk Server: Fix update for older installs [@tremor021](https://github.com/tremor021) ([#4612](https://github.com/community-scripts/ProxmoxVE/pull/4612))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Tandoor Recipes: Capture version information when installing [@jbolla](https://github.com/jbolla) ([#4633](https://github.com/community-scripts/ProxmoxVE/pull/4633))
|
||||||
|
|
||||||
## 2025-05-20
|
## 2025-05-20
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
@ -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
53
ct/argus.sh
Normal 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}"
|
86
ct/babybuddy.sh
Normal file
86
ct/babybuddy.sh
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/babybuddy/babybuddy
|
||||||
|
|
||||||
|
APP="Baby Buddy"
|
||||||
|
var_tags="${var_tags:-baby}"
|
||||||
|
var_disk="${var_disk:-5}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-12}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -d /opt/babybuddy ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/babybuddy/babybuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/babybuddy_version.txt)" ]]; then
|
||||||
|
setup_uv
|
||||||
|
|
||||||
|
msg_info "Stopping Services"
|
||||||
|
systemctl stop nginx
|
||||||
|
systemctl stop uwsgi
|
||||||
|
msg_ok "Services Stopped"
|
||||||
|
|
||||||
|
msg_info "Cleaning old files"
|
||||||
|
cp babybuddy/settings/production.py /tmp/production.py.bak
|
||||||
|
find . -mindepth 1 -maxdepth 1 ! -name '.venv' -exec rm -rf {} +
|
||||||
|
msg_ok "Cleaned old files"
|
||||||
|
|
||||||
|
msg_info "Updating ${APP} to v${RELEASE}"
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
curl -fsSL "https://github.com/babybuddy/babybuddy/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
||||||
|
cd /opt/babybuddy
|
||||||
|
tar zxf "$temp_file" --strip-components=1 -C /opt/babybuddy
|
||||||
|
mv /tmp/production.py.bak babybuddy/settings/production.py
|
||||||
|
cd /opt/babybuddy
|
||||||
|
source .venv/bin/activate
|
||||||
|
$STD uv pip install -r requirements.txt
|
||||||
|
$STD python manage.py migrate
|
||||||
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
msg_ok "Updated ${APP} to v${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Fixing permissions"
|
||||||
|
chown -R www-data:www-data /opt/data
|
||||||
|
chmod 640 /opt/data/db.sqlite3
|
||||||
|
chmod 750 /opt/data
|
||||||
|
msg_ok "Permissions fixed"
|
||||||
|
|
||||||
|
msg_info "Starting Services"
|
||||||
|
systemctl start uwsgi
|
||||||
|
systemctl start nginx
|
||||||
|
msg_ok "Services Started"
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f "$temp_file"
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
|
66
ct/backrest.sh
Normal file
66
ct/backrest.sh
Normal 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}"
|
@ -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}"
|
||||||
@ -55,4 +55,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}/setup${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/setup${CL}"
|
||||||
|
37
ct/cloudflare-ddns.sh
Normal file
37
ct/cloudflare-ddns.sh
Normal 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"
|
66
ct/configarr.sh
Normal file
66
ct/configarr.sh
Normal 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: finkerle
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/raydak-labs/configarr
|
||||||
|
|
||||||
|
APP="Configarr"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-512}"
|
||||||
|
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/configarr ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/raydak-labs/configarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [[ "${RELEASE}" != "$(cat /opt/configarr_version.txt)" ]] || [[ ! -f /opt/configarr_version.txt ]]; then
|
||||||
|
msg_info "Stopping $APP"
|
||||||
|
systemctl stop configarr-task.timer
|
||||||
|
msg_ok "Stopped $APP"
|
||||||
|
|
||||||
|
msg_info "Updating $APP to v${RELEASE}"
|
||||||
|
mkdir -p /opt/backup/
|
||||||
|
mv /opt/configarr/{config.yml,secrets.yml,.env} "/opt/backup/"
|
||||||
|
rm -rf /opt/configarr
|
||||||
|
fetch_and_deploy_gh_release "raydak-labs/configarr"
|
||||||
|
mv /opt/backup/* /opt/configarr/
|
||||||
|
cd /opt/configarr
|
||||||
|
$STD pnpm install
|
||||||
|
$STD pnpm run build
|
||||||
|
msg_ok "Updated $APP to v${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Starting $APP"
|
||||||
|
systemctl start configarr-task.timer
|
||||||
|
msg_ok "Started configarr"
|
||||||
|
|
||||||
|
rm -rf /opt/backup
|
||||||
|
msg_ok "Update Successful"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL (no web-ui):${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8989${CL}"
|
@ -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
|
||||||
@ -69,4 +69,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}:3000${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
||||||
|
@ -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
6
ct/headers/argus
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
___
|
||||||
|
/ | _________ ___ _______
|
||||||
|
/ /| | / ___/ __ `/ / / / ___/
|
||||||
|
/ ___ |/ / / /_/ / /_/ (__ )
|
||||||
|
/_/ |_/_/ \__, /\__,_/____/
|
||||||
|
/____/
|
6
ct/headers/babybuddy
Normal file
6
ct/headers/babybuddy
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
____ __ ____ __ __
|
||||||
|
/ __ )____ _/ /_ __ __ / __ )__ ______/ /___/ /_ __
|
||||||
|
/ __ / __ `/ __ \/ / / / / __ / / / / __ / __ / / / /
|
||||||
|
/ /_/ / /_/ / /_/ / /_/ / / /_/ / /_/ / /_/ / /_/ / /_/ /
|
||||||
|
/_____/\__,_/_.___/\__, / /_____/\__,_/\__,_/\__,_/\__, /
|
||||||
|
/____/ /____/
|
6
ct/headers/backrest
Normal file
6
ct/headers/backrest
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
____ __ __
|
||||||
|
/ __ )____ ______/ /__________ _____/ /_
|
||||||
|
/ __ / __ `/ ___/ //_/ ___/ _ \/ ___/ __/
|
||||||
|
/ /_/ / /_/ / /__/ ,< / / / __(__ ) /_
|
||||||
|
/_____/\__,_/\___/_/|_/_/ \___/____/\__/
|
||||||
|
|
6
ct/headers/cloudflare-ddns
Normal file
6
ct/headers/cloudflare-ddns
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
________ ________ ____ ____ _ _______
|
||||||
|
/ ____/ /___ __ ______/ / __/ /___ _________ / __ \/ __ \/ | / / ___/
|
||||||
|
/ / / / __ \/ / / / __ / /_/ / __ `/ ___/ _ \______/ / / / / / / |/ /\__ \
|
||||||
|
/ /___/ / /_/ / /_/ / /_/ / __/ / /_/ / / / __/_____/ /_/ / /_/ / /| /___/ /
|
||||||
|
\____/_/\____/\__,_/\__,_/_/ /_/\__,_/_/ \___/ /_____/_____/_/ |_//____/
|
||||||
|
|
6
ct/headers/configarr
Normal file
6
ct/headers/configarr
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
______ _____
|
||||||
|
/ ____/___ ____ / __(_)___ _____ ___________
|
||||||
|
/ / / __ \/ __ \/ /_/ / __ `/ __ `/ ___/ ___/
|
||||||
|
/ /___/ /_/ / / / / __/ / /_/ / /_/ / / / /
|
||||||
|
\____/\____/_/ /_/_/ /_/\__, /\__,_/_/ /_/
|
||||||
|
/____/
|
6
ct/headers/freepbx
Normal file
6
ct/headers/freepbx
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
______ ____ ____ _ __
|
||||||
|
/ ____/_______ ___ / __ \/ __ ) |/ /
|
||||||
|
/ /_ / ___/ _ \/ _ \/ /_/ / __ | /
|
||||||
|
/ __/ / / / __/ __/ ____/ /_/ / |
|
||||||
|
/_/ /_/ \___/\___/_/ /_____/_/|_|
|
||||||
|
|
6
ct/headers/kasm
Normal file
6
ct/headers/kasm
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
__ __
|
||||||
|
/ //_/___ __________ ___
|
||||||
|
/ ,< / __ `/ ___/ __ `__ \
|
||||||
|
/ /| / /_/ (__ ) / / / / /
|
||||||
|
/_/ |_\__,_/____/_/ /_/ /_/
|
||||||
|
|
6
ct/headers/pulse
Normal file
6
ct/headers/pulse
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
____ __
|
||||||
|
/ __ \__ __/ /_______
|
||||||
|
/ /_/ / / / / / ___/ _ \
|
||||||
|
/ ____/ /_/ / (__ ) __/
|
||||||
|
/_/ \__,_/_/____/\___/
|
||||||
|
|
@ -1,6 +0,0 @@
|
|||||||
____ ___________ ____ __ _ __ __
|
|
||||||
/ __ \/_ __/ ___// __ \/ /_____| | / /__ / /_
|
|
||||||
/ /_/ / / / \__ \/ /_/ / __/ __ \ | /| / / _ \/ __ \
|
|
||||||
/ _, _/ / / ___/ / ____/ /_/ /_/ / |/ |/ / __/ /_/ /
|
|
||||||
/_/ |_| /_/ /____/_/ \__/\____/|__/|__/\___/_.___/
|
|
||||||
|
|
@ -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
46
ct/kasm.sh
Normal 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}"
|
@ -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
|
||||||
@ -41,4 +41,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:17170${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:17170${CL}"
|
||||||
|
@ -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}"
|
||||||
|
@ -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
|
||||||
|
111
ct/pocketid.sh
111
ct/pocketid.sh
@ -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
79
ct/pulse.sh
Normal 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}"
|
@ -38,7 +38,9 @@ function update_script() {
|
|||||||
msg_info "Stopping $APP"
|
msg_info "Stopping $APP"
|
||||||
systemctl stop rustdesk-hbbr
|
systemctl stop rustdesk-hbbr
|
||||||
systemctl stop rustdesk-hbbs
|
systemctl stop rustdesk-hbbs
|
||||||
systemctl stop rustdesk-api
|
if [[ -f /lib/systemd/system/rustdesk-api.service ]]; then
|
||||||
|
systemctl stop rustdesk-api
|
||||||
|
fi
|
||||||
msg_ok "Stopped $APP"
|
msg_ok "Stopped $APP"
|
||||||
|
|
||||||
msg_info "Updating $APP to v${RELEASE}"
|
msg_info "Updating $APP to v${RELEASE}"
|
||||||
|
35
frontend/public/json/argus.json
Normal file
35
frontend/public/json/argus.json
Normal 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": []
|
||||||
|
}
|
40
frontend/public/json/babybuddy.json
Normal file
40
frontend/public/json/babybuddy.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "Baby Buddy",
|
||||||
|
"slug": "babybuddy",
|
||||||
|
"categories": [
|
||||||
|
23
|
||||||
|
],
|
||||||
|
"date_created": "2025-05-21",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 80,
|
||||||
|
"documentation": "https://docs.baby-buddy.net/",
|
||||||
|
"website": "https://github.com/babybuddy/babybuddy",
|
||||||
|
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/baby-buddy.svg",
|
||||||
|
"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.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/babybuddy.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 2048,
|
||||||
|
"hdd": 5,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": "admin",
|
||||||
|
"password": "admin"
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "for private SSL setup visit: `https://github.com/babybuddy/babybuddy/blob/master/docs/setup/ssl.md`",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
40
frontend/public/json/backrest.json
Normal file
40
frontend/public/json/backrest.json
Normal 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."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -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"
|
||||||
|
44
frontend/public/json/cloudflare-ddns.json
Normal file
44
frontend/public/json/cloudflare-ddns.json
Normal 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 machine’s 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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -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",
|
||||||
|
40
frontend/public/json/configarr.json
Normal file
40
frontend/public/json/configarr.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "Configarr",
|
||||||
|
"slug": "configarr",
|
||||||
|
"categories": [
|
||||||
|
14
|
||||||
|
],
|
||||||
|
"date_created": "2025-05-21",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 8989,
|
||||||
|
"documentation": "https://configarr.raydak.de/docs/intro",
|
||||||
|
"config_path": "/opt/configarr/config.yml",
|
||||||
|
"website": "https://configarr.raydak.de/",
|
||||||
|
"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.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/configarr.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 512,
|
||||||
|
"hdd": 4,
|
||||||
|
"os": "Debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "change secrets file /opt/configarr/secrets.yml",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -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"
|
||||||
}
|
}
|
||||||
|
40
frontend/public/json/freepbx.json
Normal file
40
frontend/public/json/freepbx.json
Normal 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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -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": [
|
||||||
{
|
{
|
||||||
|
44
frontend/public/json/kasm.json
Normal file
44
frontend/public/json/kasm.json
Normal 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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -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"
|
||||||
}
|
}
|
||||||
|
@ -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"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
40
frontend/public/json/pulse.json
Normal file
40
frontend/public/json/pulse.json
Normal 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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -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"
|
||||||
}
|
}
|
||||||
|
@ -1,34 +1,339 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"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",
|
"name": "esphome/esphome",
|
||||||
"version": "2025.4.2",
|
"version": "2025.5.1",
|
||||||
"date": "2025-05-11T22:18:43Z"
|
"date": "2025-05-27T09:01:29Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "mongodb/mongo",
|
"name": "zitadel/zitadel",
|
||||||
"version": "r6.0.24-rc0",
|
"version": "v2.65.10",
|
||||||
"date": "2025-05-20T21:33:16Z"
|
"date": "2025-05-27T08:47:06Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clusterzx/paperless-ai",
|
"name": "Jackett/Jackett",
|
||||||
"version": "v3.0.3",
|
"version": "v0.22.1956",
|
||||||
"date": "2025-05-20T19:37:45Z"
|
"date": "2025-05-27T05:55:21Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "0xERR0R/blocky",
|
"name": "semaphoreui/semaphore",
|
||||||
"version": "v0.26",
|
"version": "v2.14.12",
|
||||||
"date": "2025-05-20T19:34:05Z"
|
"date": "2025-05-27T03:58:59Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "matze/wastebin",
|
"name": "open-webui/open-webui",
|
||||||
"version": "3.1.0",
|
"version": "v0.6.11",
|
||||||
"date": "2025-05-20T19:20:03Z"
|
"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",
|
"name": "MediaBrowser/Emby.Releases",
|
||||||
"version": "4.8.11.0",
|
"version": "4.8.11.0",
|
||||||
"date": "2025-03-10T06:39:11Z"
|
"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",
|
||||||
|
"version": "v3.1.9",
|
||||||
|
"date": "2025-03-01T02:24:33Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "apache/tika",
|
||||||
|
"version": "3.2.0-rc2",
|
||||||
|
"date": "2025-05-21T20:09:07Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "tailscale/tailscale",
|
||||||
|
"version": "v1.84.0",
|
||||||
|
"date": "2025-05-21T19:39:53Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "clusterzx/paperless-ai",
|
||||||
|
"version": "v3.0.4",
|
||||||
|
"date": "2025-05-21T19:03:53Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "mongodb/mongo",
|
||||||
|
"version": "r8.0.10-rc0",
|
||||||
|
"date": "2025-05-21T18:22:25Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ipfs/kubo",
|
||||||
|
"version": "v0.35.0",
|
||||||
|
"date": "2025-05-21T18:00:32Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cockpit-project/cockpit",
|
||||||
|
"version": "339",
|
||||||
|
"date": "2025-05-21T14:49:36Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "theonedev/onedev",
|
||||||
|
"version": "v11.9.9",
|
||||||
|
"date": "2025-05-21T13:13:31Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "glpi-project/glpi",
|
||||||
|
"version": "10.0.18",
|
||||||
|
"date": "2025-02-12T11:07:02Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "inventree/InvenTree",
|
||||||
|
"version": "0.17.12",
|
||||||
|
"date": "2025-05-21T05:44:55Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "diced/zipline",
|
||||||
|
"version": "v4.1.0",
|
||||||
|
"date": "2025-05-21T04:12:44Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "icereed/paperless-gpt",
|
||||||
|
"version": "v0.19.0",
|
||||||
|
"date": "2025-05-21T03:46:14Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "matze/wastebin",
|
||||||
|
"version": "3.1.0",
|
||||||
|
"date": "2025-05-20T19:20:03Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "jenkinsci/jenkins",
|
"name": "jenkinsci/jenkins",
|
||||||
"version": "jenkins-2.511",
|
"version": "jenkins-2.511",
|
||||||
@ -39,11 +344,6 @@
|
|||||||
"version": "v1.130.0",
|
"version": "v1.130.0",
|
||||||
"date": "2025-05-20T15:33:54Z"
|
"date": "2025-05-20T15:33:54Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "syncthing/syncthing",
|
|
||||||
"version": "v1.29.6",
|
|
||||||
"date": "2025-05-06T07:57:02Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "documenso/documenso",
|
"name": "documenso/documenso",
|
||||||
"version": "v1.11.1",
|
"version": "v1.11.1",
|
||||||
@ -59,21 +359,6 @@
|
|||||||
"version": "7.2.7",
|
"version": "7.2.7",
|
||||||
"date": "2025-05-20T11:00:56Z"
|
"date": "2025-05-20T11:00:56Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "mattermost/mattermost",
|
|
||||||
"version": "server/public/v0.1.13",
|
|
||||||
"date": "2025-05-16T03:44:25Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Luligu/matterbridge",
|
|
||||||
"version": "3.0.3",
|
|
||||||
"date": "2025-05-20T06:51:42Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Jackett/Jackett",
|
|
||||||
"version": "v0.22.1930",
|
|
||||||
"date": "2025-05-20T06:38:17Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "crafty-controller/crafty-4",
|
"name": "crafty-controller/crafty-4",
|
||||||
"version": "v4.4.9",
|
"version": "v4.4.9",
|
||||||
@ -84,26 +369,11 @@
|
|||||||
"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",
|
||||||
"date": "2025-05-19T20:45:10Z"
|
"date": "2025-05-19T20:45:10Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "keycloak/keycloak",
|
|
||||||
"version": "26.0.12",
|
|
||||||
"date": "2025-05-15T14:06:52Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "bunkerity/bunkerweb",
|
"name": "bunkerity/bunkerweb",
|
||||||
"version": "v1.6.1",
|
"version": "v1.6.1",
|
||||||
@ -114,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",
|
||||||
@ -154,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",
|
||||||
@ -169,36 +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": "theonedev/onedev",
|
|
||||||
"version": "v11.9.8",
|
|
||||||
"date": "2025-05-17T13:13:22Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "inventree/InvenTree",
|
|
||||||
"version": "0.17.12",
|
|
||||||
"date": "2025-05-17T19:16:00Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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",
|
||||||
@ -224,26 +434,11 @@
|
|||||||
"version": "v0.304.0",
|
"version": "v0.304.0",
|
||||||
"date": "2025-05-17T07:29:09Z"
|
"date": "2025-05-17T07:29:09Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "cross-seed/cross-seed",
|
|
||||||
"version": "v6.12.5",
|
|
||||||
"date": "2025-05-17T02:52:33Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "advplyr/audiobookshelf",
|
"name": "advplyr/audiobookshelf",
|
||||||
"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",
|
||||||
@ -264,21 +459,11 @@
|
|||||||
"version": "e5.10.0-alpha.1",
|
"version": "e5.10.0-alpha.1",
|
||||||
"date": "2025-05-16T13:30:53Z"
|
"date": "2025-05-16T13:30:53Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "wazuh/wazuh",
|
|
||||||
"version": "coverity-w20-4.13.0",
|
|
||||||
"date": "2025-05-14T12:06:20Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "gotson/komga",
|
"name": "gotson/komga",
|
||||||
"version": "1.21.3",
|
"version": "1.21.3",
|
||||||
"date": "2025-05-16T04:31:05Z"
|
"date": "2025-05-16T04:31:05Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "ipfs/kubo",
|
|
||||||
"version": "v0.34.1",
|
|
||||||
"date": "2025-03-25T18:11:12Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "coder/code-server",
|
"name": "coder/code-server",
|
||||||
"version": "v4.100.2",
|
"version": "v4.100.2",
|
||||||
@ -294,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",
|
||||||
@ -309,21 +489,11 @@
|
|||||||
"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",
|
||||||
"date": "2025-05-15T01:49:47Z"
|
"date": "2025-05-15T01:49:47Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "ollama/ollama",
|
|
||||||
"version": "v0.7.0",
|
|
||||||
"date": "2025-05-14T23:42:30Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Ombi-app/Ombi",
|
"name": "Ombi-app/Ombi",
|
||||||
"version": "v4.47.1",
|
"version": "v4.47.1",
|
||||||
@ -344,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",
|
||||||
@ -364,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",
|
||||||
@ -379,11 +539,6 @@
|
|||||||
"version": "8.0.1",
|
"version": "8.0.1",
|
||||||
"date": "2025-05-13T13:31:53Z"
|
"date": "2025-05-13T13:31:53Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "zitadel/zitadel",
|
|
||||||
"version": "v2.65.9",
|
|
||||||
"date": "2025-05-13T05:14:39Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "go-gitea/gitea",
|
"name": "go-gitea/gitea",
|
||||||
"version": "v1.23.8",
|
"version": "v1.23.8",
|
||||||
@ -399,26 +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": "apache/tika",
|
|
||||||
"version": "3.2.0-rc1",
|
|
||||||
"date": "2025-05-12T13:06:47Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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",
|
||||||
@ -434,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",
|
||||||
@ -459,51 +589,21 @@
|
|||||||
"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": "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",
|
||||||
"date": "2025-05-07T14:01:45Z"
|
"date": "2025-05-07T14:01:45Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "glpi-project/glpi",
|
|
||||||
"version": "10.0.18",
|
|
||||||
"date": "2025-02-12T11:07:02Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "ZoeyVid/NPMplus",
|
"name": "ZoeyVid/NPMplus",
|
||||||
"version": "2025-05-07-r1",
|
"version": "2025-05-07-r1",
|
||||||
@ -514,41 +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": "cockpit-project/cockpit",
|
|
||||||
"version": "338",
|
|
||||||
"date": "2025-05-07T10:43:29Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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",
|
||||||
@ -569,41 +644,16 @@
|
|||||||
"version": "REL_13_21",
|
"version": "REL_13_21",
|
||||||
"date": "2025-05-05T20:34:49Z"
|
"date": "2025-05-05T20:34:49Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "msgbyte/tianji",
|
|
||||||
"version": "v1.20.9",
|
|
||||||
"date": "2025-05-05T19:24:09Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "grafana/grafana",
|
|
||||||
"version": "v12.0.0",
|
|
||||||
"date": "2025-05-05T18:28:19Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "apache/couchdb",
|
"name": "apache/couchdb",
|
||||||
"version": "3.5.0",
|
"version": "3.5.0",
|
||||||
"date": "2025-05-05T16:28:24Z"
|
"date": "2025-05-05T16:28:24Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "icereed/paperless-gpt",
|
|
||||||
"version": "v0.18.0",
|
|
||||||
"date": "2025-05-05T15:34:40Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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",
|
||||||
@ -684,11 +734,6 @@
|
|||||||
"version": "v1.2.0",
|
"version": "v1.2.0",
|
||||||
"date": "2025-04-28T17:55:01Z"
|
"date": "2025-04-28T17:55:01Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "immich-app/immich",
|
|
||||||
"version": "v1.132.3",
|
|
||||||
"date": "2025-04-28T14:11:06Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "karakeep-app/karakeep",
|
"name": "karakeep-app/karakeep",
|
||||||
"version": "v0.24.1",
|
"version": "v0.24.1",
|
||||||
@ -704,11 +749,6 @@
|
|||||||
"version": "release-5.1.0",
|
"version": "release-5.1.0",
|
||||||
"date": "2025-04-27T08:53:48Z"
|
"date": "2025-04-27T08:53:48Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "tobychui/zoraxy",
|
|
||||||
"version": "v3.1.9",
|
|
||||||
"date": "2025-03-01T02:24:33Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "openhab/openhab-core",
|
"name": "openhab/openhab-core",
|
||||||
"version": "4.3.5",
|
"version": "4.3.5",
|
||||||
@ -734,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",
|
||||||
@ -769,11 +799,6 @@
|
|||||||
"version": "v2.10.0",
|
"version": "v2.10.0",
|
||||||
"date": "2025-04-18T20:46:28Z"
|
"date": "2025-04-18T20:46:28Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "tailscale/tailscale",
|
|
||||||
"version": "v1.82.5",
|
|
||||||
"date": "2025-04-17T20:59:15Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "TriliumNext/Notes",
|
"name": "TriliumNext/Notes",
|
||||||
"version": "v0.93.0",
|
"version": "v0.93.0",
|
||||||
@ -824,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",
|
||||||
@ -864,11 +884,6 @@
|
|||||||
"version": "v2.31.0",
|
"version": "v2.31.0",
|
||||||
"date": "2025-04-01T18:12:45Z"
|
"date": "2025-04-01T18:12:45Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "diced/zipline",
|
|
||||||
"version": "v4.0.2",
|
|
||||||
"date": "2025-04-01T04:51:05Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Kometa-Team/Kometa",
|
"name": "Kometa-Team/Kometa",
|
||||||
"version": "v2.2.0",
|
"version": "v2.2.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",
|
||||||
|
@ -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).",
|
||||||
|
@ -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
|
||||||
|
@ -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)"
|
||||||
|
@ -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,16 +26,22 @@ 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"
|
||||||
|
mkdir -p /home/nodered
|
||||||
|
chown -R nodered:users /home/nodered
|
||||||
|
chmod 750 /home/nodered
|
||||||
|
msg_ok "Created /home/nodered"
|
||||||
|
|
||||||
msg_info "Creating Node-RED Service"
|
msg_info "Creating Node-RED Service"
|
||||||
service_path="/etc/init.d/nodered"
|
service_path="/etc/init.d/nodered"
|
||||||
|
|
||||||
echo '#!/sbin/openrc-run
|
echo '#!/sbin/openrc-run
|
||||||
description="Node-RED Service"
|
description="Node-RED Service"
|
||||||
|
|
||||||
command="/usr/bin/node-red"
|
command="/usr/local/bin/node-red"
|
||||||
command_args="--max-old-space-size=128 -v"
|
command_args="--max-old-space-size=128 -v"
|
||||||
command_user="nodered"
|
command_user="nodered"
|
||||||
pidfile="/var/run/nodered.pid"
|
pidfile="/var/run/nodered.pid"
|
||||||
@ -49,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
|
||||||
|
@ -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"
|
||||||
|
@ -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
100
install/argus-install.sh
Normal 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"
|
@ -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)"
|
||||||
|
108
install/babybuddy-install.sh
Normal file
108
install/babybuddy-install.sh
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
#!/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://github.com/babybuddy/babybuddy
|
||||||
|
|
||||||
|
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 \
|
||||||
|
uwsgi \
|
||||||
|
uwsgi-plugin-python3 \
|
||||||
|
libopenjp2-7-dev \
|
||||||
|
libpq-dev \
|
||||||
|
nginx \
|
||||||
|
python3
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
setup_uv
|
||||||
|
|
||||||
|
msg_info "Installing Babybuddy"
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/babybuddy/babybuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
mkdir -p /opt/{babybuddy,data}
|
||||||
|
curl -fsSL "https://github.com/babybuddy/babybuddy/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
||||||
|
tar zxf "$temp_file" --strip-components=1 -C /opt/babybuddy
|
||||||
|
cd /opt/babybuddy
|
||||||
|
$STD uv venv .venv
|
||||||
|
$STD source .venv/bin/activate
|
||||||
|
$STD uv pip install -r requirements.txt
|
||||||
|
cp babybuddy/settings/production.example.py babybuddy/settings/production.py
|
||||||
|
SECRET_KEY=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)
|
||||||
|
ALLOWED_HOSTS=$(hostname -I | tr ' ' ',' | sed 's/,$//')",127.0.0.1,localhost"
|
||||||
|
sed -i \
|
||||||
|
-e "s/^SECRET_KEY = \"\"/SECRET_KEY = \"$SECRET_KEY\"/" \
|
||||||
|
-e "s/^ALLOWED_HOSTS = \[\"\"\]/ALLOWED_HOSTS = \[$(echo \"$ALLOWED_HOSTS\" | sed 's/,/\",\"/g')\]/" \
|
||||||
|
babybuddy/settings/production.py
|
||||||
|
|
||||||
|
export DJANGO_SETTINGS_MODULE=babybuddy.settings.production
|
||||||
|
$STD python manage.py migrate
|
||||||
|
chown -R www-data:www-data /opt/data
|
||||||
|
chmod 640 /opt/data/db.sqlite3
|
||||||
|
chmod 750 /opt/data
|
||||||
|
msg_ok "Installed Babybuddy"
|
||||||
|
|
||||||
|
msg_info "Configuring uWSGI"
|
||||||
|
cat <<EOF >/etc/uwsgi/apps-available/babybuddy.ini
|
||||||
|
[uwsgi]
|
||||||
|
plugins = python3
|
||||||
|
project = babybuddy
|
||||||
|
base_dir = /opt/babybuddy
|
||||||
|
chdir = %(base_dir)
|
||||||
|
virtualenv = %(base_dir)/.venv
|
||||||
|
module = %(project).wsgi:application
|
||||||
|
env = DJANGO_SETTINGS_MODULE=%(project).settings.production
|
||||||
|
master = True
|
||||||
|
vacuum = True
|
||||||
|
socket = /var/run/uwsgi/app/babybuddy/socket
|
||||||
|
chmod-socket = 660
|
||||||
|
uid = www-data
|
||||||
|
gid = www-data
|
||||||
|
EOF
|
||||||
|
ln -sf /etc/uwsgi/apps-available/babybuddy.ini /etc/uwsgi/apps-enabled/babybuddy.ini
|
||||||
|
service uwsgi restart
|
||||||
|
msg_ok "Configured uWSGI"
|
||||||
|
|
||||||
|
msg_info "Configuring NGINX"
|
||||||
|
cat <<EOF >/etc/nginx/sites-available/babybuddy
|
||||||
|
upstream babybuddy {
|
||||||
|
server unix:///var/run/uwsgi/app/babybuddy/socket;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name _;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
uwsgi_pass babybuddy;
|
||||||
|
include uwsgi_params;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /media {
|
||||||
|
alias /opt/data/media;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
ln -sf /etc/nginx/sites-available/babybuddy /etc/nginx/sites-enabled/babybuddy
|
||||||
|
rm /etc/nginx/sites-enabled/default
|
||||||
|
systemctl enable -q --now nginx
|
||||||
|
service nginx reload
|
||||||
|
msg_ok "Configured NGINX"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f "$temp_file"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
54
install/backrest-install.sh
Normal file
54
install/backrest-install.sh
Normal 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"
|
@ -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) }')
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
@ -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 '/+=')
|
||||||
|
@ -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
|
||||||
|
87
install/cloudflare-ddns-install.sh
Normal file
87
install/cloudflare-ddns-install.sh
Normal 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"
|
70
install/configarr-install.sh
Normal file
70
install/configarr-install.sh
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: finkerle
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/raydak-labs/configarr
|
||||||
|
|
||||||
|
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 \
|
||||||
|
git
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
NODE_MODULE="pnpm@latest" install_node_and_modules
|
||||||
|
fetch_and_deploy_gh_release "raydak-labs/configarr"
|
||||||
|
|
||||||
|
msg_info "Setup ${APPLICATION}"
|
||||||
|
cat <<EOF >/opt/configarr/.env
|
||||||
|
ROOT_PATH=/opt/configarr
|
||||||
|
CUSTOM_REPO_ROOT=/opt/configarr/repos
|
||||||
|
CONFIG_LOCATION=/opt/configarr/config.yml
|
||||||
|
SECRETS_LOCATION=/opt/configarr/secrets.yml
|
||||||
|
EOF
|
||||||
|
mv /opt/configarr/secrets.yml.template /opt/configarr/secrets.yml
|
||||||
|
sed 's|#localConfigTemplatesPath: /app/templates|#localConfigTemplatesPath: /opt/configarr/templates|' /opt/configarr/config.yml.template >/opt/configarr/config.yml
|
||||||
|
cd /opt/configarr
|
||||||
|
$STD pnpm install
|
||||||
|
$STD pnpm run build
|
||||||
|
msg_ok "Setup ${APPLICATION}"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<EOF >/etc/systemd/system/configarr-task.service
|
||||||
|
[Unit]
|
||||||
|
Description=Run Configarr Task
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
WorkingDirectory=/opt/configarr
|
||||||
|
ExecStart=/usr/bin/node /opt/configarr/bundle.cjs
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat <<EOF >/etc/systemd/system/configarr-task.timer
|
||||||
|
[Unit]
|
||||||
|
Description=Run Configarr every 5 minutes
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnBootSec=2min
|
||||||
|
OnUnitActiveSec=5min
|
||||||
|
Persistent=true
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now configarr-task.timer configarr-task.service
|
||||||
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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)"
|
||||||
|
@ -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"
|
||||||
|
@ -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;"
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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)
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
@ -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 \
|
||||||
|
28
install/freepbx-install.sh
Normal file
28
install/freepbx-install.sh
Normal 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"
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
@ -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)
|
||||||
|
@ -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) }')
|
||||||
|
@ -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)
|
||||||
|
@ -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) }')
|
||||||
|
@ -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"
|
||||||
|
@ -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)
|
||||||
|
@ -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
33
install/kasm-install.sh
Normal 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"
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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}"
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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 \
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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)"
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user