mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-11-05 19:02:50 +00:00
Compare commits
5 Commits
main
...
Metube-Rem
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ff80f4a616 | ||
|
|
1627ce0594 | ||
|
|
7aff7bb529 | ||
|
|
88cd07f1d3 | ||
|
|
1a810863c3 |
45
CHANGELOG.md
45
CHANGELOG.md
@@ -10,59 +10,14 @@
|
|||||||
> [!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-05
|
|
||||||
|
|
||||||
### 🚀 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
|
|
||||||
|
|
||||||
- fix: npm: refactor for v2.13.x [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8870](https://github.com/community-scripts/ProxmoxVE/pull/8870))
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- Refactor: Open WebUI [@tremor021](https://github.com/tremor021) ([#8874](https://github.com/community-scripts/ProxmoxVE/pull/8874))
|
|
||||||
- Refactor(tools.func): Add Retry Logic, OS-Upgrade Safety, Smart Version Detection + 10 Critical Bugfixes [@MickLesk](https://github.com/MickLesk) ([#8871](https://github.com/community-scripts/ProxmoxVE/pull/8871))
|
|
||||||
|
|
||||||
### 🌐 Website
|
|
||||||
|
|
||||||
- #### 📝 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))
|
|
||||||
|
|
||||||
## 2025-11-04
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- stirling-pdf: add native jbig2 dep to installation script [@MickLesk](https://github.com/MickLesk) ([#8858](https://github.com/community-scripts/ProxmoxVE/pull/8858))
|
|
||||||
|
|
||||||
## 2025-11-03
|
## 2025-11-03
|
||||||
|
|
||||||
### 🆕 New Scripts
|
|
||||||
|
|
||||||
- Donetick ([#8835](https://github.com/community-scripts/ProxmoxVE/pull/8835))
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
- Immich: Pin version to 2.2.2 [@vhsdream](https://github.com/vhsdream) ([#8848](https://github.com/community-scripts/ProxmoxVE/pull/8848))
|
|
||||||
- Asterisk: handle errors in version retrieval commands [@MickLesk](https://github.com/MickLesk) ([#8844](https://github.com/community-scripts/ProxmoxVE/pull/8844))
|
|
||||||
- linkstack: fix wrong directory installation [@omertahaoztop](https://github.com/omertahaoztop) ([#8814](https://github.com/community-scripts/ProxmoxVE/pull/8814))
|
|
||||||
- Remove BOM from shebang lines in ct scripts [@MickLesk](https://github.com/MickLesk) ([#8833](https://github.com/community-scripts/ProxmoxVE/pull/8833))
|
- Remove BOM from shebang lines in ct scripts [@MickLesk](https://github.com/MickLesk) ([#8833](https://github.com/community-scripts/ProxmoxVE/pull/8833))
|
||||||
|
|
||||||
- #### 💥 Breaking Changes
|
|
||||||
|
|
||||||
- Removed: MeTube [@MickLesk](https://github.com/MickLesk) ([#8830](https://github.com/community-scripts/ProxmoxVE/pull/8830))
|
|
||||||
|
|
||||||
## 2025-11-02
|
## 2025-11-02
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
|||||||
@@ -1,63 +0,0 @@
|
|||||||
#!/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: fstof
|
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
# Source: https://github.com/donetick/donetick
|
|
||||||
|
|
||||||
APP="Donetick"
|
|
||||||
var_tags="${var_tags:-productivity;tasks}"
|
|
||||||
var_cpu="${var_cpu:-1}"
|
|
||||||
var_ram="${var_ram:-512}"
|
|
||||||
var_disk="${var_disk:-2}"
|
|
||||||
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 /opt/donetick ]]; then
|
|
||||||
msg_error "No ${APP} Installation Found!"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
if check_for_gh_release "donetick" "donetick/donetick"; then
|
|
||||||
msg_info "Stopping Service"
|
|
||||||
systemctl stop donetick
|
|
||||||
msg_ok "Stopped Service"
|
|
||||||
|
|
||||||
msg_info "Backing Up Configurations"
|
|
||||||
mv /opt/donetick/config/selfhosted.yml /opt/donetick/donetick.db /opt
|
|
||||||
msg_ok "Backed Up Configurations"
|
|
||||||
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "donetick" "donetick/donetick" "prebuild" "latest" "/opt/donetick" "donetick_Linux_x86_64.tar.gz"
|
|
||||||
|
|
||||||
msg_info "Restoring Configurations"
|
|
||||||
mv /opt/selfhosted.yml /opt/donetick/config
|
|
||||||
mv /opt/donetick.db /opt/donetick
|
|
||||||
msg_ok "Restored Configurations"
|
|
||||||
|
|
||||||
msg_info "Starting Service"
|
|
||||||
systemctl start donetick
|
|
||||||
msg_ok "Started Service"
|
|
||||||
msg_ok "Updated successfully!"
|
|
||||||
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}:2021${CL}"
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
____ __ _ __
|
|
||||||
/ __ \____ ____ ___ / /_(_)____/ /__
|
|
||||||
/ / / / __ \/ __ \/ _ \/ __/ / ___/ //_/
|
|
||||||
/ /_/ / /_/ / / / / __/ /_/ / /__/ ,<
|
|
||||||
/_____/\____/_/ /_/\___/\__/_/\___/_/|_|
|
|
||||||
|
|
||||||
@@ -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.3"
|
RELEASE="2.2.1"
|
||||||
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
|
||||||
|
|||||||
@@ -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:-4096}"
|
var_ram="${var_ram:-3072}"
|
||||||
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,15 +1,15 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2025 Community-Script ORG
|
# Copyright (c) 2021-2025 tteck
|
||||||
# Author: tteck (tteckster) | Co-Author: CrazyWolf13
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://nginxproxymanager.com/
|
# Source: https://nginxproxymanager.com/
|
||||||
|
|
||||||
APP="Nginx Proxy Manager"
|
APP="Nginx Proxy Manager"
|
||||||
var_tags="${var_tags:-proxy}"
|
var_tags="${var_tags:-proxy}"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-1024}"
|
||||||
var_disk="${var_disk:-8}"
|
var_disk="${var_disk:-4}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-13}"
|
var_version="${var_version:-13}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
@@ -42,47 +42,60 @@ function update_script() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
|
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
|
||||||
|
export NODE_OPTIONS="--openssl-legacy-provider"
|
||||||
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest |
|
RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest |
|
||||||
grep "tag_name" |
|
grep "tag_name" |
|
||||||
awk '{print substr($2, 3, length($2)-4) }')
|
awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "nginxproxymanager" "NginxProxyManager/nginx-proxy-manager"
|
msg_info "Downloading NPM v${RELEASE}"
|
||||||
|
curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE}" | tar -xz
|
||||||
|
cd nginx-proxy-manager-"${RELEASE}" || exit
|
||||||
|
msg_ok "Downloaded NPM v${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Building Frontend"
|
||||||
|
(
|
||||||
|
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json
|
||||||
|
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json
|
||||||
|
cd ./frontend || exit
|
||||||
|
# Replace node-sass with sass in package.json before installation
|
||||||
|
sed -i 's/"node-sass".*$/"sass": "^1.92.1",/g' package.json
|
||||||
|
$STD yarn install --network-timeout 600000
|
||||||
|
$STD yarn build
|
||||||
|
)
|
||||||
|
msg_ok "Built Frontend"
|
||||||
|
|
||||||
msg_info "Stopping Services"
|
msg_info "Stopping Services"
|
||||||
systemctl stop openresty
|
systemctl stop openresty
|
||||||
systemctl stop npm
|
systemctl stop npm
|
||||||
msg_ok "Stopped Services"
|
msg_ok "Stopped Services"
|
||||||
|
|
||||||
msg_info "Cleaning old files"
|
msg_info "Cleaning Old Files"
|
||||||
$STD rm -rf /app \
|
rm -rf /app \
|
||||||
/var/www/html \
|
/var/www/html \
|
||||||
/etc/nginx \
|
/etc/nginx \
|
||||||
/var/log/nginx \
|
/var/log/nginx \
|
||||||
/var/lib/nginx \
|
/var/lib/nginx \
|
||||||
/var/cache/nginx
|
"$STD" /var/cache/nginx
|
||||||
msg_ok "Cleaned old files"
|
msg_ok "Cleaned Old Files"
|
||||||
|
|
||||||
msg_info "Setting up Environment"
|
msg_info "Setting up Environment"
|
||||||
ln -sf /usr/bin/python3 /usr/bin/python
|
ln -sf /usr/bin/python3 /usr/bin/python
|
||||||
|
ln -sf /opt/certbot/bin/certbot /usr/local/bin/certbot
|
||||||
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
|
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
|
||||||
ln -sf /usr/local/openresty/nginx/ /etc/nginx
|
ln -sf /usr/local/openresty/nginx/ /etc/nginx
|
||||||
sed -i "s|\"version\": \"2.0.0\"|\"version\": \"$RELEASE\"|" /opt/nginxproxymanager/backend/package.json
|
sed -i 's+^daemon+#daemon+g' docker/rootfs/etc/nginx/nginx.conf
|
||||||
sed -i "s|\"version\": \"2.0.0\"|\"version\": \"$RELEASE\"|" /opt/nginxproxymanager/frontend/package.json
|
NGINX_CONFS=$(find "$(pwd)" -type f -name "*.conf")
|
||||||
sed -i 's+^daemon+#daemon+g' /opt/nginxproxymanager/docker/rootfs/etc/nginx/nginx.conf
|
|
||||||
NGINX_CONFS=$(find /opt/nginxproxymanager -type f -name "*.conf")
|
|
||||||
for NGINX_CONF in $NGINX_CONFS; do
|
for NGINX_CONF in $NGINX_CONFS; do
|
||||||
sed -i 's+include conf.d+include /etc/nginx/conf.d+g' "$NGINX_CONF"
|
sed -i 's+include conf.d+include /etc/nginx/conf.d+g' "$NGINX_CONF"
|
||||||
done
|
done
|
||||||
|
|
||||||
mkdir -p /var/www/html /etc/nginx/logs
|
mkdir -p /var/www/html /etc/nginx/logs
|
||||||
cp -r /opt/nginxproxymanager/docker/rootfs/var/www/html/* /var/www/html/
|
cp -r docker/rootfs/var/www/html/* /var/www/html/
|
||||||
cp -r /opt/nginxproxymanager/docker/rootfs/etc/nginx/* /etc/nginx/
|
cp -r docker/rootfs/etc/nginx/* /etc/nginx/
|
||||||
cp /opt/nginxproxymanager/docker/rootfs/etc/letsencrypt.ini /etc/letsencrypt.ini
|
cp docker/rootfs/etc/letsencrypt.ini /etc/letsencrypt.ini
|
||||||
cp /opt/nginxproxymanager/docker/rootfs/etc/logrotate.d/nginx-proxy-manager /etc/logrotate.d/nginx-proxy-manager
|
cp docker/rootfs/etc/logrotate.d/nginx-proxy-manager /etc/logrotate.d/nginx-proxy-manager
|
||||||
ln -sf /etc/nginx/nginx.conf /etc/nginx/conf/nginx.conf
|
ln -sf /etc/nginx/nginx.conf /etc/nginx/conf/nginx.conf
|
||||||
rm -f /etc/nginx/conf.d/dev.conf
|
rm -f /etc/nginx/conf.d/dev.conf
|
||||||
|
|
||||||
mkdir -p /tmp/nginx/body \
|
mkdir -p /tmp/nginx/body \
|
||||||
/run/nginx \
|
/run/nginx \
|
||||||
/data/nginx \
|
/data/nginx \
|
||||||
@@ -99,33 +112,27 @@ function update_script() {
|
|||||||
/var/lib/nginx/cache/public \
|
/var/lib/nginx/cache/public \
|
||||||
/var/lib/nginx/cache/private \
|
/var/lib/nginx/cache/private \
|
||||||
/var/cache/nginx/proxy_temp
|
/var/cache/nginx/proxy_temp
|
||||||
|
|
||||||
chmod -R 777 /var/cache/nginx
|
chmod -R 777 /var/cache/nginx
|
||||||
chown root /tmp/nginx
|
chown root /tmp/nginx
|
||||||
|
|
||||||
echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" {print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf);" >/etc/nginx/conf.d/include/resolvers.conf
|
echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" {print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf);" >/etc/nginx/conf.d/include/resolvers.conf
|
||||||
|
|
||||||
if [ ! -f /data/nginx/dummycert.pem ] || [ ! -f /data/nginx/dummykey.pem ]; then
|
if [ ! -f /data/nginx/dummycert.pem ] || [ ! -f /data/nginx/dummykey.pem ]; then
|
||||||
$STD openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/O=Nginx Proxy Manager/OU=Dummy Certificate/CN=localhost" -keyout /data/nginx/dummykey.pem -out /data/nginx/dummycert.pem
|
$STD openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/O=Nginx Proxy Manager/OU=Dummy Certificate/CN=localhost" -keyout /data/nginx/dummykey.pem -out /data/nginx/dummycert.pem
|
||||||
fi
|
fi
|
||||||
|
mkdir -p /app/global /app/frontend/images
|
||||||
|
cp -r frontend/dist/* /app/frontend
|
||||||
|
cp -r frontend/app-images/* /app/frontend/images
|
||||||
|
cp -r backend/* /app
|
||||||
|
cp -r global/* /app/global
|
||||||
|
|
||||||
mkdir -p /app/frontend/images
|
# Update Certbot and plugins in virtual environment
|
||||||
cp -r /opt/nginxproxymanager/backend/* /app
|
if [ -d /opt/certbot ]; then
|
||||||
msg_ok "Set up Environment"
|
$STD /opt/certbot/bin/pip install --upgrade pip setuptools wheel
|
||||||
|
$STD /opt/certbot/bin/pip install --upgrade certbot certbot-dns-cloudflare
|
||||||
msg_info "Building Frontend"
|
fi
|
||||||
export NODE_OPTIONS="--max_old_space_size=2048 --openssl-legacy-provider"
|
msg_ok "Setup Environment"
|
||||||
cd /opt/nginxproxymanager/frontend
|
|
||||||
# Replace node-sass with sass in package.json before installation
|
|
||||||
sed -E -i 's/"node-sass" *: *"([^"]*)"/"sass": "\1"/g' package.json
|
|
||||||
$STD yarn install --network-timeout 600000
|
|
||||||
$STD yarn build
|
|
||||||
cp -r /opt/nginxproxymanager/frontend/dist/* /app/frontend
|
|
||||||
cp -r /opt/nginxproxymanager/frontend/public/images/* /app/frontend/images
|
|
||||||
msg_ok "Built Frontend"
|
|
||||||
|
|
||||||
msg_info "Initializing Backend"
|
msg_info "Initializing Backend"
|
||||||
rm -rf /app/config/default.json
|
$STD rm -rf /app/config/default.json
|
||||||
if [ ! -f /app/config/production.json ]; then
|
if [ ! -f /app/config/production.json ]; then
|
||||||
cat <<'EOF' >/app/config/production.json
|
cat <<'EOF' >/app/config/production.json
|
||||||
{
|
{
|
||||||
@@ -141,37 +148,23 @@ function update_script() {
|
|||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
cd /app
|
cd /app || exit
|
||||||
|
export NODE_OPTIONS="--openssl-legacy-provider"
|
||||||
$STD yarn install --network-timeout 600000
|
$STD yarn install --network-timeout 600000
|
||||||
msg_ok "Initialized Backend"
|
msg_ok "Initialized Backend"
|
||||||
|
|
||||||
msg_info "Updating Certbot"
|
|
||||||
[ -f /etc/apt/trusted.gpg.d/openresty-archive-keyring.gpg ] && rm -f /etc/apt/trusted.gpg.d/openresty-archive-keyring.gpg
|
|
||||||
[ -f /etc/apt/sources.list.d/openresty.list ] && rm -f /etc/apt/sources.list.d/openresty.list
|
|
||||||
[ ! -f /etc/apt/trusted.gpg.d/openresty.gpg ] && curl -fsSL https://openresty.org/package/pubkey.gpg | gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/openresty.gpg
|
|
||||||
[ ! -f /etc/apt/sources.list.d/openresty.sources ] && cat <<'EOF' >/etc/apt/sources.list.d/openresty.sources
|
|
||||||
Types: deb
|
|
||||||
URIs: http://openresty.org/package/debian/
|
|
||||||
Suites: bookworm
|
|
||||||
Components: openresty
|
|
||||||
Signed-By: /etc/apt/trusted.gpg.d/openresty.gpg
|
|
||||||
EOF
|
|
||||||
$STD apt update
|
|
||||||
$STD apt -y install openresty
|
|
||||||
if [ -d /opt/certbot ]; then
|
|
||||||
$STD /opt/certbot/bin/pip install --upgrade pip setuptools wheel
|
|
||||||
$STD /opt/certbot/bin/pip install --upgrade certbot certbot-dns-cloudflare
|
|
||||||
fi
|
|
||||||
msg_ok "Updated Certbot"
|
|
||||||
|
|
||||||
msg_info "Starting Services"
|
msg_info "Starting Services"
|
||||||
sed -i 's/user npm/user root/g; s/^pid/#pid/g' /usr/local/openresty/nginx/conf/nginx.conf
|
sed -i 's/user npm/user root/g; s/^pid/#pid/g' /usr/local/openresty/nginx/conf/nginx.conf
|
||||||
sed -r -i 's/^([[:space:]]*)su npm npm/\1#su npm npm/g;' /etc/logrotate.d/nginx-proxy-manager
|
sed -i 's/su npm npm/su root root/g' /etc/logrotate.d/nginx-proxy-manager
|
||||||
|
sed -i 's/include-system-site-packages = false/include-system-site-packages = true/g' /opt/certbot/pyvenv.cfg
|
||||||
systemctl enable -q --now openresty
|
systemctl enable -q --now openresty
|
||||||
systemctl enable -q --now npm
|
systemctl enable -q --now npm
|
||||||
systemctl restart openresty
|
|
||||||
msg_ok "Started Services"
|
msg_ok "Started Services"
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -rf ~/nginx-proxy-manager-*
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|
||||||
msg_ok "Updated successfully!"
|
msg_ok "Updated successfully!"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 tteck
|
||||||
# Author: tteck | Co-Author: havardthom | Co-Author: Slaviša Arežina (tremor021)
|
# Author: havardthom
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://openwebui.com/
|
# Source: https://openwebui.com/
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-4}"
|
|||||||
var_ram="${var_ram:-8192}"
|
var_ram="${var_ram:-8192}"
|
||||||
var_disk="${var_disk:-25}"
|
var_disk="${var_disk:-25}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-13}"
|
var_version="${var_version:-12}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@@ -23,7 +23,7 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
if [[ ! -d /root/.open-webui ]]; then
|
if [[ ! -d /opt/open-webui ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
@@ -50,8 +50,29 @@ function update_script() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Restarting Open WebUI to initiate update"
|
msg_info "Updating ${APP} (Patience)"
|
||||||
systemctl restart open-webui
|
cd /opt/open-webui
|
||||||
|
mkdir -p /opt/open-webui-backup
|
||||||
|
cp -rf /opt/open-webui/backend/data /opt/open-webui-backup
|
||||||
|
git add -A
|
||||||
|
$STD git stash
|
||||||
|
$STD git reset --hard
|
||||||
|
output=$(git pull --no-rebase)
|
||||||
|
if echo "$output" | grep -q "Already up to date."; then
|
||||||
|
msg_ok "$APP is already up to date."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
systemctl stop open-webui.service
|
||||||
|
$STD npm install --force
|
||||||
|
export NODE_OPTIONS="--max-old-space-size=6000"
|
||||||
|
$STD npm run build
|
||||||
|
cd ./backend
|
||||||
|
$STD pip install -r requirements.txt -U
|
||||||
|
cp -rf /opt/open-webui-backup/* /opt/open-webui/backend
|
||||||
|
if git stash list | grep -q 'stash@{'; then
|
||||||
|
$STD git stash pop
|
||||||
|
fi
|
||||||
|
systemctl start open-webui.service
|
||||||
msg_ok "Updated successfully!"
|
msg_ok "Updated successfully!"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|||||||
16
ct/zabbix.sh
16
ct/zabbix.sh
@@ -42,8 +42,12 @@ function update_script() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Stopping Services"
|
msg_info "Stopping Services"
|
||||||
systemctl stop zabbix-server
|
$STD systemctl stop zabbix-server
|
||||||
systemctl stop "$AGENT_SERVICE"
|
if systemctl list-unit-files | grep -q zabbix-agent2; then
|
||||||
|
$STD systemctl stop zabbix-agent2
|
||||||
|
else
|
||||||
|
$STD systemctl stop zabbix-agent
|
||||||
|
fi
|
||||||
msg_ok "Stopped Services"
|
msg_ok "Stopped Services"
|
||||||
|
|
||||||
msg_info "Updating Zabbix"
|
msg_info "Updating Zabbix"
|
||||||
@@ -84,8 +88,12 @@ function update_script() {
|
|||||||
msg_ok "Updated Zabbix"
|
msg_ok "Updated Zabbix"
|
||||||
|
|
||||||
msg_info "Starting Services"
|
msg_info "Starting Services"
|
||||||
systemctl start zabbix-server
|
$STD systemctl start zabbix-server
|
||||||
systemctl start "$AGENT_SERVICE"
|
if systemctl list-unit-files | grep -q zabbix-agent2; then
|
||||||
|
$STD systemctl start zabbix-agent2
|
||||||
|
else
|
||||||
|
$STD systemctl start zabbix-agent
|
||||||
|
fi
|
||||||
systemctl restart apache2
|
systemctl restart apache2
|
||||||
msg_ok "Started Services"
|
msg_ok "Started Services"
|
||||||
|
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Donetick",
|
|
||||||
"slug": "donetick",
|
|
||||||
"categories": [
|
|
||||||
19
|
|
||||||
],
|
|
||||||
"date_created": "2025-11-03",
|
|
||||||
"type": "ct",
|
|
||||||
"updateable": true,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": 2021,
|
|
||||||
"documentation": "https://docs.donetick.com/getting-started/",
|
|
||||||
"config_path": "/opt/donetick/config/selfhosted.yml",
|
|
||||||
"website": "https://donetick.com",
|
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/donetick.webp",
|
|
||||||
"description": "Donetick an open-source, user-friendly app for managing tasks and chores, featuring customizable options to help you and others stay organized",
|
|
||||||
"install_methods": [
|
|
||||||
{
|
|
||||||
"type": "default",
|
|
||||||
"script": "ct/donetick.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": 1,
|
|
||||||
"ram": 512,
|
|
||||||
"hdd": 2,
|
|
||||||
"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": 4096,
|
"ram": 3072,
|
||||||
"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": 2048,
|
"ram": 1024,
|
||||||
"hdd": 8,
|
"hdd": 4,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "13"
|
"version": "13"
|
||||||
}
|
}
|
||||||
@@ -33,8 +33,12 @@
|
|||||||
},
|
},
|
||||||
"notes": [
|
"notes": [
|
||||||
{
|
{
|
||||||
"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.",
|
"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.",
|
||||||
"type": "info"
|
"type": "warning"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.",
|
||||||
|
"type": "warning"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
"documentation": "https://docs.openwebui.com/",
|
"documentation": "https://docs.openwebui.com/",
|
||||||
"website": "https://openwebui.com/",
|
"website": "https://openwebui.com/",
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/open-webui.webp",
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/open-webui.webp",
|
||||||
"config_path": "/root/.env",
|
"config_path": "/opt/open-webui/.env",
|
||||||
"description": "OpenWebUI is a self-hosted, web-based interface that allows you to run AI models entirely offline. It integrates with various LLM runners, such as OpenAI and Ollama, and supports features like markdown and LaTeX rendering, model management, and voice/video calls. It also offers multilingual support and the ability to generate images using APIs like DALL-E or ComfyUI",
|
"description": "OpenWebUI is a self-hosted, web-based interface that allows you to run AI models entirely offline. It integrates with various LLM runners, such as OpenAI and Ollama, and supports features like markdown and LaTeX rendering, model management, and voice/video calls. It also offers multilingual support and the ability to generate images using APIs like DALL-E or ComfyUI",
|
||||||
"install_methods": [
|
"install_methods": [
|
||||||
{
|
{
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 8192,
|
"ram": 8192,
|
||||||
"hdd": 25,
|
"hdd": 25,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "13"
|
"version": "12"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -35,10 +35,6 @@
|
|||||||
{
|
{
|
||||||
"text": "Script contains optional installation of Ollama.",
|
"text": "Script contains optional installation of Ollama.",
|
||||||
"type": "info"
|
"type": "info"
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Initial run of the application/container can take some time, depending on your host speed, as the application is installed/updated at runtime. Please be patient!",
|
|
||||||
"type": "warning"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 2048,
|
"ram": 2048,
|
||||||
"hdd": 8,
|
"hdd": 8,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "13"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,339 +1,134 @@
|
|||||||
[
|
[
|
||||||
{
|
|
||||||
"name": "getumbrel/umbrel",
|
|
||||||
"version": "1.5.0",
|
|
||||||
"date": "2025-11-05T11:10:20Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "home-assistant/core",
|
|
||||||
"version": "2025.10.4",
|
|
||||||
"date": "2025-10-24T20:03:03Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "emqx/emqx",
|
|
||||||
"version": "e5.10.2-alpha.1",
|
|
||||||
"date": "2025-11-05T09:55:26Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "glpi-project/glpi",
|
|
||||||
"version": "11.0.2",
|
|
||||||
"date": "2025-11-05T09:55:05Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "zitadel/zitadel",
|
|
||||||
"version": "v4.6.3",
|
|
||||||
"date": "2025-11-05T09:16:08Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "nicolargo/glances",
|
|
||||||
"version": "v4.4.1",
|
|
||||||
"date": "2025-11-05T09:08:23Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "evcc-io/evcc",
|
|
||||||
"version": "0.209.7",
|
|
||||||
"date": "2025-11-05T08:32:08Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "SigNoz/signoz",
|
|
||||||
"version": "v0.100.0",
|
|
||||||
"date": "2025-11-05T06:38:34Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "NginxProxyManager/nginx-proxy-manager",
|
|
||||||
"version": "v2.13.1",
|
|
||||||
"date": "2025-11-05T06:06:08Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Jackett/Jackett",
|
|
||||||
"version": "v0.24.250",
|
|
||||||
"date": "2025-11-05T05:55:30Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "jenkinsci/jenkins",
|
|
||||||
"version": "jenkins-2.535",
|
|
||||||
"date": "2025-11-05T05:30:07Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "slskd/slskd",
|
|
||||||
"version": "0.24.0",
|
|
||||||
"date": "2025-11-05T02:17:00Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sonarr/Sonarr",
|
|
||||||
"version": "v4.0.16.2944",
|
|
||||||
"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",
|
|
||||||
"version": "v1.6.1",
|
|
||||||
"date": "2025-11-05T00:21:14Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "FlareSolverr/FlareSolverr",
|
|
||||||
"version": "v3.4.4",
|
|
||||||
"date": "2025-11-04T23:05:14Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "henrygd/beszel",
|
|
||||||
"version": "v0.15.4",
|
|
||||||
"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",
|
|
||||||
"version": "v1.25.1",
|
|
||||||
"date": "2025-11-04T20:01:09Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "runtipi/runtipi",
|
|
||||||
"version": "v4.6.2",
|
|
||||||
"date": "2025-11-03T19:45:24Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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",
|
|
||||||
"version": "v0.9.100",
|
|
||||||
"date": "2025-11-04T17:44:39Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "msgbyte/tianji",
|
|
||||||
"version": "v1.30.6",
|
|
||||||
"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",
|
|
||||||
"version": "v1.129.1",
|
|
||||||
"date": "2025-11-04T15:15:47Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "prometheus/alertmanager",
|
|
||||||
"version": "v0.29.0",
|
|
||||||
"date": "2025-11-04T15:00:07Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cross-seed/cross-seed",
|
|
||||||
"version": "v6.13.6",
|
|
||||||
"date": "2025-11-04T13:35:35Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "OctoPrint/OctoPrint",
|
|
||||||
"version": "1.11.4",
|
|
||||||
"date": "2025-11-04T12:43:30Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "home-assistant/operating-system",
|
|
||||||
"version": "16.3",
|
|
||||||
"date": "2025-11-04T12:28:47Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mattermost/mattermost",
|
|
||||||
"version": "v10.11.6",
|
|
||||||
"date": "2025-11-04T09:43:16Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "syncthing/syncthing",
|
|
||||||
"version": "v2.0.11",
|
|
||||||
"date": "2025-11-04T08:51:05Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "redis/redis",
|
|
||||||
"version": "8.4-rc1-int2",
|
|
||||||
"date": "2025-11-03T09:00:38Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "clusterzx/paperless-ai",
|
|
||||||
"version": "v3.0.9",
|
|
||||||
"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",
|
"name": "immich-app/immich",
|
||||||
"version": "v2.2.3",
|
"version": "v2.2.2",
|
||||||
"date": "2025-11-04T03:14:34Z"
|
"date": "2025-11-02T21:56:36Z"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "esphome/esphome",
|
|
||||||
"version": "2025.10.4",
|
|
||||||
"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",
|
|
||||||
"version": "2.1.1",
|
|
||||||
"date": "2025-06-14T17:45:06Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "actualbudget/actual",
|
|
||||||
"version": "v25.11.0",
|
|
||||||
"date": "2025-11-04T00:32:21Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "inventree/InvenTree",
|
|
||||||
"version": "1.1.2",
|
|
||||||
"date": "2025-11-03T23:16:29Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "BerriAI/litellm",
|
|
||||||
"version": "v1.79.1.rc.2",
|
|
||||||
"date": "2025-11-03T23:14:45Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "gtsteffaniak/filebrowser",
|
|
||||||
"version": "v1.0.0-stable",
|
|
||||||
"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",
|
|
||||||
"version": "@jupyter-notebook/ui-components@7.5.0-rc.0",
|
|
||||||
"date": "2025-11-03T19:37:03Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "dgtlmoon/changedetection.io",
|
|
||||||
"version": "0.50.39",
|
|
||||||
"date": "2025-11-03T17:58:41Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cloudflare/cloudflared",
|
|
||||||
"version": "2025.10.1-3-g52809511",
|
|
||||||
"date": "2025-11-03T17:13:35Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "goauthentik/authentik",
|
|
||||||
"version": "version/2025.10.1",
|
|
||||||
"date": "2025-11-03T16:49:16Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Cleanuparr/Cleanuparr",
|
|
||||||
"version": "v2.4.3",
|
|
||||||
"date": "2025-11-03T16:49:03Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "YunoHost/yunohost",
|
|
||||||
"version": "debian/12.1.34",
|
|
||||||
"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",
|
|
||||||
"version": "2.2.1",
|
|
||||||
"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",
|
|
||||||
"version": "v10.11.2",
|
|
||||||
"date": "2025-11-03T02:29:00Z"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "maxdorninger/MediaManager",
|
"name": "maxdorninger/MediaManager",
|
||||||
"version": "v1.9.1",
|
"version": "v1.9.1",
|
||||||
"date": "2025-11-02T21:14:50Z"
|
"date": "2025-11-02T21:14:50Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "gtsteffaniak/filebrowser",
|
||||||
|
"version": "v1.0.1-beta",
|
||||||
|
"date": "2025-11-02T21:13:14Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "karlomikus/bar-assistant",
|
"name": "karlomikus/bar-assistant",
|
||||||
"version": "v5.9.1",
|
"version": "v5.9.1",
|
||||||
"date": "2025-11-02T20:54:28Z"
|
"date": "2025-11-02T20:54:28Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "nicolargo/glances",
|
||||||
|
"version": "v4.4.0",
|
||||||
|
"date": "2025-11-02T16:36:14Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Cleanuparr/Cleanuparr",
|
||||||
|
"version": "v2.4.2",
|
||||||
|
"date": "2025-11-02T15:58:46Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "runtipi/runtipi",
|
||||||
|
"version": "nightly",
|
||||||
|
"date": "2025-11-01T20:00:45Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "redis/redis",
|
||||||
|
"version": "8.2.3",
|
||||||
|
"date": "2025-11-02T13:46:10Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jackett/Jackett",
|
||||||
|
"version": "v0.24.243",
|
||||||
|
"date": "2025-11-02T05:54:42Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "tobychui/zoraxy",
|
"name": "tobychui/zoraxy",
|
||||||
"version": "v3.2.9",
|
"version": "v3.2.9",
|
||||||
"date": "2025-11-02T05:48:39Z"
|
"date": "2025-11-02T05:48:39Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "firefly-iii/firefly-iii",
|
||||||
|
"version": "v6.4.4",
|
||||||
|
"date": "2025-11-01T19:48:08Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "theonedev/onedev",
|
"name": "theonedev/onedev",
|
||||||
"version": "v13.0.10",
|
"version": "v13.0.10",
|
||||||
"date": "2025-11-02T02:47:45Z"
|
"date": "2025-11-02T02:47:45Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "inventree/InvenTree",
|
||||||
|
"version": "1.1.0",
|
||||||
|
"date": "2025-11-02T02:19:25Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BerriAI/litellm",
|
||||||
|
"version": "v1.79.1.rc.1",
|
||||||
|
"date": "2025-11-02T01:31:48Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "9001/copyparty",
|
"name": "9001/copyparty",
|
||||||
"version": "v1.19.20",
|
"version": "v1.19.20",
|
||||||
"date": "2025-11-02T01:27:38Z"
|
"date": "2025-11-02T01:27:38Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "jeedom/core",
|
||||||
|
"version": "4.4.20",
|
||||||
|
"date": "2025-11-02T00:27:04Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "steveiliop56/tinyauth",
|
||||||
|
"version": "v4.0.1",
|
||||||
|
"date": "2025-10-15T16:53:55Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Koenkk/zigbee2mqtt",
|
"name": "Koenkk/zigbee2mqtt",
|
||||||
"version": "2.6.3",
|
"version": "2.6.3",
|
||||||
"date": "2025-11-01T20:48:39Z"
|
"date": "2025-11-01T20:48:39Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "henrygd/beszel",
|
||||||
|
"version": "v0.15.3",
|
||||||
|
"date": "2025-11-01T20:13:33Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Paymenter/Paymenter",
|
||||||
|
"version": "v1.4.1",
|
||||||
|
"date": "2025-11-01T19:38:55Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "keycloak/keycloak",
|
||||||
|
"version": "26.4.2",
|
||||||
|
"date": "2025-10-23T06:59:32Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "motioneye-project/motioneye",
|
"name": "motioneye-project/motioneye",
|
||||||
"version": "0.42.1",
|
"version": "0.42.1",
|
||||||
"date": "2020-06-07T07:27:04Z"
|
"date": "2020-06-07T07:27:04Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "chrisbenincasa/tunarr",
|
||||||
|
"version": "v0.23.0-alpha.20",
|
||||||
|
"date": "2025-11-01T11:42:54Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Luligu/matterbridge",
|
"name": "Luligu/matterbridge",
|
||||||
"version": "3.3.6",
|
"version": "3.3.6",
|
||||||
"date": "2025-11-01T10:41:15Z"
|
"date": "2025-11-01T10:41:15Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "fuma-nama/fumadocs",
|
||||||
|
"version": "fumadocs-ui@16.0.7",
|
||||||
|
"date": "2025-11-01T09:43:37Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cross-seed/cross-seed",
|
||||||
|
"version": "v6.13.5",
|
||||||
|
"date": "2025-09-27T01:10:59Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "ollama/ollama",
|
"name": "ollama/ollama",
|
||||||
"version": "v0.12.9",
|
"version": "v0.12.9",
|
||||||
@@ -344,6 +139,11 @@
|
|||||||
"version": "v1.90.6",
|
"version": "v1.90.6",
|
||||||
"date": "2025-10-31T22:24:04Z"
|
"date": "2025-10-31T22:24:04Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "evcc-io/evcc",
|
||||||
|
"version": "0.209.6",
|
||||||
|
"date": "2025-10-31T20:13:49Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "homarr-labs/homarr",
|
"name": "homarr-labs/homarr",
|
||||||
"version": "v1.43.1",
|
"version": "v1.43.1",
|
||||||
@@ -354,6 +154,11 @@
|
|||||||
"version": "v3.4.0",
|
"version": "v3.4.0",
|
||||||
"date": "2025-10-31T18:50:18Z"
|
"date": "2025-10-31T18:50:18Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "YunoHost/yunohost",
|
||||||
|
"version": "debian/12.1.33",
|
||||||
|
"date": "2025-10-31T12:40:16Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "leiweibau/Pi.Alert",
|
"name": "leiweibau/Pi.Alert",
|
||||||
"version": "v2025-10-31",
|
"version": "v2025-10-31",
|
||||||
@@ -364,15 +169,20 @@
|
|||||||
"version": "v0.62.12",
|
"version": "v0.62.12",
|
||||||
"date": "2025-10-31T17:30:55Z"
|
"date": "2025-10-31T17:30:55Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "zitadel/zitadel",
|
||||||
|
"version": "v4.6.2",
|
||||||
|
"date": "2025-10-31T15:41:19Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "bunkerity/bunkerweb",
|
"name": "bunkerity/bunkerweb",
|
||||||
"version": "testing",
|
"version": "testing",
|
||||||
"date": "2025-10-30T14:33:36Z"
|
"date": "2025-10-30T14:33:36Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zabbix/zabbix",
|
"name": "wizarrrr/wizarr",
|
||||||
"version": "7.4.5",
|
"version": "v2025.10.8",
|
||||||
"date": "2025-10-31T14:39:13Z"
|
"date": "2025-10-31T14:47:28Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "gristlabs/grist-core",
|
"name": "gristlabs/grist-core",
|
||||||
@@ -384,6 +194,11 @@
|
|||||||
"version": "planka-1.1.1",
|
"version": "planka-1.1.1",
|
||||||
"date": "2025-10-31T12:38:47Z"
|
"date": "2025-10-31T12:38:47Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "mattermost/mattermost",
|
||||||
|
"version": "mattermost-redux@11.0.4",
|
||||||
|
"date": "2025-10-30T16:44:14Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "chrisvel/tududi",
|
"name": "chrisvel/tududi",
|
||||||
"version": "v0.85.1",
|
"version": "v0.85.1",
|
||||||
@@ -399,6 +214,16 @@
|
|||||||
"version": "v1.10.1",
|
"version": "v1.10.1",
|
||||||
"date": "2025-10-31T08:25:57Z"
|
"date": "2025-10-31T08:25:57Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "getumbrel/umbrel",
|
||||||
|
"version": "1.4.2",
|
||||||
|
"date": "2025-05-09T08:54:49Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "home-assistant/core",
|
||||||
|
"version": "2025.10.4",
|
||||||
|
"date": "2025-10-24T20:03:03Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "pymedusa/Medusa",
|
"name": "pymedusa/Medusa",
|
||||||
"version": "v1.0.24",
|
"version": "v1.0.24",
|
||||||
@@ -409,6 +234,11 @@
|
|||||||
"version": "r7.0.26",
|
"version": "r7.0.26",
|
||||||
"date": "2025-10-30T18:44:14Z"
|
"date": "2025-10-30T18:44:14Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "cloudflare/cloudflared",
|
||||||
|
"version": "2025.10.1",
|
||||||
|
"date": "2025-10-30T18:40:07Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "sassanix/Warracker",
|
"name": "sassanix/Warracker",
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
@@ -424,6 +254,11 @@
|
|||||||
"version": "2025.10.30",
|
"version": "2025.10.30",
|
||||||
"date": "2025-10-30T16:22:45Z"
|
"date": "2025-10-30T16:22:45Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "dgtlmoon/changedetection.io",
|
||||||
|
"version": "0.50.38",
|
||||||
|
"date": "2025-10-30T16:02:21Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "AdguardTeam/AdGuardHome",
|
"name": "AdguardTeam/AdGuardHome",
|
||||||
"version": "v0.107.69",
|
"version": "v0.107.69",
|
||||||
@@ -454,6 +289,16 @@
|
|||||||
"version": "v0.307.3",
|
"version": "v0.307.3",
|
||||||
"date": "2025-10-30T08:13:40Z"
|
"date": "2025-10-30T08:13:40Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "zabbix/zabbix",
|
||||||
|
"version": "8.0.0alpha1",
|
||||||
|
"date": "2025-10-30T07:59:41Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "semaphoreui/semaphore",
|
||||||
|
"version": "v2.16.37",
|
||||||
|
"date": "2025-10-30T07:54:49Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "morpheus65535/bazarr",
|
"name": "morpheus65535/bazarr",
|
||||||
"version": "v1.5.3",
|
"version": "v1.5.3",
|
||||||
@@ -469,21 +314,46 @@
|
|||||||
"version": "v0.38.2",
|
"version": "v0.38.2",
|
||||||
"date": "2025-10-30T02:44:09Z"
|
"date": "2025-10-30T02:44:09Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Sonarr/Sonarr",
|
||||||
|
"version": "v4.0.15.2941",
|
||||||
|
"date": "2025-06-20T17:20:54Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "homebridge/homebridge",
|
"name": "homebridge/homebridge",
|
||||||
"version": "v1.11.1",
|
"version": "v1.11.1",
|
||||||
"date": "2025-10-29T22:09:26Z"
|
"date": "2025-10-29T22:09:26Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "jenkinsci/jenkins",
|
||||||
|
"version": "jenkins-2.534",
|
||||||
|
"date": "2025-10-29T21:01:24Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "influxdata/influxdb",
|
"name": "influxdata/influxdb",
|
||||||
"version": "v2.7.12",
|
"version": "v2.7.12",
|
||||||
"date": "2025-05-29T17:08:26Z"
|
"date": "2025-05-29T17:08:26Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "paperless-ngx/paperless-ngx",
|
||||||
|
"version": "v2.19.3",
|
||||||
|
"date": "2025-10-29T17:58:16Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "go-gitea/gitea",
|
||||||
|
"version": "v1.25.0",
|
||||||
|
"date": "2025-10-29T16:57:54Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "zwave-js/zwave-js-ui",
|
"name": "zwave-js/zwave-js-ui",
|
||||||
"version": "v11.6.1",
|
"version": "v11.6.1",
|
||||||
"date": "2025-10-29T16:51:06Z"
|
"date": "2025-10-29T16:51:06Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "azukaar/Cosmos-Server",
|
||||||
|
"version": "v0.18.4",
|
||||||
|
"date": "2025-04-05T19:12:57Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "laurent22/joplin",
|
"name": "laurent22/joplin",
|
||||||
"version": "server-v3.4.4",
|
"version": "server-v3.4.4",
|
||||||
@@ -494,6 +364,11 @@
|
|||||||
"version": "2.11.0",
|
"version": "2.11.0",
|
||||||
"date": "2025-10-29T14:26:23Z"
|
"date": "2025-10-29T14:26:23Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "element-hq/synapse",
|
||||||
|
"version": "v1.141.0",
|
||||||
|
"date": "2025-10-29T11:45:43Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "cockpit-project/cockpit",
|
"name": "cockpit-project/cockpit",
|
||||||
"version": "350",
|
"version": "350",
|
||||||
@@ -509,6 +384,11 @@
|
|||||||
"version": "cassandra-5.0.6",
|
"version": "cassandra-5.0.6",
|
||||||
"date": "2025-10-29T07:40:47Z"
|
"date": "2025-10-29T07:40:47Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "SigNoz/signoz",
|
||||||
|
"version": "v0.99.0",
|
||||||
|
"date": "2025-10-29T06:32:09Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "openobserve/openobserve",
|
"name": "openobserve/openobserve",
|
||||||
"version": "v0.15.3",
|
"version": "v0.15.3",
|
||||||
@@ -564,26 +444,66 @@
|
|||||||
"version": "v25.4",
|
"version": "v25.4",
|
||||||
"date": "2025-10-09T10:27:01Z"
|
"date": "2025-10-09T10:27:01Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "n8n-io/n8n",
|
||||||
|
"version": "n8n@1.117.3",
|
||||||
|
"date": "2025-10-28T12:00:42Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "FlareSolverr/FlareSolverr",
|
||||||
|
"version": "v3.4.3",
|
||||||
|
"date": "2025-10-28T10:21:56Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "thecfu/scraparr",
|
"name": "thecfu/scraparr",
|
||||||
"version": "v3.0.0-beta.2",
|
"version": "v3.0.0-beta.2",
|
||||||
"date": "2025-10-28T10:16:29Z"
|
"date": "2025-10-28T10:16:29Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "goauthentik/authentik",
|
||||||
|
"version": "version/2025.10.0",
|
||||||
|
"date": "2025-10-27T19:58:39Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "rabbitmq/rabbitmq-server",
|
"name": "rabbitmq/rabbitmq-server",
|
||||||
"version": "v4.2.0",
|
"version": "v4.2.0",
|
||||||
"date": "2025-10-27T16:56:40Z"
|
"date": "2025-10-27T16:56:40Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Graylog2/graylog2-server",
|
||||||
|
"version": "7.0.0-rc.2",
|
||||||
|
"date": "2025-10-27T12:19:14Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "juanfont/headscale",
|
"name": "juanfont/headscale",
|
||||||
"version": "v0.27.0",
|
"version": "v0.27.0",
|
||||||
"date": "2025-10-27T11:16:35Z"
|
"date": "2025-10-27T11:16:35Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "emqx/emqx",
|
||||||
|
"version": "e6.0.1-alpha.2",
|
||||||
|
"date": "2025-10-27T09:36:30Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "syncthing/syncthing",
|
||||||
|
"version": "v2.0.10",
|
||||||
|
"date": "2025-09-24T08:33:37Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "jellyfin/jellyfin",
|
||||||
|
"version": "v10.11.1",
|
||||||
|
"date": "2025-10-27T02:02:13Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Radarr/Radarr",
|
"name": "Radarr/Radarr",
|
||||||
"version": "v5.28.0.10274",
|
"version": "v5.28.0.10274",
|
||||||
"date": "2025-10-06T21:31:07Z"
|
"date": "2025-10-06T21:31:07Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "msgbyte/tianji",
|
||||||
|
"version": "v1.30.4",
|
||||||
|
"date": "2025-10-26T17:22:46Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "openhab/openhab-core",
|
"name": "openhab/openhab-core",
|
||||||
"version": "5.1.0.M2",
|
"version": "5.1.0.M2",
|
||||||
@@ -624,11 +544,21 @@
|
|||||||
"version": "v1.7.3",
|
"version": "v1.7.3",
|
||||||
"date": "2025-10-24T10:51:12Z"
|
"date": "2025-10-24T10:51:12Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "meilisearch/meilisearch",
|
||||||
|
"version": "prototype-v1.24.0.s3-snapshots-3",
|
||||||
|
"date": "2025-10-24T09:47:47Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "pocketbase/pocketbase",
|
"name": "pocketbase/pocketbase",
|
||||||
"version": "v0.31.0",
|
"version": "v0.31.0",
|
||||||
"date": "2025-10-24T04:07:27Z"
|
"date": "2025-10-24T04:07:27Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "esphome/esphome",
|
||||||
|
"version": "2025.10.3",
|
||||||
|
"date": "2025-10-24T01:08:22Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "drakkan/sftpgo",
|
"name": "drakkan/sftpgo",
|
||||||
"version": "v2.7.0",
|
"version": "v2.7.0",
|
||||||
@@ -649,6 +579,11 @@
|
|||||||
"version": "v2.2.0.0_stable_2025-10-23",
|
"version": "v2.2.0.0_stable_2025-10-23",
|
||||||
"date": "2025-10-23T11:48:25Z"
|
"date": "2025-10-23T11:48:25Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "jhuckaby/Cronicle",
|
||||||
|
"version": "v0.9.99",
|
||||||
|
"date": "2025-10-22T22:20:33Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "rcourtman/Pulse",
|
"name": "rcourtman/Pulse",
|
||||||
"version": "issue-596",
|
"version": "issue-596",
|
||||||
@@ -689,6 +624,11 @@
|
|||||||
"version": "v1.36.3",
|
"version": "v1.36.3",
|
||||||
"date": "2025-10-21T12:53:58Z"
|
"date": "2025-10-21T12:53:58Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "VictoriaMetrics/VictoriaMetrics",
|
||||||
|
"version": "pmm-6401-v1.128.0",
|
||||||
|
"date": "2025-10-21T08:30:52Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "coder/code-server",
|
"name": "coder/code-server",
|
||||||
"version": "v4.105.1",
|
"version": "v4.105.1",
|
||||||
@@ -704,6 +644,11 @@
|
|||||||
"version": "v1.71.2",
|
"version": "v1.71.2",
|
||||||
"date": "2025-10-20T15:25:52Z"
|
"date": "2025-10-20T15:25:52Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "jupyter/notebook",
|
||||||
|
"version": "@jupyter-notebook/ui-components@7.5.0-beta.1",
|
||||||
|
"date": "2025-10-20T07:01:38Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "pelican-dev/panel",
|
"name": "pelican-dev/panel",
|
||||||
"version": "v1.0.0-beta27",
|
"version": "v1.0.0-beta27",
|
||||||
@@ -819,6 +764,11 @@
|
|||||||
"version": "v4.5.5",
|
"version": "v4.5.5",
|
||||||
"date": "2025-10-14T18:48:36Z"
|
"date": "2025-10-14T18:48:36Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "home-assistant/operating-system",
|
||||||
|
"version": "16.2",
|
||||||
|
"date": "2025-09-08T14:03:25Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "rogerfar/rdt-client",
|
"name": "rogerfar/rdt-client",
|
||||||
"version": "v2.0.119",
|
"version": "v2.0.119",
|
||||||
@@ -834,6 +784,11 @@
|
|||||||
"version": "4.1.1",
|
"version": "4.1.1",
|
||||||
"date": "2025-10-13T14:23:53Z"
|
"date": "2025-10-13T14:23:53Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "prometheus/alertmanager",
|
||||||
|
"version": "v0.29.0-rc.0",
|
||||||
|
"date": "2025-10-10T01:13:27Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "globaleaks/globaleaks-whistleblowing-software",
|
"name": "globaleaks/globaleaks-whistleblowing-software",
|
||||||
"version": "v5.0.85",
|
"version": "v5.0.85",
|
||||||
@@ -874,6 +829,16 @@
|
|||||||
"version": "r1945",
|
"version": "r1945",
|
||||||
"date": "2025-10-10T02:30:05Z"
|
"date": "2025-10-10T02:30:05Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "silverbulletmd/silverbullet",
|
||||||
|
"version": "2.1.9",
|
||||||
|
"date": "2025-10-09T13:57:14Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "glpi-project/glpi",
|
||||||
|
"version": "11.0.1",
|
||||||
|
"date": "2025-10-09T12:34:15Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "autobrr/autobrr",
|
"name": "autobrr/autobrr",
|
||||||
"version": "v1.68.0",
|
"version": "v1.68.0",
|
||||||
@@ -924,6 +889,11 @@
|
|||||||
"version": "v1.5.9",
|
"version": "v1.5.9",
|
||||||
"date": "2025-10-06T08:34:01Z"
|
"date": "2025-10-06T08:34:01Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "hyperion-project/hyperion.ng",
|
||||||
|
"version": "2.1.1",
|
||||||
|
"date": "2025-06-14T17:45:06Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "BookStackApp/BookStack",
|
"name": "BookStackApp/BookStack",
|
||||||
"version": "v25.07.3",
|
"version": "v25.07.3",
|
||||||
@@ -934,6 +904,11 @@
|
|||||||
"version": "2.520",
|
"version": "2.520",
|
||||||
"date": "2025-10-05T00:51:34Z"
|
"date": "2025-10-05T00:51:34Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "actualbudget/actual",
|
||||||
|
"version": "v25.10.0",
|
||||||
|
"date": "2025-10-02T11:34:39Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Kozea/Radicale",
|
"name": "Kozea/Radicale",
|
||||||
"version": "v3.5.7.pypi",
|
"version": "v3.5.7.pypi",
|
||||||
@@ -999,6 +974,11 @@
|
|||||||
"version": "REL_18_0",
|
"version": "REL_18_0",
|
||||||
"date": "2025-09-22T20:11:33Z"
|
"date": "2025-09-22T20:11:33Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "gethomepage/homepage",
|
||||||
|
"version": "v1.5.0",
|
||||||
|
"date": "2025-09-22T15:28:49Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "itsmng/itsm-ng",
|
"name": "itsmng/itsm-ng",
|
||||||
"version": "v2.1.0",
|
"version": "v2.1.0",
|
||||||
@@ -1089,6 +1069,11 @@
|
|||||||
"version": "2.1.4",
|
"version": "2.1.4",
|
||||||
"date": "2025-09-10T12:08:09Z"
|
"date": "2025-09-10T12:08:09Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "OctoPrint/OctoPrint",
|
||||||
|
"version": "1.11.3",
|
||||||
|
"date": "2025-09-09T08:03:31Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Tautulli/Tautulli",
|
"name": "Tautulli/Tautulli",
|
||||||
"version": "v2.16.0",
|
"version": "v2.16.0",
|
||||||
@@ -1189,6 +1174,11 @@
|
|||||||
"version": "v2.5.308",
|
"version": "v2.5.308",
|
||||||
"date": "2025-08-13T07:09:29Z"
|
"date": "2025-08-13T07:09:29Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "slskd/slskd",
|
||||||
|
"version": "0.23.2",
|
||||||
|
"date": "2025-08-10T23:35:07Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "ioBroker/ioBroker",
|
"name": "ioBroker/ioBroker",
|
||||||
"version": "1012-08-09",
|
"version": "1012-08-09",
|
||||||
@@ -1254,6 +1244,11 @@
|
|||||||
"version": "1.3.11",
|
"version": "1.3.11",
|
||||||
"date": "2025-07-13T13:33:48Z"
|
"date": "2025-07-13T13:33:48Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "NginxProxyManager/nginx-proxy-manager",
|
||||||
|
"version": "v2.12.6",
|
||||||
|
"date": "2025-07-09T21:52:15Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "photoprism/photoprism",
|
"name": "photoprism/photoprism",
|
||||||
"version": "250707-d28b3101e",
|
"version": "250707-d28b3101e",
|
||||||
@@ -1279,6 +1274,11 @@
|
|||||||
"version": "v2.18.0",
|
"version": "v2.18.0",
|
||||||
"date": "2025-06-24T08:29:55Z"
|
"date": "2025-06-24T08:29:55Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "clusterzx/paperless-ai",
|
||||||
|
"version": "v3.0.7",
|
||||||
|
"date": "2025-06-22T17:49:29Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "prometheus-pve/prometheus-pve-exporter",
|
"name": "prometheus-pve/prometheus-pve-exporter",
|
||||||
"version": "v3.5.5",
|
"version": "v3.5.5",
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ html=$(curl -fsSL "$ASTERISK_VERSIONS_URL")
|
|||||||
|
|
||||||
LTS_VERSION=""
|
LTS_VERSION=""
|
||||||
for major in 20 22 24 26; do
|
for major in 20 22 24 26; do
|
||||||
block=$(echo "$html" | awk "/Asterisk $major - LTS/,/<ul>/" || true)
|
block=$(echo "$html" | awk "/Asterisk $major - LTS/,/<ul>/")
|
||||||
ver=$(echo "$block" | grep -oE 'Download Latest - [0-9]+\.[0-9]+(\.[0-9]+)?' | head -n1 | sed -E 's/.* - //' || true)
|
ver=$(echo "$block" | grep -oE 'Download Latest - [0-9]+\.[0-9]+(\.[0-9]+)?' | head -n1 | sed -E 's/.* - //')
|
||||||
if [ -n "$ver" ]; then
|
if [ -n "$ver" ]; then
|
||||||
LTS_VERSION="$LTS_VERSION $ver"
|
LTS_VERSION="$LTS_VERSION $ver"
|
||||||
fi
|
fi
|
||||||
@@ -29,8 +29,8 @@ LTS_VERSION=$(echo "$LTS_VERSION" | xargs | tr ' ' '\n' | sort -V | tail -n1)
|
|||||||
|
|
||||||
STD_VERSION=""
|
STD_VERSION=""
|
||||||
for major in 21 23 25 27; do
|
for major in 21 23 25 27; do
|
||||||
block=$(echo "$html" | grep -A 20 "Asterisk $major</h3>" | head -n 20 || true)
|
block=$(echo "$html" | awk "/Asterisk $major</,/<ul>/")
|
||||||
ver=$(echo "$block" | grep -oE 'Download (Latest - )?'"$major"'\.[0-9]+\.[0-9]+' | head -n1 | sed -E 's/Download (Latest - )?//' || true)
|
ver=$(echo "$block" | grep -oE 'Download (Latest - )?[0-9]+\.[0-9]+(\.[0-9]+)?' | head -n1 | sed -E 's/.* - //;s/Download //')
|
||||||
if [ -n "$ver" ]; then
|
if [ -n "$ver" ]; then
|
||||||
STD_VERSION="$STD_VERSION $ver"
|
STD_VERSION="$STD_VERSION $ver"
|
||||||
fi
|
fi
|
||||||
@@ -39,7 +39,7 @@ done
|
|||||||
STD_VERSION=$(echo "$STD_VERSION" | xargs | tr ' ' '\n' | sort -V | tail -n1)
|
STD_VERSION=$(echo "$STD_VERSION" | xargs | tr ' ' '\n' | sort -V | tail -n1)
|
||||||
|
|
||||||
cert_block=$(echo "$html" | awk '/Certified Asterisk/,/<ul>/')
|
cert_block=$(echo "$html" | awk '/Certified Asterisk/,/<ul>/')
|
||||||
CERT_VERSION=$(echo "$cert_block" | grep -oE 'Download Latest - [0-9]+\.[0-9]+-cert[0-9]+' | head -n1 | sed -E 's/.* - //' || true)
|
CERT_VERSION=$(echo "$cert_block" | grep -oE 'Download Latest - [0-9]+\.[0-9]+-cert[0-9]+' | head -n1 | sed -E 's/.* - //')
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
Choose Asterisk version to install:
|
Choose Asterisk version to install:
|
||||||
@@ -49,7 +49,6 @@ Choose Asterisk version to install:
|
|||||||
EOF
|
EOF
|
||||||
read -rp "Enter choice [1-3]: " ASTERISK_CHOICE
|
read -rp "Enter choice [1-3]: " ASTERISK_CHOICE
|
||||||
|
|
||||||
CERTIFIED=0
|
|
||||||
case "$ASTERISK_CHOICE" in
|
case "$ASTERISK_CHOICE" in
|
||||||
2)
|
2)
|
||||||
ASTERISK_VERSION="$LTS_VERSION"
|
ASTERISK_VERSION="$LTS_VERSION"
|
||||||
|
|||||||
@@ -1,54 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
|
||||||
# Author: fstof
|
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
# Source: https://github.com/donetick/donetick
|
|
||||||
|
|
||||||
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 ca-certificates
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "donetick" "donetick/donetick" "prebuild" "latest" "/opt/donetick" "donetick_Linux_x86_64.tar.gz"
|
|
||||||
|
|
||||||
msg_info "Setup Donetick"
|
|
||||||
cd /opt/donetick
|
|
||||||
TOKEN=$(openssl rand -hex 16)
|
|
||||||
sed -i -e "s/change_this_to_a_secure_random_string_32_characters_long/${TOKEN}/g" config/selfhosted.yaml
|
|
||||||
msg_ok "Setup Donetick"
|
|
||||||
|
|
||||||
msg_info "Creating Service"
|
|
||||||
cat <<EOF >/etc/systemd/system/donetick.service
|
|
||||||
[Unit]
|
|
||||||
Description=donetick Service
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Environment="DT_ENV=selfhosted"
|
|
||||||
WorkingDirectory=/opt/donetick
|
|
||||||
ExecStart=/opt/donetick/donetick
|
|
||||||
Restart=always
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
systemctl enable -q --now donetick
|
|
||||||
msg_ok "Created Service"
|
|
||||||
|
|
||||||
motd_ssh
|
|
||||||
customize
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
$STD apt -y autoremove
|
|
||||||
$STD apt -y autoclean
|
|
||||||
$STD apt -y clean
|
|
||||||
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.3" "$SRC_DIR"
|
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v2.2.1" "$SRC_DIR"
|
||||||
|
|
||||||
msg_info "Installing ${APPLICATION} (patience)"
|
msg_info "Installing ${APPLICATION} (patience)"
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
PHP_VERSION="8.3" PHP_MODULE="sqlite3" PHP_APACHE="YES" setup_php
|
PHP_VERSION="8.3" PHP_MODULE="sqlite3" PHP_APACHE="YES" setup_php
|
||||||
fetch_and_deploy_gh_release "linkstack" "linkstackorg/linkstack" "prebuild" "latest" "/var/www/html/" "linkstack.zip"
|
fetch_and_deploy_gh_release "linkstack" "linkstackorg/linkstack" "prebuild" "latest" "/var/www/html/linkstack" "linkstack.zip"
|
||||||
|
|
||||||
msg_info "Configuring LinkStack"
|
msg_info "Configuring LinkStack"
|
||||||
$STD a2enmod rewrite
|
$STD a2enmod rewrite
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2025 Community-Scripts ORG
|
# Copyright (c) 2021-2025 tteck
|
||||||
# Author: tteck (tteckster) | Co-Author: CrazyWolf13
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://nginxproxymanager.com/
|
# Source: https://nginxproxymanager.com/
|
||||||
|
|
||||||
@@ -39,15 +39,18 @@ $STD /opt/certbot/bin/pip install certbot certbot-dns-cloudflare
|
|||||||
ln -sf /opt/certbot/bin/certbot /usr/local/bin/certbot
|
ln -sf /opt/certbot/bin/certbot /usr/local/bin/certbot
|
||||||
msg_ok "Set up Certbot"
|
msg_ok "Set up Certbot"
|
||||||
|
|
||||||
|
VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)"
|
||||||
|
|
||||||
msg_info "Installing Openresty"
|
msg_info "Installing Openresty"
|
||||||
curl -fsSL "https://openresty.org/package/pubkey.gpg" | gpg --dearmor -o /etc/apt/trusted.gpg.d/openresty.gpg
|
curl -fsSL "https://openresty.org/package/pubkey.gpg" | gpg --dearmor -o /etc/apt/trusted.gpg.d/openresty-archive-keyring.gpg
|
||||||
cat <<'EOF' >/etc/apt/sources.list.d/openresty.sources
|
case "$VERSION" in
|
||||||
Types: deb
|
trixie)
|
||||||
URIs: http://openresty.org/package/debian/
|
echo -e "deb http://openresty.org/package/debian bookworm openresty" >/etc/apt/sources.list.d/openresty.list
|
||||||
Suites: bookworm
|
;;
|
||||||
Components: openresty
|
*)
|
||||||
Signed-By: /etc/apt/trusted.gpg.d/openresty.gpg
|
echo -e "deb http://openresty.org/package/debian $VERSION openresty" >/etc/apt/sources.list.d/openresty.list
|
||||||
EOF
|
;;
|
||||||
|
esac
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt -y install openresty
|
$STD apt -y install openresty
|
||||||
msg_ok "Installed Openresty"
|
msg_ok "Installed Openresty"
|
||||||
@@ -58,25 +61,28 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-
|
|||||||
grep "tag_name" |
|
grep "tag_name" |
|
||||||
awk '{print substr($2, 3, length($2)-4) }')
|
awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "nginxproxymanager" "NginxProxyManager/nginx-proxy-manager"
|
msg_info "Downloading Nginx Proxy Manager v${RELEASE}"
|
||||||
|
curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE}" | tar -xz
|
||||||
|
cd ./nginx-proxy-manager-"${RELEASE}"
|
||||||
|
msg_ok "Downloaded Nginx Proxy Manager v${RELEASE}"
|
||||||
|
|
||||||
msg_info "Setting up Environment"
|
msg_info "Setting up Environment"
|
||||||
ln -sf /usr/bin/python3 /usr/bin/python
|
ln -sf /usr/bin/python3 /usr/bin/python
|
||||||
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
|
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
|
||||||
ln -sf /usr/local/openresty/nginx/ /etc/nginx
|
ln -sf /usr/local/openresty/nginx/ /etc/nginx
|
||||||
sed -i "s|\"version\": \"2.0.0\"|\"version\": \"$RELEASE\"|" /opt/nginxproxymanager/backend/package.json
|
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json
|
||||||
sed -i "s|\"version\": \"2.0.0\"|\"version\": \"$RELEASE\"|" /opt/nginxproxymanager/frontend/package.json
|
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json
|
||||||
sed -i 's+^daemon+#daemon+g' /opt/nginxproxymanager/docker/rootfs/etc/nginx/nginx.conf
|
sed -i 's+^daemon+#daemon+g' docker/rootfs/etc/nginx/nginx.conf
|
||||||
NGINX_CONFS=$(find /opt/nginxproxymanager -type f -name "*.conf")
|
NGINX_CONFS=$(find "$(pwd)" -type f -name "*.conf")
|
||||||
for NGINX_CONF in $NGINX_CONFS; do
|
for NGINX_CONF in $NGINX_CONFS; do
|
||||||
sed -i 's+include conf.d+include /etc/nginx/conf.d+g' "$NGINX_CONF"
|
sed -i 's+include conf.d+include /etc/nginx/conf.d+g' "$NGINX_CONF"
|
||||||
done
|
done
|
||||||
|
|
||||||
mkdir -p /var/www/html /etc/nginx/logs
|
mkdir -p /var/www/html /etc/nginx/logs
|
||||||
cp -r /opt/nginxproxymanager/docker/rootfs/var/www/html/* /var/www/html/
|
cp -r docker/rootfs/var/www/html/* /var/www/html/
|
||||||
cp -r /opt/nginxproxymanager/docker/rootfs/etc/nginx/* /etc/nginx/
|
cp -r docker/rootfs/etc/nginx/* /etc/nginx/
|
||||||
cp /opt/nginxproxymanager/docker/rootfs/etc/letsencrypt.ini /etc/letsencrypt.ini
|
cp docker/rootfs/etc/letsencrypt.ini /etc/letsencrypt.ini
|
||||||
cp /opt/nginxproxymanager/docker/rootfs/etc/logrotate.d/nginx-proxy-manager /etc/logrotate.d/nginx-proxy-manager
|
cp docker/rootfs/etc/logrotate.d/nginx-proxy-manager /etc/logrotate.d/nginx-proxy-manager
|
||||||
ln -sf /etc/nginx/nginx.conf /etc/nginx/conf/nginx.conf
|
ln -sf /etc/nginx/nginx.conf /etc/nginx/conf/nginx.conf
|
||||||
rm -f /etc/nginx/conf.d/dev.conf
|
rm -f /etc/nginx/conf.d/dev.conf
|
||||||
|
|
||||||
@@ -103,22 +109,23 @@ chown root /tmp/nginx
|
|||||||
echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" {print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf);" >/etc/nginx/conf.d/include/resolvers.conf
|
echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" {print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf);" >/etc/nginx/conf.d/include/resolvers.conf
|
||||||
|
|
||||||
if [ ! -f /data/nginx/dummycert.pem ] || [ ! -f /data/nginx/dummykey.pem ]; then
|
if [ ! -f /data/nginx/dummycert.pem ] || [ ! -f /data/nginx/dummykey.pem ]; then
|
||||||
$STD openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/O=Nginx Proxy Manager/OU=Dummy Certificate/CN=localhost" -keyout /data/nginx/dummykey.pem -out /data/nginx/dummycert.pem
|
openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/O=Nginx Proxy Manager/OU=Dummy Certificate/CN=localhost" -keyout /data/nginx/dummykey.pem -out /data/nginx/dummycert.pem &>/dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p /app/frontend/images
|
mkdir -p /app/global /app/frontend/images
|
||||||
cp -r /opt/nginxproxymanager/backend/* /app
|
cp -r backend/* /app
|
||||||
|
cp -r global/* /app/global
|
||||||
msg_ok "Set up Environment"
|
msg_ok "Set up Environment"
|
||||||
|
|
||||||
msg_info "Building Frontend"
|
msg_info "Building Frontend"
|
||||||
export NODE_OPTIONS="--max_old_space_size=2048 --openssl-legacy-provider"
|
cd ./frontend
|
||||||
cd /opt/nginxproxymanager/frontend
|
export NODE_OPTIONS="--openssl-legacy-provider"
|
||||||
# Replace node-sass with sass in package.json before installation
|
# Replace node-sass with sass in package.json before installation
|
||||||
sed -E -i 's/"node-sass" *: *"([^"]*)"/"sass": "\1"/g' package.json
|
sed -i 's/"node-sass".*$/"sass": "^1.92.1",/g' package.json
|
||||||
$STD yarn install --network-timeout 600000
|
$STD yarn install --network-timeout 600000
|
||||||
$STD yarn build
|
$STD yarn build
|
||||||
cp -r /opt/nginxproxymanager/frontend/dist/* /app/frontend
|
cp -r dist/* /app/frontend
|
||||||
cp -r /opt/nginxproxymanager/frontend/public/images/* /app/frontend/images
|
cp -r app-images/* /app/frontend/images
|
||||||
msg_ok "Built Frontend"
|
msg_ok "Built Frontend"
|
||||||
|
|
||||||
msg_info "Initializing Backend"
|
msg_info "Initializing Backend"
|
||||||
@@ -139,6 +146,7 @@ if [ ! -f /app/config/production.json ]; then
|
|||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
cd /app
|
cd /app
|
||||||
|
export NODE_OPTIONS="--openssl-legacy-provider"
|
||||||
$STD yarn install --network-timeout 600000
|
$STD yarn install --network-timeout 600000
|
||||||
msg_ok "Initialized Backend"
|
msg_ok "Initialized Backend"
|
||||||
|
|
||||||
@@ -162,6 +170,9 @@ WantedBy=multi-user.target
|
|||||||
EOF
|
EOF
|
||||||
msg_ok "Created Service"
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
|
||||||
msg_info "Starting Services"
|
msg_info "Starting Services"
|
||||||
sed -i 's/user npm/user root/g; s/^pid/#pid/g' /usr/local/openresty/nginx/conf/nginx.conf
|
sed -i 's/user npm/user root/g; s/^pid/#pid/g' /usr/local/openresty/nginx/conf/nginx.conf
|
||||||
sed -r -i 's/^([[:space:]]*)su npm npm/\1#su npm npm/g;' /etc/logrotate.d/nginx-proxy-manager
|
sed -r -i 's/^([[:space:]]*)su npm npm/\1#su npm npm/g;' /etc/logrotate.d/nginx-proxy-manager
|
||||||
@@ -169,10 +180,8 @@ systemctl enable -q --now openresty
|
|||||||
systemctl enable -q --now npm
|
systemctl enable -q --now npm
|
||||||
msg_ok "Started Services"
|
msg_ok "Started Services"
|
||||||
|
|
||||||
motd_ssh
|
|
||||||
customize
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
|
rm -rf ../nginx-proxy-manager-*
|
||||||
systemctl restart openresty
|
systemctl restart openresty
|
||||||
$STD apt -y autoremove
|
$STD apt -y autoremove
|
||||||
$STD apt -y autoclean
|
$STD apt -y autoclean
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 tteck
|
||||||
# Author: tteck | Co-Author: havardthom | Co-Author: Slaviša Arežina (tremor021)
|
# Author: tteck
|
||||||
|
# Co-Author: havardthom
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://openwebui.com/
|
# Source: https://openwebui.com/
|
||||||
|
|
||||||
@@ -14,10 +15,36 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt install -y ffmpeg
|
$STD apt install -y \
|
||||||
|
git \
|
||||||
|
ffmpeg \
|
||||||
|
libpq-dev
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
USE_UVX="YES" PYTHON_VERSION="3.12" setup_uv
|
msg_info "Setup Python3"
|
||||||
|
$STD apt install -y --no-install-recommends \
|
||||||
|
python3 \
|
||||||
|
python3-pip
|
||||||
|
msg_ok "Setup Python3"
|
||||||
|
|
||||||
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
|
msg_info "Installing Open WebUI (Patience)"
|
||||||
|
$STD git clone https://github.com/open-webui/open-webui.git /opt/open-webui
|
||||||
|
cd /opt/open-webui/backend
|
||||||
|
$STD pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
|
||||||
|
$STD pip3 install -r requirements.txt -U
|
||||||
|
cd /opt/open-webui
|
||||||
|
cp .env.example .env
|
||||||
|
cat <<EOF >/opt/open-webui/.env
|
||||||
|
ENV=prod
|
||||||
|
ENABLE_OLLAMA_API=false
|
||||||
|
OLLAMA_BASE_URL=http://0.0.0.0:11434
|
||||||
|
EOF
|
||||||
|
$STD npm install --force
|
||||||
|
export NODE_OPTIONS="--max-old-space-size=6000"
|
||||||
|
$STD npm run build
|
||||||
|
msg_ok "Installed Open WebUI"
|
||||||
|
|
||||||
read -r -p "${TAB3}Would you like to add Ollama? <y/N> " prompt
|
read -r -p "${TAB3}Would you like to add Ollama? <y/N> " prompt
|
||||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
||||||
@@ -42,7 +69,7 @@ RestartSec=3
|
|||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
systemctl enable -q --now ollama
|
systemctl enable -q --now ollama
|
||||||
echo "ENABLE_OLLAMA_API=true" >/root/.env
|
sed -i 's/ENABLE_OLLAMA_API=false/ENABLE_OLLAMA_API=true/g' /opt/open-webui/.env
|
||||||
msg_ok "Installed Ollama"
|
msg_ok "Installed Ollama"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -53,14 +80,10 @@ Description=Open WebUI Service
|
|||||||
After=network.target
|
After=network.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=exec
|
||||||
EnvironmentFile=-/root/.env
|
WorkingDirectory=/opt/open-webui
|
||||||
Environment=DATA_DIR=/root/.open-webui
|
EnvironmentFile=/opt/open-webui/.env
|
||||||
ExecStart=/usr/local/bin/uvx --python 3.12 open-webui@latest serve
|
ExecStart=/opt/open-webui/backend/start.sh
|
||||||
WorkingDirectory=/root
|
|
||||||
Restart=on-failure
|
|
||||||
RestartSec=5
|
|
||||||
User=root
|
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|||||||
@@ -26,8 +26,7 @@ $STD apt install -y \
|
|||||||
unpaper \
|
unpaper \
|
||||||
fonts-urw-base35 \
|
fonts-urw-base35 \
|
||||||
qpdf \
|
qpdf \
|
||||||
poppler-utils \
|
poppler-utils
|
||||||
jbig2
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
PYTHON_VERSION="3.12" setup_uv
|
PYTHON_VERSION="3.12" setup_uv
|
||||||
@@ -70,12 +69,24 @@ $STD uv pip install \
|
|||||||
ocrmypdf \
|
ocrmypdf \
|
||||||
pillow \
|
pillow \
|
||||||
pdf2image
|
pdf2image
|
||||||
|
|
||||||
$STD apt install -y python3-uno python3-pip
|
$STD apt install -y python3-uno python3-pip
|
||||||
$STD pip3 install --break-system-packages --timeout=120 unoserver
|
$STD pip3 install --break-system-packages unoserver
|
||||||
ln -sf /opt/.venv/bin/python3 /usr/local/bin/python3
|
ln -sf /opt/.venv/bin/python3 /usr/local/bin/python3
|
||||||
ln -sf /opt/.venv/bin/pip /usr/local/bin/pip
|
ln -sf /opt/.venv/bin/pip /usr/local/bin/pip
|
||||||
msg_ok "Installed Python Dependencies"
|
msg_ok "Installed Python Dependencies"
|
||||||
|
|
||||||
|
msg_info "Installing JBIG2"
|
||||||
|
$STD curl -fsSL -o /tmp/jbig2enc.tar.gz https://github.com/agl/jbig2enc/archive/refs/tags/0.30.tar.gz
|
||||||
|
mkdir -p /opt/jbig2enc
|
||||||
|
tar -xzf /tmp/jbig2enc.tar.gz -C /opt/jbig2enc --strip-components=1
|
||||||
|
cd /opt/jbig2enc
|
||||||
|
$STD bash ./autogen.sh
|
||||||
|
$STD bash ./configure
|
||||||
|
$STD make
|
||||||
|
$STD make install
|
||||||
|
msg_ok "Installed JBIG2"
|
||||||
|
|
||||||
msg_info "Installing Language Packs (Patience)"
|
msg_info "Installing Language Packs (Patience)"
|
||||||
$STD apt install -y 'tesseract-ocr-*'
|
$STD apt install -y 'tesseract-ocr-*'
|
||||||
msg_ok "Installed Language Packs"
|
msg_ok "Installed Language Packs"
|
||||||
|
|||||||
2404
misc/tools.func
2404
misc/tools.func
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user