diff --git a/CHANGELOG.md b/CHANGELOG.md
index 417b1fbe3..677fcb368 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,12 +14,83 @@ 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.
+## 2025-05-15
+
+## 2025-05-14
+
+### 🆕 New Scripts
+
+ - odoo ([#4477](https://github.com/community-scripts/ProxmoxVE/pull/4477))
+- asterisk ([#4468](https://github.com/community-scripts/ProxmoxVE/pull/4468))
+
+### 🚀 Updated Scripts
+
+ - fix: fetch_release_and_deploy function [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4478](https://github.com/community-scripts/ProxmoxVE/pull/4478))
+- Website: re-add documenso & some little bugfixes [@MickLesk](https://github.com/MickLesk) ([#4456](https://github.com/community-scripts/ProxmoxVE/pull/4456))
+
+ - #### 🐞 Bug Fixes
+
+ - Add make installation dependency to Actual Budget script [@maciejmatczak](https://github.com/maciejmatczak) ([#4485](https://github.com/community-scripts/ProxmoxVE/pull/4485))
+ - Bookstack: fix copy of themes/uploads/storage [@MickLesk](https://github.com/MickLesk) ([#4457](https://github.com/community-scripts/ProxmoxVE/pull/4457))
+ - Alpine-Rclone: Fix location of passwords file [@tremor021](https://github.com/tremor021) ([#4465](https://github.com/community-scripts/ProxmoxVE/pull/4465))
+
+ - #### ✨ New Features
+
+ - monitor-all: improvements - tag based filtering [@grizmin](https://github.com/grizmin) ([#4437](https://github.com/community-scripts/ProxmoxVE/pull/4437))
+
+### 🧰 Maintenance
+
+ - #### 📂 Github
+
+ - Add Github app for auto PR merge [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4461](https://github.com/community-scripts/ProxmoxVE/pull/4461))
+
+## 2025-05-13
+
+### 🆕 New Scripts
+
+ - gatus ([#4443](https://github.com/community-scripts/ProxmoxVE/pull/4443))
+- alpine-gatus ([#4442](https://github.com/community-scripts/ProxmoxVE/pull/4442))
+
+### 🚀 Updated Scripts
+
+ - update some improvements from dev (tools.func) [@MickLesk](https://github.com/MickLesk) ([#4430](https://github.com/community-scripts/ProxmoxVE/pull/4430))
+
+ - #### 🐞 Bug Fixes
+
+ - openhab: use zulu17-jdk [@moodyblue](https://github.com/moodyblue) ([#4438](https://github.com/community-scripts/ProxmoxVE/pull/4438))
+
+ - #### 🔧 Refactor
+
+ - openhab. correct some typos [@moodyblue](https://github.com/moodyblue) ([#4448](https://github.com/community-scripts/ProxmoxVE/pull/4448))
+
+### 🧰 Maintenance
+
+ - #### 💾 Core
+
+ - fix: improve bridge detection in all network interface configuration files [@filippolauria](https://github.com/filippolauria) ([#4413](https://github.com/community-scripts/ProxmoxVE/pull/4413))
+
+### 🌐 Website
+
+ - #### 📝 Script Information
+
+ - Jellyfin Media Server: Update configuration path [@tremor021](https://github.com/tremor021) ([#4434](https://github.com/community-scripts/ProxmoxVE/pull/4434))
+ - Pingvin Share: Added explanation on how to add/edit environment variables [@tremor021](https://github.com/tremor021) ([#4432](https://github.com/community-scripts/ProxmoxVE/pull/4432))
+ - pingvin.json: fix typo [@warmbo](https://github.com/warmbo) ([#4426](https://github.com/community-scripts/ProxmoxVE/pull/4426))
+
## 2025-05-12
+### 🆕 New Scripts
+
+ - Alpine-Traefik [@MickLesk](https://github.com/MickLesk) ([#4412](https://github.com/community-scripts/ProxmoxVE/pull/4412))
+
### 🚀 Updated Scripts
- Alpine: Use onliner for updates [@tremor021](https://github.com/tremor021) ([#4414](https://github.com/community-scripts/ProxmoxVE/pull/4414))
+ - #### 🐞 Bug Fixes
+
+ - homarr: fetch versions dynamically from source repo [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4409](https://github.com/community-scripts/ProxmoxVE/pull/4409))
+
- #### ✨ New Features
- Feature: LXC-Delete (pve helper): add "all items" [@MickLesk](https://github.com/MickLesk) ([#4296](https://github.com/community-scripts/ProxmoxVE/pull/4296))
diff --git a/ct/alpine-gatus.sh b/ct/alpine-gatus.sh
new file mode 100644
index 000000000..abbbc6f54
--- /dev/null
+++ b/ct/alpine-gatus.sh
@@ -0,0 +1,62 @@
+#!/usr/bin/env bash
+source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
+# Copyright (c) 2021-2025 community-scripts ORG
+# Author: Slaviša Arežina (tremor021)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/TwiN/gatus
+
+APP="Alpine-gatus"
+var_tags="${var_tags:-alpine;monitoring}"
+var_cpu="${var_cpu:-1}"
+var_ram="${var_ram:-256}"
+var_disk="${var_disk:-3}"
+var_os="${var_os:-alpine}"
+var_version="${var_version:-3.21}"
+var_unprivileged="${var_unprivileged:-1}"
+
+header_info "$APP"
+variables
+color
+catch_errors
+
+function update_script() {
+ header_info
+
+ if [[ ! -d /opt/gatus ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit 1
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
+ if [ "${RELEASE}" != "$(cat /opt/gatus_version.txt)" ] || [ ! -f /opt/gatus_version.txt ]; then
+ msg_info "Updating ${APP} LXC"
+ $STD apk -U upgrade
+ $STD service gatus stop
+ mv /opt/gatus/config/config.yaml /opt
+ rm -rf /opt/gatus/*
+ temp_file=$(mktemp)
+ curl -fsSL "https://github.com/TwiN/gatus/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
+ tar zxf "$temp_file" --strip-components=1 -C /opt/gatus
+ cd /opt/gatus
+ $STD go mod tidy
+ CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus .
+ setcap CAP_NET_RAW+ep gatus
+ mv /opt/config.yaml config
+ rm -f "$temp_file"
+ echo "${RELEASE}" >/opt/gatus_version.txt
+ $STD service gatus start
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+
+ exit 0
+}
+
+start
+build_container
+description
+
+msg_ok "Completed Successfully!\n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
+echo -e "${INFO}${YW} Access it using the following IP:${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"
diff --git a/ct/alpine-rclone.sh b/ct/alpine-rclone.sh
index 1cfd569c9..e2301c2fd 100644
--- a/ct/alpine-rclone.sh
+++ b/ct/alpine-rclone.sh
@@ -28,7 +28,6 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit 1
fi
-
RELEASE=$(curl -s https://api.github.com/repos/rclone/rclone/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [ "${RELEASE}" != "$(cat /opt/rclone_version.txt)" ] || [ ! -f /opt/rclone_version.txt ]; then
msg_info "Updating ${APP} LXC"
diff --git a/ct/alpine-traefik.sh b/ct/alpine-traefik.sh
new file mode 100644
index 000000000..f0e312a31
--- /dev/null
+++ b/ct/alpine-traefik.sh
@@ -0,0 +1,41 @@
+#!/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://alpinelinux.org/
+
+APP="Alpine-Traefik"
+var_tags="${var_tags:-os;alpine}"
+var_cpu="${var_cpu:-1}"
+var_ram="${var_ram:-512}"
+var_disk="${var_disk:-1}"
+var_os="${var_os:-alpine}"
+var_version="${var_version:-3.21}"
+var_unprivileged="${var_unprivileged:-1}"
+
+header_info "$APP"
+variables
+color
+catch_errors
+
+function update_script() {
+ header_info
+ msg_info "Updating Alpine Packages"
+ $STD apk -U upgrade
+ msg_ok "Updated Alpine Packages"
+
+ msg_info "Upgrading traefik from edge"
+ $STD apk add traefik --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community
+ msg_ok "Upgraded traefik"
+ 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} WebUI Access (if configured) - using the following URL:${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/dashboard${CL}"
diff --git a/ct/asterisk.sh b/ct/asterisk.sh
new file mode 100644
index 000000000..40fdb64fe
--- /dev/null
+++ b/ct/asterisk.sh
@@ -0,0 +1,35 @@
+#!/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: michelroegl-brunner
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://asterisk.org/
+
+APP="Asterisk"
+var_tags="${var_tags:-telephone;pbx}"
+var_cpu="${var_cpu:-2}"
+var_ram="${var_ram:-2048}"
+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
+ msg_error "No Update function provided for ${APP} LXC"
+ exit
+}
+
+start
+build_container
+description
+
+msg_ok "Completed Successfully!\n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
diff --git a/ct/bookstack.sh b/ct/bookstack.sh
index 40ff8f808..0388ddf5d 100644
--- a/ct/bookstack.sh
+++ b/ct/bookstack.sh
@@ -39,9 +39,9 @@ function update_script() {
unzip -q "/opt/BookStack-${RELEASE}.zip" -d /opt
mv "/opt/BookStack-${RELEASE}" /opt/bookstack
cp /opt/bookstack-backup/.env /opt/bookstack/.env
- cp -r /opt/bookstack-backup/public/uploads/* /opt/bookstack/public/uploads/ || true
- cp -r /opt/bookstack-backup/storage/uploads/* /opt/bookstack/storage/uploads/ || true
- cp -r /opt/bookstack-backup/themes/* /opt/bookstack/themes/ || true
+ [[ -d /opt/bookstack-backup/public/uploads ]] && cp -a /opt/bookstack-backup/public/uploads/. /opt/bookstack/public/uploads/
+ [[ -d /opt/bookstack-backup/storage/uploads ]] && cp -a /opt/bookstack-backup/storage/uploads/. /opt/bookstack/storage/uploads/
+ [[ -d /opt/bookstack-backup/themes ]] && cp -a /opt/bookstack-backup/themes/. /opt/bookstack/themes/
cd /opt/bookstack
export COMPOSER_ALLOW_SUPERUSER=1
$STD composer install --no-dev
diff --git a/ct/gatus.sh b/ct/gatus.sh
new file mode 100644
index 000000000..ee361ba17
--- /dev/null
+++ b/ct/gatus.sh
@@ -0,0 +1,75 @@
+#!/usr/bin/env bash
+source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
+# Copyright (c) 2021-2025 community-scripts ORG
+# Author: Slaviša Arežina (tremor021)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/TwiN/gatus
+
+APP="gatus"
+var_tags="${var_tags:-monitoring}"
+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/gatus ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
+ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
+ msg_info "Updating $APP"
+
+ msg_info "Stopping $APP"
+ systemctl stop gatus
+ msg_ok "Stopped $APP"
+
+ msg_info "Updating $APP to v${RELEASE}"
+ mv /opt/gatus/config/config.yaml /opt
+ rm -rf /opt/gatus/*
+ temp_file=$(mktemp)
+ curl -fsSL "https://github.com/TwiN/gatus/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
+ tar zxf "$temp_file" --strip-components=1 -C /opt/gatus
+ cd /opt/gatus
+ $STD go mod tidy
+ CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus .
+ setcap CAP_NET_RAW+ep gatus
+ mv /opt/config.yaml config
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated $APP to v${RELEASE}"
+
+ msg_info "Starting $APP"
+ systemctl start gatus
+ msg_ok "Started $APP"
+
+ msg_info "Cleaning Up"
+ rm -f "$temp_file"
+ msg_ok "Cleanup Completed"
+
+ msg_ok "Update Successful"
+ else
+ msg_ok "No update required. ${APP} is already at v${RELEASE}"
+ fi
+ exit
+}
+
+start
+build_container
+description
+
+msg_ok "Completed Successfully!\n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
+echo -e "${INFO}${YW} Access it using the following URL:${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"
diff --git a/ct/headers/alpine-gatus b/ct/headers/alpine-gatus
new file mode 100644
index 000000000..0eb5bc4e4
--- /dev/null
+++ b/ct/headers/alpine-gatus
@@ -0,0 +1,6 @@
+ ___ __ _ __
+ / | / /___ (_)___ ___ ____ _____ _/ /___ _______
+ / /| | / / __ \/ / __ \/ _ \______/ __ `/ __ `/ __/ / / / ___/
+ / ___ |/ / /_/ / / / / / __/_____/ /_/ / /_/ / /_/ /_/ (__ )
+/_/ |_/_/ .___/_/_/ /_/\___/ \__, /\__,_/\__/\__,_/____/
+ /_/ /____/
diff --git a/ct/headers/alpine-traefik b/ct/headers/alpine-traefik
new file mode 100644
index 000000000..0c2f2996c
--- /dev/null
+++ b/ct/headers/alpine-traefik
@@ -0,0 +1,6 @@
+ ___ __ _ ______ _____ __
+ / | / /___ (_)___ ___ /_ __/________ ____ / __(_) /__
+ / /| | / / __ \/ / __ \/ _ \______/ / / ___/ __ `/ _ \/ /_/ / //_/
+ / ___ |/ / /_/ / / / / / __/_____/ / / / / /_/ / __/ __/ / ,<
+/_/ |_/_/ .___/_/_/ /_/\___/ /_/ /_/ \__,_/\___/_/ /_/_/|_|
+ /_/
diff --git a/ct/headers/asterisk b/ct/headers/asterisk
new file mode 100644
index 000000000..ed4356862
--- /dev/null
+++ b/ct/headers/asterisk
@@ -0,0 +1,6 @@
+ ___ __ _ __
+ / | _____/ /____ _____(_)____/ /__
+ / /| | / ___/ __/ _ \/ ___/ / ___/ //_/
+ / ___ |(__ ) /_/ __/ / / (__ ) ,<
+/_/ |_/____/\__/\___/_/ /_/____/_/|_|
+
diff --git a/ct/headers/gatus b/ct/headers/gatus
new file mode 100644
index 000000000..42caf9c6b
--- /dev/null
+++ b/ct/headers/gatus
@@ -0,0 +1,6 @@
+ __
+ ____ _____ _/ /___ _______
+ / __ `/ __ `/ __/ / / / ___/
+ / /_/ / /_/ / /_/ /_/ (__ )
+ \__, /\__,_/\__/\__,_/____/
+/____/
diff --git a/ct/headers/homarr b/ct/headers/homarr
index 1bd7a939e..99bf5100f 100644
--- a/ct/headers/homarr
+++ b/ct/headers/homarr
@@ -1,6 +1,6 @@
- __ __
- / / / /___ ____ ___ ____ ___________
- / /_/ / __ \/ __ `__ \/ __ `/ ___/ ___/
- / __ / /_/ / / / / / / /_/ / / / /
+ __
+ / /_ ____ ____ ___ ____ ___________
+ / __ \/ __ \/ __ `__ \/ __ `/ ___/ ___/
+ / / / / /_/ / / / / / / /_/ / / / /
/_/ /_/\____/_/ /_/ /_/\__,_/_/ /_/
diff --git a/ct/headers/odoo b/ct/headers/odoo
new file mode 100644
index 000000000..e375aea1d
--- /dev/null
+++ b/ct/headers/odoo
@@ -0,0 +1,6 @@
+ ____ __
+ / __ \____/ /___ ____
+ / / / / __ / __ \/ __ \
+/ /_/ / /_/ / /_/ / /_/ /
+\____/\__,_/\____/\____/
+
diff --git a/ct/homarr.sh b/ct/homarr.sh
index a1380610c..4b75b9afe 100644
--- a/ct/homarr.sh
+++ b/ct/homarr.sh
@@ -5,7 +5,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/asylumexp/Proxmox/main/mis
# License: MIT | https://github.com/asylumexp/Proxmox/raw/main/LICENSE
# Source: https://homarr.dev/
-APP="Homarr"
+APP="homarr"
var_tags="${var_tags:-arr;dashboard}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
@@ -117,11 +117,12 @@ node apps/nextjs/server.js & PID=$!
wait $PID
EOF
chmod +x /opt/run_homarr.sh
-curl -fsSL "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip")
- unzip -q v${RELEASE}.zip
- rm -rf v${RELEASE}.zip
+ $STD command -v jq || $STD apt-get update && $STD apt-get install -y jq
+ NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
+ NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')"
+ install_node_and_modules
rm -rf /opt/homarr
- mv homarr-${RELEASE} /opt/homarr
+ fetch_and_deploy_gh_release "homarr-labs/homarr"
mv /opt/homarr-data-backup/.env /opt/homarr/.env
cd /opt/homarr
$STD pnpm install
diff --git a/ct/odoo.sh b/ct/odoo.sh
new file mode 100644
index 000000000..0451c9478
--- /dev/null
+++ b/ct/odoo.sh
@@ -0,0 +1,71 @@
+#!/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/odoo/odoo
+
+APP="Odoo"
+var_tags="${var_tags:-erp}"
+var_disk="${var_disk:-6}"
+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 [[ ! -f /etc/odoo/odoo.conf ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit 1
+ fi
+ RELEASE=$(curl -fsSL https://nightly.odoo.com/ | grep -oE 'href="[0-9]+\.[0-9]+/nightly"' | head -n1 | cut -d'"' -f2 | cut -d/ -f1)
+ LATEST_VERSION=$(curl -fsSL "https://nightly.odoo.com/${RELEASE}/nightly/deb/" |
+ grep -oP "odoo_${RELEASE}\.\d+_all\.deb" |
+ sed -E "s/odoo_(${RELEASE}\.[0-9]+)_all\.deb/\1/" |
+ sort -V |
+ tail -n1)
+
+ if [[ "${LATEST_VERSION}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
+ msg_info "Stopping ${APP} service"
+ systemctl stop odoo
+ msg_ok "Stopped ${APP}"
+
+ msg_info "Updating ${APP} to ${LATEST_VERSION}"
+ curl -fsSL https://nightly.odoo.com/${RELEASE}/nightly/deb/odoo_${RELEASE}.latest_all.deb -o /opt/odoo.deb
+ $STD apt install -y /opt/odoo.deb
+ echo "$LATEST_VERSION" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP} to ${LATEST_VERSION}"
+
+ msg_info "Starting ${APP} service"
+ systemctl start odoo
+ msg_ok "Started ${APP}"
+
+ msg_info "Cleaning Up"
+ rm -f /opt/odoo.deb
+ msg_ok "Cleaned"
+
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${LATEST_VERSION}"
+ 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}:8069${CL}"
diff --git a/frontend/public/json/alpine-rclone.json b/frontend/public/json/alpine-rclone.json
index 9defea694..7bdc79a37 100644
--- a/frontend/public/json/alpine-rclone.json
+++ b/frontend/public/json/alpine-rclone.json
@@ -49,7 +49,7 @@
},
{
"type": "info",
- "text": "`htpasswd -b -B /opt/rclone/login.pwd newuser newuserpassword` to add more users."
+ "text": "`htpasswd -b -B /opt/login.pwd newuser newuserpassword` to add more users."
}
]
}
diff --git a/frontend/public/json/asterisk.json b/frontend/public/json/asterisk.json
new file mode 100644
index 000000000..dc27574f2
--- /dev/null
+++ b/frontend/public/json/asterisk.json
@@ -0,0 +1,33 @@
+{
+ "name": "Asterisk",
+ "slug": "asterisk",
+ "categories": [0],
+ "date_created": "2025-05-14",
+ "type": "ct",
+ "updateable": false,
+ "privileged": false,
+ "interface_port": null,
+ "documentation": "https://docs.asterisk.org/",
+ "config_path": "/etc/asterisk",
+ "website": "https://asterisk.org/",
+ "logo": "https://docs.asterisk.org/favicon.ico",
+ "description": "Asterisk is an open-source framework for building communications applications, most commonly used as a phone system (PBX). Developed by Digium (now part of Sangoma), it turns a standard computer into a powerful telephony server.",
+ "install_methods": [
+ {
+ "type": "default",
+ "script": "ct/asterisk.sh",
+ "resources": {
+ "cpu": 2,
+ "ram": 2048,
+ "hdd": 4,
+ "os": "Debian",
+ "version": "12"
+ }
+ }
+ ],
+ "default_credentials": {
+ "username": null,
+ "password": null
+ },
+ "notes": []
+}
diff --git a/frontend/public/json/documenso.json b/frontend/public/json/documenso.json
new file mode 100644
index 000000000..98e6fdd51
--- /dev/null
+++ b/frontend/public/json/documenso.json
@@ -0,0 +1,35 @@
+{
+ "name": "Documenso",
+ "slug": "documenso",
+ "categories": [
+ 12
+ ],
+ "date_created": "2025-05-14",
+ "type": "ct",
+ "updateable": true,
+ "privileged": false,
+ "interface_port": 3000,
+ "documentation": "https://documenso.com/",
+ "website": "https://documenso.com/",
+ "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/documenso.svg",
+ "config_path": "/opt/documenso/.env",
+ "description": "Signing documents digitally should be fast and easy and should be the best practice for every document signed worldwide. This is technically quite easy today, but it also introduces a new party to every signature: The signing tool providers. While this is not a problem in itself, it should make us think about how we want these providers of trust to work. Documenso aims to be the world's most trusted document-signing tool. This trust is built by empowering you to self-host Documenso and review how it works under the hood.",
+ "install_methods": [
+ {
+ "type": "default",
+ "script": "ct/documenso.sh",
+ "resources": {
+ "cpu": 4,
+ "ram": 6144,
+ "hdd": 10,
+ "os": "Debian",
+ "version": "12"
+ }
+ }
+ ],
+ "default_credentials": {
+ "username": "helper-scripts@local.com",
+ "password": "helper-scripts"
+ },
+ "notes": []
+}
diff --git a/frontend/public/json/gatus.json b/frontend/public/json/gatus.json
new file mode 100644
index 000000000..35f8e9b84
--- /dev/null
+++ b/frontend/public/json/gatus.json
@@ -0,0 +1,46 @@
+{
+ "name": "gatus",
+ "slug": "gatus",
+ "categories": [
+ 9
+ ],
+ "date_created": "2025-05-13",
+ "type": "ct",
+ "updateable": true,
+ "privileged": false,
+ "interface_port": 8080,
+ "documentation": "https://gatus.io/docs",
+ "website": "https://gatus.io/",
+ "logo": "https://raw.githubusercontent.com/TwiN/gatus/refs/heads/master/web/static/img/logo.svg",
+ "config_path": "/opt/gatus/config/config.yaml",
+ "description": "Gatus is a developer-oriented health dashboard that gives you the ability to monitor your services using HTTP, ICMP, TCP, and even DNS queries as well as evaluate the result of said queries by using a list of conditions on values like the status code, the response time, the certificate expiration, the body and many others. The icing on top is that each of these health checks can be paired with alerting via Slack, Teams, PagerDuty, Discord, Twilio and many more.",
+ "install_methods": [
+ {
+ "type": "default",
+ "script": "ct/gatus.sh",
+ "resources": {
+ "cpu": 1,
+ "ram": 512,
+ "hdd": 4,
+ "os": "debian",
+ "version": "12"
+ }
+ },
+ {
+ "type": "alpine",
+ "script": "ct/alpine-gatus.sh",
+ "resources": {
+ "cpu": 1,
+ "ram": 256,
+ "hdd": 3,
+ "os": "alpine",
+ "version": "3.21"
+ }
+ }
+ ],
+ "default_credentials": {
+ "username": null,
+ "password": null
+ },
+ "notes": []
+}
diff --git a/frontend/public/json/homeassistant-core.json b/frontend/public/json/homeassistant-core.json
index c4c05e241..f157c0385 100644
--- a/frontend/public/json/homeassistant-core.json
+++ b/frontend/public/json/homeassistant-core.json
@@ -41,7 +41,7 @@
"type": "warning"
},
{
- "text": "Use Ubuntu 24.10 ONLY",
+ "text": "Deprecation-Warning: This Core-based setup will be deprecated by August 2025. Use Home Assistant OS is strongly recommended to ensure long-term stability and updates.",
"type": "warning"
},
{
diff --git a/frontend/public/json/jellyfin.json b/frontend/public/json/jellyfin.json
index aa0f2854d..71e4f5be0 100644
--- a/frontend/public/json/jellyfin.json
+++ b/frontend/public/json/jellyfin.json
@@ -12,7 +12,7 @@
"documentation": "https://jellyfin.org/docs/",
"website": "https://jellyfin.org/",
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/jellyfin.svg",
- "config_path": "/root/.config/jellyfin",
+ "config_path": "/etc/jellyfin/",
"description": "Jellyfin is a free and open-source media server and suite of multimedia applications designed to organize, manage, and share digital media files to networked devices.",
"install_methods": [
{
diff --git a/frontend/public/json/odoo.json b/frontend/public/json/odoo.json
new file mode 100644
index 000000000..3c1180456
--- /dev/null
+++ b/frontend/public/json/odoo.json
@@ -0,0 +1,40 @@
+{
+ "name": "Odoo",
+ "slug": "odoo",
+ "categories": [
+ 25
+ ],
+ "date_created": "2025-05-14",
+ "type": "ct",
+ "updateable": true,
+ "privileged": false,
+ "interface_port": 8069,
+ "documentation": "https://www.odoo.com/en_EN/page/docs",
+ "website": "https://www.odoo.com/",
+ "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/odoo.svg",
+ "config_path": "/etc/odoo/odoo.conf",
+ "description": "Odoo is a comprehensive open-source business platform made up of modular apps that cover key areas such as CRM, accounting, inventory, sales, project management, HR, helpdesk, and e-commerce. All modules are tightly integrated, allowing businesses to fully digitize and automate their workflows. Its modular design makes it suitable for both small companies and large enterprises, with flexibility to adapt to different industries. Odoo combines user-friendliness with powerful functionality, offering a unified solution for managing a wide range of business operations.",
+ "install_methods": [
+ {
+ "type": "default",
+ "script": "ct/odoo.sh",
+ "resources": {
+ "cpu": 2,
+ "ram": 2048,
+ "hdd": 6,
+ "os": "debian",
+ "version": "12"
+ }
+ }
+ ],
+ "default_credentials": {
+ "username": "admin",
+ "password": "admin"
+ },
+ "notes": [
+ {
+ "text": "Database Credentials: `cat ~/odoo.creds`",
+ "type": "info"
+ }
+ ]
+}
diff --git a/frontend/public/json/pingvin.json b/frontend/public/json/pingvin.json
index 872c815e0..0f6002dc8 100644
--- a/frontend/public/json/pingvin.json
+++ b/frontend/public/json/pingvin.json
@@ -12,7 +12,7 @@
"documentation": "https://stonith404.github.io/pingvin-share/introduction",
"website": "https://github.com/stonith404/pingvin-share",
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/pingvin-share.svg",
- "config_path": "/opt/pingin-share/config.yaml",
+ "config_path": "/opt/pingvin-share/config.yaml",
"description": "Pingvin Share is self-hosted file sharing platform and an alternative for WeTransfer.",
"install_methods": [
{
@@ -31,5 +31,10 @@
"username": null,
"password": null
},
- "notes": []
+ "notes": [
+ {
+ "text": "Run `DATA_DIRECTORY=path-to-your-data-directory pm2 restart all --update-env` to update path to your data directory or to update environment variables.",
+ "type": "info"
+ }
+ ]
}
diff --git a/frontend/public/json/traefik.json b/frontend/public/json/traefik.json
index 5655a98a2..c62f08e6f 100644
--- a/frontend/public/json/traefik.json
+++ b/frontend/public/json/traefik.json
@@ -25,6 +25,17 @@
"os": "debian",
"version": "12"
}
+ },
+ {
+ "type": "alpine",
+ "script": "ct/alpine-traefik.sh",
+ "resources": {
+ "cpu": 1,
+ "ram": 512,
+ "hdd": 1,
+ "os": "alpine",
+ "version": "3.21"
+ }
}
],
"default_credentials": {
diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json
index 772f7699a..f3b22aedc 100644
--- a/frontend/public/json/versions.json
+++ b/frontend/public/json/versions.json
@@ -1,19 +1,229 @@
[
{
- "name": "mattermost/mattermost",
- "version": "v10.7.2",
- "date": "2025-05-12T10:42:32Z"
+ "name": "advplyr/audiobookshelf",
+ "version": "v2.22.0",
+ "date": "2025-05-14T22:30:59Z"
},
{
- "name": "VictoriaMetrics/VictoriaMetrics",
- "version": "v1.102.20",
- "date": "2025-05-12T10:23:03Z"
+ "name": "glanceapp/glance",
+ "version": "v0.8.2",
+ "date": "2025-05-14T21:34:41Z"
+ },
+ {
+ "name": "Ombi-app/Ombi",
+ "version": "v4.47.1",
+ "date": "2025-01-05T21:14:23Z"
+ },
+ {
+ "name": "Luligu/matterbridge",
+ "version": "3.0.2",
+ "date": "2025-05-14T20:38:06Z"
+ },
+ {
+ "name": "NodeBB/NodeBB",
+ "version": "v4.4.0",
+ "date": "2025-05-14T20:36:37Z"
+ },
+ {
+ "name": "esphome/esphome",
+ "version": "2025.4.2",
+ "date": "2025-05-11T22:18:43Z"
+ },
+ {
+ "name": "coder/code-server",
+ "version": "v4.100.1",
+ "date": "2025-05-14T18:08:16Z"
+ },
+ {
+ "name": "MediaBrowser/Emby.Releases",
+ "version": "4.8.11.0",
+ "date": "2025-03-10T06:39:11Z"
+ },
+ {
+ "name": "Checkmk/checkmk",
+ "version": "v2.3.0p32+security",
+ "date": "2025-05-14T15:37:55Z"
+ },
+ {
+ "name": "Athou/commafeed",
+ "version": "5.9.0",
+ "date": "2025-05-14T15:29:48Z"
+ },
+ {
+ "name": "juanfont/headscale",
+ "version": "v0.26.0",
+ "date": "2025-05-14T15:12:14Z"
+ },
+ {
+ "name": "mongodb/mongo",
+ "version": "r6.0.24-alpha0",
+ "date": "2025-05-14T14:52:41Z"
+ },
+ {
+ "name": "motioneye-project/motioneye",
+ "version": "0.42.1",
+ "date": "2020-06-07T07:27:04Z"
+ },
+ {
+ "name": "zwave-js/zwave-js-ui",
+ "version": "v10.5.0",
+ "date": "2025-05-14T13:21:21Z"
+ },
+ {
+ "name": "firefly-iii/firefly-iii",
+ "version": "v6.2.12",
+ "date": "2025-04-20T19:22:17Z"
+ },
+ {
+ "name": "jenkinsci/jenkins",
+ "version": "jenkins-2.510",
+ "date": "2025-05-13T18:33:42Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.0",
"date": "2025-05-12T09:12:04Z"
},
+ {
+ "name": "wazuh/wazuh",
+ "version": "coverity-w20-4.13.0",
+ "date": "2025-05-14T12:06:20Z"
+ },
+ {
+ "name": "blakeblackshear/frigate",
+ "version": "v0.14.1",
+ "date": "2024-08-29T22:32:51Z"
+ },
+ {
+ "name": "morpheus65535/bazarr",
+ "version": "v1.5.2",
+ "date": "2025-05-11T16:40:55Z"
+ },
+ {
+ "name": "Jackett/Jackett",
+ "version": "v0.22.1895",
+ "date": "2025-05-14T05:59:00Z"
+ },
+ {
+ "name": "TandoorRecipes/recipes",
+ "version": "2.0.0-alpha-4",
+ "date": "2025-05-14T05:01:45Z"
+ },
+ {
+ "name": "ollama/ollama",
+ "version": "v0.6.9-rc0",
+ "date": "2025-05-10T18:57:30Z"
+ },
+ {
+ "name": "cross-seed/cross-seed",
+ "version": "v6.12.4",
+ "date": "2025-05-11T11:41:32Z"
+ },
+ {
+ "name": "netbox-community/netbox",
+ "version": "v4.3.1",
+ "date": "2025-05-13T19:45:00Z"
+ },
+ {
+ "name": "pocketbase/pocketbase",
+ "version": "v0.28.1",
+ "date": "2025-05-13T18:45:47Z"
+ },
+ {
+ "name": "keycloak/keycloak",
+ "version": "26.2.4",
+ "date": "2025-05-08T09:10:10Z"
+ },
+ {
+ "name": "OctoPrint/OctoPrint",
+ "version": "1.11.1",
+ "date": "2025-05-13T13:32:07Z"
+ },
+ {
+ "name": "redis/redis",
+ "version": "8.0.1",
+ "date": "2025-05-13T13:31:53Z"
+ },
+ {
+ "name": "theonedev/onedev",
+ "version": "v11.9.6",
+ "date": "2025-05-13T12:16:17Z"
+ },
+ {
+ "name": "element-hq/synapse",
+ "version": "v1.129.0",
+ "date": "2025-05-06T12:28:54Z"
+ },
+ {
+ "name": "zabbix/zabbix",
+ "version": "7.2.7rc1",
+ "date": "2025-05-13T11:55:32Z"
+ },
+ {
+ "name": "Graylog2/graylog2-server",
+ "version": "6.3.0-alpha.4",
+ "date": "2025-05-13T11:18:29Z"
+ },
+ {
+ "name": "zitadel/zitadel",
+ "version": "v2.65.9",
+ "date": "2025-05-13T05:14:39Z"
+ },
+ {
+ "name": "go-gitea/gitea",
+ "version": "v1.23.8",
+ "date": "2025-05-12T22:40:50Z"
+ },
+ {
+ "name": "leiweibau/Pi.Alert",
+ "version": "v2025-05-11",
+ "date": "2025-05-12T19:14:57Z"
+ },
+ {
+ "name": "duplicati/duplicati",
+ "version": "v2.1.0.118-2.1.0.118_canary_2025-05-12",
+ "date": "2025-05-12T18:50:44Z"
+ },
+ {
+ "name": "runtipi/runtipi",
+ "version": "nightly",
+ "date": "2025-05-12T18:39:33Z"
+ },
+ {
+ "name": "neo4j/neo4j",
+ "version": "4.4.43",
+ "date": "2025-05-12T15:33:17Z"
+ },
+ {
+ "name": "usememos/memos",
+ "version": "v0.24.3",
+ "date": "2025-05-12T15:23:21Z"
+ },
+ {
+ "name": "n8n-io/n8n",
+ "version": "n8n@1.91.3",
+ "date": "2025-05-08T12:25:10Z"
+ },
+ {
+ "name": "Paymenter/Paymenter",
+ "version": "v1.1.0",
+ "date": "2025-05-12T14:40:27Z"
+ },
+ {
+ "name": "VictoriaMetrics/VictoriaMetrics",
+ "version": "pmm-6401-v1.117.0",
+ "date": "2025-05-12T13:24:20Z"
+ },
+ {
+ "name": "apache/tika",
+ "version": "3.2.0-rc1",
+ "date": "2025-05-12T13:06:47Z"
+ },
+ {
+ "name": "mattermost/mattermost",
+ "version": "v10.7.2",
+ "date": "2025-05-12T10:42:32Z"
+ },
{
"name": "dgtlmoon/changedetection.io",
"version": "0.49.17",
@@ -24,36 +234,11 @@
"version": "1.0.0",
"date": "2025-05-12T07:39:23Z"
},
- {
- "name": "firefly-iii/firefly-iii",
- "version": "v6.2.12",
- "date": "2025-04-20T19:22:17Z"
- },
{
"name": "umami-software/umami",
"version": "v2.18.1",
"date": "2025-05-12T07:16:12Z"
},
- {
- "name": "runtipi/runtipi",
- "version": "v4.1.0",
- "date": "2025-05-12T07:13:15Z"
- },
- {
- "name": "Jackett/Jackett",
- "version": "v0.22.1891",
- "date": "2025-05-12T05:53:07Z"
- },
- {
- "name": "esphome/esphome",
- "version": "2025.4.2",
- "date": "2025-05-11T22:18:43Z"
- },
- {
- "name": "morpheus65535/bazarr",
- "version": "v1.5.2",
- "date": "2025-05-11T16:40:55Z"
- },
{
"name": "outline/outline",
"version": "v0.84.0",
@@ -69,31 +254,16 @@
"version": "v1.35.1.5034",
"date": "2025-04-30T11:02:36Z"
},
- {
- "name": "cross-seed/cross-seed",
- "version": "v6.12.4",
- "date": "2025-05-11T11:41:32Z"
- },
{
"name": "authelia/authelia",
"version": "v4.39.3",
"date": "2025-05-11T11:12:15Z"
},
- {
- "name": "theonedev/onedev",
- "version": "v11.9.5",
- "date": "2025-05-11T10:50:37Z"
- },
{
"name": "Radarr/Radarr",
"version": "v5.22.4.9896",
"date": "2025-04-23T18:51:12Z"
},
- {
- "name": "pocketbase/pocketbase",
- "version": "v0.28.0",
- "date": "2025-05-11T06:25:22Z"
- },
{
"name": "owncast/owncast",
"version": "v0.2.3",
@@ -104,21 +274,11 @@
"version": "v0.6.9",
"date": "2025-05-10T19:05:02Z"
},
- {
- "name": "ollama/ollama",
- "version": "v0.6.9-rc0",
- "date": "2025-05-10T18:57:30Z"
- },
{
"name": "Stirling-Tools/Stirling-PDF",
"version": "v0.46.1",
"date": "2025-05-10T15:39:10Z"
},
- {
- "name": "juanfont/headscale",
- "version": "v0.25.1",
- "date": "2025-02-25T17:30:48Z"
- },
{
"name": "pelican-dev/wings",
"version": "v1.0.0-beta13",
@@ -134,36 +294,16 @@
"version": "v1.19.1",
"date": "2025-05-09T19:15:10Z"
},
- {
- "name": "MediaBrowser/Emby.Releases",
- "version": "4.8.11.0",
- "date": "2025-03-10T06:39:11Z"
- },
{
"name": "home-assistant/core",
"version": "2025.5.1",
"date": "2025-05-09T15:05:54Z"
},
- {
- "name": "keycloak/keycloak",
- "version": "26.2.4",
- "date": "2025-05-08T09:10:10Z"
- },
{
"name": "crowdsecurity/crowdsec",
"version": "v1.6.8",
"date": "2025-03-25T13:33:10Z"
},
- {
- "name": "zitadel/zitadel",
- "version": "v3.0.4",
- "date": "2025-05-09T11:38:33Z"
- },
- {
- "name": "coder/code-server",
- "version": "v4.99.4",
- "date": "2025-05-02T18:33:09Z"
- },
{
"name": "pocket-id/pocket-id",
"version": "v0.53.0",
@@ -179,26 +319,11 @@
"version": "v25.02.4",
"date": "2025-05-08T15:03:17Z"
},
- {
- "name": "wazuh/wazuh",
- "version": "v4.12.0",
- "date": "2025-05-08T13:27:46Z"
- },
{
"name": "apache/tomcat",
"version": "10.1.41",
"date": "2025-05-08T12:45:44Z"
},
- {
- "name": "n8n-io/n8n",
- "version": "n8n@1.91.3",
- "date": "2025-05-08T12:25:10Z"
- },
- {
- "name": "zwave-js/zwave-js-ui",
- "version": "v10.4.2",
- "date": "2025-05-08T08:11:27Z"
- },
{
"name": "semaphoreui/semaphore",
"version": "v2.14.10",
@@ -219,11 +344,6 @@
"version": "v0.34.1",
"date": "2025-03-25T18:11:12Z"
},
- {
- "name": "NodeBB/NodeBB",
- "version": "v4.3.1",
- "date": "2025-05-07T15:38:20Z"
- },
{
"name": "donaldzou/WGDashboard",
"version": "v4.2.3",
@@ -239,11 +359,6 @@
"version": "v5.7.5",
"date": "2025-05-07T14:01:45Z"
},
- {
- "name": "Graylog2/graylog2-server",
- "version": "6.3.0-alpha.3",
- "date": "2025-05-07T13:58:36Z"
- },
{
"name": "glpi-project/glpi",
"version": "10.0.18",
@@ -259,11 +374,6 @@
"version": "v2.36.0",
"date": "2025-05-07T11:54:14Z"
},
- {
- "name": "Checkmk/checkmk",
- "version": "v2.2.0p42-rc1",
- "date": "2025-05-07T11:50:30Z"
- },
{
"name": "openobserve/openobserve",
"version": "v0.14.7",
@@ -279,11 +389,6 @@
"version": "338",
"date": "2025-05-07T10:43:29Z"
},
- {
- "name": "zabbix/zabbix",
- "version": "7.4.0beta2",
- "date": "2025-05-07T10:39:21Z"
- },
{
"name": "jupyter/notebook",
"version": "@jupyter-notebook/ui-components@7.5.0-alpha.0",
@@ -294,26 +399,11 @@
"version": "v1.12.1rc0",
"date": "2025-05-06T20:56:30Z"
},
- {
- "name": "redis/redis",
- "version": "8.0.1-int",
- "date": "2025-05-06T18:40:34Z"
- },
- {
- "name": "Athou/commafeed",
- "version": "5.8.0",
- "date": "2025-05-06T18:33:07Z"
- },
{
"name": "sysadminsmedia/homebox",
"version": "v0.19.0",
"date": "2025-05-06T18:05:42Z"
},
- {
- "name": "jenkinsci/jenkins",
- "version": "jenkins-2.509",
- "date": "2025-05-06T15:37:10Z"
- },
{
"name": "MariaDB/server",
"version": "mariadb-11.4.6",
@@ -329,16 +419,6 @@
"version": "v0.107.61",
"date": "2025-04-22T12:42:26Z"
},
- {
- "name": "element-hq/synapse",
- "version": "v1.129.0",
- "date": "2025-05-06T12:28:54Z"
- },
- {
- "name": "Luligu/matterbridge",
- "version": "3.0.1",
- "date": "2025-05-06T10:24:43Z"
- },
{
"name": "syncthing/syncthing",
"version": "v1.29.6",
@@ -384,16 +464,6 @@
"version": "v0.18.0",
"date": "2025-05-05T15:34:40Z"
},
- {
- "name": "apache/tika",
- "version": "2.9.4",
- "date": "2025-05-05T15:17:27Z"
- },
- {
- "name": "neo4j/neo4j",
- "version": "5.26.6",
- "date": "2025-05-05T13:59:36Z"
- },
{
"name": "traefik/traefik",
"version": "v3.4.0",
@@ -444,11 +514,6 @@
"version": "v2.0.111",
"date": "2025-05-03T16:25:30Z"
},
- {
- "name": "blakeblackshear/frigate",
- "version": "v0.14.1",
- "date": "2024-08-29T22:32:51Z"
- },
{
"name": "kimai/kimai",
"version": "2.33.0",
@@ -479,11 +544,6 @@
"version": "v3.5.4",
"date": "2025-05-02T13:42:06Z"
},
- {
- "name": "motioneye-project/motioneye",
- "version": "0.42.1",
- "date": "2020-06-07T07:27:04Z"
- },
{
"name": "emqx/emqx",
"version": "e5.9.0",
@@ -494,11 +554,6 @@
"version": "2.3.0",
"date": "2025-05-01T18:24:31Z"
},
- {
- "name": "netbox-community/netbox",
- "version": "v4.3.0",
- "date": "2025-05-01T16:46:17Z"
- },
{
"name": "WordPress/WordPress",
"version": "6.8.1",
@@ -524,11 +579,6 @@
"version": "version/2025.4.0",
"date": "2025-04-30T12:34:14Z"
},
- {
- "name": "go-gitea/gitea",
- "version": "v1.25.0-dev",
- "date": "2025-04-28T22:57:56Z"
- },
{
"name": "hivemq/hivemq-community-edition",
"version": "2025.3",
@@ -574,11 +624,6 @@
"version": "v0.24.1",
"date": "2025-04-28T08:21:37Z"
},
- {
- "name": "advplyr/audiobookshelf",
- "version": "v2.21.0",
- "date": "2025-04-27T16:31:14Z"
- },
{
"name": "gotify/server",
"version": "v2.6.3",
@@ -594,16 +639,6 @@
"version": "v3.1.9",
"date": "2025-03-01T02:24:33Z"
},
- {
- "name": "TandoorRecipes/recipes",
- "version": "1.5.34",
- "date": "2025-03-27T16:17:38Z"
- },
- {
- "name": "leiweibau/Pi.Alert",
- "version": "v2025-04-26",
- "date": "2025-04-26T14:16:12Z"
- },
{
"name": "openhab/openhab-core",
"version": "4.3.5",
@@ -619,16 +654,6 @@
"version": "v13.6.0",
"date": "2025-04-26T10:21:12Z"
},
- {
- "name": "duplicati/duplicati",
- "version": "v2.1.0.117-2.1.0.117_canary_2025-04-25",
- "date": "2025-04-25T17:22:12Z"
- },
- {
- "name": "mongodb/mongo",
- "version": "r7.0.19",
- "date": "2025-04-24T20:59:43Z"
- },
{
"name": "dotnetfactory/fluid-calendar",
"version": "v1.4.0",
@@ -649,21 +674,11 @@
"version": "RELEASE.2025-04-22T22-12-26Z",
"date": "2025-04-22T22:44:34Z"
},
- {
- "name": "glanceapp/glance",
- "version": "v0.7.13",
- "date": "2025-04-22T22:19:16Z"
- },
{
"name": "OliveTin/OliveTin",
"version": "2025.4.22",
"date": "2025-04-22T14:18:11Z"
},
- {
- "name": "OctoPrint/OctoPrint",
- "version": "1.11.0",
- "date": "2025-04-22T09:33:46Z"
- },
{
"name": "monicahq/monica",
"version": "v4.1.2",
@@ -694,11 +709,6 @@
"version": "v2.10.0",
"date": "2025-04-18T20:46:28Z"
},
- {
- "name": "Paymenter/Paymenter",
- "version": "v1.0.4",
- "date": "2025-04-18T16:08:02Z"
- },
{
"name": "tailscale/tailscale",
"version": "v1.82.5",
@@ -734,11 +744,6 @@
"version": "15.2",
"date": "2025-04-14T15:37:12Z"
},
- {
- "name": "Ombi-app/Ombi",
- "version": "v4.47.1",
- "date": "2025-01-05T21:14:23Z"
- },
{
"name": "Tautulli/Tautulli",
"version": "v2.15.2",
@@ -894,11 +899,6 @@
"version": "v4.3.1",
"date": "2025-03-23T09:02:54Z"
},
- {
- "name": "usememos/memos",
- "version": "v0.24.2",
- "date": "2025-03-23T04:01:50Z"
- },
{
"name": "clusterzx/paperless-ai",
"version": "v2.7.6",
diff --git a/install/actualbudget-install.sh b/install/actualbudget-install.sh
index ffecc8889..51843f6c7 100644
--- a/install/actualbudget-install.sh
+++ b/install/actualbudget-install.sh
@@ -13,6 +13,11 @@ setting_up_container
network_check
update_os
+msg_info "Installing Dependencies"
+$STD apt-get install -y \
+ make
+msg_ok "Installed Dependencies"
+
msg_info "Installing Actual Budget"
cd /opt
RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
diff --git a/install/alpine-gatus-install.sh b/install/alpine-gatus-install.sh
new file mode 100644
index 000000000..9e479d813
--- /dev/null
+++ b/install/alpine-gatus-install.sh
@@ -0,0 +1,70 @@
+#!/usr/bin/env bash
+
+# Copyright (c) 2021-2025 community-scripts ORG
+# Author: Slaviša Arežina (tremor021)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/TwiN/gatus
+
+source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
+color
+verb_ip6
+catch_errors
+setting_up_container
+network_check
+update_os
+
+msg_info "Installing dependencies"
+$STD apk add --no-cache \
+ ca-certificates \
+ libcap-setcap
+$STD apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community go
+msg_ok "Installed dependencies"
+
+RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
+msg_info "Installing gatus v${RELEASE}"
+temp_file=$(mktemp)
+mkdir -p /opt/gatus
+curl -fsSL "https://github.com/TwiN/gatus/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
+tar zxf "$temp_file" --strip-components=1 -C /opt/gatus
+cd /opt/gatus
+$STD go mod tidy
+CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus .
+setcap CAP_NET_RAW+ep gatus
+mv config.yaml config
+echo "${RELEASE}" >/opt/gatus_version.txt
+msg_ok "Installed gatus v${RELEASE}"
+
+msg_info "Enabling gatus Service"
+cat <