mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-12-20 05:56:24 +01:00
Compare commits
1 Commits
github-act
...
hardening_
| Author | SHA1 | Date | |
|---|---|---|---|
| 8c0319a42b |
59
CHANGELOG.md
59
CHANGELOG.md
@ -10,72 +10,15 @@
|
|||||||
> [!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-12-20
|
|
||||||
|
|
||||||
## 2025-12-19
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Update Reitti to Java 25 for 3.0.0 compatibility [@Copilot](https://github.com/Copilot) ([#10164](https://github.com/community-scripts/ProxmoxVE/pull/10164))
|
|
||||||
- Bump Bar-Assistant to php 8.4 [@MickLesk](https://github.com/MickLesk) ([#10138](https://github.com/community-scripts/ProxmoxVE/pull/10138))
|
|
||||||
- Zabbix: Add version-specific SQL script path for 7.0 LTS [@MickLesk](https://github.com/MickLesk) ([#10142](https://github.com/community-scripts/ProxmoxVE/pull/10142))
|
|
||||||
- InfluxDB: Fix update function [@Liganic](https://github.com/Liganic) ([#10151](https://github.com/community-scripts/ProxmoxVE/pull/10151))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- Bump Immich to v2.4.1 [@vhsdream](https://github.com/vhsdream) ([#10154](https://github.com/community-scripts/ProxmoxVE/pull/10154))
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- Refactor: Cosmos: + Upgrade to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#10147](https://github.com/community-scripts/ProxmoxVE/pull/10147))
|
|
||||||
- Refactor: Proxmox-Mail-Gateway [@tremor021](https://github.com/tremor021) ([#10070](https://github.com/community-scripts/ProxmoxVE/pull/10070))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- core: Auto-cleanup after all update_script executions [@MickLesk](https://github.com/MickLesk) ([#10141](https://github.com/community-scripts/ProxmoxVE/pull/10141))
|
|
||||||
|
|
||||||
### 🧰 Tools
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- fix: removed verbose option to avoid unnecessary output [@wolle604](https://github.com/wolle604) ([#10144](https://github.com/community-scripts/ProxmoxVE/pull/10144))
|
|
||||||
|
|
||||||
### ❔ Uncategorized
|
|
||||||
|
|
||||||
- Update paymenter.json(#10133) [@DragoQC](https://github.com/DragoQC) ([#10134](https://github.com/community-scripts/ProxmoxVE/pull/10134))
|
|
||||||
|
|
||||||
## 2025-12-18
|
## 2025-12-18
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
- [HOTFIX] Fix Scanopy release check [@vhsdream](https://github.com/vhsdream) ([#10097](https://github.com/community-scripts/ProxmoxVE/pull/10097))
|
|
||||||
- Fix cleanup issues in npm cache and rustup toolchain [@MickLesk](https://github.com/MickLesk) ([#10107](https://github.com/community-scripts/ProxmoxVE/pull/10107))
|
- Fix cleanup issues in npm cache and rustup toolchain [@MickLesk](https://github.com/MickLesk) ([#10107](https://github.com/community-scripts/ProxmoxVE/pull/10107))
|
||||||
- Fix Zabbix 7.0 repository URL structure [@MickLesk](https://github.com/MickLesk) ([#10106](https://github.com/community-scripts/ProxmoxVE/pull/10106))
|
- Fix Zabbix 7.0 repository URL structure [@MickLesk](https://github.com/MickLesk) ([#10106](https://github.com/community-scripts/ProxmoxVE/pull/10106))
|
||||||
|
- [HOTFIX] Fix Scanopy release check [@vhsdream](https://github.com/vhsdream) ([#10097](https://github.com/community-scripts/ProxmoxVE/pull/10097))
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- bump pihole to debian 13 [@mschabhuettl](https://github.com/mschabhuettl) ([#10118](https://github.com/community-scripts/ProxmoxVE/pull/10118))
|
|
||||||
- Immich: v2.4.0 [@vhsdream](https://github.com/vhsdream) ([#10095](https://github.com/community-scripts/ProxmoxVE/pull/10095))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- tools.func: hardening/Improve error handling and cleanup in shell functions [@MickLesk](https://github.com/MickLesk) ([#10116](https://github.com/community-scripts/ProxmoxVE/pull/10116))
|
|
||||||
|
|
||||||
### 🧰 Tools
|
|
||||||
|
|
||||||
- qbittorrent-exporter ([#10090](https://github.com/community-scripts/ProxmoxVE/pull/10090))
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Improved error handling when a command does not exist [@wolle604](https://github.com/wolle604) ([#10089](https://github.com/community-scripts/ProxmoxVE/pull/10089))
|
|
||||||
|
|
||||||
## 2025-12-17
|
## 2025-12-17
|
||||||
|
|
||||||
|
|||||||
@ -34,8 +34,6 @@ function update_script() {
|
|||||||
systemctl stop nginx
|
systemctl stop nginx
|
||||||
msg_ok "Stopped nginx"
|
msg_ok "Stopped nginx"
|
||||||
|
|
||||||
PHP_VERSION="8.4" PHP_FPM=YES PHP_MODULE="ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm" setup_php
|
|
||||||
|
|
||||||
msg_info "Backing up Bar Assistant"
|
msg_info "Backing up Bar Assistant"
|
||||||
mv /opt/bar-assistant /opt/bar-assistant-backup
|
mv /opt/bar-assistant /opt/bar-assistant-backup
|
||||||
msg_ok "Backed up Bar Assistant"
|
msg_ok "Backed up Bar Assistant"
|
||||||
|
|||||||
@ -5,15 +5,14 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
|||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://https://cosmos-cloud.io/
|
# Source: https://https://cosmos-cloud.io/
|
||||||
|
|
||||||
APP="Cosmos"
|
APP="cosmos"
|
||||||
var_tags="${var_tags:-cloud;docker}"
|
var_tags="${var_tags:-os,docker}"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-2048}"
|
||||||
var_disk="${var_disk:-8}"
|
var_disk="${var_disk:-8}"
|
||||||
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}"
|
||||||
var_fuse="${var_fuse:-yes}"
|
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
variables
|
variables
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
______
|
|
||||||
/ ____/___ _________ ___ ____ _____
|
_________ _________ ___ ____ _____
|
||||||
/ / / __ \/ ___/ __ `__ \/ __ \/ ___/
|
/ ___/ __ \/ ___/ __ `__ \/ __ \/ ___/
|
||||||
/ /___/ /_/ (__ ) / / / / / /_/ (__ )
|
/ /__/ /_/ (__ ) / / / / / /_/ (__ )
|
||||||
\____/\____/____/_/ /_/ /_/\____/____/
|
\___/\____/____/_/ /_/ /_/\____/____/
|
||||||
|
|
||||||
|
|||||||
17
ct/homarr.sh
17
ct/homarr.sh
@ -35,11 +35,22 @@ function update_script() {
|
|||||||
msg_ok "Services Stopped"
|
msg_ok "Services Stopped"
|
||||||
|
|
||||||
if ! { grep -q '^REDIS_IS_EXTERNAL=' /opt/homarr/.env 2>/dev/null || grep -q '^REDIS_IS_EXTERNAL=' /opt/homarr.env 2>/dev/null; }; then
|
if ! { grep -q '^REDIS_IS_EXTERNAL=' /opt/homarr/.env 2>/dev/null || grep -q '^REDIS_IS_EXTERNAL=' /opt/homarr.env 2>/dev/null; }; then
|
||||||
|
DEBIAN_VERSION=$(cat /etc/debian_version 2>/dev/null | cut -d'.' -f1)
|
||||||
|
if [[ -n "$DEBIAN_VERSION" ]] && [[ "$DEBIAN_VERSION" -lt 13 ]]; then
|
||||||
|
msg_warn "⚠️ COMPATIBILITY WARNING ⚠️"
|
||||||
|
msg_warn "You are running Debian ${DEBIAN_VERSION}. Homarr's requires Debian 13"
|
||||||
|
msg_warn ""
|
||||||
|
msg_warn "Please Upgrade to Debian 13:"
|
||||||
|
msg_warn "See: https://github.com/community-scripts/ProxmoxVE/discussions/7489"
|
||||||
|
msg_warn ""
|
||||||
|
exit
|
||||||
|
fi
|
||||||
msg_info "Fixing old structure"
|
msg_info "Fixing old structure"
|
||||||
systemctl disable -q --now nginx
|
# fix musl issues because homarr compiles on alpine not debian soure: https://github.com/alexander-akhmetov/python-telegram/issues/3
|
||||||
|
$STD apt install -y musl-dev
|
||||||
|
ln -s /usr/lib/x86_64-linux-musl/libc.so /lib/libc.musl-x86_64.so.1
|
||||||
cp /opt/homarr/.env /opt/homarr.env
|
cp /opt/homarr/.env /opt/homarr.env
|
||||||
echo "REDIS_IS_EXTERNAL='true'" >> /opt/homarr.env
|
echo "REDIS_IS_EXTERNAL='true'" >> /opt/homarr.env
|
||||||
sed -i '/^\[Unit\]/a Requires=redis-server.service\nAfter=redis-server.service' /etc/systemd/system/homarr.service
|
|
||||||
sed -i 's|^ExecStart=.*|ExecStart=/opt/homarr/run.sh|' /etc/systemd/system/homarr.service
|
sed -i 's|^ExecStart=.*|ExecStart=/opt/homarr/run.sh|' /etc/systemd/system/homarr.service
|
||||||
sed -i 's|^EnvironmentFile=.*|EnvironmentFile=-/opt/homarr.env|' /etc/systemd/system/homarr.service
|
sed -i 's|^EnvironmentFile=.*|EnvironmentFile=-/opt/homarr.env|' /etc/systemd/system/homarr.service
|
||||||
chown -R redis:redis /appdata/redis
|
chown -R redis:redis /appdata/redis
|
||||||
@ -61,7 +72,7 @@ EOF
|
|||||||
|
|
||||||
NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
|
NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
|
||||||
setup_nodejs
|
setup_nodejs
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr" "prebuild" "latest" "/opt/homarr" "build-debian-amd64.tar.gz"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr" "prebuild" "latest" "/opt/homarr" "build-amd64.tar.gz"
|
||||||
|
|
||||||
msg_info "Updating Homarr"
|
msg_info "Updating Homarr"
|
||||||
cp /opt/homarr/redis.conf /etc/redis/redis.conf
|
cp /opt/homarr/redis.conf /etc/redis/redis.conf
|
||||||
|
|||||||
17
ct/immich.sh
17
ct/immich.sh
@ -74,28 +74,23 @@ EOF
|
|||||||
STAGING_DIR=/opt/staging
|
STAGING_DIR=/opt/staging
|
||||||
BASE_DIR=${STAGING_DIR}/base-images
|
BASE_DIR=${STAGING_DIR}/base-images
|
||||||
SOURCE_DIR=${STAGING_DIR}/image-source
|
SOURCE_DIR=${STAGING_DIR}/image-source
|
||||||
cd /tmp
|
cd /root
|
||||||
if [[ -f ~/.intel_version ]]; then
|
if [[ -f ~/.intel_version ]]; then
|
||||||
curl -fsSLO https://raw.githubusercontent.com/immich-app/base-images/refs/heads/main/server/Dockerfile
|
curl -fsSLO https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/machine-learning/Dockerfile
|
||||||
readarray -t INTEL_URLS < <(
|
readarray -t INTEL_URLS < <(sed -n "/intel/p" ./Dockerfile | awk '{print $3}')
|
||||||
sed -n "/intel-[igc|opencl]/p" ./Dockerfile | awk '{print $2}'
|
INTEL_RELEASE="$(grep "intel-opencl-icd" ./Dockerfile | awk -F '_' '{print $2}')"
|
||||||
sed -n "/libigdgmm12/p" ./Dockerfile | awk '{print $3}'
|
|
||||||
)
|
|
||||||
INTEL_RELEASE="$(grep "intel-opencl-icd_" ./Dockerfile | awk -F '_' '{print $2}')"
|
|
||||||
if [[ "$INTEL_RELEASE" != "$(cat ~/.intel_version)" ]]; then
|
if [[ "$INTEL_RELEASE" != "$(cat ~/.intel_version)" ]]; then
|
||||||
msg_info "Updating Intel iGPU dependencies"
|
msg_info "Updating Intel iGPU dependencies"
|
||||||
for url in "${INTEL_URLS[@]}"; do
|
for url in "${INTEL_URLS[@]}"; do
|
||||||
curl -fsSLO "$url"
|
curl -fsSLO "$url"
|
||||||
done
|
done
|
||||||
$STD apt-mark unhold libigdgmm12
|
$STD apt-mark unhold libigdgmm12
|
||||||
$STD apt install -y ./libigdgmm12*.deb
|
|
||||||
rm ./libigdgmm12*.deb
|
|
||||||
$STD apt install -y ./*.deb
|
$STD apt install -y ./*.deb
|
||||||
rm ./*.deb
|
rm ./*.deb
|
||||||
$STD apt-mark hold libigdgmm12
|
$STD apt-mark hold libigdgmm12
|
||||||
msg_ok "Intel iGPU dependencies updated"
|
msg_ok "Intel iGPU dependencies updated"
|
||||||
fi
|
fi
|
||||||
rm ./Dockerfile
|
rm ~/Dockerfile
|
||||||
fi
|
fi
|
||||||
if [[ -f ~/.immich_library_revisions ]]; then
|
if [[ -f ~/.immich_library_revisions ]]; then
|
||||||
libraries=("libjxl" "libheif" "libraw" "imagemagick" "libvips")
|
libraries=("libjxl" "libheif" "libraw" "imagemagick" "libvips")
|
||||||
@ -108,7 +103,7 @@ EOF
|
|||||||
msg_ok "Image-processing libraries up to date"
|
msg_ok "Image-processing libraries up to date"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RELEASE="2.4.1"
|
RELEASE="2.3.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
|
||||||
|
|||||||
@ -23,7 +23,7 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
if [[ ! -f /usr/bin/influxd ]]; then
|
if [[ ! -f /etc/apt/sources.list.d/influxdata.list ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
|||||||
var_ram="${var_ram:-512}"
|
var_ram="${var_ram:-512}"
|
||||||
var_disk="${var_disk:-2}"
|
var_disk="${var_disk:-2}"
|
||||||
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"
|
||||||
|
|||||||
@ -27,11 +27,10 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
msg_info "Updating ${APP}"
|
||||||
msg_info "Updating Proxmox-Mail-Gateway"
|
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt upgrade -y
|
$STD apt -y upgrade
|
||||||
msg_ok "Updated Proxmox-Mail-Gateway"
|
msg_ok "Updated ${APP}"
|
||||||
msg_ok "Updated successfully!"
|
msg_ok "Updated successfully!"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,8 +32,6 @@ function update_script() {
|
|||||||
systemctl stop reitti
|
systemctl stop reitti
|
||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
JAVA_VERSION="25" setup_java
|
|
||||||
|
|
||||||
rm -f /opt/reitti/reitti.jar
|
rm -f /opt/reitti/reitti.jar
|
||||||
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "reitti" "dedicatedcode/reitti" "singlefile" "latest" "/opt/reitti" "reitti-app.jar"
|
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "reitti" "dedicatedcode/reitti" "singlefile" "latest" "/opt/reitti" "reitti-app.jar"
|
||||||
mv /opt/reitti/reitti-*.jar /opt/reitti/reitti.jar
|
mv /opt/reitti/reitti-*.jar /opt/reitti/reitti.jar
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
"ram": 2048,
|
"ram": 2048,
|
||||||
"hdd": 8,
|
"hdd": 8,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "13"
|
"version": "12"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -36,10 +36,6 @@
|
|||||||
{
|
{
|
||||||
"type": "info",
|
"type": "info",
|
||||||
"text": "The file `/etc/sysconfig/CosmosCloud` is optional. If you need custom settings, you can create it yourself."
|
"text": "The file `/etc/sysconfig/CosmosCloud` is optional. If you need custom settings, you can create it yourself."
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "warning",
|
|
||||||
"text": "Requires FUSE support for mergerfs functionality. FUSE is enabled by default during installation."
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
"interface_port": 80,
|
"interface_port": 80,
|
||||||
"documentation": "https://paymenter.org/docs",
|
"documentation": "https://paymenter.org/docs",
|
||||||
"website": "https://paymenter.org/",
|
"website": "https://paymenter.org/",
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/paymenter.webp",
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/paymeter.webp",
|
||||||
"config_path": "/opt/paymenter/.env",
|
"config_path": "/opt/paymenter/.env",
|
||||||
"description": "Paymenter is an open source webshop solution for hosting companies. It's developed to provide an more easy way to manage your hosting company.",
|
"description": "Paymenter is an open source webshop solution for hosting companies. It's developed to provide an more easy way to manage your hosting company.",
|
||||||
"install_methods": [
|
"install_methods": [
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
"ram": 512,
|
"ram": 512,
|
||||||
"hdd": 2,
|
"hdd": 2,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "13"
|
"version": "12"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@ -1,46 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "qbittorrent Exporter",
|
|
||||||
"slug": "qbittorrent-exporter",
|
|
||||||
"categories": [
|
|
||||||
9
|
|
||||||
],
|
|
||||||
"date_created": "2025-12-18",
|
|
||||||
"type": "addon",
|
|
||||||
"updateable": true,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": 8090,
|
|
||||||
"documentation": "https://github.com/martabal/qbittorrent-exporter",
|
|
||||||
"website": "https://github.com/martabal/qbittorrent-exporter",
|
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/qbittorrent.webp",
|
|
||||||
"config_path": "/opt/qbittorrent-exporter.env",
|
|
||||||
"description": "A fast and lightweight prometheus exporter for qBittorrent ",
|
|
||||||
"install_methods": [
|
|
||||||
{
|
|
||||||
"type": "default",
|
|
||||||
"script": "tools/addon/qbittorrent-exporter.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": null,
|
|
||||||
"ram": null,
|
|
||||||
"hdd": null,
|
|
||||||
"os": null,
|
|
||||||
"version": null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "alpine",
|
|
||||||
"script": "tools/addon/qbittorrent-exporter.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": null,
|
|
||||||
"ram": null,
|
|
||||||
"hdd": null,
|
|
||||||
"os": null,
|
|
||||||
"version": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default_credentials": {
|
|
||||||
"username": null,
|
|
||||||
"password": null
|
|
||||||
},
|
|
||||||
"notes": []
|
|
||||||
}
|
|
||||||
@ -1,274 +1,29 @@
|
|||||||
[
|
[
|
||||||
{
|
|
||||||
"name": "pelican-dev/panel",
|
|
||||||
"version": "v1.0.0-beta30",
|
|
||||||
"date": "2025-12-19T23:37:07Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "pelican-dev/wings",
|
|
||||||
"version": "v1.0.0-beta21",
|
|
||||||
"date": "2025-12-19T23:04:27Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "laurent22/joplin",
|
|
||||||
"version": "server-v3.5.2",
|
|
||||||
"date": "2025-12-19T21:28:55Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "emqx/emqx",
|
|
||||||
"version": "e5.10.3-alpha.1",
|
|
||||||
"date": "2025-12-19T21:08:48Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "openhab/openhab-core",
|
|
||||||
"version": "5.1.0.RC1",
|
|
||||||
"date": "2025-12-19T20:37:27Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "metabase/metabase",
|
|
||||||
"version": "v0.58.x",
|
|
||||||
"date": "2025-12-19T20:05:58Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "homarr-labs/homarr",
|
|
||||||
"version": "v1.47.0",
|
|
||||||
"date": "2025-12-19T19:42:50Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "BerriAI/litellm",
|
|
||||||
"version": "v1.80.10.dev.1",
|
|
||||||
"date": "2025-12-19T19:16:21Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "booklore-app/booklore",
|
|
||||||
"version": "v1.15.0",
|
|
||||||
"date": "2025-12-19T18:57:42Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "YunoHost/yunohost",
|
|
||||||
"version": "debian/12.1.37",
|
|
||||||
"date": "2025-12-18T16:43:23Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "home-assistant/core",
|
|
||||||
"version": "2025.12.4",
|
|
||||||
"date": "2025-12-19T17:55:13Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "qdrant/qdrant",
|
|
||||||
"version": "v1.16.3",
|
|
||||||
"date": "2025-12-19T17:45:42Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "firefly-iii/firefly-iii",
|
|
||||||
"version": "v6.4.14",
|
|
||||||
"date": "2025-12-16T05:42:34Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "esphome/esphome",
|
|
||||||
"version": "2025.12.1",
|
|
||||||
"date": "2025-12-19T15:53:08Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "immich-app/immich",
|
|
||||||
"version": "v2.4.1",
|
|
||||||
"date": "2025-12-19T15:50:12Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "itsmng/itsm-ng",
|
|
||||||
"version": "v1.6.11",
|
|
||||||
"date": "2025-12-19T15:28:57Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "openobserve/openobserve",
|
|
||||||
"version": "v0.30.2",
|
|
||||||
"date": "2025-12-19T15:18:53Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "nzbgetcom/nzbget",
|
|
||||||
"version": "v25.4",
|
|
||||||
"date": "2025-10-09T10:27:01Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "dedicatedcode/reitti",
|
|
||||||
"version": "v3.0.0",
|
|
||||||
"date": "2025-12-19T13:47:44Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "raydak-labs/configarr",
|
|
||||||
"version": "v1.19.0",
|
|
||||||
"date": "2025-12-19T13:37:00Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "wazuh/wazuh",
|
|
||||||
"version": "coverity-w51-4.14.2",
|
|
||||||
"date": "2025-12-15T12:34:36Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "fccview/jotty",
|
|
||||||
"version": "1.14.4",
|
|
||||||
"date": "2025-12-19T13:17:26Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "fuma-nama/fumadocs",
|
|
||||||
"version": "@fumadocs/ui@16.3.1",
|
|
||||||
"date": "2025-12-19T13:11:34Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "readeck/readeck",
|
|
||||||
"version": "0.21.5",
|
|
||||||
"date": "2025-12-19T11:51:05Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "forgejo/forgejo",
|
|
||||||
"version": "v15.0.0-dev",
|
|
||||||
"date": "2025-12-19T11:43:47Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "meilisearch/meilisearch",
|
|
||||||
"version": "prototype-v1.30.1-rebuild-hannoy-graph.1",
|
|
||||||
"date": "2025-12-19T11:14:05Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "release-argus/Argus",
|
|
||||||
"version": "0.28.3",
|
|
||||||
"date": "2025-12-19T11:05:10Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "TuroYT/snowshare",
|
|
||||||
"version": "v1.2.5",
|
|
||||||
"date": "2025-12-19T10:47:19Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mattermost/mattermost",
|
|
||||||
"version": "v11.1.2",
|
|
||||||
"date": "2025-12-17T09:26:24Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "morpheus65535/bazarr",
|
|
||||||
"version": "v1.5.3",
|
|
||||||
"date": "2025-09-20T12:12:33Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Jackett/Jackett",
|
|
||||||
"version": "v0.24.487",
|
|
||||||
"date": "2025-12-19T05:55:55Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "jhuckaby/Cronicle",
|
|
||||||
"version": "v0.9.102",
|
|
||||||
"date": "2025-12-19T03:45:13Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "javedh-dev/tracktor",
|
|
||||||
"version": "1.0.1",
|
|
||||||
"date": "2025-12-17T23:14:39Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mealie-recipes/mealie",
|
|
||||||
"version": "v3.8.0",
|
|
||||||
"date": "2025-12-19T01:37:04Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "jeedom/core",
|
|
||||||
"version": "4.5.1",
|
|
||||||
"date": "2025-12-19T00:27:05Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "steveiliop56/tinyauth",
|
|
||||||
"version": "v4.1.0",
|
|
||||||
"date": "2025-11-23T12:13:34Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "moghtech/komodo",
|
|
||||||
"version": "v1.19.5",
|
|
||||||
"date": "2025-09-27T20:59:46Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "chrisbenincasa/tunarr",
|
|
||||||
"version": "v1.0.7",
|
|
||||||
"date": "2025-12-18T21:27:26Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Stirling-Tools/Stirling-PDF",
|
|
||||||
"version": "v2.1.5",
|
|
||||||
"date": "2025-12-18T20:48:01Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "scanopy/scanopy",
|
|
||||||
"version": "v0.12.4",
|
|
||||||
"date": "2025-12-18T19:25:47Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "rcourtman/Pulse",
|
|
||||||
"version": "v4.36.2",
|
|
||||||
"date": "2025-12-03T22:46:29Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "saltstack/salt",
|
|
||||||
"version": "v3007.10",
|
|
||||||
"date": "2025-12-18T18:14:16Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "go-gitea/gitea",
|
|
||||||
"version": "v1.25.3",
|
|
||||||
"date": "2025-12-18T18:11:48Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "karlomikus/bar-assistant",
|
|
||||||
"version": "v5.11.0",
|
|
||||||
"date": "2025-12-18T18:06:05Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "neo4j/neo4j",
|
|
||||||
"version": "2025.11.2",
|
|
||||||
"date": "2025-12-18T17:08:34Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "msgbyte/tianji",
|
|
||||||
"version": "v1.30.23",
|
|
||||||
"date": "2025-12-18T16:55:01Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ollama/ollama",
|
|
||||||
"version": "v0.13.5",
|
|
||||||
"date": "2025-12-18T16:39:08Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "keycloak/keycloak",
|
|
||||||
"version": "26.4.7",
|
|
||||||
"date": "2025-12-01T08:14:11Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "paperless-ngx/paperless-ngx",
|
|
||||||
"version": "v2.20.3",
|
|
||||||
"date": "2025-12-18T16:10:13Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "n8n-io/n8n",
|
|
||||||
"version": "n8n@1.123.7",
|
|
||||||
"date": "2025-12-17T14:01:25Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "docker/compose",
|
|
||||||
"version": "v5.0.1",
|
|
||||||
"date": "2025-12-18T14:22:38Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "coollabsio/coolify",
|
|
||||||
"version": "v4.0.0-beta.458",
|
|
||||||
"date": "2025-12-18T12:23:23Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "juanfont/headscale",
|
"name": "juanfont/headscale",
|
||||||
"version": "v0.27.1",
|
"version": "v0.27.1",
|
||||||
"date": "2025-11-11T19:32:29Z"
|
"date": "2025-11-11T19:32:29Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "docker/compose",
|
||||||
|
"version": "v5.0.1",
|
||||||
|
"date": "2025-12-18T10:35:33Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "tailscale/tailscale",
|
"name": "tailscale/tailscale",
|
||||||
"version": "v1.92.4",
|
"version": "v1.92.4",
|
||||||
"date": "2025-12-18T10:32:44Z"
|
"date": "2025-12-18T10:32:44Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "TuroYT/snowshare",
|
||||||
|
"version": "v1.2.3",
|
||||||
|
"date": "2025-12-18T10:06:45Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "coollabsio/coolify",
|
||||||
|
"version": "v4.0.0-beta.456",
|
||||||
|
"date": "2025-12-18T08:59:27Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Kozea/Radicale",
|
"name": "Kozea/Radicale",
|
||||||
"version": "v3.5.10",
|
"version": "v3.5.10",
|
||||||
@ -279,6 +34,11 @@
|
|||||||
"version": "7.4.6",
|
"version": "7.4.6",
|
||||||
"date": "2025-12-18T07:00:26Z"
|
"date": "2025-12-18T07:00:26Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Jackett/Jackett",
|
||||||
|
"version": "v0.24.478",
|
||||||
|
"date": "2025-12-18T05:55:21Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "chrisvel/tududi",
|
"name": "chrisvel/tududi",
|
||||||
"version": "v0.88.1",
|
"version": "v0.88.1",
|
||||||
@ -289,11 +49,56 @@
|
|||||||
"version": "v0.5.1",
|
"version": "v0.5.1",
|
||||||
"date": "2025-12-18T03:08:43Z"
|
"date": "2025-12-18T03:08:43Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "scanopy/scanopy",
|
||||||
|
"version": "v0.12.3",
|
||||||
|
"date": "2025-12-18T02:48:06Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "openobserve/openobserve",
|
||||||
|
"version": "v0.30.1",
|
||||||
|
"date": "2025-12-18T02:41:34Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "chrisbenincasa/tunarr",
|
||||||
|
"version": "v1.0.6",
|
||||||
|
"date": "2025-12-18T01:28:04Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "jeedom/core",
|
||||||
|
"version": "4.5.1",
|
||||||
|
"date": "2025-12-18T00:27:07Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "steveiliop56/tinyauth",
|
||||||
|
"version": "v4.1.0",
|
||||||
|
"date": "2025-11-23T12:13:34Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "goauthentik/authentik",
|
"name": "goauthentik/authentik",
|
||||||
"version": "version/2025.10.3",
|
"version": "version/2025.10.3",
|
||||||
"date": "2025-12-16T18:00:53Z"
|
"date": "2025-12-16T18:00:53Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "javedh-dev/tracktor",
|
||||||
|
"version": "1.0.1",
|
||||||
|
"date": "2025-12-17T11:31:03Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ollama/ollama",
|
||||||
|
"version": "v0.13.5-rc0",
|
||||||
|
"date": "2025-12-17T21:13:55Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fccview/jotty",
|
||||||
|
"version": "1.14.0",
|
||||||
|
"date": "2025-12-17T20:26:22Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "emqx/emqx",
|
||||||
|
"version": "6.1.0-alpha.2",
|
||||||
|
"date": "2025-12-17T20:15:23Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "influxdata/influxdb",
|
"name": "influxdata/influxdb",
|
||||||
"version": "v2.8.0",
|
"version": "v2.8.0",
|
||||||
@ -309,6 +114,31 @@
|
|||||||
"version": "v4.107.0",
|
"version": "v4.107.0",
|
||||||
"date": "2025-12-17T18:59:21Z"
|
"date": "2025-12-17T18:59:21Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "neo4j/neo4j",
|
||||||
|
"version": "5.26.19",
|
||||||
|
"date": "2025-12-17T18:17:55Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "metabase/metabase",
|
||||||
|
"version": "v0.57.7",
|
||||||
|
"date": "2025-12-17T18:16:59Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "immich-app/immich",
|
||||||
|
"version": "v2.4.0",
|
||||||
|
"date": "2025-12-17T17:44:24Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BerriAI/litellm",
|
||||||
|
"version": "v1.80.10.rc.4",
|
||||||
|
"date": "2025-12-17T17:43:28Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "keycloak/keycloak",
|
||||||
|
"version": "26.4.7",
|
||||||
|
"date": "2025-12-01T08:14:11Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "semaphoreui/semaphore",
|
"name": "semaphoreui/semaphore",
|
||||||
"version": "v2.16.47",
|
"version": "v2.16.47",
|
||||||
@ -319,6 +149,11 @@
|
|||||||
"version": "v4.7.1",
|
"version": "v4.7.1",
|
||||||
"date": "2025-12-17T15:18:55Z"
|
"date": "2025-12-17T15:18:55Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "n8n-io/n8n",
|
||||||
|
"version": "n8n@1.123.7",
|
||||||
|
"date": "2025-12-17T14:01:25Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "bunkerity/bunkerweb",
|
"name": "bunkerity/bunkerweb",
|
||||||
"version": "testing",
|
"version": "testing",
|
||||||
@ -329,6 +164,11 @@
|
|||||||
"version": "v2.11.33",
|
"version": "v2.11.33",
|
||||||
"date": "2025-12-17T10:10:19Z"
|
"date": "2025-12-17T10:10:19Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "mattermost/mattermost",
|
||||||
|
"version": "v11.1.2",
|
||||||
|
"date": "2025-12-17T09:26:24Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "zitadel/zitadel",
|
"name": "zitadel/zitadel",
|
||||||
"version": "v4.7.6",
|
"version": "v4.7.6",
|
||||||
@ -339,6 +179,11 @@
|
|||||||
"version": "v0.105.1",
|
"version": "v0.105.1",
|
||||||
"date": "2025-12-17T08:48:52Z"
|
"date": "2025-12-17T08:48:52Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "meilisearch/meilisearch",
|
||||||
|
"version": "prototype-v1.30.1-rebuild-hannoy-graph.0",
|
||||||
|
"date": "2025-12-17T08:38:38Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "passbolt/passbolt_api",
|
"name": "passbolt/passbolt_api",
|
||||||
"version": "v5.8.0-test.3",
|
"version": "v5.8.0-test.3",
|
||||||
@ -354,6 +199,16 @@
|
|||||||
"version": "v11.9.0",
|
"version": "v11.9.0",
|
||||||
"date": "2025-12-17T08:26:50Z"
|
"date": "2025-12-17T08:26:50Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "firefly-iii/firefly-iii",
|
||||||
|
"version": "v6.4.14",
|
||||||
|
"date": "2025-12-16T05:42:34Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "nzbgetcom/nzbget",
|
||||||
|
"version": "v25.4",
|
||||||
|
"date": "2025-10-09T10:27:01Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "nickheyer/discopanel",
|
"name": "nickheyer/discopanel",
|
||||||
"version": "v1.0.16",
|
"version": "v1.0.16",
|
||||||
@ -364,6 +219,11 @@
|
|||||||
"version": "v1.19.23",
|
"version": "v1.19.23",
|
||||||
"date": "2025-12-17T00:51:11Z"
|
"date": "2025-12-17T00:51:11Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "esphome/esphome",
|
||||||
|
"version": "2025.12.0",
|
||||||
|
"date": "2025-12-16T23:57:23Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "grafana/grafana",
|
"name": "grafana/grafana",
|
||||||
"version": "v12.3.1",
|
"version": "v12.3.1",
|
||||||
@ -389,21 +249,46 @@
|
|||||||
"version": "v4.6.2",
|
"version": "v4.6.2",
|
||||||
"date": "2025-12-16T17:54:19Z"
|
"date": "2025-12-16T17:54:19Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "fuma-nama/fumadocs",
|
||||||
|
"version": "fumadocs-mdx@14.1.1",
|
||||||
|
"date": "2025-12-16T15:32:59Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "jenkinsci/jenkins",
|
"name": "jenkinsci/jenkins",
|
||||||
"version": "jenkins-2.542",
|
"version": "jenkins-2.542",
|
||||||
"date": "2025-12-16T13:49:44Z"
|
"date": "2025-12-16T13:49:44Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "release-argus/Argus",
|
||||||
|
"version": "0.28.2",
|
||||||
|
"date": "2025-12-16T12:36:26Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "prometheus/prometheus",
|
"name": "prometheus/prometheus",
|
||||||
"version": "v3.8.1",
|
"version": "v3.8.1",
|
||||||
"date": "2025-12-16T09:59:22Z"
|
"date": "2025-12-16T09:59:22Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "rcourtman/Pulse",
|
||||||
|
"version": "v4.36.2",
|
||||||
|
"date": "2025-12-03T22:46:29Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "sabnzbd/sabnzbd",
|
"name": "sabnzbd/sabnzbd",
|
||||||
"version": "4.5.5",
|
"version": "4.5.5",
|
||||||
"date": "2025-10-24T11:12:22Z"
|
"date": "2025-10-24T11:12:22Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "morpheus65535/bazarr",
|
||||||
|
"version": "v1.5.3",
|
||||||
|
"date": "2025-09-20T12:12:33Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Stirling-Tools/Stirling-PDF",
|
||||||
|
"version": "v2.1.4",
|
||||||
|
"date": "2025-12-16T00:02:18Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "azukaar/Cosmos-Server",
|
"name": "azukaar/Cosmos-Server",
|
||||||
"version": "v0.19.0",
|
"version": "v0.19.0",
|
||||||
@ -449,6 +334,11 @@
|
|||||||
"version": "v0.16.3",
|
"version": "v0.16.3",
|
||||||
"date": "2025-12-15T12:56:50Z"
|
"date": "2025-12-15T12:56:50Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "wazuh/wazuh",
|
||||||
|
"version": "coverity-w51-4.14.2",
|
||||||
|
"date": "2025-12-15T12:34:36Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "LimeSurvey/LimeSurvey",
|
"name": "LimeSurvey/LimeSurvey",
|
||||||
"version": "6.16.2+251209",
|
"version": "6.16.2+251209",
|
||||||
@ -494,6 +384,11 @@
|
|||||||
"version": "2025.12.14",
|
"version": "2025.12.14",
|
||||||
"date": "2025-12-14T18:24:33Z"
|
"date": "2025-12-14T18:24:33Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "openhab/openhab-core",
|
||||||
|
"version": "5.1.0.M4",
|
||||||
|
"date": "2025-12-14T18:12:04Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "blakeblackshear/frigate",
|
"name": "blakeblackshear/frigate",
|
||||||
"version": "v0.14.1",
|
"version": "v0.14.1",
|
||||||
@ -504,6 +399,11 @@
|
|||||||
"version": "v0.24.1",
|
"version": "v0.24.1",
|
||||||
"date": "2025-12-14T13:49:16Z"
|
"date": "2025-12-14T13:49:16Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "laurent22/joplin",
|
||||||
|
"version": "server-v3.5.1",
|
||||||
|
"date": "2025-12-03T11:56:50Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "C4illin/ConvertX",
|
"name": "C4illin/ConvertX",
|
||||||
"version": "v0.16.1",
|
"version": "v0.16.1",
|
||||||
@ -534,6 +434,11 @@
|
|||||||
"version": "v4.4.0",
|
"version": "v4.4.0",
|
||||||
"date": "2025-12-13T22:49:07Z"
|
"date": "2025-12-13T22:49:07Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "karlomikus/bar-assistant",
|
||||||
|
"version": "v5.10.0",
|
||||||
|
"date": "2025-12-13T20:17:27Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "fosrl/pangolin",
|
"name": "fosrl/pangolin",
|
||||||
"version": "1.13.1",
|
"version": "1.13.1",
|
||||||
@ -574,11 +479,36 @@
|
|||||||
"version": "v0.26.2",
|
"version": "v0.26.2",
|
||||||
"date": "2025-12-13T07:48:09Z"
|
"date": "2025-12-13T07:48:09Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "mealie-recipes/mealie",
|
||||||
|
"version": "v3.7.0",
|
||||||
|
"date": "2025-12-13T01:20:58Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "paperless-ngx/paperless-ngx",
|
||||||
|
"version": "v2.20.2",
|
||||||
|
"date": "2025-12-12T23:47:48Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "mongodb/mongo",
|
"name": "mongodb/mongo",
|
||||||
"version": "r7.0.27",
|
"version": "r7.0.27",
|
||||||
"date": "2025-12-12T20:54:32Z"
|
"date": "2025-12-12T20:54:32Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "homarr-labs/homarr",
|
||||||
|
"version": "v1.46.0",
|
||||||
|
"date": "2025-12-12T19:23:36Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "home-assistant/core",
|
||||||
|
"version": "2025.12.3",
|
||||||
|
"date": "2025-12-12T18:12:39Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "booklore-app/booklore",
|
||||||
|
"version": "v1.14.1",
|
||||||
|
"date": "2025-12-12T17:37:58Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "node-red/node-red",
|
"name": "node-red/node-red",
|
||||||
"version": "4.1.2",
|
"version": "4.1.2",
|
||||||
@ -619,6 +549,11 @@
|
|||||||
"version": "0.43.1",
|
"version": "0.43.1",
|
||||||
"date": "2025-12-11T22:45:52Z"
|
"date": "2025-12-11T22:45:52Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "msgbyte/tianji",
|
||||||
|
"version": "v1.30.22",
|
||||||
|
"date": "2025-12-11T18:02:06Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "pommee/goaway",
|
"name": "pommee/goaway",
|
||||||
"version": "v0.62.24",
|
"version": "v0.62.24",
|
||||||
@ -629,6 +564,11 @@
|
|||||||
"version": "v2.13.2",
|
"version": "v2.13.2",
|
||||||
"date": "2025-12-11T06:31:24Z"
|
"date": "2025-12-11T06:31:24Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "moghtech/komodo",
|
||||||
|
"version": "v1.19.5",
|
||||||
|
"date": "2025-09-27T20:59:46Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "TwiN/gatus",
|
"name": "TwiN/gatus",
|
||||||
"version": "v5.33.1",
|
"version": "v5.33.1",
|
||||||
@ -659,6 +599,16 @@
|
|||||||
"version": "2.2.15",
|
"version": "2.2.15",
|
||||||
"date": "2025-12-10T01:52:14Z"
|
"date": "2025-12-10T01:52:14Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "pelican-dev/panel",
|
||||||
|
"version": "v1.0.0-beta29",
|
||||||
|
"date": "2025-12-09T23:07:15Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pelican-dev/wings",
|
||||||
|
"version": "v1.0.0-beta20",
|
||||||
|
"date": "2025-12-09T22:59:09Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "BookStackApp/BookStack",
|
"name": "BookStackApp/BookStack",
|
||||||
"version": "v25.11.6",
|
"version": "v25.11.6",
|
||||||
@ -679,6 +629,11 @@
|
|||||||
"version": "v1.144.0",
|
"version": "v1.144.0",
|
||||||
"date": "2025-12-09T16:29:00Z"
|
"date": "2025-12-09T16:29:00Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "readeck/readeck",
|
||||||
|
"version": "0.21.4",
|
||||||
|
"date": "2025-12-09T15:25:28Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "gelbphoenix/autocaliweb",
|
"name": "gelbphoenix/autocaliweb",
|
||||||
"version": "v0.11.3",
|
"version": "v0.11.3",
|
||||||
@ -774,6 +729,11 @@
|
|||||||
"version": "v0.28.0",
|
"version": "v0.28.0",
|
||||||
"date": "2025-12-06T13:32:18Z"
|
"date": "2025-12-06T13:32:18Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "YunoHost/yunohost",
|
||||||
|
"version": "debian/13.0.2",
|
||||||
|
"date": "2025-12-06T10:46:12Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "toniebox-reverse-engineering/teddycloud",
|
"name": "toniebox-reverse-engineering/teddycloud",
|
||||||
"version": "tc_v0.6.5",
|
"version": "tc_v0.6.5",
|
||||||
@ -824,6 +784,11 @@
|
|||||||
"version": "v0.34.2",
|
"version": "v0.34.2",
|
||||||
"date": "2025-12-04T13:08:18Z"
|
"date": "2025-12-04T13:08:18Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "qdrant/qdrant",
|
||||||
|
"version": "v1.16.2",
|
||||||
|
"date": "2025-12-04T11:03:49Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "glpi-project/glpi",
|
"name": "glpi-project/glpi",
|
||||||
"version": "11.0.4",
|
"version": "11.0.4",
|
||||||
@ -979,6 +944,11 @@
|
|||||||
"version": "v1.7.8",
|
"version": "v1.7.8",
|
||||||
"date": "2025-11-26T22:35:03Z"
|
"date": "2025-11-26T22:35:03Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "jhuckaby/Cronicle",
|
||||||
|
"version": "v0.9.101",
|
||||||
|
"date": "2025-11-26T17:14:35Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "NLnetLabs/unbound",
|
"name": "NLnetLabs/unbound",
|
||||||
"version": "release-1.24.2",
|
"version": "release-1.24.2",
|
||||||
@ -1009,6 +979,21 @@
|
|||||||
"version": "2.610",
|
"version": "2.610",
|
||||||
"date": "2025-11-24T04:28:30Z"
|
"date": "2025-11-24T04:28:30Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "raydak-labs/configarr",
|
||||||
|
"version": "v1.18.0",
|
||||||
|
"date": "2025-11-23T17:42:53Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "dedicatedcode/reitti",
|
||||||
|
"version": "v2.5.0",
|
||||||
|
"date": "2025-11-23T12:49:50Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "go-gitea/gitea",
|
||||||
|
"version": "v1.25.2",
|
||||||
|
"date": "2025-11-22T19:37:02Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "TechnitiumSoftware/DnsServer",
|
"name": "TechnitiumSoftware/DnsServer",
|
||||||
"version": "v14.2.0",
|
"version": "v14.2.0",
|
||||||
@ -1019,6 +1004,11 @@
|
|||||||
"version": "v5.6.1",
|
"version": "v5.6.1",
|
||||||
"date": "2025-11-21T16:51:21Z"
|
"date": "2025-11-21T16:51:21Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "forgejo/forgejo",
|
||||||
|
"version": "v13.0.3",
|
||||||
|
"date": "2025-11-21T12:43:04Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "seriousm4x/UpSnap",
|
"name": "seriousm4x/UpSnap",
|
||||||
"version": "5.2.4",
|
"version": "5.2.4",
|
||||||
@ -1039,11 +1029,21 @@
|
|||||||
"version": "v2.1.11",
|
"version": "v2.1.11",
|
||||||
"date": "2025-11-20T20:14:44Z"
|
"date": "2025-11-20T20:14:44Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "saltstack/salt",
|
||||||
|
"version": "v3007.9",
|
||||||
|
"date": "2025-11-20T17:58:32Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "kimai/kimai",
|
"name": "kimai/kimai",
|
||||||
"version": "2.44.0",
|
"version": "2.44.0",
|
||||||
"date": "2025-11-20T11:01:01Z"
|
"date": "2025-11-20T11:01:01Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "itsmng/itsm-ng",
|
||||||
|
"version": "v2.1.1",
|
||||||
|
"date": "2025-11-20T10:54:07Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Athou/commafeed",
|
"name": "Athou/commafeed",
|
||||||
"version": "5.12.0",
|
"version": "5.12.0",
|
||||||
|
|||||||
@ -24,7 +24,7 @@ $STD apt-get install -y \
|
|||||||
#php-{ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm}
|
#php-{ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm}
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
PHP_VERSION="8.4" PHP_FPM=YES PHP_MODULE="ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm" setup_php
|
PHP_VERSION="8.3" PHP_FPM=YES PHP_MODULE="ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm" setup_php
|
||||||
setup_composer
|
setup_composer
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="22" setup_nodejs
|
||||||
fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary"
|
fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary"
|
||||||
|
|||||||
@ -14,23 +14,38 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt install -y \
|
$STD apt-get install -y \
|
||||||
ca-certificates \
|
|
||||||
openssl \
|
|
||||||
snapraid \
|
snapraid \
|
||||||
avahi-daemon \
|
avahi-daemon \
|
||||||
fdisk \
|
fdisk
|
||||||
mergerfs \
|
|
||||||
unzip
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
setup_docker
|
msg_info "Install mergerfs"
|
||||||
fetch_and_deploy_gh_release "cosmos" "azukaar/Cosmos-Server" "prebuild" "latest" "/opt/cosmos" "cosmos-cloud-*-amd64.zip"
|
MERGERFS_VERSION="2.40.2"
|
||||||
|
curl -fsSL "https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" -o "mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb"
|
||||||
|
$STD dpkg -i "mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" || $STD apt-get install -f -y
|
||||||
|
rm "mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb"
|
||||||
|
msg_ok "Installed mergerfs"
|
||||||
|
|
||||||
msg_info "Setting up Cosmos"
|
msg_info "Install Docker"
|
||||||
|
curl -fsSL https://get.docker.com -o get-docker.sh
|
||||||
|
$STD sh get-docker.sh
|
||||||
|
rm get-docker.sh
|
||||||
|
msg_ok "Installed Docker"
|
||||||
|
|
||||||
|
msg_info "Install Cosmos"
|
||||||
|
mkdir -p /opt/cosmos
|
||||||
|
LATEST_RELEASE=$(curl -fsSL https://api.github.com/repos/azukaar/Cosmos-Server/releases/latest | grep "tag_name" | cut -d '"' -f 4)
|
||||||
|
ZIP_FILE="cosmos-cloud-${LATEST_RELEASE#v}-amd64.zip"
|
||||||
|
curl -fsSL "https://github.com/azukaar/Cosmos-Server/releases/download/${LATEST_RELEASE}/${ZIP_FILE}" -o "/opt/cosmos/${ZIP_FILE}"
|
||||||
cd /opt/cosmos
|
cd /opt/cosmos
|
||||||
|
$STD unzip -o -q "${ZIP_FILE}"
|
||||||
|
LATEST_RELEASE_NO_V=${LATEST_RELEASE#v}
|
||||||
|
mv /opt/cosmos/cosmos-cloud-${LATEST_RELEASE_NO_V}/* /opt/cosmos/
|
||||||
|
rmdir /opt/cosmos/cosmos-cloud-${LATEST_RELEASE_NO_V}
|
||||||
chmod +x /opt/cosmos/cosmos
|
chmod +x /opt/cosmos/cosmos
|
||||||
msg_ok "Set up Cosmos"
|
rm -f "/opt/cosmos/cosmos-cloud-${LATEST_RELEASE#v}-amd64.zip"
|
||||||
|
msg_ok "Installed Cosmos"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
cat <<EOF >/etc/systemd/system/cosmos.service
|
cat <<EOF >/etc/systemd/system/cosmos.service
|
||||||
|
|||||||
@ -18,14 +18,17 @@ $STD apt install -y \
|
|||||||
redis-server \
|
redis-server \
|
||||||
nginx \
|
nginx \
|
||||||
gettext \
|
gettext \
|
||||||
openssl
|
openssl \
|
||||||
|
musl-dev
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
|
NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
|
||||||
setup_nodejs
|
setup_nodejs
|
||||||
fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr" "prebuild" "latest" "/opt/homarr" "build-debian-amd64.tar.gz"
|
fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr" "prebuild" "latest" "/opt/homarr" "build-amd64.tar.gz"
|
||||||
|
|
||||||
msg_info "Installing Homarr"
|
msg_info "Installing Homarr"
|
||||||
|
# fix musl issues because homarr compiles on alpine not debian soure: https://github.com/alexander-akhmetov/python-telegram/issues/3
|
||||||
|
ln -s /usr/lib/x86_64-linux-musl/libc.so /lib/libc.musl-x86_64.so.1
|
||||||
mkdir -p /opt/homarr_db
|
mkdir -p /opt/homarr_db
|
||||||
touch /opt/homarr_db/db.sqlite
|
touch /opt/homarr_db/db.sqlite
|
||||||
SECRET_ENCRYPTION_KEY="$(openssl rand -hex 32)"
|
SECRET_ENCRYPTION_KEY="$(openssl rand -hex 32)"
|
||||||
@ -62,8 +65,6 @@ ReadWritePaths=-/appdata/redis -/var/lib/redis -/var/log/redis -/var/run/redis -
|
|||||||
EOF
|
EOF
|
||||||
cat <<EOF >/etc/systemd/system/homarr.service
|
cat <<EOF >/etc/systemd/system/homarr.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Requires=redis-server.service
|
|
||||||
After=redis-server.service
|
|
||||||
Description=Homarr Service
|
Description=Homarr Service
|
||||||
After=network.target
|
After=network.target
|
||||||
|
|
||||||
@ -78,9 +79,8 @@ WantedBy=multi-user.target
|
|||||||
EOF
|
EOF
|
||||||
chmod +x /opt/homarr/run.sh
|
chmod +x /opt/homarr/run.sh
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl enable -q --now redis-server
|
systemctl enable -q --now redis-server && sleep 5
|
||||||
systemctl enable -q --now homarr
|
systemctl enable -q --now homarr
|
||||||
systemctl disable -q --now nginx
|
|
||||||
msg_ok "Created Services"
|
msg_ok "Created Services"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
|
|||||||
@ -99,15 +99,10 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
|||||||
$STD apt install -y --no-install-recommends patchelf
|
$STD apt install -y --no-install-recommends patchelf
|
||||||
tmp_dir=$(mktemp -d)
|
tmp_dir=$(mktemp -d)
|
||||||
$STD pushd "$tmp_dir"
|
$STD pushd "$tmp_dir"
|
||||||
curl -fsSLZ -O "https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17537.24/intel-igc-core_1.0.17537.24_amd64.deb" \
|
curl -fsSLO https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17384.11/intel-igc-core_1.0.17384.11_amd64.deb
|
||||||
-O "https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17537.24/intel-igc-opencl_1.0.17537.24_amd64.deb" \
|
curl -fsSLO https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17384.11/intel-igc-opencl_1.0.17384.11_amd64.deb
|
||||||
-O "https://github.com/intel/compute-runtime/releases/download/24.35.30872.36/intel-opencl-icd-legacy1_24.35.30872.36_amd64.deb" \
|
curl -fsSLO https://github.com/intel/compute-runtime/releases/download/24.31.30508.7/intel-opencl-icd_24.31.30508.7_amd64.deb
|
||||||
-O "https://github.com/intel/intel-graphics-compiler/releases/download/v2.22.2/intel-igc-core-2_2.22.2+20121_amd64.deb" \
|
curl -fsSLO https://github.com/intel/compute-runtime/releases/download/24.31.30508.7/libigdgmm12_22.4.1_amd64.deb
|
||||||
-O "https://github.com/intel/intel-graphics-compiler/releases/download/v2.22.2/intel-igc-opencl-2_2.22.2+20121_amd64.deb" \
|
|
||||||
-O "https://github.com/intel/compute-runtime/releases/download/25.44.36015.5/intel-opencl-icd_25.44.36015.5-0_amd64.deb" \
|
|
||||||
-O "https://github.com/intel/compute-runtime/releases/download/25.44.36015.5/libigdgmm12_22.8.2_amd64.deb"
|
|
||||||
$STD apt install -y ./libigdgmm12*.deb
|
|
||||||
rm ./libigdgmm12*.deb
|
|
||||||
$STD apt install -y ./*.deb
|
$STD apt install -y ./*.deb
|
||||||
$STD apt-mark hold libigdgmm12
|
$STD apt-mark hold libigdgmm12
|
||||||
$STD popd
|
$STD popd
|
||||||
@ -296,7 +291,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.4.1" "$SRC_DIR"
|
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v2.3.1" "$SRC_DIR"
|
||||||
|
|
||||||
msg_info "Installing ${APPLICATION} (patience)"
|
msg_info "Installing ${APPLICATION} (patience)"
|
||||||
|
|
||||||
|
|||||||
@ -14,13 +14,16 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Proxmox Mail Gateway"
|
msg_info "Installing Proxmox Mail Gateway"
|
||||||
setup_deb822_repo \
|
curl -fsSL "https://enterprise.proxmox.com/debian/proxmox-release-trixie.gpg" -o "/usr/share/keyrings/proxmox-release-trixie.gpg"
|
||||||
"pmg" \
|
cat <<EOF >/etc/apt/sources.list.d/pmg.sources
|
||||||
"https://enterprise.proxmox.com/debian/proxmox-release-trixie.gpg" \
|
Types: deb
|
||||||
"http://download.proxmox.com/debian/pmg" \
|
URIs: http://download.proxmox.com/debian/pmg
|
||||||
"trixie" \
|
Suites: trixie
|
||||||
"pmg-no-subscription"
|
Components: pmg-no-subscription
|
||||||
$STD apt install -y proxmox-mailgateway-container
|
Signed-By: /usr/share/keyrings/proxmox-release-trixie.gpg
|
||||||
|
EOF
|
||||||
|
$STD apt update
|
||||||
|
$STD apt -y install proxmox-mailgateway-container
|
||||||
msg_ok "Installed Proxmox Mail Gateway"
|
msg_ok "Installed Proxmox Mail Gateway"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
|
|||||||
@ -21,7 +21,7 @@ $STD apt install -y \
|
|||||||
zstd
|
zstd
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
JAVA_VERSION="25" setup_java
|
JAVA_VERSION="24" setup_java
|
||||||
PG_VERSION="17" PG_MODULES="postgis" setup_postgresql
|
PG_VERSION="17" PG_MODULES="postgis" setup_postgresql
|
||||||
PG_DB_NAME="reitti_db" PG_DB_USER="reitti" setup_postgresql_db
|
PG_DB_NAME="reitti_db" PG_DB_USER="reitti" setup_postgresql_db
|
||||||
|
|
||||||
|
|||||||
@ -44,14 +44,7 @@ curl -fsSL "$ZABBIX_DEB_URL" -o /tmp/"$ZABBIX_DEB_FILE"
|
|||||||
$STD dpkg -i /tmp/"$ZABBIX_DEB_FILE"
|
$STD dpkg -i /tmp/"$ZABBIX_DEB_FILE"
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt install -y zabbix-server-pgsql zabbix-frontend-php php8.4-pgsql zabbix-apache-conf zabbix-sql-scripts
|
$STD apt install -y zabbix-server-pgsql zabbix-frontend-php php8.4-pgsql zabbix-apache-conf zabbix-sql-scripts
|
||||||
|
zcat /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz | sudo -u "$PG_DB_USER" psql "$PG_DB_NAME" &>/dev/null
|
||||||
if [[ "$ZABBIX_VERSION" == "7.0" ]]; then
|
|
||||||
ZABBIX_SQL="/usr/share/zabbix-sql-scripts/postgresql/server.sql.gz"
|
|
||||||
else
|
|
||||||
ZABBIX_SQL="/usr/share/zabbix/sql-scripts/postgresql/server.sql.gz"
|
|
||||||
fi
|
|
||||||
|
|
||||||
zcat "$ZABBIX_SQL" | sudo -u "$PG_DB_USER" psql "$PG_DB_NAME" &>/dev/null
|
|
||||||
sed -i "s/^DBName=.*/DBName=$PG_DB_NAME/" /etc/zabbix/zabbix_server.conf
|
sed -i "s/^DBName=.*/DBName=$PG_DB_NAME/" /etc/zabbix/zabbix_server.conf
|
||||||
sed -i "s/^DBUser=.*/DBUser=$PG_DB_USER/" /etc/zabbix/zabbix_server.conf
|
sed -i "s/^DBUser=.*/DBUser=$PG_DB_USER/" /etc/zabbix/zabbix_server.conf
|
||||||
sed -i "s/^# DBPassword=.*/DBPassword=$PG_DB_PASS/" /etc/zabbix/zabbix_server.conf
|
sed -i "s/^# DBPassword=.*/DBPassword=$PG_DB_PASS/" /etc/zabbix/zabbix_server.conf
|
||||||
|
|||||||
@ -2626,8 +2626,8 @@ configure_ssh_settings() {
|
|||||||
#
|
#
|
||||||
# - Entry point of script
|
# - Entry point of script
|
||||||
# - On Proxmox host: calls install_script
|
# - On Proxmox host: calls install_script
|
||||||
# - In silent mode: runs update_script with automatic cleanup
|
# - In silent mode: runs update_script
|
||||||
# - Otherwise: shows update/setting menu and runs update_script with cleanup
|
# - Otherwise: shows update/setting menu
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
start() {
|
start() {
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/tools.func)
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/tools.func)
|
||||||
@ -2638,7 +2638,6 @@ start() {
|
|||||||
VERBOSE="no"
|
VERBOSE="no"
|
||||||
set_std_mode
|
set_std_mode
|
||||||
update_script
|
update_script
|
||||||
cleanup_lxc
|
|
||||||
else
|
else
|
||||||
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "${APP} LXC Update/Setting" --menu \
|
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "${APP} LXC Update/Setting" --menu \
|
||||||
"Support/Update functions for ${APP} LXC. Choose an option:" \
|
"Support/Update functions for ${APP} LXC. Choose an option:" \
|
||||||
@ -2663,7 +2662,6 @@ start() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
update_script
|
update_script
|
||||||
cleanup_lxc
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,241 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
|
||||||
# Author: CrazyWolf13
|
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
# Source: https://github.com/martabal/qbittorrent-exporter
|
|
||||||
|
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/core.func)
|
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/tools.func)
|
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/error_handler.func)
|
|
||||||
|
|
||||||
# Enable error handling
|
|
||||||
set -Eeuo pipefail
|
|
||||||
trap 'error_handler' ERR
|
|
||||||
|
|
||||||
load_functions
|
|
||||||
# ==============================================================================
|
|
||||||
# CONFIGURATION
|
|
||||||
# ==============================================================================
|
|
||||||
VERBOSE=${var_verbose:-no}
|
|
||||||
APP="qbittorrent-exporter"
|
|
||||||
APP_TYPE="tools"
|
|
||||||
INSTALL_PATH="/opt/qbittorrent-exporter"
|
|
||||||
CONFIG_PATH="/opt/qbittorrent-exporter.env"
|
|
||||||
header_info
|
|
||||||
ensure_usr_local_bin_persist
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# OS DETECTION
|
|
||||||
# ==============================================================================
|
|
||||||
if [[ -f "/etc/alpine-release" ]]; then
|
|
||||||
OS="Alpine"
|
|
||||||
SERVICE_PATH="/etc/init.d/qbittorrent-exporter"
|
|
||||||
elif grep -qE 'ID=debian|ID=ubuntu' /etc/os-release; then
|
|
||||||
OS="Debian"
|
|
||||||
SERVICE_PATH="/etc/systemd/system/qbittorrent-exporter.service"
|
|
||||||
else
|
|
||||||
echo -e "${CROSS} Unsupported OS detected. Exiting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# UNINSTALL
|
|
||||||
# ==============================================================================
|
|
||||||
function uninstall() {
|
|
||||||
msg_info "Uninstalling qBittorrent-Exporter"
|
|
||||||
if [[ "$OS" == "Alpine" ]]; then
|
|
||||||
rc-service qbittorrent-exporter stop &>/dev/null
|
|
||||||
rc-update del qbittorrent-exporter &>/dev/null
|
|
||||||
rm -f "$SERVICE_PATH"
|
|
||||||
else
|
|
||||||
systemctl disable -q --now qbittorrent-exporter
|
|
||||||
rm -f "$SERVICE_PATH"
|
|
||||||
fi
|
|
||||||
rm -rf "$INSTALL_PATH" "$CONFIG_PATH"
|
|
||||||
rm -f "/usr/local/bin/update_qbittorrent-exporter"
|
|
||||||
rm -f "$HOME/.qbittorrent-exporter"
|
|
||||||
msg_ok "qBittorrent-Exporter has been uninstalled"
|
|
||||||
}
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# UPDATE
|
|
||||||
# ==============================================================================
|
|
||||||
function update() {
|
|
||||||
if check_for_gh_release "qbittorrent-exporter" "martabal/qbittorrent-exporter"; then
|
|
||||||
msg_info "Stopping service"
|
|
||||||
if [[ "$OS" == "Alpine" ]]; then
|
|
||||||
rc-service qbittorrent-exporter stop &>/dev/null
|
|
||||||
else
|
|
||||||
systemctl stop qbittorrent-exporter
|
|
||||||
fi
|
|
||||||
msg_ok "Stopped service"
|
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "qbittorrent-exporter" "martabal/qbittorrent-exporter" "tarball" "latest"
|
|
||||||
setup_go
|
|
||||||
|
|
||||||
msg_info "Building qBittorrent-Exporter"
|
|
||||||
cd /opt/qbittorrent-exporter
|
|
||||||
$STD /usr/local/bin/go build -o ./qbittorrent-exporter
|
|
||||||
msg_ok "Built qBittorrent-Exporter"
|
|
||||||
|
|
||||||
msg_info "Starting service"
|
|
||||||
if [[ "$OS" == "Alpine" ]]; then
|
|
||||||
rc-service qbittorrent-exporter start &>/dev/null
|
|
||||||
else
|
|
||||||
systemctl start qbittorrent-exporter
|
|
||||||
fi
|
|
||||||
msg_ok "Started service"
|
|
||||||
msg_ok "Updated successfully"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# INSTALL
|
|
||||||
# ==============================================================================
|
|
||||||
function install() {
|
|
||||||
read -erp "Enter URL of qBittorrent, example: (http://127.0.0.1:8080): " QBITTORRENT_BASE_URL
|
|
||||||
read -erp "Enter qBittorrent username: " QBITTORRENT_USERNAME
|
|
||||||
read -rsp "Enter qBittorrent password: " QBITTORRENT_PASSWORD
|
|
||||||
printf "\n"
|
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "qbittorrent-exporter" "martabal/qbittorrent-exporter" "tarball" "latest"
|
|
||||||
setup_go
|
|
||||||
msg_info "Building qBittorrent-Exporter on ${OS}"
|
|
||||||
cd /opt/qbittorrent-exporter
|
|
||||||
$STD /usr/local/bin/go build -o ./qbittorrent-exporter
|
|
||||||
msg_ok "Built qBittorrent-Exporter"
|
|
||||||
|
|
||||||
msg_info "Creating configuration"
|
|
||||||
cat <<EOF >"$CONFIG_PATH"
|
|
||||||
# https://github.com/martabal/qbittorrent-exporter?tab=readme-ov-file#parameters
|
|
||||||
QBITTORRENT_BASE_URL="${QBITTORRENT_BASE_URL}"
|
|
||||||
QBITTORRENT_USERNAME="${QBITTORRENT_USERNAME}"
|
|
||||||
QBITTORRENT_PASSWORD="${QBITTORRENT_PASSWORD}"
|
|
||||||
EOF
|
|
||||||
msg_ok "Created configuration"
|
|
||||||
|
|
||||||
msg_info "Creating service"
|
|
||||||
if [[ "$OS" == "Debian" ]]; then
|
|
||||||
cat <<EOF >"$SERVICE_PATH"
|
|
||||||
[Unit]
|
|
||||||
Description=qbittorrent-exporter
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
User=root
|
|
||||||
WorkingDirectory=/opt/qbittorrent-exporter
|
|
||||||
EnvironmentFile=$CONFIG_PATH
|
|
||||||
ExecStart=/opt/qbittorrent-exporter/qbittorrent-exporter
|
|
||||||
Restart=always
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
systemctl daemon-reload
|
|
||||||
systemctl enable -q --now qbittorrent-exporter
|
|
||||||
else
|
|
||||||
cat <<EOF >"$SERVICE_PATH"
|
|
||||||
#!/sbin/openrc-run
|
|
||||||
|
|
||||||
name="qbittorrent-exporter"
|
|
||||||
description="qBittorrent Exporter for Prometheus"
|
|
||||||
command="${INSTALL_PATH}/qbittorrent-exporter"
|
|
||||||
command_background=true
|
|
||||||
directory="/opt/qbittorrent-exporter"
|
|
||||||
pidfile="/run/\${RC_SVCNAME}.pid"
|
|
||||||
output_log="/var/log/qbittorrent-exporter.log"
|
|
||||||
error_log="/var/log/qbittorrent-exporter.log"
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
need net
|
|
||||||
after firewall
|
|
||||||
}
|
|
||||||
|
|
||||||
start_pre() {
|
|
||||||
if [ -f "$CONFIG_PATH" ]; then
|
|
||||||
export \$(grep -v '^#' $CONFIG_PATH | xargs)
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
chmod +x "$SERVICE_PATH"
|
|
||||||
$STD rc-update add qbittorrent-exporter default
|
|
||||||
$STD rc-service qbittorrent-exporter start
|
|
||||||
fi
|
|
||||||
msg_ok "Created and started service"
|
|
||||||
|
|
||||||
# Create update script
|
|
||||||
msg_info "Creating update script"
|
|
||||||
ensure_usr_local_bin_persist
|
|
||||||
cat <<'UPDATEEOF' >/usr/local/bin/update_qbittorrent-exporter
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
# qbittorrent-exporter Update Script
|
|
||||||
type=update bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/qbittorrent-exporter.sh)"
|
|
||||||
UPDATEEOF
|
|
||||||
chmod +x /usr/local/bin/update_qbittorrent-exporter
|
|
||||||
msg_ok "Created update script (/usr/local/bin/update_qbittorrent-exporter)"
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
msg_ok "qBittorrent-Exporter installed successfully"
|
|
||||||
msg_ok "Metrics: ${BL}http://${LOCAL_IP}:8090/metrics${CL}"
|
|
||||||
msg_ok "Config: ${BL}${CONFIG_PATH}${CL}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# MAIN
|
|
||||||
# ==============================================================================
|
|
||||||
header_info
|
|
||||||
ensure_usr_local_bin_persist
|
|
||||||
import_local_ip
|
|
||||||
|
|
||||||
# Handle type=update (called from update script)
|
|
||||||
if [[ "${type:-}" == "update" ]]; then
|
|
||||||
if [[ -d "$INSTALL_PATH" && -f "$INSTALL_PATH/qbittorrent-exporter" ]]; then
|
|
||||||
update
|
|
||||||
else
|
|
||||||
msg_error "qBittorrent-Exporter is not installed. Nothing to update."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if already installed
|
|
||||||
if [[ -d "$INSTALL_PATH" && -f "$INSTALL_PATH/qbittorrent-exporter" ]]; then
|
|
||||||
msg_warn "qBittorrent-Exporter is already installed."
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo -n "${TAB}Uninstall qBittorrent-Exporter? (y/N): "
|
|
||||||
read -r uninstall_prompt
|
|
||||||
if [[ "${uninstall_prompt,,}" =~ ^(y|yes)$ ]]; then
|
|
||||||
uninstall
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -n "${TAB}Update qBittorrent-Exporter? (y/N): "
|
|
||||||
read -r update_prompt
|
|
||||||
if [[ "${update_prompt,,}" =~ ^(y|yes)$ ]]; then
|
|
||||||
update
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
msg_warn "No action selected. Exiting."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fresh installation
|
|
||||||
msg_warn "qBittorrent-Exporter is not installed."
|
|
||||||
echo ""
|
|
||||||
echo -e "${TAB}${INFO} This will install:"
|
|
||||||
echo -e "${TAB} - qBittorrent Exporter (Go binary)"
|
|
||||||
echo -e "${TAB} - Systemd/OpenRC service"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo -n "${TAB}Install qBittorrent-Exporter? (y/N): "
|
|
||||||
read -r install_prompt
|
|
||||||
if [[ "${install_prompt,,}" =~ ^(y|yes)$ ]]; then
|
|
||||||
install
|
|
||||||
else
|
|
||||||
msg_warn "Installation cancelled. Exiting."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
__ _ __ __ __ __
|
|
||||||
____ _/ /_ (_) /_/ /_____ _____________ ____ / /_ ___ _ ______ ____ _____/ /____ _____
|
|
||||||
/ __ `/ __ \/ / __/ __/ __ \/ ___/ ___/ _ \/ __ \/ __/_____/ _ \| |/_/ __ \/ __ \/ ___/ __/ _ \/ ___/
|
|
||||||
/ /_/ / /_/ / / /_/ /_/ /_/ / / / / / __/ / / / /_/_____/ __/> </ /_/ / /_/ / / / /_/ __/ /
|
|
||||||
\__, /_.___/_/\__/\__/\____/_/ /_/ \___/_/ /_/\__/ \___/_/|_/ .___/\____/_/ \__/\___/_/
|
|
||||||
/_/ /_/
|
|
||||||
@ -50,12 +50,7 @@ function execute_in() {
|
|||||||
container=$1
|
container=$1
|
||||||
name=$(pct exec "$container" hostname)
|
name=$(pct exec "$container" hostname)
|
||||||
echo -e "${BL}[Info]${GN} Execute inside${BL} ${name}${GN} with output: ${CL}"
|
echo -e "${BL}[Info]${GN} Execute inside${BL} ${name}${GN} with output: ${CL}"
|
||||||
if ! pct exec "$container" -- bash -c "command ${custom_command} >/dev/null 2>&1"
|
|
||||||
then
|
|
||||||
echo -e "${BL}[Info]${GN} Skipping ${name} ${RD}$container has no command: ${custom_command}"
|
|
||||||
else
|
|
||||||
pct exec "$container" -- bash -c "${custom_command}" | tee
|
pct exec "$container" -- bash -c "${custom_command}" | tee
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for container in $(pct list | awk '{if(NR>1) print $1}'); do
|
for container in $(pct list | awk '{if(NR>1) print $1}'); do
|
||||||
|
|||||||
Reference in New Issue
Block a user