mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-11-07 20:02:49 +00:00
Compare commits
40 Commits
zabbix_fix
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3f04a6df3b | ||
|
|
1ba79a3d8d | ||
|
|
baa4344663 | ||
|
|
82b9cac71a | ||
|
|
9c7d09d368 | ||
|
|
a4c8a315cc | ||
|
|
faeedc729e | ||
|
|
dfcc26e18d | ||
|
|
ea756dc87e | ||
|
|
96fb53514d | ||
|
|
aeaefe2ec0 | ||
|
|
0ea12a3485 | ||
|
|
f957cb9d21 | ||
|
|
ce33e59bf7 | ||
|
|
af432445e1 | ||
|
|
a68cfab83f | ||
|
|
d1ca42a403 | ||
|
|
2909a570b3 | ||
|
|
a545cad897 | ||
|
|
b7bc5831b4 | ||
|
|
d4d175d689 | ||
|
|
b16501652c | ||
|
|
003d6327de | ||
|
|
602fbaf79e | ||
|
|
0458d07744 | ||
|
|
af3feb69bf | ||
|
|
150f0ee456 | ||
|
|
b5cf70230f | ||
|
|
67d8bc2828 | ||
|
|
cc16f4bb94 | ||
|
|
1e679be149 | ||
|
|
6add81de6a | ||
|
|
66f81a5894 | ||
|
|
72391a96a8 | ||
|
|
890ef7a4a1 | ||
|
|
0f16576ea6 | ||
|
|
b61756f259 | ||
|
|
3fa9a2add6 | ||
|
|
4eedff17b6 | ||
|
|
cad5b3e059 |
45
CHANGELOG.md
45
CHANGELOG.md
@@ -10,10 +10,54 @@
|
|||||||
> [!CAUTION]
|
> [!CAUTION]
|
||||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
||||||
|
|
||||||
|
## 2025-11-07
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- infisical ([#8926](https://github.com/community-scripts/ProxmoxVE/pull/8926))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Update script URLs to ProxmoxVE repository [@MickLesk](https://github.com/MickLesk) ([#8946](https://github.com/community-scripts/ProxmoxVE/pull/8946))
|
||||||
|
- tools.func: fix amd64 arm64 mismatch [@MickLesk](https://github.com/MickLesk) ([#8943](https://github.com/community-scripts/ProxmoxVE/pull/8943))
|
||||||
|
- ghostfolio: refactor CoinGecko key prompts in installer [@MickLesk](https://github.com/MickLesk) ([#8935](https://github.com/community-scripts/ProxmoxVE/pull/8935))
|
||||||
|
- flaresolverr: pin release to 3.4.3 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8937](https://github.com/community-scripts/ProxmoxVE/pull/8937))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Pangolin: Add Traefik proxy [@tremor021](https://github.com/tremor021) ([#8952](https://github.com/community-scripts/ProxmoxVE/pull/8952))
|
||||||
|
|
||||||
|
## 2025-11-06
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- OpenProject: Remove duplicate server_path_prefix configuration [@tremor021](https://github.com/tremor021) ([#8919](https://github.com/community-scripts/ProxmoxVE/pull/8919))
|
||||||
|
- Grist: Fix change directory to /opt/grist before build steps [@tremor021](https://github.com/tremor021) ([#8913](https://github.com/community-scripts/ProxmoxVE/pull/8913))
|
||||||
|
- Jotty hotfix: SSO_FALLBACK_LOCAL value [@vhsdream](https://github.com/vhsdream) ([#8907](https://github.com/community-scripts/ProxmoxVE/pull/8907))
|
||||||
|
- npm: add Debian version check to update script [@MickLesk](https://github.com/MickLesk) ([#8901](https://github.com/community-scripts/ProxmoxVE/pull/8901))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- MongoDB: install script now use setup_mongodb [@MickLesk](https://github.com/MickLesk) ([#8897](https://github.com/community-scripts/ProxmoxVE/pull/8897))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Refactor: Graylog [@tremor021](https://github.com/tremor021) ([#8912](https://github.com/community-scripts/ProxmoxVE/pull/8912))
|
||||||
|
|
||||||
## 2025-11-05
|
## 2025-11-05
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Immich: Pin version to 2.2.3 [@vhsdream](https://github.com/vhsdream) ([#8861](https://github.com/community-scripts/ProxmoxVE/pull/8861))
|
||||||
|
- Jotty: increase RAM to 4GB [@vhsdream](https://github.com/vhsdream) ([#8887](https://github.com/community-scripts/ProxmoxVE/pull/8887))
|
||||||
|
- Zabbix: fix agent service recognition in update [@MickLesk](https://github.com/MickLesk) ([#8881](https://github.com/community-scripts/ProxmoxVE/pull/8881))
|
||||||
|
|
||||||
- #### 💥 Breaking Changes
|
- #### 💥 Breaking Changes
|
||||||
|
|
||||||
- fix: npm: refactor for v2.13.x [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8870](https://github.com/community-scripts/ProxmoxVE/pull/8870))
|
- fix: npm: refactor for v2.13.x [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8870](https://github.com/community-scripts/ProxmoxVE/pull/8870))
|
||||||
@@ -27,6 +71,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
- #### 📝 Script Information
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- npm: Increase RAM and HDD, update Certbot notes [@MickLesk](https://github.com/MickLesk) ([#8882](https://github.com/community-scripts/ProxmoxVE/pull/8882))
|
||||||
- Update config_path in donetick.json [@fyxtro](https://github.com/fyxtro) ([#8872](https://github.com/community-scripts/ProxmoxVE/pull/8872))
|
- Update config_path in donetick.json [@fyxtro](https://github.com/fyxtro) ([#8872](https://github.com/community-scripts/ProxmoxVE/pull/8872))
|
||||||
|
|
||||||
## 2025-11-04
|
## 2025-11-04
|
||||||
|
|||||||
@@ -33,13 +33,13 @@ function update_script() {
|
|||||||
msg_error "You must upgrade your LXC to Debian Trixie before updating."
|
msg_error "You must upgrade your LXC to Debian Trixie before updating."
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr"; then
|
if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "3.4.3"; then
|
||||||
msg_info "Stopping service"
|
msg_info "Stopping service"
|
||||||
systemctl stop flaresolverr
|
systemctl stop flaresolverr
|
||||||
msg_ok "Stopped service"
|
msg_ok "Stopped service"
|
||||||
|
|
||||||
rm -rf /opt/flaresolverr
|
rm -rf /opt/flaresolverr
|
||||||
fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "latest" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz"
|
fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "v3.4.3" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz"
|
||||||
|
|
||||||
msg_info "Starting service"
|
msg_info "Starting service"
|
||||||
systemctl start flaresolverr
|
systemctl start flaresolverr
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
|||||||
var_ram="${var_ram:-8192}"
|
var_ram="${var_ram:-8192}"
|
||||||
var_disk="${var_disk:-30}"
|
var_disk="${var_disk:-30}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-13}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@@ -28,15 +28,32 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Stopping Service"
|
msg_info "Stopping Service"
|
||||||
systemctl stop graylog-datanode
|
systemctl stop graylog-datanode
|
||||||
systemctl stop graylog-server
|
systemctl stop graylog-server
|
||||||
msg_info "Stopped Service"
|
msg_info "Stopped Service"
|
||||||
|
|
||||||
msg_info "Updating $APP"
|
CURRENT_VERSION=$(apt list --installed 2>/dev/null | grep graylog-server | grep -oP '\d+\.\d+\.\d+')
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get upgrade -y
|
if dpkg --compare-versions "$CURRENT_VERSION" lt "6.3"; then
|
||||||
msg_ok "Updated $APP"
|
MONGO_VERSION="8.0" setup_mongodb
|
||||||
|
|
||||||
|
msg_info "Updating Graylog"
|
||||||
|
$STD apt update
|
||||||
|
$STD apt upgrade -y
|
||||||
|
curl -fsSL "https://packages.graylog2.org/repo/packages/graylog-7.0-repository_latest.deb" -o "graylog-7.0-repository_latest.deb"
|
||||||
|
$STD dpkg -i graylog-7.0-repository_latest.deb
|
||||||
|
$STD apt update
|
||||||
|
$STD apt install -y graylog-server graylog-datanode
|
||||||
|
rm -f graylog-7.0-repository_latest.deb
|
||||||
|
msg_ok "Updated Graylog"
|
||||||
|
elif dpkg --compare-versions "$CURRENT_VERSION" ge "7.0"; then
|
||||||
|
msg_info "Updating Graylog"
|
||||||
|
$STD apt update
|
||||||
|
$STD apt upgrade -y
|
||||||
|
msg_ok "Updated Graylog"
|
||||||
|
fi
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start graylog-datanode
|
systemctl start graylog-datanode
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ function update_script() {
|
|||||||
cp -r /opt/grist_bak/docs/* /opt/grist/docs/
|
cp -r /opt/grist_bak/docs/* /opt/grist/docs/
|
||||||
cp /opt/grist_bak/grist-sessions.db /opt/grist/grist-sessions.db
|
cp /opt/grist_bak/grist-sessions.db /opt/grist/grist-sessions.db
|
||||||
cp /opt/grist_bak/landing.db /opt/grist/landing.db
|
cp /opt/grist_bak/landing.db /opt/grist/landing.db
|
||||||
|
cd /opt/grist
|
||||||
$STD yarn install
|
$STD yarn install
|
||||||
$STD yarn run build:prod
|
$STD yarn run build:prod
|
||||||
$STD yarn run install:python
|
$STD yarn run install:python
|
||||||
|
|||||||
6
ct/headers/infisical
Normal file
6
ct/headers/infisical
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
____ _____ _ __
|
||||||
|
/ _/___ / __(_)____(_)________ _/ /
|
||||||
|
/ // __ \/ /_/ / ___/ / ___/ __ `/ /
|
||||||
|
_/ // / / / __/ (__ ) / /__/ /_/ / /
|
||||||
|
/___/_/ /_/_/ /_/____/_/\___/\__,_/_/
|
||||||
|
|
||||||
@@ -93,7 +93,7 @@ EOF
|
|||||||
msg_ok "Image-processing libraries up to date"
|
msg_ok "Image-processing libraries up to date"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RELEASE="2.2.2"
|
RELEASE="2.2.3"
|
||||||
if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then
|
if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then
|
||||||
msg_info "Stopping Services"
|
msg_info "Stopping Services"
|
||||||
systemctl stop immich-web
|
systemctl stop immich-web
|
||||||
|
|||||||
60
ct/infisical.sh
Normal file
60
ct/infisical.sh
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://infisical.com/
|
||||||
|
|
||||||
|
APP="Infisical"
|
||||||
|
var_tags="${var_tags:-auth}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-6}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -d /etc/infisical ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_info "Stopping service"
|
||||||
|
$STD infisical-ctl stop
|
||||||
|
msg_ok "Service stopped"
|
||||||
|
|
||||||
|
msg_info "Creating backup"
|
||||||
|
DB_PASS=$(grep -Po '(?<=^Database Password:\s).*' ~/infisical.creds | head -n1)
|
||||||
|
PGPASSWORD=$DB_PASS pg_dump -U infisical -h localhost -d infisical_db > /opt/infisical_backup.sql
|
||||||
|
msg_ok "Created backup"
|
||||||
|
|
||||||
|
msg_info "Updating Infisical"
|
||||||
|
$STD apt update
|
||||||
|
$STD apt install -y infisical-core
|
||||||
|
$STD infisical-ctl reconfigure
|
||||||
|
msg_ok "Updated Infisical"
|
||||||
|
|
||||||
|
msg_info "Starting service"
|
||||||
|
infisical-ctl start
|
||||||
|
msg_ok "Started service"
|
||||||
|
msg_ok "Updated successfully"
|
||||||
|
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}:8080${CL}"
|
||||||
@@ -8,7 +8,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
APP="jotty"
|
APP="jotty"
|
||||||
var_tags="${var_tags:-tasks;notes}"
|
var_tags="${var_tags:-tasks;notes}"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-3072}"
|
var_ram="${var_ram:-4096}"
|
||||||
var_disk="${var_disk:-6}"
|
var_disk="${var_disk:-6}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-13}"
|
var_version="${var_version:-13}"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/refs/heads/main/misc/build.func)
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/refs/heads/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: dkuku
|
# Author: dkuku
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -28,6 +28,12 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ $(grep -E '^VERSION_ID=' /etc/os-release) == *"12"* ]]; then
|
||||||
|
msg_error "Wrong Debian version detected!"
|
||||||
|
msg_error "Please create a snapshot first. You must upgrade your LXC to Debian Trixie before updating. Visit: https://github.com/community-scripts/ProxmoxVE/discussions/7489"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
if command -v node &>/dev/null; then
|
if command -v node &>/dev/null; then
|
||||||
CURRENT_NODE_VERSION=$(node --version | cut -d'v' -f2 | cut -d'.' -f1)
|
CURRENT_NODE_VERSION=$(node --version | cut -d'v' -f2 | cut -d'.' -f1)
|
||||||
if [[ "$CURRENT_NODE_VERSION" != "22" ]]; then
|
if [[ "$CURRENT_NODE_VERSION" != "22" ]]; then
|
||||||
|
|||||||
@@ -21,52 +21,52 @@ 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/pangolin ]]; then
|
if [[ ! -d /opt/pangolin ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
if check_for_gh_release "pangolin" "fosrl/pangolin"; then
|
|
||||||
msg_info "Stopping Service"
|
|
||||||
systemctl stop pangolin
|
|
||||||
systemctl stop gerbil
|
|
||||||
msg_info "Service stopped"
|
|
||||||
|
|
||||||
msg_info "Creating backup"
|
|
||||||
tar -czf /opt/pangolin_config_backup.tar.gz -C /opt/pangolin config
|
|
||||||
msg_ok "Created backup"
|
|
||||||
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "pangolin" "fosrl/pangolin" "tarball"
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gerbil" "fosrl/gerbil" "singlefile" "latest" "/usr/bin" "gerbil_linux_amd64"
|
|
||||||
|
|
||||||
msg_info "Updating Pangolin"
|
|
||||||
cd /opt/pangolin
|
|
||||||
$STD npm ci
|
|
||||||
$STD npm run set:sqlite
|
|
||||||
$STD npm run set:oss
|
|
||||||
rm -rf server/private
|
|
||||||
$STD npm run build:sqlite
|
|
||||||
$STD npm run build:cli
|
|
||||||
cp -R .next/standalone ./
|
|
||||||
chmod +x ./dist/cli.mjs
|
|
||||||
cp server/db/names.json ./dist/names.json
|
|
||||||
msg_ok "Updated Pangolin"
|
|
||||||
|
|
||||||
msg_info "Restoring config"
|
|
||||||
tar -xzf /opt/pangolin_config_backup.tar.gz -C /opt/pangolin --overwrite
|
|
||||||
rm -f /opt/pangolin_config_backup.tar.gz
|
|
||||||
msg_ok "Restored config"
|
|
||||||
|
|
||||||
msg_info "Starting Services"
|
|
||||||
systemctl start pangolin
|
|
||||||
systemctl start gerbil
|
|
||||||
msg_ok "Started Services"
|
|
||||||
msg_ok "Updated successfully!"
|
|
||||||
fi
|
|
||||||
exit
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "pangolin" "fosrl/pangolin"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop pangolin
|
||||||
|
systemctl stop gerbil
|
||||||
|
msg_info "Service stopped"
|
||||||
|
|
||||||
|
msg_info "Creating backup"
|
||||||
|
tar -czf /opt/pangolin_config_backup.tar.gz -C /opt/pangolin config
|
||||||
|
msg_ok "Created backup"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "pangolin" "fosrl/pangolin" "tarball"
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gerbil" "fosrl/gerbil" "singlefile" "latest" "/usr/bin" "gerbil_linux_amd64"
|
||||||
|
|
||||||
|
msg_info "Updating Pangolin"
|
||||||
|
cd /opt/pangolin
|
||||||
|
$STD npm ci
|
||||||
|
$STD npm run set:sqlite
|
||||||
|
$STD npm run set:oss
|
||||||
|
rm -rf server/private
|
||||||
|
$STD npm run build:sqlite
|
||||||
|
$STD npm run build:cli
|
||||||
|
cp -R .next/standalone ./
|
||||||
|
chmod +x ./dist/cli.mjs
|
||||||
|
cp server/db/names.json ./dist/names.json
|
||||||
|
msg_ok "Updated Pangolin"
|
||||||
|
|
||||||
|
msg_info "Restoring config"
|
||||||
|
tar -xzf /opt/pangolin_config_backup.tar.gz -C /opt/pangolin --overwrite
|
||||||
|
rm -f /opt/pangolin_config_backup.tar.gz
|
||||||
|
msg_ok "Restored config"
|
||||||
|
|
||||||
|
msg_info "Starting Services"
|
||||||
|
systemctl start pangolin
|
||||||
|
systemctl start gerbil
|
||||||
|
msg_ok "Started Services"
|
||||||
|
msg_ok "Updated successfully!"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
@@ -76,4 +76,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}:3002${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}https://<YOUR_PANGOLIN_URL>${CL}"
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ function update_script() {
|
|||||||
msg_ok "Backup created"
|
msg_ok "Backup created"
|
||||||
|
|
||||||
msg_info "Installing sonarqube"
|
msg_info "Installing sonarqube"
|
||||||
|
temp_file=$(mktemp)
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/SonarSource/sonarqube/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/SonarSource/sonarqube/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
curl -fsSL "https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-${RELEASE}.zip" -o $temp_file
|
curl -fsSL "https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-${RELEASE}.zip" -o $temp_file
|
||||||
unzip -q "$temp_file" -d /opt
|
unzip -q "$temp_file" -d /opt
|
||||||
|
|||||||
@@ -1,44 +1,44 @@
|
|||||||
{
|
{
|
||||||
"name": "Graylog",
|
"name": "Graylog",
|
||||||
"slug": "graylog",
|
"slug": "graylog",
|
||||||
"categories": [
|
"categories": [
|
||||||
9
|
9
|
||||||
],
|
],
|
||||||
"date_created": "2025-02-12",
|
"date_created": "2025-02-12",
|
||||||
"type": "ct",
|
"type": "ct",
|
||||||
"updateable": true,
|
"updateable": true,
|
||||||
"privileged": false,
|
"privileged": false,
|
||||||
"interface_port": 9000,
|
"interface_port": 9000,
|
||||||
"documentation": "https://go2docs.graylog.org/current/home.htm",
|
"documentation": "https://go2docs.graylog.org/current/home.htm",
|
||||||
"website": "https://graylog.org/",
|
"website": "https://graylog.org/",
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/graylog.webp",
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/graylog.webp",
|
||||||
"config_path": "/etc/graylog/server/server.conf",
|
"config_path": "/etc/graylog/server/server.conf",
|
||||||
"description": "Graylog is an open-source log management and analysis platform that centralizes and processes log data from various sources, enabling real-time search, analysis, and alerting for IT infrastructure monitoring and troubleshooting.",
|
"description": "Graylog is an open-source log management and analysis platform that centralizes and processes log data from various sources, enabling real-time search, analysis, and alerting for IT infrastructure monitoring and troubleshooting.",
|
||||||
"install_methods": [
|
"install_methods": [
|
||||||
{
|
{
|
||||||
"type": "default",
|
"type": "default",
|
||||||
"script": "ct/graylog.sh",
|
"script": "ct/graylog.sh",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 2,
|
"cpu": 2,
|
||||||
"ram": 8192,
|
"ram": 8192,
|
||||||
"hdd": 30,
|
"hdd": 30,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "13"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"default_credentials": {
|
"default_credentials": {
|
||||||
"username": null,
|
"username": null,
|
||||||
"password": null
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Initial Setup credentials: `tail /var/log/graylog-server/server.log` after the server starts for the first time.",
|
||||||
|
"type": "info"
|
||||||
},
|
},
|
||||||
"notes": [
|
{
|
||||||
{
|
"text": "Type `cat ~/graylog.creds` to get admin password that you use to log in AFTER the Initial Setup",
|
||||||
"text": "Initial Setup credentials: `tail /var/log/graylog-server/server.log` after the server starts for the first time.",
|
"type": "info"
|
||||||
"type": "info"
|
}
|
||||||
},
|
]
|
||||||
{
|
|
||||||
"text": "Type `cat ~/graylog.creds` to get admin password that you use to log in AFTER the Initial Setup",
|
|
||||||
"type": "info"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|||||||
35
frontend/public/json/infisical.json
Normal file
35
frontend/public/json/infisical.json
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"name": "Infisical",
|
||||||
|
"slug": "infisical",
|
||||||
|
"categories": [
|
||||||
|
6
|
||||||
|
],
|
||||||
|
"date_created": "2025-11-07",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 8080,
|
||||||
|
"documentation": "https://infisical.com/docs/documentation/getting-started/overview",
|
||||||
|
"config_path": "/etc/infisical/infisical.rb",
|
||||||
|
"website": "https://infisical.com/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/infisical.webp",
|
||||||
|
"description": "Secrets, certificates, and access management on autopilot. All-in-one platform to securely manage application secrets, certificates, SSH keys, and configurations across your team and infrastructure.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/infisical.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 2048,
|
||||||
|
"hdd": 6,
|
||||||
|
"os": "Debian",
|
||||||
|
"version": "13"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": []
|
||||||
|
}
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
"script": "ct/jotty.sh",
|
"script": "ct/jotty.sh",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 2,
|
"cpu": 2,
|
||||||
"ram": 3072,
|
"ram": 4096,
|
||||||
"hdd": 6,
|
"hdd": 6,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "13"
|
"version": "13"
|
||||||
|
|||||||
@@ -20,8 +20,8 @@
|
|||||||
"script": "ct/nginxproxymanager.sh",
|
"script": "ct/nginxproxymanager.sh",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 2,
|
"cpu": 2,
|
||||||
"ram": 1024,
|
"ram": 2048,
|
||||||
"hdd": 4,
|
"hdd": 8,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "13"
|
"version": "13"
|
||||||
}
|
}
|
||||||
@@ -33,12 +33,8 @@
|
|||||||
},
|
},
|
||||||
"notes": [
|
"notes": [
|
||||||
{
|
{
|
||||||
"text": "Since there are hundreds of Certbot instances, it's necessary to install the specific Certbot of your preference. Running `/app/scripts/install-certbot-plugins` within the nginxproxymanager LXC shell will install many additional plugins.",
|
"text": "You can install the specific one certbot you prefer, or you can Running /app/scripts/install-certbot-plugins within the Nginx Proxy Manager (NPM) LXC shell will install many common plugins. Important: This script does not install all Certbot plugins, as some require additional, external system dependencies (like specific packages for certain DNS providers). These external dependencies must be manually installed within the LXC container before you can successfully install and use the corresponding Certbot plugin. Consult the plugin's documentation for required packages.",
|
||||||
"type": "warning"
|
"type": "info"
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.",
|
|
||||||
"type": "warning"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
"type": "ct",
|
"type": "ct",
|
||||||
"updateable": true,
|
"updateable": true,
|
||||||
"privileged": false,
|
"privileged": false,
|
||||||
"interface_port": 3002,
|
"interface_port": 443,
|
||||||
"documentation": "https://docs.pangolin.net/",
|
"documentation": "https://docs.pangolin.net/",
|
||||||
"config_path": "/opt/pangolin/config/config.yml",
|
"config_path": "/opt/pangolin/config/config.yml",
|
||||||
"website": "https://pangolin.net/",
|
"website": "https://pangolin.net/",
|
||||||
|
|||||||
@@ -1,14 +1,244 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"name": "fuma-nama/fumadocs",
|
||||||
|
"version": "fumadocs-core@16.0.8",
|
||||||
|
"date": "2025-11-07T11:23:47Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "element-hq/synapse",
|
||||||
|
"version": "v1.142.0rc4",
|
||||||
|
"date": "2025-11-07T11:19:40Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Paymenter/Paymenter",
|
||||||
|
"version": "v1.4.3",
|
||||||
|
"date": "2025-11-07T11:07:17Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cloudflare/cloudflared",
|
||||||
|
"version": "2025.11.0",
|
||||||
|
"date": "2025-11-07T10:19:35Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "openobserve/openobserve",
|
||||||
|
"version": "v0.16.0",
|
||||||
|
"date": "2025-11-07T09:42:01Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wazuh/wazuh",
|
||||||
|
"version": "coverity-w45-4.14.1",
|
||||||
|
"date": "2025-11-05T16:56:57Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "keycloak/keycloak",
|
||||||
|
"version": "26.4.4",
|
||||||
|
"date": "2025-11-07T08:55:27Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "mattermost/mattermost",
|
||||||
|
"version": "v10.11.6",
|
||||||
|
"date": "2025-11-04T09:43:16Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "umami-software/umami",
|
||||||
|
"version": "v3.0.0",
|
||||||
|
"date": "2025-11-07T06:13:49Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jackett/Jackett",
|
||||||
|
"version": "v0.24.255",
|
||||||
|
"date": "2025-11-07T05:55:20Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "documenso/documenso",
|
||||||
|
"version": "v2.0.0",
|
||||||
|
"date": "2025-11-07T04:44:34Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "OliveTin/OliveTin",
|
||||||
|
"version": "3000.3.2",
|
||||||
|
"date": "2025-11-07T01:05:59Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "jeedom/core",
|
||||||
|
"version": "4.4.20",
|
||||||
|
"date": "2025-11-07T00:27:13Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "steveiliop56/tinyauth",
|
||||||
|
"version": "v4.0.1",
|
||||||
|
"date": "2025-10-15T16:53:55Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "FlowiseAI/Flowise",
|
||||||
|
"version": "flowise@3.0.10",
|
||||||
|
"date": "2025-11-06T23:10:38Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Ombi-app/Ombi",
|
||||||
|
"version": "v4.52.0",
|
||||||
|
"date": "2025-11-06T22:39:26Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "rcourtman/Pulse",
|
||||||
|
"version": "v4.26.4",
|
||||||
|
"date": "2025-11-06T22:38:52Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "open-webui/open-webui",
|
||||||
|
"version": "v0.6.36",
|
||||||
|
"date": "2025-11-06T21:45:33Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "paperless-ngx/paperless-ngx",
|
||||||
|
"version": "v2.19.5",
|
||||||
|
"date": "2025-11-06T20:20:13Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "chrisbenincasa/tunarr",
|
||||||
|
"version": "v0.22.12",
|
||||||
|
"date": "2025-11-06T18:43:51Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "MariaDB/server",
|
||||||
|
"version": "mariadb-11.8.4",
|
||||||
|
"date": "2025-11-06T17:24:30Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "chrisvel/tududi",
|
||||||
|
"version": "v0.85.1",
|
||||||
|
"date": "2025-10-31T10:45:26Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "HabitRPG/habitica",
|
||||||
|
"version": "v5.41.6",
|
||||||
|
"date": "2025-11-06T15:32:07Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pocket-id/pocket-id",
|
||||||
|
"version": "v1.15.0",
|
||||||
|
"date": "2025-11-06T15:03:22Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wizarrrr/wizarr",
|
||||||
|
"version": "v2025.11.2",
|
||||||
|
"date": "2025-11-06T12:08:24Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "meilisearch/meilisearch",
|
||||||
|
"version": "prototype-v1.24.0.s3-snapshots-5",
|
||||||
|
"date": "2025-11-06T11:43:12Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "transmission/transmission",
|
||||||
|
"version": "4.0.1-beta.1",
|
||||||
|
"date": "2024-12-13T00:16:24Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "semaphoreui/semaphore",
|
||||||
|
"version": "v2.17.0-beta20",
|
||||||
|
"date": "2025-11-06T10:49:56Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "SigNoz/signoz",
|
||||||
|
"version": "v0.100.1",
|
||||||
|
"date": "2025-11-06T07:53:11Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "apache/tomcat",
|
||||||
|
"version": "9.0.112",
|
||||||
|
"date": "2025-11-06T07:49:59Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Kozea/Radicale",
|
||||||
|
"version": "v3.5.8",
|
||||||
|
"date": "2025-11-06T05:32:51Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "firefly-iii/firefly-iii",
|
||||||
|
"version": "v6.4.4",
|
||||||
|
"date": "2025-11-01T19:48:08Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "apache/couchdb",
|
||||||
|
"version": "3.5.1-RC1",
|
||||||
|
"date": "2025-11-06T03:23:20Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Notifiarr/notifiarr",
|
||||||
|
"version": "v0.9.1",
|
||||||
|
"date": "2025-11-06T02:26:53Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ollama/ollama",
|
||||||
|
"version": "v0.12.10",
|
||||||
|
"date": "2025-11-05T21:41:21Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "neo4j/neo4j",
|
||||||
|
"version": "5.26.16",
|
||||||
|
"date": "2025-11-05T20:41:40Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BerriAI/litellm",
|
||||||
|
"version": "v1.79.1.dev6",
|
||||||
|
"date": "2025-11-05T19:25:05Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "home-assistant/core",
|
||||||
|
"version": "2025.11.0",
|
||||||
|
"date": "2025-11-05T19:23:12Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "leiweibau/Pi.Alert",
|
||||||
|
"version": "v2025-11-05",
|
||||||
|
"date": "2025-11-05T18:08:26Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "n8n-io/n8n",
|
||||||
|
"version": "n8n@1.118.2",
|
||||||
|
"date": "2025-11-05T18:07:04Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bunkerity/bunkerweb",
|
||||||
|
"version": "v1.6.5",
|
||||||
|
"date": "2025-10-06T15:25:17Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "javedh-dev/tracktor",
|
||||||
|
"version": "0.5.1",
|
||||||
|
"date": "2025-11-05T15:51:02Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "zitadel/zitadel",
|
||||||
|
"version": "v4.6.4",
|
||||||
|
"date": "2025-11-05T15:57:00Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Graylog2/graylog2-server",
|
||||||
|
"version": "6.2.9",
|
||||||
|
"date": "2025-11-05T13:55:39Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "immich-app/immich",
|
||||||
|
"version": "v2.2.3",
|
||||||
|
"date": "2025-11-05T13:47:03Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "duplicati/duplicati",
|
||||||
|
"version": "v2.2.0.100-2.2.0.100_canary_2025-11-05",
|
||||||
|
"date": "2025-11-05T13:01:37Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "azukaar/Cosmos-Server",
|
||||||
|
"version": "v0.18.4",
|
||||||
|
"date": "2025-04-05T19:12:57Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "getumbrel/umbrel",
|
"name": "getumbrel/umbrel",
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
"date": "2025-11-05T11:10:20Z"
|
"date": "2025-11-05T11:10:20Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "home-assistant/core",
|
|
||||||
"version": "2025.10.4",
|
|
||||||
"date": "2025-10-24T20:03:03Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "emqx/emqx",
|
"name": "emqx/emqx",
|
||||||
"version": "e5.10.2-alpha.1",
|
"version": "e5.10.2-alpha.1",
|
||||||
@@ -19,11 +249,6 @@
|
|||||||
"version": "11.0.2",
|
"version": "11.0.2",
|
||||||
"date": "2025-11-05T09:55:05Z"
|
"date": "2025-11-05T09:55:05Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "zitadel/zitadel",
|
|
||||||
"version": "v4.6.3",
|
|
||||||
"date": "2025-11-05T09:16:08Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "nicolargo/glances",
|
"name": "nicolargo/glances",
|
||||||
"version": "v4.4.1",
|
"version": "v4.4.1",
|
||||||
@@ -34,21 +259,11 @@
|
|||||||
"version": "0.209.7",
|
"version": "0.209.7",
|
||||||
"date": "2025-11-05T08:32:08Z"
|
"date": "2025-11-05T08:32:08Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "SigNoz/signoz",
|
|
||||||
"version": "v0.100.0",
|
|
||||||
"date": "2025-11-05T06:38:34Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "NginxProxyManager/nginx-proxy-manager",
|
"name": "NginxProxyManager/nginx-proxy-manager",
|
||||||
"version": "v2.13.1",
|
"version": "v2.13.1",
|
||||||
"date": "2025-11-05T06:06:08Z"
|
"date": "2025-11-05T06:06:08Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Jackett/Jackett",
|
|
||||||
"version": "v0.24.250",
|
|
||||||
"date": "2025-11-05T05:55:30Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "jenkinsci/jenkins",
|
"name": "jenkinsci/jenkins",
|
||||||
"version": "jenkins-2.535",
|
"version": "jenkins-2.535",
|
||||||
@@ -64,16 +279,6 @@
|
|||||||
"version": "v4.0.16.2944",
|
"version": "v4.0.16.2944",
|
||||||
"date": "2025-11-05T01:56:48Z"
|
"date": "2025-11-05T01:56:48Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "jeedom/core",
|
|
||||||
"version": "4.4.20",
|
|
||||||
"date": "2025-11-05T00:27:06Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "steveiliop56/tinyauth",
|
|
||||||
"version": "v4.0.1",
|
|
||||||
"date": "2025-10-15T16:53:55Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "gethomepage/homepage",
|
"name": "gethomepage/homepage",
|
||||||
"version": "v1.6.1",
|
"version": "v1.6.1",
|
||||||
@@ -89,16 +294,6 @@
|
|||||||
"version": "v0.15.4",
|
"version": "v0.15.4",
|
||||||
"date": "2025-11-04T22:34:12Z"
|
"date": "2025-11-04T22:34:12Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "chrisbenincasa/tunarr",
|
|
||||||
"version": "v0.23.0-alpha.21",
|
|
||||||
"date": "2025-11-04T22:05:17Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "wizarrrr/wizarr",
|
|
||||||
"version": "v2025.11.1",
|
|
||||||
"date": "2025-11-04T20:55:51Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "go-gitea/gitea",
|
"name": "go-gitea/gitea",
|
||||||
"version": "v1.25.1",
|
"version": "v1.25.1",
|
||||||
@@ -106,18 +301,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "runtipi/runtipi",
|
"name": "runtipi/runtipi",
|
||||||
"version": "v4.6.2",
|
"version": "nightly",
|
||||||
"date": "2025-11-03T19:45:24Z"
|
"date": "2025-11-04T19:16:17Z"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "element-hq/synapse",
|
|
||||||
"version": "v1.142.0rc2",
|
|
||||||
"date": "2025-11-04T16:22:11Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "keycloak/keycloak",
|
|
||||||
"version": "26.0.17",
|
|
||||||
"date": "2025-11-03T15:30:01Z"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "jhuckaby/Cronicle",
|
"name": "jhuckaby/Cronicle",
|
||||||
@@ -129,11 +314,6 @@
|
|||||||
"version": "v1.30.6",
|
"version": "v1.30.6",
|
||||||
"date": "2025-11-04T17:41:01Z"
|
"date": "2025-11-04T17:41:01Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "meilisearch/meilisearch",
|
|
||||||
"version": "prototype-v1.24.0-s3-snapshots-4",
|
|
||||||
"date": "2025-11-04T16:46:01Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "VictoriaMetrics/VictoriaMetrics",
|
"name": "VictoriaMetrics/VictoriaMetrics",
|
||||||
"version": "v1.129.1",
|
"version": "v1.129.1",
|
||||||
@@ -159,11 +339,6 @@
|
|||||||
"version": "16.3",
|
"version": "16.3",
|
||||||
"date": "2025-11-04T12:28:47Z"
|
"date": "2025-11-04T12:28:47Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "mattermost/mattermost",
|
|
||||||
"version": "v10.11.6",
|
|
||||||
"date": "2025-11-04T09:43:16Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "syncthing/syncthing",
|
"name": "syncthing/syncthing",
|
||||||
"version": "v2.0.11",
|
"version": "v2.0.11",
|
||||||
@@ -179,26 +354,11 @@
|
|||||||
"version": "v3.0.9",
|
"version": "v3.0.9",
|
||||||
"date": "2025-11-04T07:28:45Z"
|
"date": "2025-11-04T07:28:45Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "firefly-iii/firefly-iii",
|
|
||||||
"version": "v6.4.4",
|
|
||||||
"date": "2025-11-01T19:48:08Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "immich-app/immich",
|
|
||||||
"version": "v2.2.3",
|
|
||||||
"date": "2025-11-04T03:14:34Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "esphome/esphome",
|
"name": "esphome/esphome",
|
||||||
"version": "2025.10.4",
|
"version": "2025.10.4",
|
||||||
"date": "2025-11-04T03:04:13Z"
|
"date": "2025-11-04T03:04:13Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "paperless-ngx/paperless-ngx",
|
|
||||||
"version": "v2.19.4",
|
|
||||||
"date": "2025-11-04T01:34:35Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "hyperion-project/hyperion.ng",
|
"name": "hyperion-project/hyperion.ng",
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
@@ -214,26 +374,11 @@
|
|||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"date": "2025-11-03T23:16:29Z"
|
"date": "2025-11-03T23:16:29Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "BerriAI/litellm",
|
|
||||||
"version": "v1.79.1.rc.2",
|
|
||||||
"date": "2025-11-03T23:14:45Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "gtsteffaniak/filebrowser",
|
"name": "gtsteffaniak/filebrowser",
|
||||||
"version": "v1.0.0-stable",
|
"version": "v1.0.0-stable",
|
||||||
"date": "2025-11-03T22:24:23Z"
|
"date": "2025-11-03T22:24:23Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "azukaar/Cosmos-Server",
|
|
||||||
"version": "v0.18.4",
|
|
||||||
"date": "2025-04-05T19:12:57Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "semaphoreui/semaphore",
|
|
||||||
"version": "v2.16.37",
|
|
||||||
"date": "2025-10-30T07:54:49Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "jupyter/notebook",
|
"name": "jupyter/notebook",
|
||||||
"version": "@jupyter-notebook/ui-components@7.5.0-rc.0",
|
"version": "@jupyter-notebook/ui-components@7.5.0-rc.0",
|
||||||
@@ -244,11 +389,6 @@
|
|||||||
"version": "0.50.39",
|
"version": "0.50.39",
|
||||||
"date": "2025-11-03T17:58:41Z"
|
"date": "2025-11-03T17:58:41Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "cloudflare/cloudflared",
|
|
||||||
"version": "2025.10.1-3-g52809511",
|
|
||||||
"date": "2025-11-03T17:13:35Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "goauthentik/authentik",
|
"name": "goauthentik/authentik",
|
||||||
"version": "version/2025.10.1",
|
"version": "version/2025.10.1",
|
||||||
@@ -264,31 +404,11 @@
|
|||||||
"version": "debian/12.1.34",
|
"version": "debian/12.1.34",
|
||||||
"date": "2025-11-03T16:42:07Z"
|
"date": "2025-11-03T16:42:07Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "n8n-io/n8n",
|
|
||||||
"version": "n8n@1.117.3",
|
|
||||||
"date": "2025-10-28T12:00:42Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Graylog2/graylog2-server",
|
|
||||||
"version": "7.0.0",
|
|
||||||
"date": "2025-11-03T12:22:00Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Paymenter/Paymenter",
|
|
||||||
"version": "v1.4.2",
|
|
||||||
"date": "2025-11-03T11:52:53Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "silverbulletmd/silverbullet",
|
"name": "silverbulletmd/silverbullet",
|
||||||
"version": "2.2.1",
|
"version": "2.2.1",
|
||||||
"date": "2025-11-03T06:57:15Z"
|
"date": "2025-11-03T06:57:15Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "fuma-nama/fumadocs",
|
|
||||||
"version": "fumadocs-mdx@13.0.5",
|
|
||||||
"date": "2025-11-03T06:55:11Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "jellyfin/jellyfin",
|
"name": "jellyfin/jellyfin",
|
||||||
"version": "v10.11.2",
|
"version": "v10.11.2",
|
||||||
@@ -334,11 +454,6 @@
|
|||||||
"version": "3.3.6",
|
"version": "3.3.6",
|
||||||
"date": "2025-11-01T10:41:15Z"
|
"date": "2025-11-01T10:41:15Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "ollama/ollama",
|
|
||||||
"version": "v0.12.9",
|
|
||||||
"date": "2025-10-31T23:33:13Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "tailscale/tailscale",
|
"name": "tailscale/tailscale",
|
||||||
"version": "v1.90.6",
|
"version": "v1.90.6",
|
||||||
@@ -354,21 +469,11 @@
|
|||||||
"version": "v3.4.0",
|
"version": "v3.4.0",
|
||||||
"date": "2025-10-31T18:50:18Z"
|
"date": "2025-10-31T18:50:18Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "leiweibau/Pi.Alert",
|
|
||||||
"version": "v2025-10-31",
|
|
||||||
"date": "2025-10-31T17:57:06Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "pommee/goaway",
|
"name": "pommee/goaway",
|
||||||
"version": "v0.62.12",
|
"version": "v0.62.12",
|
||||||
"date": "2025-10-31T17:30:55Z"
|
"date": "2025-10-31T17:30:55Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "bunkerity/bunkerweb",
|
|
||||||
"version": "testing",
|
|
||||||
"date": "2025-10-30T14:33:36Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "zabbix/zabbix",
|
"name": "zabbix/zabbix",
|
||||||
"version": "7.4.5",
|
"version": "7.4.5",
|
||||||
@@ -384,16 +489,6 @@
|
|||||||
"version": "planka-1.1.1",
|
"version": "planka-1.1.1",
|
||||||
"date": "2025-10-31T12:38:47Z"
|
"date": "2025-10-31T12:38:47Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "chrisvel/tududi",
|
|
||||||
"version": "v0.85.1",
|
|
||||||
"date": "2025-10-31T10:45:26Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "wazuh/wazuh",
|
|
||||||
"version": "coverity-w44-4.14.1",
|
|
||||||
"date": "2025-10-29T11:28:37Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "garethgeorge/backrest",
|
"name": "garethgeorge/backrest",
|
||||||
"version": "v1.10.1",
|
"version": "v1.10.1",
|
||||||
@@ -419,11 +514,6 @@
|
|||||||
"version": "v5.30.0",
|
"version": "v5.30.0",
|
||||||
"date": "2025-10-30T16:52:58Z"
|
"date": "2025-10-30T16:52:58Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "OliveTin/OliveTin",
|
|
||||||
"version": "2025.10.30",
|
|
||||||
"date": "2025-10-30T16:22:45Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "AdguardTeam/AdGuardHome",
|
"name": "AdguardTeam/AdGuardHome",
|
||||||
"version": "v0.107.69",
|
"version": "v0.107.69",
|
||||||
@@ -439,11 +529,6 @@
|
|||||||
"version": "v5.4",
|
"version": "v5.4",
|
||||||
"date": "2025-10-30T14:25:23Z"
|
"date": "2025-10-30T14:25:23Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "neo4j/neo4j",
|
|
||||||
"version": "5.26.15",
|
|
||||||
"date": "2025-10-30T11:17:14Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "docker/compose",
|
"name": "docker/compose",
|
||||||
"version": "v2.40.3",
|
"version": "v2.40.3",
|
||||||
@@ -459,11 +544,6 @@
|
|||||||
"version": "v1.5.3",
|
"version": "v1.5.3",
|
||||||
"date": "2025-09-20T12:12:33Z"
|
"date": "2025-09-20T12:12:33Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "documenso/documenso",
|
|
||||||
"version": "v1.13.2",
|
|
||||||
"date": "2025-10-30T04:12:40Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "ipfs/kubo",
|
"name": "ipfs/kubo",
|
||||||
"version": "v0.38.2",
|
"version": "v0.38.2",
|
||||||
@@ -499,21 +579,11 @@
|
|||||||
"version": "350",
|
"version": "350",
|
||||||
"date": "2025-10-29T09:51:00Z"
|
"date": "2025-10-29T09:51:00Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "pocket-id/pocket-id",
|
|
||||||
"version": "v1.14.2",
|
|
||||||
"date": "2025-10-29T08:37:03Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "apache/cassandra",
|
"name": "apache/cassandra",
|
||||||
"version": "cassandra-5.0.6",
|
"version": "cassandra-5.0.6",
|
||||||
"date": "2025-10-29T07:40:47Z"
|
"date": "2025-10-29T07:40:47Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "openobserve/openobserve",
|
|
||||||
"version": "v0.15.3",
|
|
||||||
"date": "2025-10-29T05:15:45Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "outline/outline",
|
"name": "outline/outline",
|
||||||
"version": "v1.0.1",
|
"version": "v1.0.1",
|
||||||
@@ -534,11 +604,6 @@
|
|||||||
"version": "v4.4.5",
|
"version": "v4.4.5",
|
||||||
"date": "2025-10-28T18:35:47Z"
|
"date": "2025-10-28T18:35:47Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "javedh-dev/tracktor",
|
|
||||||
"version": "0.4.4",
|
|
||||||
"date": "2025-10-28T17:39:14Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "pi-hole/pi-hole",
|
"name": "pi-hole/pi-hole",
|
||||||
"version": "v6.2.2",
|
"version": "v6.2.2",
|
||||||
@@ -634,26 +699,11 @@
|
|||||||
"version": "v2.7.0",
|
"version": "v2.7.0",
|
||||||
"date": "2025-10-23T17:15:07Z"
|
"date": "2025-10-23T17:15:07Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "HabitRPG/habitica",
|
|
||||||
"version": "v5.41.5",
|
|
||||||
"date": "2025-10-23T15:12:42Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Kareadita/Kavita",
|
"name": "Kareadita/Kavita",
|
||||||
"version": "v0.8.8.3",
|
"version": "v0.8.8.3",
|
||||||
"date": "2025-10-23T12:31:49Z"
|
"date": "2025-10-23T12:31:49Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "duplicati/duplicati",
|
|
||||||
"version": "v2.2.0.0_stable_2025-10-23",
|
|
||||||
"date": "2025-10-23T11:48:25Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "rcourtman/Pulse",
|
|
||||||
"version": "issue-596",
|
|
||||||
"date": "2025-10-22T19:48:56Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "louislam/uptime-kuma",
|
"name": "louislam/uptime-kuma",
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
@@ -734,11 +784,6 @@
|
|||||||
"version": "v2.1.10",
|
"version": "v2.1.10",
|
||||||
"date": "2025-10-18T18:46:36Z"
|
"date": "2025-10-18T18:46:36Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Notifiarr/notifiarr",
|
|
||||||
"version": "v0.9.0",
|
|
||||||
"date": "2025-10-18T17:03:56Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "TasmoAdmin/TasmoAdmin",
|
"name": "TasmoAdmin/TasmoAdmin",
|
||||||
"version": "v4.3.2",
|
"version": "v4.3.2",
|
||||||
@@ -774,21 +819,11 @@
|
|||||||
"version": "RELEASE.2025-10-15T17-29-55Z",
|
"version": "RELEASE.2025-10-15T17-29-55Z",
|
||||||
"date": "2025-10-16T19:33:51Z"
|
"date": "2025-10-16T19:33:51Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "open-webui/open-webui",
|
|
||||||
"version": "v0.6.34",
|
|
||||||
"date": "2025-10-16T16:55:58Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "cloudreve/cloudreve",
|
"name": "cloudreve/cloudreve",
|
||||||
"version": "4.9.2",
|
"version": "4.9.2",
|
||||||
"date": "2025-10-16T03:24:44Z"
|
"date": "2025-10-16T03:24:44Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Ombi-app/Ombi",
|
|
||||||
"version": "v4.47.1",
|
|
||||||
"date": "2025-01-05T21:14:23Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "linkwarden/linkwarden",
|
"name": "linkwarden/linkwarden",
|
||||||
"version": "v2.13.1",
|
"version": "v2.13.1",
|
||||||
@@ -864,11 +899,6 @@
|
|||||||
"version": "v1.17.1",
|
"version": "v1.17.1",
|
||||||
"date": "2025-10-10T16:12:41Z"
|
"date": "2025-10-10T16:12:41Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "apache/tomcat",
|
|
||||||
"version": "10.1.48",
|
|
||||||
"date": "2025-10-10T14:46:53Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "projectsend/projectsend",
|
"name": "projectsend/projectsend",
|
||||||
"version": "r1945",
|
"version": "r1945",
|
||||||
@@ -884,11 +914,6 @@
|
|||||||
"version": "v2.30.0",
|
"version": "v2.30.0",
|
||||||
"date": "2025-10-08T16:03:49Z"
|
"date": "2025-10-08T16:03:49Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "FlowiseAI/Flowise",
|
|
||||||
"version": "flowise@3.0.8",
|
|
||||||
"date": "2025-10-08T12:19:18Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "gotson/komga",
|
"name": "gotson/komga",
|
||||||
"version": "1.23.5",
|
"version": "1.23.5",
|
||||||
@@ -934,11 +959,6 @@
|
|||||||
"version": "2.520",
|
"version": "2.520",
|
||||||
"date": "2025-10-05T00:51:34Z"
|
"date": "2025-10-05T00:51:34Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Kozea/Radicale",
|
|
||||||
"version": "v3.5.7.pypi",
|
|
||||||
"date": "2025-10-01T05:32:27Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "WordPress/WordPress",
|
"name": "WordPress/WordPress",
|
||||||
"version": "4.7.31",
|
"version": "4.7.31",
|
||||||
@@ -1194,11 +1214,6 @@
|
|||||||
"version": "1012-08-09",
|
"version": "1012-08-09",
|
||||||
"date": "2025-08-10T13:50:58Z"
|
"date": "2025-08-10T13:50:58Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "MariaDB/server",
|
|
||||||
"version": "mariadb-12.0.2",
|
|
||||||
"date": "2025-08-07T21:23:15Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "TryGhost/Ghost-CLI",
|
"name": "TryGhost/Ghost-CLI",
|
||||||
"version": "v1.28.3",
|
"version": "v1.28.3",
|
||||||
@@ -1234,11 +1249,6 @@
|
|||||||
"version": "v0.58.0",
|
"version": "v0.58.0",
|
||||||
"date": "2025-07-28T18:59:50Z"
|
"date": "2025-07-28T18:59:50Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "umami-software/umami",
|
|
||||||
"version": "v2.19.0",
|
|
||||||
"date": "2025-07-27T22:25:00Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "PCJones/UmlautAdaptarr",
|
"name": "PCJones/UmlautAdaptarr",
|
||||||
"version": "v0.7.3",
|
"version": "v0.7.3",
|
||||||
@@ -1339,11 +1349,6 @@
|
|||||||
"version": "2025-05-07-r1",
|
"version": "2025-05-07-r1",
|
||||||
"date": "2025-05-07T12:18:42Z"
|
"date": "2025-05-07T12:18:42Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "apache/couchdb",
|
|
||||||
"version": "3.5.0",
|
|
||||||
"date": "2025-05-05T16:28:24Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "TechnitiumSoftware/DnsServer",
|
"name": "TechnitiumSoftware/DnsServer",
|
||||||
"version": "v13.6.0",
|
"version": "v13.6.0",
|
||||||
@@ -1414,11 +1419,6 @@
|
|||||||
"version": "v0.22.1",
|
"version": "v0.22.1",
|
||||||
"date": "2025-03-18T21:01:22Z"
|
"date": "2025-03-18T21:01:22Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "transmission/transmission",
|
|
||||||
"version": "4.0.1-beta.1",
|
|
||||||
"date": "2024-12-13T00:16:24Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "excalidraw/excalidraw",
|
"name": "excalidraw/excalidraw",
|
||||||
"version": "v0.18.0",
|
"version": "v0.18.0",
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ $STD apt install -y google-chrome-stable
|
|||||||
rm /etc/apt/sources.list.d/google-chrome.list
|
rm /etc/apt/sources.list.d/google-chrome.list
|
||||||
msg_ok "Installed Chrome"
|
msg_ok "Installed Chrome"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "latest" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz"
|
fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "v3.4.3" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
cat <<EOF >/etc/systemd/system/flaresolverr.service
|
cat <<EOF >/etc/systemd/system/flaresolverr.service
|
||||||
|
|||||||
@@ -60,11 +60,10 @@ $STD npm ci
|
|||||||
$STD npm run build:production
|
$STD npm run build:production
|
||||||
msg_ok "Built Ghostfolio"
|
msg_ok "Built Ghostfolio"
|
||||||
|
|
||||||
msg_ok "Optional CoinGecko API Configuration"
|
echo -e ""
|
||||||
echo
|
msg_custom "🪙" "$YW" "CoinGecko API keys are optional but provide better cryptocurrency data."
|
||||||
echo -e "${YW}CoinGecko API keys are optional but provide better cryptocurrency data.${CL}"
|
msg_custom "🪙" "$YW" "You can skip this and add them later by editing /opt/ghostfolio/.env"
|
||||||
echo -e "${YW}You can skip this and add them later by editing /opt/ghostfolio/.env${CL}"
|
echo -e ""
|
||||||
echo
|
|
||||||
read -rp "${TAB3}CoinGecko Demo API key (press Enter to skip): " COINGECKO_DEMO_KEY
|
read -rp "${TAB3}CoinGecko Demo API key (press Enter to skip): " COINGECKO_DEMO_KEY
|
||||||
read -rp "${TAB3}CoinGecko Pro API key (press Enter to skip): " COINGECKO_PRO_KEY
|
read -rp "${TAB3}CoinGecko Pro API key (press Enter to skip): " COINGECKO_PRO_KEY
|
||||||
|
|
||||||
|
|||||||
@@ -13,12 +13,12 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
MONGO_VERSION="7.0" setup_mongodb
|
MONGO_VERSION="8.0" setup_mongodb
|
||||||
|
|
||||||
msg_info "Setup Graylog Data Node"
|
msg_info "Setup Graylog Data Node"
|
||||||
PASSWORD_SECRET=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16)
|
PASSWORD_SECRET=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16)
|
||||||
curl -fsSL "https://packages.graylog2.org/repo/packages/graylog-6.3-repository_latest.deb" -o "graylog-6.3-repository_latest.deb"
|
curl -fsSL "https://packages.graylog2.org/repo/packages/graylog-7.0-repository_latest.deb" -o "graylog-7.0-repository_latest.deb"
|
||||||
$STD dpkg -i graylog-6.3-repository_latest.deb
|
$STD dpkg -i graylog-7.0-repository_latest.deb
|
||||||
$STD apt-get update
|
$STD apt-get update
|
||||||
$STD apt-get install graylog-datanode -y
|
$STD apt-get install graylog-datanode -y
|
||||||
sed -i "s/password_secret =/password_secret = $PASSWORD_SECRET/g" /etc/graylog/datanode/datanode.conf
|
sed -i "s/password_secret =/password_secret = $PASSWORD_SECRET/g" /etc/graylog/datanode/datanode.conf
|
||||||
@@ -42,9 +42,4 @@ msg_ok "Setup ${APPLICATION}"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
|
cleanup_lxc
|
||||||
msg_info "Cleaning up"
|
|
||||||
rm -f graylog-*-repository_latest.deb
|
|
||||||
$STD apt-get -y autoremove
|
|
||||||
$STD apt-get -y autoclean
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
|
|||||||
@@ -288,7 +288,7 @@ GEO_DIR="${INSTALL_DIR}/geodata"
|
|||||||
mkdir -p "$INSTALL_DIR"
|
mkdir -p "$INSTALL_DIR"
|
||||||
mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${INSTALL_DIR}"/cache}
|
mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${INSTALL_DIR}"/cache}
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v2.2.2" "$SRC_DIR"
|
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v2.2.3" "$SRC_DIR"
|
||||||
|
|
||||||
msg_info "Installing ${APPLICATION} (patience)"
|
msg_info "Installing ${APPLICATION} (patience)"
|
||||||
|
|
||||||
|
|||||||
68
install/infisical-install.sh
Normal file
68
install/infisical-install.sh
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://infisical.com/
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
msg_info "Installing Dependencies"
|
||||||
|
$STD apt install -y \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
redis
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
PG_VERSION="17" setup_postgresql
|
||||||
|
|
||||||
|
msg_info "Setting up Infisical Repository"
|
||||||
|
setup_deb822_repo \
|
||||||
|
"infisical" \
|
||||||
|
"https://artifacts-infisical-core.infisical.com/infisical.gpg" \
|
||||||
|
"https://artifacts-infisical-core.infisical.com/deb" \
|
||||||
|
"stable"
|
||||||
|
msg_ok "Setup Infisical repository"
|
||||||
|
|
||||||
|
msg_info "Configuring PostgreSQL"
|
||||||
|
DB_NAME="infisical_db"
|
||||||
|
DB_USER="infisical"
|
||||||
|
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 DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;"
|
||||||
|
$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 timezone TO 'UTC';"
|
||||||
|
{
|
||||||
|
echo "Infiscal Credentials"
|
||||||
|
echo "Database Name: $DB_NAME"
|
||||||
|
echo "Database User: $DB_USER"
|
||||||
|
echo "Database Password: $DB_PASS"
|
||||||
|
} >>~/infisical.creds
|
||||||
|
msg_ok "Configured PostgreSQL"
|
||||||
|
|
||||||
|
msg_info "Setting up Infisical"
|
||||||
|
AUTH_SECRET="$(openssl rand -base64 32 | tr -d '\n')"
|
||||||
|
ENC_KEY="$(openssl rand -hex 16 | tr -d '\n')"
|
||||||
|
IP_ADDR=$(hostname -I | awk '{print $1}')
|
||||||
|
$STD apt install -y infisical-core
|
||||||
|
mkdir -p /etc/infisical
|
||||||
|
cat <<EOF >/etc/infisical/infisical.rb
|
||||||
|
infisical_core['ENCRYPTION_KEY'] = '$ENC_KEY'
|
||||||
|
infisical_core['AUTH_SECRET'] = '$AUTH_SECRET'
|
||||||
|
infisical_core['HOST'] = '$IP_ADDR'
|
||||||
|
infisical_core['DB_CONNECTION_URI'] = 'postgres://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}'
|
||||||
|
infisical_core['REDIS_URL'] = 'redis://localhost:6379'
|
||||||
|
EOF
|
||||||
|
$STD infisical-ctl reconfigure
|
||||||
|
msg_ok "Setup Infisical"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -40,7 +40,7 @@ NODE_ENV=production
|
|||||||
# OIDC_ISSUER=<your-oidc-issuer-url>
|
# OIDC_ISSUER=<your-oidc-issuer-url>
|
||||||
# OIDC_CLIENT_ID=<oidc-client-id>
|
# OIDC_CLIENT_ID=<oidc-client-id>
|
||||||
# APP_URL=<https://app.domain.tld>
|
# APP_URL=<https://app.domain.tld>
|
||||||
# SSO_FALLBACK_LOCAL=true # Allow both SSO and normal login
|
# SSO_FALLBACK_LOCAL=yes # Allow both SSO and normal login
|
||||||
# OIDC_CLIENT_SECRET=your_client_secret # Enable confidential client mode with client authentication
|
# OIDC_CLIENT_SECRET=your_client_secret # Enable confidential client mode with client authentication
|
||||||
# OIDC_ADMIN_GROUPS=admins # Map provider groups to admin role
|
# OIDC_ADMIN_GROUPS=admins # Map provider groups to admin role
|
||||||
EOF
|
EOF
|
||||||
|
|||||||
@@ -15,25 +15,12 @@ update_os
|
|||||||
|
|
||||||
read -p "${TAB3}Do you want to install MongoDB 8.0 instead of 7.0? [y/N]: " install_mongodb_8
|
read -p "${TAB3}Do you want to install MongoDB 8.0 instead of 7.0? [y/N]: " install_mongodb_8
|
||||||
if [[ "$install_mongodb_8" =~ ^[Yy]$ ]]; then
|
if [[ "$install_mongodb_8" =~ ^[Yy]$ ]]; then
|
||||||
MONGODB_VERSION="8.0"
|
MONGO_VERSION="8.0" setup_mongodb
|
||||||
else
|
else
|
||||||
MONGODB_VERSION="7.0"
|
MONGO_VERSION="7.0" setup_mongodb
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Installing MongoDB $MONGODB_VERSION"
|
|
||||||
curl -fsSL "https://www.mongodb.org/static/pgp/server-${MONGODB_VERSION}.asc" | gpg --dearmor >/usr/share/keyrings/mongodb-server-${MONGODB_VERSION}.gpg
|
|
||||||
cat <<EOF >/etc/apt/sources.list.d/mongodb-org-${MONGODB_VERSION}.sources
|
|
||||||
Types: deb
|
|
||||||
URIs: http://repo.mongodb.org/apt/debian
|
|
||||||
Suites: $(grep '^VERSION_CODENAME=' /etc/os-release | cut -d'=' -f2)/mongodb-org/${MONGODB_VERSION}
|
|
||||||
Components: main
|
|
||||||
Signed-By: /usr/share/keyrings/mongodb-server-${MONGODB_VERSION}.gpg
|
|
||||||
EOF
|
|
||||||
$STD apt update
|
|
||||||
$STD apt install -y mongodb-org
|
|
||||||
sed -i 's/bindIp: 127.0.0.1/bindIp: 0.0.0.0/' /etc/mongod.conf
|
sed -i 's/bindIp: 127.0.0.1/bindIp: 0.0.0.0/' /etc/mongod.conf
|
||||||
systemctl enable -q --now mongod
|
msg_ok "Installed MongoDB $MONGO_VERSION"
|
||||||
msg_ok "Installed MongoDB $MONGODB_VERSION"
|
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
|
|||||||
@@ -66,7 +66,6 @@ server/hostname ${IP_ADDR}
|
|||||||
server/server_path_prefix /openproject
|
server/server_path_prefix /openproject
|
||||||
server/ssl no
|
server/ssl no
|
||||||
server/variant apache2
|
server/variant apache2
|
||||||
server/server_path_prefix
|
|
||||||
repositories/api-key ${API_KEY}
|
repositories/api-key ${API_KEY}
|
||||||
repositories/svn-install skip
|
repositories/svn-install skip
|
||||||
repositories/git-install install
|
repositories/git-install install
|
||||||
|
|||||||
@@ -22,11 +22,16 @@ msg_ok "Installed Dependencies"
|
|||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="22" setup_nodejs
|
||||||
fetch_and_deploy_gh_release "pangolin" "fosrl/pangolin" "tarball"
|
fetch_and_deploy_gh_release "pangolin" "fosrl/pangolin" "tarball"
|
||||||
fetch_and_deploy_gh_release "gerbil" "fosrl/gerbil" "singlefile" "latest" "/usr/bin" "gerbil_linux_amd64"
|
fetch_and_deploy_gh_release "gerbil" "fosrl/gerbil" "singlefile" "latest" "/usr/bin" "gerbil_linux_amd64"
|
||||||
|
fetch_and_deploy_gh_release "traefik" "traefik/traefik" "prebuild" "latest" "/usr/bin" "traefik_v*_linux_amd64.tar.gz"
|
||||||
|
|
||||||
|
read -rp "${TAB3}Enter your Pangolin URL (ex: https://pangolin.example.com): " pango_url
|
||||||
|
read -rp "${TAB3}Enter your email address: " pango_email
|
||||||
|
|
||||||
msg_info "Setup Pangolin"
|
msg_info "Setup Pangolin"
|
||||||
IP_ADDR=$(hostname -I | awk '{print $1}')
|
IP_ADDR=$(hostname -I | awk '{print $1}')
|
||||||
SECRET_KEY=$(openssl rand -base64 48 | tr -dc 'A-Za-z0-9' | head -c 32)
|
SECRET_KEY=$(openssl rand -base64 48 | tr -dc 'A-Za-z0-9' | head -c 32)
|
||||||
cd /opt/pangolin
|
cd /opt/pangolin
|
||||||
|
mkdir -p /opt/pangolin/config/{traefik,db,letsencrypt,logs}
|
||||||
$STD npm ci
|
$STD npm ci
|
||||||
$STD npm run set:sqlite
|
$STD npm run set:sqlite
|
||||||
$STD npm run set:oss
|
$STD npm run set:oss
|
||||||
@@ -46,30 +51,129 @@ mkdir -p /var/config
|
|||||||
|
|
||||||
cat <<EOF >/opt/pangolin/config/config.yml
|
cat <<EOF >/opt/pangolin/config/config.yml
|
||||||
app:
|
app:
|
||||||
dashboard_url: http://$IP_ADDR:3002
|
dashboard_url: "$pango_url"
|
||||||
log_level: debug
|
|
||||||
|
|
||||||
domains:
|
domains:
|
||||||
domain1:
|
domain1:
|
||||||
base_domain: example.com
|
base_domain: "$pango_url"
|
||||||
|
cert_resolver: "letsencrypt"
|
||||||
|
|
||||||
server:
|
server:
|
||||||
secret: $SECRET_KEY
|
secret: "$SECRET_KEY"
|
||||||
|
|
||||||
gerbil:
|
gerbil:
|
||||||
base_endpoint: example.com
|
base_endpoint: "$pango_url"
|
||||||
|
|
||||||
orgs:
|
|
||||||
block_size: 24
|
|
||||||
subnet_group: 100.90.137.0/20
|
|
||||||
|
|
||||||
flags:
|
flags:
|
||||||
require_email_verification: false
|
require_email_verification: false
|
||||||
disable_signup_without_invite: true
|
disable_signup_without_invite: false
|
||||||
disable_user_create_org: true
|
disable_user_create_org: false
|
||||||
allow_raw_resources: true
|
EOF
|
||||||
enable_integration_api: true
|
|
||||||
enable_clients: true
|
cat <<EOF >/opt/pangolin/config/traefik/traefik_config.yml
|
||||||
|
api:
|
||||||
|
insecure: true
|
||||||
|
dashboard: true
|
||||||
|
|
||||||
|
providers:
|
||||||
|
http:
|
||||||
|
endpoint: "http://$IP_ADDR:3001/api/v1/traefik-config"
|
||||||
|
pollInterval: "5s"
|
||||||
|
file:
|
||||||
|
filename: "/opt/pangolin/config/traefik/dynamic_config.yml"
|
||||||
|
|
||||||
|
experimental:
|
||||||
|
plugins:
|
||||||
|
badger:
|
||||||
|
moduleName: "github.com/fosrl/badger"
|
||||||
|
version: "v1.2.0"
|
||||||
|
|
||||||
|
log:
|
||||||
|
level: "INFO"
|
||||||
|
format: "common"
|
||||||
|
|
||||||
|
certificatesResolvers:
|
||||||
|
letsencrypt:
|
||||||
|
acme:
|
||||||
|
httpChallenge:
|
||||||
|
entryPoint: web
|
||||||
|
email: $pango_email
|
||||||
|
storage: "/opt/pangolin/config/letsencrypt/acme.json"
|
||||||
|
caServer: "https://acme-v02.api.letsencrypt.org/directory"
|
||||||
|
|
||||||
|
entryPoints:
|
||||||
|
web:
|
||||||
|
address: ":80"
|
||||||
|
websecure:
|
||||||
|
address: ":443"
|
||||||
|
transport:
|
||||||
|
respondingTimeouts:
|
||||||
|
readTimeout: "30m"
|
||||||
|
http:
|
||||||
|
tls:
|
||||||
|
certResolver: "letsencrypt"
|
||||||
|
|
||||||
|
serversTransport:
|
||||||
|
insecureSkipVerify: true
|
||||||
|
|
||||||
|
ping:
|
||||||
|
entryPoint: "web"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat <<EOF >/opt/pangolin/config/traefik/dynamic_config.yml
|
||||||
|
http:
|
||||||
|
middlewares:
|
||||||
|
redirect-to-https:
|
||||||
|
redirectScheme:
|
||||||
|
scheme: https
|
||||||
|
|
||||||
|
routers:
|
||||||
|
# HTTP to HTTPS redirect router
|
||||||
|
main-app-router-redirect:
|
||||||
|
rule: "Host(\`$pango_url\`)"
|
||||||
|
service: next-service
|
||||||
|
entryPoints:
|
||||||
|
- web
|
||||||
|
middlewares:
|
||||||
|
- redirect-to-https
|
||||||
|
|
||||||
|
# Next.js router (handles everything except API and WebSocket paths)
|
||||||
|
next-router:
|
||||||
|
rule: "Host(\`$pango_url\`) && !PathPrefix(\`/api/v1\`)"
|
||||||
|
service: next-service
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
tls:
|
||||||
|
certResolver: letsencrypt
|
||||||
|
|
||||||
|
# API router (handles /api/v1 paths)
|
||||||
|
api-router:
|
||||||
|
rule: "Host(\`$pango_url\`) && PathPrefix(\`/api/v1\`)"
|
||||||
|
service: api-service
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
tls:
|
||||||
|
certResolver: letsencrypt
|
||||||
|
|
||||||
|
# WebSocket router
|
||||||
|
ws-router:
|
||||||
|
rule: "Host(\`$pango_url\`)"
|
||||||
|
service: api-service
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
tls:
|
||||||
|
certResolver: letsencrypt
|
||||||
|
|
||||||
|
services:
|
||||||
|
next-service:
|
||||||
|
loadBalancer:
|
||||||
|
servers:
|
||||||
|
- url: "http://$IP_ADDR:3002"
|
||||||
|
|
||||||
|
api-service:
|
||||||
|
loadBalancer:
|
||||||
|
servers:
|
||||||
|
- url: "http://$IP_ADDR:3000"
|
||||||
EOF
|
EOF
|
||||||
$STD npm run db:sqlite:generate
|
$STD npm run db:sqlite:generate
|
||||||
$STD npm run db:sqlite:push
|
$STD npm run db:sqlite:push
|
||||||
@@ -122,6 +226,21 @@ RestartSec=10
|
|||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
systemctl enable -q --now gerbil
|
systemctl enable -q --now gerbil
|
||||||
|
|
||||||
|
cat <<'EOF' >/etc/systemd/system/traefik.service
|
||||||
|
[Unit]
|
||||||
|
Description=Traefik is an open-source Edge Router that makes publishing your services a fun and easy experience
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=notify
|
||||||
|
ExecStart=/usr/bin/traefik --configFile=/opt/pangolin/config/traefik/traefik_config.yml
|
||||||
|
Restart=on-failure
|
||||||
|
ExecReload=/bin/kill -USR1 \$MAINPID
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now traefik
|
||||||
msg_ok "Created Services"
|
msg_ok "Created Services"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
|
|||||||
@@ -427,7 +427,12 @@ manage_tool_repository() {
|
|||||||
suite=$(get_fallback_suite "$distro_id" "$distro_codename" "$repo_url/$distro_id")
|
suite=$(get_fallback_suite "$distro_id" "$distro_codename" "$repo_url/$distro_id")
|
||||||
|
|
||||||
# Setup new repository using deb822 format
|
# Setup new repository using deb822 format
|
||||||
setup_deb822_repo "mariadb" "$gpg_key_url" "$repo_url/$distro_id" "$suite" "main" "amd64 arm64" || return 1
|
setup_deb822_repo \
|
||||||
|
"mariadb" \
|
||||||
|
"$gpg_key_url" \
|
||||||
|
"$repo_url/$distro_id" \
|
||||||
|
"$suite" \
|
||||||
|
"main"
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@@ -450,7 +455,51 @@ manage_tool_repository() {
|
|||||||
# Setup repository
|
# Setup repository
|
||||||
local distro_codename
|
local distro_codename
|
||||||
distro_codename=$(awk -F= '/^VERSION_CODENAME=/{print $2}' /etc/os-release)
|
distro_codename=$(awk -F= '/^VERSION_CODENAME=/{print $2}' /etc/os-release)
|
||||||
suite=$(get_fallback_suite "$distro_id" "$distro_codename" "$repo_url")
|
|
||||||
|
# Suite mapping with fallback for newer releases not yet supported by upstream
|
||||||
|
if [[ "$distro_id" == "debian" ]]; then
|
||||||
|
case "$distro_codename" in
|
||||||
|
trixie | forky | sid)
|
||||||
|
# Testing/unstable releases fallback to latest stable suite
|
||||||
|
suite="bookworm"
|
||||||
|
;;
|
||||||
|
bookworm)
|
||||||
|
suite="bookworm"
|
||||||
|
;;
|
||||||
|
bullseye)
|
||||||
|
suite="bullseye"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Unknown release: fallback to latest stable suite
|
||||||
|
msg_warn "Unknown Debian release '${distro_codename}', using bookworm"
|
||||||
|
suite="bookworm"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
elif [[ "$distro_id" == "ubuntu" ]]; then
|
||||||
|
case "$distro_codename" in
|
||||||
|
oracular | plucky)
|
||||||
|
# Newer releases fallback to latest LTS
|
||||||
|
suite="noble"
|
||||||
|
;;
|
||||||
|
noble)
|
||||||
|
suite="noble"
|
||||||
|
;;
|
||||||
|
jammy)
|
||||||
|
suite="jammy"
|
||||||
|
;;
|
||||||
|
focal)
|
||||||
|
suite="focal"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Unknown release: fallback to latest LTS
|
||||||
|
msg_warn "Unknown Ubuntu release '${distro_codename}', using noble"
|
||||||
|
suite="noble"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
# For other distros, try generic fallback
|
||||||
|
suite=$(get_fallback_suite "$distro_id" "$distro_codename" "$repo_url")
|
||||||
|
fi
|
||||||
|
|
||||||
repo_component="main"
|
repo_component="main"
|
||||||
[[ "$distro_id" == "ubuntu" ]] && repo_component="multiverse"
|
[[ "$distro_id" == "ubuntu" ]] && repo_component="multiverse"
|
||||||
@@ -460,7 +509,7 @@ Types: deb
|
|||||||
URIs: ${repo_url}
|
URIs: ${repo_url}
|
||||||
Suites: ${suite}/mongodb-org/${version}
|
Suites: ${suite}/mongodb-org/${version}
|
||||||
Components: ${repo_component}
|
Components: ${repo_component}
|
||||||
Architectures: amd64 arm64
|
Architectures: $(dpkg --print-architecture)
|
||||||
Signed-By: /etc/apt/keyrings/mongodb-server-${version}.gpg
|
Signed-By: /etc/apt/keyrings/mongodb-server-${version}.gpg
|
||||||
EOF
|
EOF
|
||||||
return 0
|
return 0
|
||||||
@@ -492,7 +541,7 @@ Types: deb
|
|||||||
URIs: $repo_url
|
URIs: $repo_url
|
||||||
Suites: nodistro
|
Suites: nodistro
|
||||||
Components: main
|
Components: main
|
||||||
Architectures: amd64 arm64
|
Architectures: $(dpkg --print-architecture)
|
||||||
Signed-By: /etc/apt/keyrings/nodesource.gpg
|
Signed-By: /etc/apt/keyrings/nodesource.gpg
|
||||||
EOF
|
EOF
|
||||||
return 0
|
return 0
|
||||||
@@ -526,7 +575,7 @@ Types: deb
|
|||||||
URIs: https://packages.sury.org/php
|
URIs: https://packages.sury.org/php
|
||||||
Suites: $distro_codename
|
Suites: $distro_codename
|
||||||
Components: main
|
Components: main
|
||||||
Architectures: amd64 arm64
|
Architectures: $(dpkg --print-architecture)
|
||||||
Signed-By: /usr/share/keyrings/deb.sury.org-php.gpg
|
Signed-By: /usr/share/keyrings/deb.sury.org-php.gpg
|
||||||
EOF
|
EOF
|
||||||
return 0
|
return 0
|
||||||
@@ -557,7 +606,7 @@ Types: deb
|
|||||||
URIs: http://apt.postgresql.org/pub/repos/apt
|
URIs: http://apt.postgresql.org/pub/repos/apt
|
||||||
Suites: $distro_codename-pgdg
|
Suites: $distro_codename-pgdg
|
||||||
Components: main
|
Components: main
|
||||||
Architectures: amd64 arm64
|
Architectures: $(dpkg --print-architecture)
|
||||||
Signed-By: /etc/apt/keyrings/postgresql.gpg
|
Signed-By: /etc/apt/keyrings/postgresql.gpg
|
||||||
EOF
|
EOF
|
||||||
return 0
|
return 0
|
||||||
@@ -1158,7 +1207,7 @@ setup_deb822_repo() {
|
|||||||
local repo_url="$3"
|
local repo_url="$3"
|
||||||
local suite="$4"
|
local suite="$4"
|
||||||
local component="${5:-main}"
|
local component="${5:-main}"
|
||||||
local architectures="${6:-amd64 arm64}"
|
local architectures="${6:-$(dpkg --print-architecture)}"
|
||||||
|
|
||||||
# Validate required parameters
|
# Validate required parameters
|
||||||
if [[ -z "$name" || -z "$gpg_url" || -z "$repo_url" || -z "$suite" ]]; then
|
if [[ -z "$name" || -z "$gpg_url" || -z "$repo_url" || -z "$suite" ]]; then
|
||||||
@@ -2736,8 +2785,7 @@ function setup_java() {
|
|||||||
"https://packages.adoptium.net/artifactory/api/gpg/key/public" \
|
"https://packages.adoptium.net/artifactory/api/gpg/key/public" \
|
||||||
"https://packages.adoptium.net/artifactory/deb" \
|
"https://packages.adoptium.net/artifactory/deb" \
|
||||||
"$SUITE" \
|
"$SUITE" \
|
||||||
"main" \
|
"main"
|
||||||
"amd64 arm64"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get currently installed version
|
# Get currently installed version
|
||||||
@@ -3189,12 +3237,12 @@ function setup_mysql() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cat >/etc/apt/sources.list.d/mysql.sources <<'EOF'
|
cat >/etc/apt/sources.list.d/mysql.sources <<EOF
|
||||||
Types: deb
|
Types: deb
|
||||||
URIs: https://repo.mysql.com/apt/debian/
|
URIs: https://repo.mysql.com/apt/debian/
|
||||||
Suites: bookworm
|
Suites: bookworm
|
||||||
Components: mysql-8.4-lts
|
Components: mysql-8.4-lts
|
||||||
Architectures: amd64 arm64
|
Architectures: $(dpkg --print-architecture)
|
||||||
Signed-By: /etc/apt/keyrings/mysql.gpg
|
Signed-By: /etc/apt/keyrings/mysql.gpg
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
@@ -3702,8 +3750,7 @@ function setup_postgresql() {
|
|||||||
"https://www.postgresql.org/media/keys/ACCC4CF8.asc" \
|
"https://www.postgresql.org/media/keys/ACCC4CF8.asc" \
|
||||||
"https://apt.postgresql.org/pub/repos/apt" \
|
"https://apt.postgresql.org/pub/repos/apt" \
|
||||||
"$SUITE" \
|
"$SUITE" \
|
||||||
"main" \
|
"main"
|
||||||
"amd64 arm64"
|
|
||||||
|
|
||||||
if ! $STD apt update; then
|
if ! $STD apt update; then
|
||||||
msg_error "APT update failed for PostgreSQL repository"
|
msg_error "APT update failed for PostgreSQL repository"
|
||||||
@@ -4052,8 +4099,7 @@ function setup_clickhouse() {
|
|||||||
"https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key" \
|
"https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key" \
|
||||||
"https://packages.clickhouse.com/deb" \
|
"https://packages.clickhouse.com/deb" \
|
||||||
"stable" \
|
"stable" \
|
||||||
"main" \
|
"main"
|
||||||
"amd64 arm64"
|
|
||||||
|
|
||||||
# Install packages with retry logic
|
# Install packages with retry logic
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ install_glances_debian() {
|
|||||||
msg_ok "Installed dependencies"
|
msg_ok "Installed dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Python + uv"
|
msg_info "Setting up Python + uv"
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/tools.func)
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/tools.func)
|
||||||
setup_uv PYTHON_VERSION="3.12"
|
setup_uv PYTHON_VERSION="3.12"
|
||||||
msg_ok "Setup Python + uv"
|
msg_ok "Setup Python + uv"
|
||||||
|
|
||||||
@@ -118,7 +118,7 @@ install_glances_alpine() {
|
|||||||
msg_ok "Installed dependencies"
|
msg_ok "Installed dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Python + uv"
|
msg_info "Setting up Python + uv"
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/tools.func)
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/tools.func)
|
||||||
setup_uv PYTHON_VERSION="3.12"
|
setup_uv PYTHON_VERSION="3.12"
|
||||||
msg_ok "Setup Python + uv"
|
msg_ok "Setup Python + uv"
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ if ! command -v curl >/dev/null 2>&1; then
|
|||||||
apt-get update >/dev/null 2>&1
|
apt-get update >/dev/null 2>&1
|
||||||
apt-get install -y curl >/dev/null 2>&1
|
apt-get install -y curl >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/core.func)
|
source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/misc/core.func)
|
||||||
load_functions
|
load_functions
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|||||||
Reference in New Issue
Block a user