Compare commits

...

24 Commits

Author SHA1 Message Date
3533c896a3 Update .app files (#5672)
Some checks are pending
Auto Update .app-files / update-app-files (push) Waiting to run
Create Changelog Pull Request / update-changelog-pull-request (push) Waiting to run
Close Discussion on PR Merge / close-discussion (push) Waiting to run
Frontend CI/CD / build (push) Waiting to run
Frontend CI/CD / deploy (push) Blocked by required conditions
Sync to Gitea / sync (push) Waiting to run
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-07-03 15:54:07 +02:00
ee6f07b31a Update CHANGELOG.md (#5671)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-03 14:49:36 +01:00
5ac4818030 Refactor: Trilium (#5665)
* Refactor: Trilium

* change name & description of trilium

* finalize

* Change Logo to new selfhst

* Update trilium.sh

---------

Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-07-03 15:49:02 +02:00
c293b058c0 Update CHANGELOG.md (#5670)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-03 14:32:42 +01:00
cadeee4deb Improve asset matching in fetch_and_deploy_gh_release for prebuild and singlefile modes (#5669)
* Improve asset matching in fetch_and_deploy_gh_release for prebuild and singlefile modes

* tar globbing

* Update tools.func
2025-07-03 15:32:12 +02:00
f401c7cc4c Improve asset matching in fetch_and_deploy_gh_release for prebuild and singlefile modes 2025-07-03 15:16:42 +02:00
a3ea46701c Update versions.json (#5667)
Some checks failed
Auto Update .app-files / update-app-files (push) Has been cancelled
Create Changelog Pull Request / update-changelog-pull-request (push) Has been cancelled
Close Discussion on PR Merge / close-discussion (push) Has been cancelled
Frontend CI/CD / build (push) Has been cancelled
Frontend CI/CD / deploy (push) Has been cancelled
Sync to Gitea / sync (push) Has been cancelled
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-03 14:07:50 +02:00
009178a3dc Update CHANGELOG.md (#5664)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-03 11:59:04 +01:00
38e8b70873 Bump Icons to selfhst repo | switch svg to webp (#5659) 2025-07-03 12:58:26 +02:00
31cda26096 Update CHANGELOG.md (#5663)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-03 11:54:09 +01:00
e16aac7a83 Fix typo (#5662) 2025-07-03 12:53:30 +02:00
2a52baf57e Update qbittorrent.sh (#5661) 2025-07-03 11:12:15 +02:00
28d3297d66 Update CHANGELOG.md (#5655)
Some checks failed
Create Changelog Pull Request / update-changelog-pull-request (push) Has been cancelled
Close Discussion on PR Merge / close-discussion (push) Has been cancelled
Frontend CI/CD / build (push) Has been cancelled
Frontend CI/CD / deploy (push) Has been cancelled
Sync to Gitea / sync (push) Has been cancelled
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-03 01:18:47 +01:00
4784d76d49 Update versions.json (#5654)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-03 02:18:08 +02:00
8ef7efaf79 Update CHANGELOG.md (#5648)
Some checks failed
Create Changelog Pull Request / update-changelog-pull-request (push) Has been cancelled
Close Discussion on PR Merge / close-discussion (push) Has been cancelled
Frontend CI/CD / build (push) Has been cancelled
Frontend CI/CD / deploy (push) Has been cancelled
Sync to Gitea / sync (push) Has been cancelled
Crawl Versions from newreleases.io / crawl-versions (push) Has been cancelled
Auto Update .app-files / update-app-files (push) Has been cancelled
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-02 16:14:20 +01:00
736802af76 Update CHANGELOG.md (#5647)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-02 16:13:47 +01:00
8fee28b690 Remove: Pingvin-Share (#5635) 2025-07-02 17:12:42 +02:00
c8682d5f81 Update CHANGELOG.md (#5646)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-02 16:12:28 +01:00
ef571559d6 Remove: Readarr (#5636) 2025-07-02 17:11:59 +02:00
16c48fa41a Update CHANGELOG.md (#5645)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-02 16:11:45 +01:00
710c1fd58c Update changedetection-install.sh (#5640) 2025-07-02 17:11:17 +02:00
21f7276c4f Update CHANGELOG.md (#5644)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-02 14:52:06 +01:00
bf05f4be95 Refactor & Bump to Node24: Zigbee2MQTT (#5638) 2025-07-02 15:51:22 +02:00
be01124d1a Update versions.json (#5641)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-02 14:07:47 +02:00
27 changed files with 296 additions and 319 deletions

View File

@ -14,8 +14,47 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
## 2025-07-03
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Zipline: Fix typo in uploads directory path [@tremor021](https://github.com/tremor021) ([#5662](https://github.com/community-scripts/ProxmoxVE/pull/5662))
- #### ✨ New Features
- Improve asset matching in fetch_and_deploy_gh_release for prebuild and singlefile modes [@MickLesk](https://github.com/MickLesk) ([#5669](https://github.com/community-scripts/ProxmoxVE/pull/5669))
- #### 🔧 Refactor
- Refactor: Trilium [@MickLesk](https://github.com/MickLesk) ([#5665](https://github.com/community-scripts/ProxmoxVE/pull/5665))
### 🌐 Website
- #### 📝 Script Information
- Bump Icons to selfhst repo | switch svg to webp [@MickLesk](https://github.com/MickLesk) ([#5659](https://github.com/community-scripts/ProxmoxVE/pull/5659))
## 2025-07-02 ## 2025-07-02
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Changedetection: Base64 encode the launch options [@tremor021](https://github.com/tremor021) ([#5640](https://github.com/community-scripts/ProxmoxVE/pull/5640))
- #### 🔧 Refactor
- Refactor & Bump to Node24: Zigbee2MQTT [@MickLesk](https://github.com/MickLesk) ([#5638](https://github.com/community-scripts/ProxmoxVE/pull/5638))
### 🌐 Website
- #### 💥 Breaking Changes
- Remove: Pingvin-Share [@MickLesk](https://github.com/MickLesk) ([#5635](https://github.com/community-scripts/ProxmoxVE/pull/5635))
- Remove: Readarr [@MickLesk](https://github.com/MickLesk) ([#5636](https://github.com/community-scripts/ProxmoxVE/pull/5636))
## 2025-07-01 ## 2025-07-01
### 🆕 New Scripts ### 🆕 New Scripts

View File

@ -1,6 +1,6 @@
______ _ ___ ______ _ ___ _ __ __
/_ __/____(_) (_)_ ______ ___ /_ __/____(_) (_)_ ______ ___ / | / /___ / /____ _____
/ / / ___/ / / / / / / __ `__ \ / / / ___/ / / / / / / __ `__ \ / |/ / __ \/ __/ _ \/ ___/
/ / / / / / / / /_/ / / / / / / / / / / / / / / /_/ / / / / / / / /| / /_/ / /_/ __(__ )
/_/ /_/ /_/_/_/\__,_/_/ /_/ /_/ /_/ /_/ /_/_/_/\__,_/_/ /_/ /_/ /_/ |_/\____/\__/\___/____/

View File

@ -31,7 +31,7 @@ function update_script() {
touch /opt/${APP}_version.txt touch /opt/${APP}_version.txt
mkdir -p $HOME/.config/qBittorrent/ mkdir -p $HOME/.config/qBittorrent/
mkdir -p /opt/qbittorrent/ mkdir -p /opt/qbittorrent/
mv /.config/qBittorrent $HOME/.config/ [ -d "/.config/qBittorrent" ] && mv /.config/qBittorrent "$HOME/.config/"
$STD apt-get remove --purge -y qbittorrent-nox $STD apt-get remove --purge -y qbittorrent-nox
sed -i 's@ExecStart=/usr/bin/qbittorrent-nox@ExecStart=/opt/qbittorrent/qbittorrent-nox@g' /etc/systemd/system/qbittorrent-nox.service sed -i 's@ExecStart=/usr/bin/qbittorrent-nox@ExecStart=/opt/qbittorrent/qbittorrent-nox@g' /etc/systemd/system/qbittorrent-nox.service
systemctl daemon-reload systemctl daemon-reload
@ -67,4 +67,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}"

View File

@ -3,9 +3,9 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster) # 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://triliumnext.github.io/Docs/ # Source: https://github.com/TriliumNext/Trilium
APP="Trilium" APP="Trilium Notes"
var_tags="${var_tags:-notes}" var_tags="${var_tags:-notes}"
var_cpu="${var_cpu:-1}" var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}" var_ram="${var_ram:-512}"
@ -27,57 +27,52 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt; fi RELEASE=$(curl -fsSL https://api.github.com/repos/TriliumNext/Trilium/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
RELEASE=$(curl -fsSL https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if [[ "${RELEASE}" != "$(cat ~/.Trilium 2>/dev/null)" ]] || [[ ! -f ~/.Trilium ]]; then
if [[ "v${RELEASE}" != "$(cat /opt/${APP}_version.txt 2>/dev/null)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
if [[ -d /opt/trilium/db ]]; then
if [[ -d /opt/trilium/db ]]; then DB_PATH="/opt/trilium/db"
DB_PATH="/opt/trilium/db" DB_RESTORE_PATH="/opt/trilium/db"
DB_RESTORE_PATH="/opt/trilium/db" elif [[ -d /opt/trilium/assets/db ]]; then
elif [[ -d /opt/trilium/assets/db ]]; then DB_PATH="/opt/trilium/assets/db"
DB_PATH="/opt/trilium/assets/db" DB_RESTORE_PATH="/opt/trilium/assets/db"
DB_RESTORE_PATH="/opt/trilium/assets/db" else
msg_error "Database not found in either /opt/trilium/db or /opt/trilium/assets/db"
exit 1
fi
msg_info "Stopping ${APP}"
systemctl stop trilium
sleep 1
msg_ok "Stopped ${APP}"
msg_info "Backing up Database"
mkdir -p /opt/trilium_backup
cp -r "${DB_PATH}" /opt/trilium_backup/
rm -rf /opt/trilium
msg_ok "Backed up Database"
fetch_and_deploy_gh_release "Trilium" "TriliumNext/Trilium" "prebuild" "latest" "/opt/trilium" "TriliumNotes-Server-*linux-x64.tar.xz"
msg_info "Restoring Database"
mkdir -p "$(dirname "${DB_RESTORE_PATH}")"
cp -r /opt/trilium_backup/$(basename "${DB_PATH}") "${DB_RESTORE_PATH}"
msg_ok "Restored Database"
msg_info "Cleaning up"
rm -rf /opt/trilium_backup
msg_ok "Cleaned"
msg_info "Starting ${APP}"
systemctl start trilium
sleep 1
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else else
msg_error "Database not found in either /opt/trilium/db or /opt/trilium/assets/db" msg_ok "No update required. ${APP} is already at ${RELEASE}"
exit 1
fi fi
msg_info "Stopping ${APP}" exit
systemctl stop trilium
sleep 1
msg_ok "Stopped ${APP}"
msg_info "Updating to ${RELEASE}"
mkdir -p /opt/trilium_backup
cp -r "${DB_PATH}" /opt/trilium_backup/
rm -rf /opt/trilium
cd /tmp
curl -fsSL "https://github.com/TriliumNext/trilium/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o "TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz"
tar -xf "TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz"
mv "TriliumNextNotes-Server-${RELEASE}-linux-x64" /opt/trilium
# Restore database
mkdir -p "$(dirname "${DB_RESTORE_PATH}")"
cp -r /opt/trilium_backup/$(basename "${DB_PATH}") "${DB_RESTORE_PATH}"
echo "v${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated to ${RELEASE}"
msg_info "Cleaning up"
rm -rf "/tmp/TriliumNextNotes-Server-${RELEASE}-linux-x64.tar.xz"
rm -rf /opt/trilium_backup
msg_ok "Cleaned"
msg_info "Starting ${APP}"
systemctl start trilium
sleep 1
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
} }
start start

View File

@ -9,7 +9,7 @@ APP="Zigbee2MQTT"
var_tags="${var_tags:-smarthome;zigbee;mqtt}" var_tags="${var_tags:-smarthome;zigbee;mqtt}"
var_cpu="${var_cpu:-2}" var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}" var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-5}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-0}" var_unprivileged="${var_unprivileged:-0}"
@ -27,16 +27,28 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if [[ -f ~/.zigbee2mqtt ]]; then
CURRENT="$(cat ~/.zigbee2mqtt)"
elif [[ -f /opt/${APP}_version.txt ]]; then
CURRENT="$(cat /opt/${APP}_version.txt)"
rm -f /opt/${APP}_version.txt
else
CURRENT=""
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(curl -fsSL https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [[ "$RELEASE" != "$CURRENT" ]]; then
if ! command -v jq &>/dev/null; then
$STD apt-get update
$STD apt-get install -y jq
fi
NODE_VERSION=24 NODE_MODULE="pnpm@$(curl -fsSL https://raw.githubusercontent.com/Koenkk/zigbee2mqtt/master/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop zigbee2mqtt systemctl stop zigbee2mqtt
msg_ok "Stopped Service" msg_ok "Stopped Service"
msg_info "Updating pnpm"
$STD npm install -g pnpm@10.4.1
msg_ok "Updated pnpm"
msg_info "Creating Backup" msg_info "Creating Backup"
rm -rf /opt/${APP}_backup*.tar.gz rm -rf /opt/${APP}_backup*.tar.gz
mkdir -p /opt/z2m_backup mkdir -p /opt/z2m_backup
@ -44,12 +56,9 @@ function update_script() {
mv /opt/zigbee2mqtt/data /opt/z2m_backup mv /opt/zigbee2mqtt/data /opt/z2m_backup
msg_ok "Backup Created" msg_ok "Backup Created"
fetch_and_deploy_gh_release "Zigbee2MQTT" "Koenkk/zigbee2mqtt" "tarball" "latest" "/opt/zigbee2mqtt"
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Updating ${APP} to v${RELEASE}"
cd /opt
curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip")
$STD unzip ${RELEASE}.zip
rm -rf /opt/zigbee2mqtt
mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt
rm -rf /opt/zigbee2mqtt/data rm -rf /opt/zigbee2mqtt/data
mv /opt/z2m_backup/data /opt/zigbee2mqtt mv /opt/z2m_backup/data /opt/zigbee2mqtt
cd /opt/zigbee2mqtt cd /opt/zigbee2mqtt
@ -63,9 +72,7 @@ function update_script() {
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf /opt/z2m_backup rm -rf /opt/z2m_backup
rm -rf /opt/${RELEASE}.zip
msg_ok "Cleaned up" msg_ok "Cleaned up"
echo "${RELEASE}" >/opt/${APP}_version.txt
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}." msg_ok "No update required. ${APP} is already at v${RELEASE}."
fi fi

View File

@ -40,9 +40,9 @@ function update_script() {
msg_info "Updating ${APP} to ${RELEASE}" msg_info "Updating ${APP} to ${RELEASE}"
cp /opt/zipline/.env /opt/ cp /opt/zipline/.env /opt/
mkdir -p /opt/zipline-upload mkdir -p /opt/zipline-uploads
if [ -d /opt/zipline/upload ] && [ "$(ls -A /opt/zipline/upload)" ]; then if [ -d /opt/zipline/uploads ] && [ "$(ls -A /opt/zipline/uploads)" ]; then
cp -R /opt/zipline/upload/* /opt/zipline-upload/ cp -R /opt/zipline/uploads/* /opt/zipline-uploads/
fi fi
curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip") curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip")
$STD unzip v"${RELEASE}".zip $STD unzip v"${RELEASE}".zip

View File

@ -11,7 +11,7 @@
"interface_port": null, "interface_port": null,
"documentation": null, "documentation": null,
"website": null, "website": null,
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/proxmox.svg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
"config_path": "/opt/iptag/iptag.conf", "config_path": "/opt/iptag/iptag.conf",
"description": "This script automatically adds IP address as tags to LXC containers or VM's using a systemd service. The service also updates the tags if a LXC/VM IP address is changed.", "description": "This script automatically adds IP address as tags to LXC containers or VM's using a systemd service. The service also updates the tags if a LXC/VM IP address is changed.",
"install_methods": [ "install_methods": [

View File

@ -11,7 +11,7 @@
"interface_port": 80, "interface_port": 80,
"documentation": "https://docs.baby-buddy.net/", "documentation": "https://docs.baby-buddy.net/",
"website": "https://github.com/babybuddy/babybuddy", "website": "https://github.com/babybuddy/babybuddy",
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/baby-buddy.svg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/baby-buddy.webp",
"config_path": "/opt/babybuddy/babybuddy/settings/production.py", "config_path": "/opt/babybuddy/babybuddy/settings/production.py",
"description": "Baby Buddy is an open-source web application designed to assist caregivers in tracking various aspects of a baby's daily routine, including sleep, feedings, diaper changes, tummy time, and more. By recording this data, caregivers can better understand and anticipate their baby's needs, reducing guesswork in daily care. The application offers a user-friendly dashboard for data entry and visualization, supports multiple users, and provides features like timers and reminders. Additionally, Baby Buddy can be integrated with platforms like Home Assistant and Grafana for enhanced functionality.", "description": "Baby Buddy is an open-source web application designed to assist caregivers in tracking various aspects of a baby's daily routine, including sleep, feedings, diaper changes, tummy time, and more. By recording this data, caregivers can better understand and anticipate their baby's needs, reducing guesswork in daily care. The application offers a user-friendly dashboard for data entry and visualization, supports multiple users, and provides features like timers and reminders. Additionally, Baby Buddy can be integrated with platforms like Home Assistant and Grafana for enhanced functionality.",
"install_methods": [ "install_methods": [

View File

@ -12,7 +12,7 @@
"interface_port": 3000, "interface_port": 3000,
"documentation": "https://github.com/C4illin/ConvertX", "documentation": "https://github.com/C4illin/ConvertX",
"website": "https://github.com/C4illin/ConvertX", "website": "https://github.com/C4illin/ConvertX",
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/convertx.svg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/convertx.webp",
"description": "ConvertX is a self-hosted online file converter supporting over 1000 formats, including images, audio, video, documents, and more, powered by FFmpeg, GraphicsMagick, and other libraries.", "description": "ConvertX is a self-hosted online file converter supporting over 1000 formats, including images, audio, video, documents, and more, powered by FFmpeg, GraphicsMagick, and other libraries.",
"install_methods": [ "install_methods": [
{ {

View File

@ -12,7 +12,7 @@
"documentation": "https://github.com/plexguide/Huntarr.io/wiki", "documentation": "https://github.com/plexguide/Huntarr.io/wiki",
"config_path": "/opt/huntarr", "config_path": "/opt/huntarr",
"website": "https://github.com/plexguide/Huntarr.io", "website": "https://github.com/plexguide/Huntarr.io",
"logo": "https://raw.githubusercontent.com/plexguide/Huntarr.io/refs/heads/main/frontend/static/logo/Huntarr.svg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/huntarr.webp",
"description": "Huntarr is a tool that automates the search for missing or low-quality media content in your collection. It works seamlessly with applications like Sonarr, Radarr, Lidarr, Readarr, and Whisparr, enhancing their functionality with continuous background scans to identify and update missed or outdated content. Through a user-friendly web interface accessible on port 9705, Huntarr provides real-time statistics, log views, and extensive configuration options. The software is especially useful for users who want to keep their media library up to date by automatically searching for missing episodes or higher-quality versions. Huntarr is well-suited for self-hosted environments and can easily run in LXC containers or Docker setups.", "description": "Huntarr is a tool that automates the search for missing or low-quality media content in your collection. It works seamlessly with applications like Sonarr, Radarr, Lidarr, Readarr, and Whisparr, enhancing their functionality with continuous background scans to identify and update missed or outdated content. Through a user-friendly web interface accessible on port 9705, Huntarr provides real-time statistics, log views, and extensive configuration options. The software is especially useful for users who want to keep their media library up to date by automatically searching for missing episodes or higher-quality versions. Huntarr is well-suited for self-hosted environments and can easily run in LXC containers or Docker setups.",
"install_methods": [ "install_methods": [
{ {

View File

@ -11,7 +11,7 @@
"interface_port": 80, "interface_port": 80,
"documentation": "https://wiki.itsm-ng.org/en/home", "documentation": "https://wiki.itsm-ng.org/en/home",
"website": "https://itsm-ng.com", "website": "https://itsm-ng.com",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/itsm-ng.svg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/itsm-ng.webp",
"config_path": "/etc/itsm-ng", "config_path": "/etc/itsm-ng",
"description": "ITSM-NG is a powerful, open-source IT Service Management (ITSM) solution designed for managing IT assets, software, licenses, and support processes in accordance with ITIL best practices. It offers integrated features for asset inventory, incident tracking, problem management, change requests, and service desk workflows.", "description": "ITSM-NG is a powerful, open-source IT Service Management (ITSM) solution designed for managing IT assets, software, licenses, and support processes in accordance with ITIL best practices. It offers integrated features for asset inventory, incident tracking, problem management, change requests, and service desk workflows.",
"install_methods": [ "install_methods": [

View File

@ -12,7 +12,7 @@
"interface_port": 8080, "interface_port": 8080,
"documentation": "https://github.com/librespeed/speedtest-rust", "documentation": "https://github.com/librespeed/speedtest-rust",
"website": "https://github.com/librespeed/speedtest-rust", "website": "https://github.com/librespeed/speedtest-rust",
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/librespeed.svg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/librespeed.webp",
"description": "Librespeed is a no flash, no java, no websocket speedtest server. This community script deploys the rust version for simplicity and low resource usage.", "description": "Librespeed is a no flash, no java, no websocket speedtest server. This community script deploys the rust version for simplicity and low resource usage.",
"install_methods": [ "install_methods": [
{ {

View File

@ -12,7 +12,7 @@
"interface_port": 9000, "interface_port": 9000,
"documentation": "https://lyrion.org/", "documentation": "https://lyrion.org/",
"website": "https://lyrion.org/", "website": "https://lyrion.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/lyrion-media-server.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/lyrion-music-server.webp",
"description": "Lyrion Music Server is an open-source server software to stream local music collections, internet radio, and music services to Squeezebox and compatible audio players.", "description": "Lyrion Music Server is an open-source server software to stream local music collections, internet radio, and music services to Squeezebox and compatible audio players.",
"install_methods": [ "install_methods": [
{ {

View File

@ -12,7 +12,7 @@
"interface_port": null, "interface_port": null,
"documentation": "https://oauth2-proxy.github.io/oauth2-proxy/configuration/overview", "documentation": "https://oauth2-proxy.github.io/oauth2-proxy/configuration/overview",
"website": "https://oauth2-proxy.github.io/oauth2-proxy/", "website": "https://oauth2-proxy.github.io/oauth2-proxy/",
"logo": "https://raw.githubusercontent.com/oauth2-proxy/oauth2-proxy/f82e90426a1881d36bf995f25de9b7b1db4c2564/docs/static/img/logos/OAuth2_Proxy_icon.svg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/oauth2-proxy.webp",
"config_path": "/opt/oauth2-proxy/config.toml", "config_path": "/opt/oauth2-proxy/config.toml",
"description": "A reverse proxy that provides authentication with Google, Azure, OpenID Connect and many more identity providers.", "description": "A reverse proxy that provides authentication with Google, Azure, OpenID Connect and many more identity providers.",
"install_methods": [ "install_methods": [

View File

@ -1,40 +0,0 @@
{
"name": "Pingvin Share",
"slug": "pingvin",
"categories": [
11
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://stonith404.github.io/pingvin-share/introduction",
"website": "https://github.com/stonith404/pingvin-share",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/pingvin-share.webp",
"config_path": "/opt/pingvin-share/config.yaml",
"description": "Pingvin Share is self-hosted file sharing platform and an alternative for WeTransfer.",
"install_methods": [
{
"type": "default",
"script": "ct/pingvin.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 8,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Run `DATA_DIRECTORY=path-to-your-data-directory pm2 restart all --update-env` to update path to your data directory or to update environment variables.",
"type": "info"
}
]
}

View File

@ -11,7 +11,7 @@
"interface_port": 7655, "interface_port": 7655,
"documentation": null, "documentation": null,
"website": "https://github.com/rcourtman/Pulse", "website": "https://github.com/rcourtman/Pulse",
"logo": "https://raw.githubusercontent.com/rcourtman/Pulse/main/src/public/logos/pulse-logo-256x256.png", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/pulse.webp",
"config_path": "/opt/pulse/.env", "config_path": "/opt/pulse/.env",
"description": "A lightweight monitoring application for Proxmox VE that displays real-time status for VMs and containers via a simple web interface.", "description": "A lightweight monitoring application for Proxmox VE that displays real-time status for VMs and containers via a simple web interface.",
"install_methods": [ "install_methods": [

View File

@ -11,7 +11,7 @@
"interface_port": 3000, "interface_port": 3000,
"documentation": "https://rclone.org/docs/", "documentation": "https://rclone.org/docs/",
"website": "https://rclone.org/", "website": "https://rclone.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/rclone.svg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/rclone.webp",
"config_path": "~/.config/rclone/rclone.conf", "config_path": "~/.config/rclone/rclone.conf",
"description": "Rclone is a command-line program to manage files on cloud storage. It is a feature-rich alternative to cloud vendors' web storage interfaces", "description": "Rclone is a command-line program to manage files on cloud storage. It is a feature-rich alternative to cloud vendors' web storage interfaces",
"install_methods": [ "install_methods": [

View File

@ -1,35 +0,0 @@
{
"name": "Readarr",
"slug": "readarr",
"categories": [
14
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": 8787,
"documentation": null,
"website": "https://readarr.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/readarr.webp",
"config_path": "",
"description": "Readarr is an eBook and audiobook management tool designed for Usenet and BitTorrent users. It allows users to manage and organize their eBook and audiobook collection with ease. Readarr integrates with popular Usenet and BitTorrent clients, such as Sonarr and Lidarr, to automate the downloading and organizing of eBook and audiobook files. The software provides a web-based interface for managing and organizing eBooks and audiobooks, making it easy to search and find titles, authors, and genres. Readarr also supports metadata management, including cover art and information, making it easy for users to keep their eBook and audiobook collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing eBook and audiobook collections, making it a valuable tool for book and audiobook enthusiasts who want to keep their collection organized and up-to-date. With Readarr, users can enjoy their eBook and audiobook collection from anywhere, making it a powerful tool for managing and sharing book and audiobook files.",
"install_methods": [
{
"type": "default",
"script": "ct/readarr.sh",
"resources": {
"cpu": 2,
"ram": 1024,
"hdd": 4,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@ -12,7 +12,7 @@
"documentation": "https://github.com/CrazyWolf13/streamlink-webui", "documentation": "https://github.com/CrazyWolf13/streamlink-webui",
"config_path": "/opt/streamlink-webui.env", "config_path": "/opt/streamlink-webui.env",
"website": "https://github.com/CrazyWolf13/streamlink-webui", "website": "https://github.com/CrazyWolf13/streamlink-webui",
"logo": "https://streamlink.github.io/_static/icon.svg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/streamlink.webp",
"description": "a simple web-ui to the well-known streamlink cli application, which allows you to save twitch streams to your local disk.", "description": "a simple web-ui to the well-known streamlink cli application, which allows you to save twitch streams to your local disk.",
"install_methods": [ "install_methods": [
{ {

View File

@ -1,5 +1,5 @@
{ {
"name": "TriliumNext", "name": "Trilium Notes",
"slug": "trilium", "slug": "trilium",
"categories": [ "categories": [
12 12
@ -9,11 +9,11 @@
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": 8080, "interface_port": 8080,
"documentation": "https://triliumnext.github.io/Docs/", "documentation": "https://github.com/TriliumNext/trilium/wiki",
"website": "https://github.com/TriliumNext/trilium", "website": "https://github.com/TriliumNext/trilium",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/triliumnext.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/trilium-notes.webp",
"config_path": "/root/trilium-data/config.ini", "config_path": "/root/trilium-data/config.ini",
"description": "TriliumNext is an newer Fork of Trilium. TriliumNext is an open-source note-taking and personal knowledge management application. It allows users to organize and manage their notes, ideas, and information in a single place, using a hierarchical tree-like structure. Trilium offers a range of features, including rich text formatting, links, images, and attachments, making it easy to create and structure notes. The software is designed to be flexible and customizable, with a range of customization options and plugins available, including themes, export options, and more. Trilium is a self-hosted solution, and can be run on a local machine or a cloud-based server, providing users with full control over their notes and information.", "description": "Trilium Notes is the latest and officially maintained version of the powerful, self-hosted note-taking and personal knowledge management application. It enables users to organize information in a hierarchical tree structure and supports rich text editing, internal linking, images, attachments, and powerful scripting capabilities. This version reflects the most current development efforts under the TriliumNext organization and replaces all prior forks or legacy variants. Trilium is ideal for building personal wikis, structured documentation, and long-term knowledge archives, giving users full local control and privacy.",
"install_methods": [ "install_methods": [
{ {
"type": "default", "type": "default",

View File

@ -1,39 +1,144 @@
[ [
{
"name": "Dolibarr/dolibarr",
"version": "18.0.7",
"date": "2025-07-03T08:57:21Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-openapi@9.0.17",
"date": "2025-07-03T06:57:48Z"
},
{
"name": "mattermost/mattermost",
"version": "preview-v0.1",
"date": "2025-06-27T14:35:47Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.2111",
"date": "2025-07-03T05:50:31Z"
},
{
"name": "esphome/esphome",
"version": "2025.6.3",
"date": "2025-07-03T01:07:26Z"
},
{
"name": "actualbudget/actual",
"version": "v25.7.1",
"date": "2025-07-03T01:03:18Z"
},
{ {
"name": "mongodb/mongo", "name": "mongodb/mongo",
"version": "r8.1.2", "version": "r6.0.25-rc0",
"date": "2025-07-01T22:39:32Z" "date": "2025-07-03T00:44:52Z"
},
{
"name": "documenso/documenso",
"version": "v1.12.2-rc.0",
"date": "2025-07-03T00:31:22Z"
},
{
"name": "cross-seed/cross-seed",
"version": "v6.12.7",
"date": "2025-06-18T03:44:24Z"
},
{
"name": "emqx/emqx",
"version": "v5.8.7",
"date": "2025-07-02T21:54:54Z"
},
{
"name": "hargata/lubelog",
"version": "v1.4.8",
"date": "2025-07-02T21:15:13Z"
},
{
"name": "Koenkk/zigbee2mqtt",
"version": "2.5.1",
"date": "2025-07-02T19:38:06Z"
},
{
"name": "redis/redis",
"version": "8.2-rc1-int",
"date": "2025-07-02T19:27:08Z"
},
{
"name": "keycloak/keycloak",
"version": "26.3.0",
"date": "2025-07-02T12:26:44Z"
},
{
"name": "ollama/ollama",
"version": "v0.9.5",
"date": "2025-07-02T18:39:28Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.2.20",
"date": "2025-07-02T04:03:37Z"
},
{
"name": "home-assistant/core",
"version": "2025.7.0",
"date": "2025-07-02T16:23:42Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.1",
"date": "2025-06-27T09:14:14Z"
},
{
"name": "Graylog2/graylog2-server",
"version": "6.2.5",
"date": "2025-07-02T13:06:30Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w27-4.13.0",
"date": "2025-07-01T03:17:32Z"
},
{
"name": "glpi-project/glpi",
"version": "10.0.18",
"date": "2025-02-12T11:07:02Z"
},
{
"name": "apache/tomcat",
"version": "9.0.107",
"date": "2025-07-02T07:12:09Z"
},
{
"name": "qbittorrent/qBittorrent",
"version": "release-5.1.2",
"date": "2025-07-02T06:13:16Z"
},
{
"name": "diced/zipline",
"version": "v4.2.0",
"date": "2025-07-02T00:45:31Z"
},
{
"name": "sysadminsmedia/homebox",
"version": "v0.20.2",
"date": "2025-07-02T00:37:07Z"
},
{
"name": "hyperion-project/hyperion.ng",
"version": "2.1.1",
"date": "2025-06-14T17:45:06Z"
}, },
{ {
"name": "Threadfin/Threadfin", "name": "Threadfin/Threadfin",
"version": "1.2.35", "version": "1.2.35",
"date": "2025-07-01T21:37:20Z" "date": "2025-07-01T21:37:20Z"
}, },
{
"name": "apache/tomcat",
"version": "10.1.43",
"date": "2025-07-01T21:32:34Z"
},
{
"name": "actualbudget/actual",
"version": "v25.7.0",
"date": "2025-07-01T21:02:27Z"
},
{
"name": "home-assistant/core",
"version": "2025.6.3",
"date": "2025-06-24T13:00:12Z"
},
{ {
"name": "TwiN/gatus", "name": "TwiN/gatus",
"version": "v5.19.0", "version": "v5.19.0",
"date": "2025-07-01T19:59:32Z" "date": "2025-07-01T19:59:32Z"
}, },
{
"name": "Koenkk/zigbee2mqtt",
"version": "2.5.0",
"date": "2025-07-01T18:28:01Z"
},
{ {
"name": "hivemq/hivemq-community-edition", "name": "hivemq/hivemq-community-edition",
"version": "2025.4", "version": "2025.4",
@ -59,16 +164,6 @@
"version": "v1.133.0", "version": "v1.133.0",
"date": "2025-07-01T15:13:42Z" "date": "2025-07-01T15:13:42Z"
}, },
{
"name": "sysadminsmedia/homebox",
"version": "v0.20.1",
"date": "2025-07-01T14:18:32Z"
},
{
"name": "keycloak/keycloak",
"version": "26.3.0",
"date": "2025-07-01T13:18:12Z"
},
{ {
"name": "syncthing/syncthing", "name": "syncthing/syncthing",
"version": "v1.30.0", "version": "v1.30.0",
@ -84,11 +179,6 @@
"version": "v99.99.99", "version": "v99.99.99",
"date": "2025-07-01T08:26:41Z" "date": "2025-07-01T08:26:41Z"
}, },
{
"name": "Jackett/Jackett",
"version": "v0.22.2101",
"date": "2025-07-01T05:56:59Z"
},
{ {
"name": "zabbix/zabbix", "name": "zabbix/zabbix",
"version": "7.4.0", "version": "7.4.0",
@ -99,11 +189,6 @@
"version": "v0.15.0-rc3", "version": "v0.15.0-rc3",
"date": "2025-07-01T04:09:37Z" "date": "2025-07-01T04:09:37Z"
}, },
{
"name": "wazuh/wazuh",
"version": "coverity-w27-4.13.0",
"date": "2025-07-01T03:17:32Z"
},
{ {
"name": "NginxProxyManager/nginx-proxy-manager", "name": "NginxProxyManager/nginx-proxy-manager",
"version": "v2.12.4", "version": "v2.12.4",
@ -124,11 +209,6 @@
"version": "v0.9.81", "version": "v0.9.81",
"date": "2025-06-30T16:40:33Z" "date": "2025-06-30T16:40:33Z"
}, },
{
"name": "ollama/ollama",
"version": "v0.9.4-rc6",
"date": "2025-06-30T15:59:03Z"
},
{ {
"name": "prometheus/prometheus", "name": "prometheus/prometheus",
"version": "v2.53.5", "version": "v2.53.5",
@ -144,56 +224,26 @@
"version": "v7.4.4", "version": "v7.4.4",
"date": "2025-06-30T13:04:22Z" "date": "2025-06-30T13:04:22Z"
}, },
{
"name": "Graylog2/graylog2-server",
"version": "6.3.0",
"date": "2025-06-30T11:26:45Z"
},
{ {
"name": "grokability/snipe-it", "name": "grokability/snipe-it",
"version": "v8.1.17", "version": "v8.1.17",
"date": "2025-06-30T11:26:27Z" "date": "2025-06-30T11:26:27Z"
}, },
{
"name": "documenso/documenso",
"version": "v1.12.0-rc.8",
"date": "2025-06-30T09:47:37Z"
},
{ {
"name": "PrivateBin/PrivateBin", "name": "PrivateBin/PrivateBin",
"version": "1.7.8", "version": "1.7.8",
"date": "2025-06-30T09:00:54Z" "date": "2025-06-30T09:00:54Z"
}, },
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-mdx@11.6.10",
"date": "2025-06-30T07:07:36Z"
},
{
"name": "mattermost/mattermost",
"version": "preview-v0.1",
"date": "2025-06-27T14:35:47Z"
},
{ {
"name": "typesense/typesense", "name": "typesense/typesense",
"version": "v29.0", "version": "v29.0",
"date": "2025-06-30T03:52:33Z" "date": "2025-06-30T03:52:33Z"
}, },
{
"name": "firefly-iii/firefly-iii",
"version": "v6.2.19",
"date": "2025-06-28T06:53:45Z"
},
{ {
"name": "dgtlmoon/changedetection.io", "name": "dgtlmoon/changedetection.io",
"version": "0.50.5", "version": "0.50.5",
"date": "2025-06-29T08:54:47Z" "date": "2025-06-29T08:54:47Z"
}, },
{
"name": "emqx/emqx",
"version": "e5.9.1-rc.1",
"date": "2025-06-29T07:27:21Z"
},
{ {
"name": "theonedev/onedev", "name": "theonedev/onedev",
"version": "v11.11.2", "version": "v11.11.2",
@ -214,11 +264,6 @@
"version": "3.1.0", "version": "3.1.0",
"date": "2025-06-28T09:02:38Z" "date": "2025-06-28T09:02:38Z"
}, },
{
"name": "esphome/esphome",
"version": "2025.6.2",
"date": "2025-06-28T03:47:16Z"
},
{ {
"name": "plexguide/Huntarr.io", "name": "plexguide/Huntarr.io",
"version": "8.1.11", "version": "8.1.11",
@ -259,11 +304,6 @@
"version": "flowise@3.0.3", "version": "flowise@3.0.3",
"date": "2025-06-27T09:53:57Z" "date": "2025-06-27T09:53:57Z"
}, },
{
"name": "nzbgetcom/nzbget",
"version": "v25.1",
"date": "2025-06-27T09:14:14Z"
},
{ {
"name": "cockpit-project/cockpit", "name": "cockpit-project/cockpit",
"version": "341.1", "version": "341.1",
@ -314,11 +354,6 @@
"version": "4.1.0-beta.2", "version": "4.1.0-beta.2",
"date": "2025-06-26T14:23:26Z" "date": "2025-06-26T14:23:26Z"
}, },
{
"name": "Dolibarr/dolibarr",
"version": "18.0.7",
"date": "2025-06-26T09:16:33Z"
},
{ {
"name": "gristlabs/grist-core", "name": "gristlabs/grist-core",
"version": "v1.6.1", "version": "v1.6.1",
@ -399,11 +434,6 @@
"version": "2025.6.22", "version": "2025.6.22",
"date": "2025-06-22T22:41:11Z" "date": "2025-06-22T22:41:11Z"
}, },
{
"name": "qbittorrent/qBittorrent",
"version": "release-5.1.1",
"date": "2025-06-22T21:41:17Z"
},
{ {
"name": "clusterzx/paperless-ai", "name": "clusterzx/paperless-ai",
"version": "v3.0.7", "version": "v3.0.7",
@ -464,11 +494,6 @@
"version": "2025.05.1", "version": "2025.05.1",
"date": "2025-06-19T11:28:36Z" "date": "2025-06-19T11:28:36Z"
}, },
{
"name": "redis/redis",
"version": "8.2-m01-int2",
"date": "2025-06-12T08:52:10Z"
},
{ {
"name": "prometheus-pve/prometheus-pve-exporter", "name": "prometheus-pve/prometheus-pve-exporter",
"version": "v3.5.5", "version": "v3.5.5",
@ -519,11 +544,6 @@
"version": "2.0.0-pre3", "version": "2.0.0-pre3",
"date": "2025-06-18T08:01:24Z" "date": "2025-06-18T08:01:24Z"
}, },
{
"name": "cross-seed/cross-seed",
"version": "v6.12.7",
"date": "2025-06-18T03:44:24Z"
},
{ {
"name": "grafana/grafana", "name": "grafana/grafana",
"version": "v11.5.6", "version": "v11.5.6",
@ -549,11 +569,6 @@
"version": "v1.6.9", "version": "v1.6.9",
"date": "2025-06-17T11:54:50Z" "date": "2025-06-17T11:54:50Z"
}, },
{
"name": "glpi-project/glpi",
"version": "10.0.18",
"date": "2025-02-12T11:07:02Z"
},
{ {
"name": "morpheus65535/bazarr", "name": "morpheus65535/bazarr",
"version": "v1.5.2", "version": "v1.5.2",
@ -624,11 +639,6 @@
"version": "v6.7.3", "version": "v6.7.3",
"date": "2025-06-15T05:46:17Z" "date": "2025-06-15T05:46:17Z"
}, },
{
"name": "hyperion-project/hyperion.ng",
"version": "2.1.1",
"date": "2025-06-14T17:45:06Z"
},
{ {
"name": "advplyr/audiobookshelf", "name": "advplyr/audiobookshelf",
"version": "v2.25.1", "version": "v2.25.1",
@ -709,11 +719,6 @@
"version": "v1.10.0", "version": "v1.10.0",
"date": "2025-06-07T08:31:48Z" "date": "2025-06-07T08:31:48Z"
}, },
{
"name": "diced/zipline",
"version": "v4.1.2",
"date": "2025-06-06T17:44:58Z"
},
{ {
"name": "ioBroker/ioBroker", "name": "ioBroker/ioBroker",
"version": "2025-05-31", "version": "2025-05-31",
@ -949,11 +954,6 @@
"version": "6.8.1", "version": "6.8.1",
"date": "2025-04-30T16:44:16Z" "date": "2025-04-30T16:44:16Z"
}, },
{
"name": "hargata/lubelog",
"version": "v1.4.7",
"date": "2025-04-29T15:00:18Z"
},
{ {
"name": "henrygd/beszel", "name": "henrygd/beszel",
"version": "v0.11.1", "version": "v0.11.1",

View File

@ -21,7 +21,7 @@
"resources": { "resources": {
"cpu": 2, "cpu": 2,
"ram": 1024, "ram": 1024,
"hdd": 4, "hdd": 5,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -116,7 +116,7 @@ Wants=browserless.service
Type=simple Type=simple
WorkingDirectory=/opt/changedetection WorkingDirectory=/opt/changedetection
Environment=WEBDRIVER_URL=http://127.0.0.1:4444/wd/hub Environment=WEBDRIVER_URL=http://127.0.0.1:4444/wd/hub
Environment=PLAYWRIGHT_DRIVER_URL=ws://localhost:3000/chrome?launch={"defaultViewport":{"height":720,"width":1280},"headless":false,"stealth":true}&blockAds=true Environment=PLAYWRIGHT_DRIVER_URL=ws://localhost:3000/chrome?launch=eyJkZWZhdWx0Vmlld3BvcnQiOnsiaGVpZ2h0Ijo3MjAsIndpZHRoIjoxMjgwfSwiaGVhZGxlc3MiOmZhbHNlLCJzdGVhbHRoIjp0cnVlfQ==&blockAds=true
ExecStart=changedetection.io -d /opt/changedetection -p 5000 ExecStart=changedetection.io -d /opt/changedetection -p 5000
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target

View File

@ -3,7 +3,7 @@
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster) # 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://triliumnext.github.io/Docs/ # Source: https://github.com/TriliumNext/Trilium
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color color
@ -13,14 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
msg_info "Setup TriliumNext" fetch_and_deploy_gh_release "Trilium" "TriliumNext/Trilium" "prebuild" "latest" "/opt/trilium" "TriliumNotes-Server-*linux-x64.tar.xz"
cd /opt
RELEASE=$(curl -fsSL https://api.github.com/repos/TriliumNext/trilium/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/TriliumNext/trilium/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o "TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz"
tar -xf TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz
mv TriliumNextNotes-Server-$RELEASE-linux-x64 /opt/trilium
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Setup TriliumNext"
msg_info "Creating Service" msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/trilium.service cat <<EOF >/etc/systemd/system/trilium.service
@ -46,7 +39,6 @@ motd_ssh
customize customize
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf /opt/TriliumNextNotes-Server-${RELEASE}-linux-x64.tar.xz
$STD apt-get -y autoremove $STD apt-get -y autoremove
$STD apt-get -y autoclean $STD apt-get -y autoclean
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@ -19,17 +19,15 @@ $STD apt-get install -y \
make \ make \
g++ \ g++ \
gcc \ gcc \
ca-certificates ca-certificates \
jq
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs NODE_VERSION="24" NODE_MODULE="pnpm@$(curl -fsSL https://raw.githubusercontent.com/Koenkk/zigbee2mqtt/master/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
fetch_and_deploy_gh_release "Zigbee2MQTT" "Koenkk/zigbee2mqtt" "tarball" "latest" "/opt/zigbee2mqtt"
msg_info "Setting up Zigbee2MQTT" msg_info "Setting up Zigbee2MQTT"
cd /opt
RELEASE=$(curl -fsSL https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o "${RELEASE}.zip"
$STD unzip ${RELEASE}.zip
mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt
cd /opt/zigbee2mqtt/data cd /opt/zigbee2mqtt/data
mv configuration.example.yaml configuration.yaml mv configuration.example.yaml configuration.yaml
cd /opt/zigbee2mqtt cd /opt/zigbee2mqtt
@ -60,7 +58,6 @@ motd_ssh
customize customize
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf /opt/${RELEASE}.zip
$STD apt-get -y autoremove $STD apt-get -y autoremove
$STD apt-get -y autoclean $STD apt-get -y autoclean
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@ -50,9 +50,9 @@ CORE_HOSTNAME=0.0.0.0
CORE_PORT=3000 CORE_PORT=3000
CORE_RETURN_HTTPS=false CORE_RETURN_HTTPS=false
DATASOURCE_TYPE=local DATASOURCE_TYPE=local
DATASOURCE_LOCAL_DIRECTORY=/opt/zipline-upload DATASOURCE_LOCAL_DIRECTORY=/opt/zipline-uploads
EOF EOF
mkdir -p /opt/zipline-upload mkdir -p /opt/zipline-uploads
$STD pnpm install $STD pnpm install
$STD pnpm build $STD pnpm build
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"

View File

@ -819,6 +819,7 @@ function fetch_and_deploy_gh_release() {
msg_info "Fetching GitHub release: $app ($version)" msg_info "Fetching GitHub release: $app ($version)"
### Tarball Mode ###
if [[ "$mode" == "tarball" || "$mode" == "source" ]]; then if [[ "$mode" == "tarball" || "$mode" == "source" ]]; then
url=$(echo "$json" | jq -r '.tarball_url // empty') url=$(echo "$json" | jq -r '.tarball_url // empty')
[[ -z "$url" ]] && url="https://github.com/$repo/archive/refs/tags/v$version.tar.gz" [[ -z "$url" ]] && url="https://github.com/$repo/archive/refs/tags/v$version.tar.gz"
@ -839,6 +840,7 @@ function fetch_and_deploy_gh_release() {
cp -r "$unpack_dir"/* "$target/" cp -r "$unpack_dir"/* "$target/"
shopt -u dotglob nullglob shopt -u dotglob nullglob
### Binary Mode ###
elif [[ "$mode" == "binary" ]]; then elif [[ "$mode" == "binary" ]]; then
local arch local arch
arch=$(dpkg --print-architecture 2>/dev/null || uname -m) arch=$(dpkg --print-architecture 2>/dev/null || uname -m)
@ -848,12 +850,14 @@ function fetch_and_deploy_gh_release() {
local assets url_match="" local assets url_match=""
assets=$(echo "$json" | jq -r '.assets[].browser_download_url') assets=$(echo "$json" | jq -r '.assets[].browser_download_url')
# If explicit filename pattern is provided (param $6), match that first
if [[ -n "$6" ]]; then if [[ -n "$6" ]]; then
for u in $assets; do for u in $assets; do
[[ "$u" =~ $6 || "$u" == *"$6" ]] && url_match="$u" && break [[ "$u" =~ $6 || "$u" == *"$6" ]] && url_match="$u" && break
done done
fi fi
# If no match via explicit pattern, fall back to architecture heuristic
if [[ -z "$url_match" ]]; then if [[ -z "$url_match" ]]; then
for u in $assets; do for u in $assets; do
if [[ "$u" =~ ($arch|amd64|x86_64|aarch64|arm64).*\.deb$ ]]; then if [[ "$u" =~ ($arch|amd64|x86_64|aarch64|arm64).*\.deb$ ]]; then
@ -863,6 +867,7 @@ function fetch_and_deploy_gh_release() {
done done
fi fi
# Fallback: any .deb file
if [[ -z "$url_match" ]]; then if [[ -z "$url_match" ]]; then
for u in $assets; do for u in $assets; do
[[ "$u" =~ \.deb$ ]] && url_match="$u" && break [[ "$u" =~ \.deb$ ]] && url_match="$u" && break
@ -891,8 +896,10 @@ function fetch_and_deploy_gh_release() {
} }
} }
### Prebuild Mode ###
elif [[ "$mode" == "prebuild" ]]; then elif [[ "$mode" == "prebuild" ]]; then
local pattern="$6" local pattern="${6%\"}"
pattern="${pattern#\"}"
[[ -z "$pattern" ]] && { [[ -z "$pattern" ]] && {
msg_error "Mode 'prebuild' requires 6th parameter (asset filename pattern)" msg_error "Mode 'prebuild' requires 6th parameter (asset filename pattern)"
rm -rf "$tmpdir" rm -rf "$tmpdir"
@ -901,7 +908,14 @@ function fetch_and_deploy_gh_release() {
local asset_url="" local asset_url=""
for u in $(echo "$json" | jq -r '.assets[].browser_download_url'); do for u in $(echo "$json" | jq -r '.assets[].browser_download_url'); do
[[ "$u" =~ $pattern || "$u" == *"$pattern" ]] && asset_url="$u" && break filename_candidate="${u##*/}"
case "$filename_candidate" in
$pattern)
asset_url="$u"
break
;;
esac
done done
[[ -z "$asset_url" ]] && { [[ -z "$asset_url" ]] && {
@ -923,16 +937,18 @@ function fetch_and_deploy_gh_release() {
$STD apt-get install -y unzip $STD apt-get install -y unzip
fi fi
$STD unzip "$tmpdir/$filename" -d "$target" $STD unzip "$tmpdir/$filename" -d "$target"
elif [[ "$filename" == *.tar.gz ]]; then elif [[ "$filename" == *.tar.* ]]; then
tar -xzf "$tmpdir/$filename" -C "$target" tar --strip-components=1 -xf "$tmpdir/$filename" -C "$target"
else else
msg_error "Unsupported archive format: $filename" msg_error "Unsupported archive format: $filename"
rm -rf "$tmpdir" rm -rf "$tmpdir"
return 1 return 1
fi fi
### Singlefile Mode ###
elif [[ "$mode" == "singlefile" ]]; then elif [[ "$mode" == "singlefile" ]]; then
local pattern="$6" local pattern="${6%\"}"
pattern="${pattern#\"}"
[[ -z "$pattern" ]] && { [[ -z "$pattern" ]] && {
msg_error "Mode 'singlefile' requires 6th parameter (asset filename pattern)" msg_error "Mode 'singlefile' requires 6th parameter (asset filename pattern)"
rm -rf "$tmpdir" rm -rf "$tmpdir"
@ -941,7 +957,13 @@ function fetch_and_deploy_gh_release() {
local asset_url="" local asset_url=""
for u in $(echo "$json" | jq -r '.assets[].browser_download_url'); do for u in $(echo "$json" | jq -r '.assets[].browser_download_url'); do
[[ "$u" =~ $pattern || "$u" == *"$pattern" ]] && asset_url="$u" && break filename_candidate="${u##*/}"
case "$filename_candidate" in
$pattern)
asset_url="$u"
break
;;
esac
done done
[[ -z "$asset_url" ]] && { [[ -z "$asset_url" ]] && {