Compare commits

...

35 Commits

Author SHA1 Message Date
Tobias
a46a4fde11 refactor 2025-10-15 21:56:35 +02:00
CanbiZ
d830cb9eb2 Add messages to cleanup commands in guardian-install.sh 2025-10-15 20:22:43 +02:00
push-app-to-main[bot]
4fd579f5f0 'Add new script' 2025-10-15 18:18:25 +00:00
community-scripts-pr-app[bot]
2d807eedab Update versions.json (#8358)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-15 14:07:02 +02:00
community-scripts-pr-app[bot]
7c2bfc7c38 Update CHANGELOG.md (#8352)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-15 00:13:45 +00:00
community-scripts-pr-app[bot]
67445bd9ed Update versions.json (#8351)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-15 02:13:22 +02:00
community-scripts-pr-app[bot]
0303e93c40 Update CHANGELOG.md (#8349)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-14 18:56:05 +00:00
Gerhard Burger
53f397512a Update cockpit-install.sh (#8346) 2025-10-14 20:55:40 +02:00
community-scripts-pr-app[bot]
f303b5e3ef Update CHANGELOG.md (#8345)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-14 12:32:33 +00:00
Chris
13098ec5b7 MediaManager: Use managed Python 3.13 (#8343) 2025-10-14 14:32:03 +02:00
community-scripts-pr-app[bot]
36726e2263 Update versions.json (#8344)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-14 14:06:09 +02:00
community-scripts-pr-app[bot]
d4dd02c115 Update CHANGELOG.md (#8335)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-14 00:13:58 +00:00
community-scripts-pr-app[bot]
dbeb56afe9 Update versions.json (#8334)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-14 02:13:36 +02:00
community-scripts-pr-app[bot]
4da1be45b5 Update CHANGELOG.md (#8333)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-13 18:16:05 +00:00
Eduard Marbach
d32f0653fb fix: adjust configarr to use binaries (#8254)
* fix: adjust configarr to use binaries

* Update configarr.sh

* Update configarr-install.sh

* Update configarr.json

* Update configarr-install.sh

* Update configarr.sh

* Update service messages in configarr script

* Update configarr.sh

---------

Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-10-13 20:15:43 +02:00
community-scripts-pr-app[bot]
e4179ddafe Update CHANGELOG.md (#8331)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-13 17:27:16 +00:00
Nícolas Pastorello
e4ec0e4032 GLPI: fix version 11 (#8238)
* Update glpi-install.sh

Updated PHP 8.2 to PHP 8.4;
Adjusted the database configuration for GLPI 11.0.1 and I hope this configuration will be the same for future GLPI versions.

* Update glpi-install.sh

Added setup_mariadb

* Update glpi-install.sh

* Update glpi-install.sh

---------

Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-10-13 19:26:55 +02:00
community-scripts-pr-app[bot]
1fd132e6d3 Update versions.json (#8323)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-13 14:07:52 +02:00
community-scripts-pr-app[bot]
7a6f6631b2 Update CHANGELOG.md (#8319)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-13 08:08:24 +00:00
Slaviša Arežina
c9f031f8af Fix typo (#8316) 2025-10-13 10:07:50 +02:00
community-scripts-pr-app[bot]
9ba1e00de6 Update CHANGELOG.md (#8318)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-13 00:14:13 +00:00
community-scripts-pr-app[bot]
fd32db9157 Update versions.json (#8317)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-13 02:13:52 +02:00
community-scripts-pr-app[bot]
bd7aef10cc Update CHANGELOG.md (#8313)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-12 18:51:09 +00:00
Chris
21bb9c618b Immich: add testing repo (#8310) 2025-10-12 20:50:48 +02:00
community-scripts-pr-app[bot]
68924a2fc2 Update CHANGELOG.md (#8311)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-12 18:00:52 +00:00
Slaviša Arežina
fce7c8a100 Tinyauth: Fix install issues for v4 (#8309)
* Fix Tinyauth

* Update
2025-10-12 20:00:29 +02:00
community-scripts-pr-app[bot]
e0ffcb4160 Update versions.json (#8307)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-12 14:04:56 +02:00
community-scripts-pr-app[bot]
f0fa24e1a5 Update CHANGELOG.md (#8301)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-12 00:14:42 +00:00
community-scripts-pr-app[bot]
a015537d0b Update versions.json (#8300)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-12 02:14:19 +02:00
community-scripts-pr-app[bot]
2244676cee Update CHANGELOG.md (#8298)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-11 20:53:30 +00:00
CanbiZ
b4f0fcb3d3 Zabbix: various bugfixes agent1/agent2 (#8294)
* Zabbix: various bugfixes agent1/agent2

* Update zabbix.sh

---------

Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-10-11 22:53:10 +02:00
community-scripts-pr-app[bot]
b39672f92e Update CHANGELOG.md (#8297)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-11 20:40:52 +00:00
CanbiZ
45e1e490aa wger: fix python and pip install (#8295) 2025-10-11 22:40:31 +02:00
community-scripts-pr-app[bot]
bda3f22016 Update CHANGELOG.md (#8296)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-11 20:37:47 +00:00
CanbiZ
03af580449 searxng: add msgspec as dependency (#8293) 2025-10-11 22:37:24 +02:00
24 changed files with 687 additions and 426 deletions

View File

@@ -10,12 +10,51 @@
> [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-10-15
## 2025-10-14
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- MediaManager: Use managed Python 3.13 [@vhsdream](https://github.com/vhsdream) ([#8343](https://github.com/community-scripts/ProxmoxVE/pull/8343))
- #### 🔧 Refactor
- Update cockpit installation/update [@burgerga](https://github.com/burgerga) ([#8346](https://github.com/community-scripts/ProxmoxVE/pull/8346))
## 2025-10-13
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- GLPI: fix version 11 [@opastorello](https://github.com/opastorello) ([#8238](https://github.com/community-scripts/ProxmoxVE/pull/8238))
- Keycloak: Fix typo in update function [@tremor021](https://github.com/tremor021) ([#8316](https://github.com/community-scripts/ProxmoxVE/pull/8316))
- #### 🔧 Refactor
- fix: adjust configarr to use binaries [@BlackDark](https://github.com/BlackDark) ([#8254](https://github.com/community-scripts/ProxmoxVE/pull/8254))
## 2025-10-12
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Immich: add Debian Testing repo [@vhsdream](https://github.com/vhsdream) ([#8310](https://github.com/community-scripts/ProxmoxVE/pull/8310))
- Tinyauth: Fix install issues for v4 [@tremor021](https://github.com/tremor021) ([#8309](https://github.com/community-scripts/ProxmoxVE/pull/8309))
## 2025-10-11
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Zabbix: various bugfixes agent1/agent2 [@MickLesk](https://github.com/MickLesk) ([#8294](https://github.com/community-scripts/ProxmoxVE/pull/8294))
- wger: fix python and pip install [@MickLesk](https://github.com/MickLesk) ([#8295](https://github.com/community-scripts/ProxmoxVE/pull/8295))
- searxng: add msgspec as dependency [@MickLesk](https://github.com/MickLesk) ([#8293](https://github.com/community-scripts/ProxmoxVE/pull/8293))
- keycloak: fix update check [@MickLesk](https://github.com/MickLesk) ([#8275](https://github.com/community-scripts/ProxmoxVE/pull/8275))
- komga: fix update check [@MickLesk](https://github.com/MickLesk) ([#8285](https://github.com/community-scripts/ProxmoxVE/pull/8285))

View File

@@ -29,15 +29,19 @@ function update_script() {
$STD apk -U upgrade
msg_ok "Updated packages"
msg_info "Updating Tinyauth"
RELEASE=$(curl -s https://api.github.com/repos/steveiliop56/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [ "${RELEASE}" != "$(cat /opt/tinyauth_version.txt)" ] || [ ! -f /opt/tinyauth_version.txt ]; then
if [ "${RELEASE}" != "$(cat ~/.tinyauth 2>/dev/null)" ] || [ ! -f ~/.tinyauth ]; then
msg_info "Stopping Service"
$STD service tinyauth stop
msg_ok "Service Stopped"
msg_info "Updating Tinyauth"
rm -f /opt/tinyauth/tinyauth
curl -fsSL "https://github.com/steveiliop56/tinyauth/releases/download/v${RELEASE}/tinyauth-amd64" -o /opt/tinyauth/tinyauth
chmod +x /opt/tinyauth/tinyauth
echo "${RELEASE}" >/opt/tinyauth_version.txt
echo "${RELEASE}" >~/.tinyauth
msg_ok "Updated Tinyauth"
msg_info "Restarting Tinyauth"
$STD service tinyauth start
msg_ok "Restarted Tinyauth"

View File

@@ -27,73 +27,12 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
"1" "Update LXC" ON \
"2" "Install cockpit-file-sharing" OFF \
"3" "Install cockpit-identities" OFF \
"4" "Install cockpit-navigator" OFF \
3>&1 1>&2 2>&3)
if [ "$UPD" == "1" ]; then
msg_info "Updating ${APP} LXC"
$STD apt update
$STD apt -y upgrade
msg_ok "Updated ${APP} LXC"
exit
fi
if [ "$UPD" == "2" ]; then
msg_info "Installing dependencies (patience)"
$STD apt install -y \
attr \
nfs-kernel-server \
samba \
samba-common-bin \
winbind \
gawk
msg_ok "Installed dependencies"
msg_info "Installing Cockpit file sharing"
URL=$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
FILE=$(basename "$URL")
curl -fsSL "$URL" -o "$FILE"
$STD dpkg -i "$FILE" || $STD apt install -f -y
rm -f "$FILE"
msg_ok "Installed Cockpit file sharing"
exit
fi
if [ "$UPD" == "3" ]; then
msg_info "Installing dependencies (patience)"
$STD apt install -y \
psmisc \
samba \
samba-common-bin
msg_ok "Installed dependencies"
msg_info "Installing Cockpit identities"
URL=$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
FILE=$(basename "$URL")
curl -fsSL "$URL" -o "$FILE"
$STD dpkg -i "$FILE" || $STD apt install -f -y
rm -f "$FILE"
msg_ok "Installed Cockpit identities"
exit
fi
if [ "$UPD" == "4" ]; then
msg_info "Installing dependencies"
$STD apt install -y \
rsync \
zip
msg_ok "Installed dependencies"
msg_info "Installing Cockpit navigator"
URL=$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
FILE=$(basename "$URL")
curl -fsSL "$URL" -o "$FILE"
$STD dpkg -i "$FILE" || $STD apt install -f -y
rm -f "$FILE"
msg_ok "Installed Cockpit navigator"
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt update
$STD apt -y upgrade
msg_ok "Updated ${APP} LXC"
exit
}
start

View File

@@ -10,7 +10,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -28,27 +28,20 @@ function update_script() {
exit
fi
if check_for_gh_release "configarr" "raydak-labs/configarr"; then
msg_info "Stopping $APP"
msg_info "Stopping Service"
systemctl stop configarr-task.timer
msg_ok "Stopped $APP"
msg_ok "Stopped Service"
msg_info "Updating $APP"
mkdir -p /opt/backup/
mv /opt/configarr/{config.yml,secrets.yml,.env} "/opt/backup/"
rm -rf /opt/configarr
fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr"
mv /opt/backup/{config.yml,secrets.yml,.env} "/opt/configarr/"
cd /opt/configarr
$STD pnpm install
$STD pnpm run build
msg_ok "Updated $APP"
msg_info "Starting $APP"
systemctl start configarr-task.timer
msg_ok "Started configarr"
mv /opt/configarr/{config.yml,secrets.yml,.env} /opt/backup/
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr" "prebuild" "latest" "/opt/configarr" "configarr-linux-x64.tar.xz"
mv /opt/backup/{config.yml,secrets.yml,.env} /opt/configarr/
rm -rf /opt/backup
msg_ok "Updated Successfully"
msg_info "Starting Service"
systemctl start configarr-task.timer
msg_ok "Started Service"
msg_ok "Updated Successfully!"
fi
exit
}

79
ct/guardian.sh Executable file
View File

@@ -0,0 +1,79 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: HydroshieldMKII
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/HydroshieldMKII/Guardian
APP="Guardian"
var_tags="${var_tags:-media;monitoring}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-6}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d "/opt/guardian" ]] ; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "guardian" "HydroshieldMKII/Guardian" ; then
msg_info "Stopping Services"
systemctl stop guardian-backend guardian-frontend
msg_ok "Stopped Services"
if [[ -f "/opt/guardian/backend/plex-guard.db" ]] ; then
msg_info "Backing up Database"
cp "/opt/guardian/backend/plex-guard.db" "/tmp/plex-guard.db.backup"
msg_ok "Backed up Database"
fi
cp /opt/guardian/.env /opt
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "guardian" "HydroshieldMKII/Guardian" "tarball" "latest" "/opt/guardian"
mv /opt/.env /opt/guardian
if [[ -f "/tmp/plex-guard.db.backup" ]] ; then
msg_info "Restoring Database"
cp "/tmp/plex-guard.db.backup" "/opt/guardian/backend/plex-guard.db"
rm "/tmp/plex-guard.db.backup"
msg_ok "Restored Database"
fi
msg_info "Updating Guardian"
cd /opt/guardian/backend
$STD npm ci
$STD npm run build
cd /opt/guardian/frontend
$STD npm ci
$STD DEPLOYMENT_MODE=standalone npm run build
msg_ok "Updated Guardian"
msg_info "Starting Services"
systemctl start guardian-backend guardian-frontend
msg_ok "Started Services"
msg_ok "Updated Successfully"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

6
ct/headers/guardian Normal file
View File

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

View File

@@ -39,8 +39,26 @@ function update_script() {
PNPM_VERSION="$(curl -fsSL "https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/package.json" | jq -r '.packageManager | split("@")[1]')"
NODE_VERSION="22" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs
if dpkg -l | grep -q "libmimalloc2.0"; then
$STD apt-get update && $STD apt-get install -y libmimalloc3
if [[ ! -f /etc/apt/preferences.d/preferences ]]; then
msg_info "Adding Debian Testing repo"
sed -i 's/ trixie-updates/ trixie-updates testing/g' /etc/apt/sources.list.d/debian.sources
cat <<EOF >/etc/apt/preferences.d/preferences
Package: *
Pin: release a=unstable
Pin-Priority: 450
Package: *
Pin:release a=testing
Pin-Priority: 450
EOF
if [[ -f /etc/apt/preferences.d/immich ]]; then
rm /etc/apt/preferences.d/immich
fi
$STD apt-get update
msg_ok "Added Debian Testing repo"
msg_info "Installing libmimalloc3"
$STD apt-get install -t testing --no-install-recommends libmimalloc3
msg_ok "Installed libmimalloc3"
fi
STAGING_DIR=/opt/staging

View File

@@ -27,7 +27,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "keycloak-app" "keycloak/keycloak"; then
if check_for_gh_release "keycloak_app" "keycloak/keycloak"; then
msg_info "Stopping Keycloak"
systemctl stop keycloak
msg_ok "Stopped Keycloak"

View File

@@ -54,7 +54,7 @@ function update_script() {
cd /opt/mediamanager
rm -rf "$MM_DIR"/{media_manager,alembic*}
cp -r {media_manager,alembic*} "$MM_DIR"
$STD /usr/local/bin/uv sync --locked --active
$STD /usr/local/bin/uv sync --locked --active -n -p cpython3.13 --managed-python
msg_ok "Updated $APP"
msg_info "Starting Service"

View File

@@ -39,16 +39,18 @@ function update_script() {
tar xzf "$temp_file"
cp -rf wger-"$RELEASE"/* /home/wger/src
cd /home/wger/src || exit
$STD pip install -r requirements_prod.txt --ignore-installed
$STD pip install -e .
$STD python3 manage.py migrate
$STD python3 manage.py collectstatic --no-input
$STD yarn install
$STD yarn build:css:sass
$STD python3 manage.py collectstatic --noinput
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
msg_info "Starting Service"
systemctl start wger
msg_ok "Started $APP"
msg_ok "Started Service"
msg_info "Cleaning Up"
rm -rf "$temp_file"

View File

@@ -42,7 +42,12 @@ function update_script() {
fi
msg_info "Stopping Services"
systemctl stop zabbix-server $AGENT_SERVICE
$STD systemctl stop zabbix-server
if systemctl list-unit-files | grep -q zabbix-agent2; then
$STD systemctl stop zabbix-agent2
else
$STD systemctl stop zabbix-agent
fi
msg_ok "Stopped Services"
msg_info "Updating Zabbix"
@@ -83,14 +88,22 @@ function update_script() {
msg_ok "Updated Zabbix"
msg_info "Starting Services"
systemctl start zabbix-server $AGENT_SERVICE
$STD systemctl start zabbix-server
if systemctl list-unit-files | grep -q zabbix-agent2; then
$STD systemctl start zabbix-agent2
else
$STD systemctl start zabbix-agent
fi
systemctl restart apache2
msg_ok "Started Services"
msg_info "Cleaning Up"
rm -rf /tmp/zabbix-release_latest+debian13_all.deb
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"
msg_ok "Updated Successfully"
msg_ok "Updated Successfully!"
exit
}

View File

@@ -23,7 +23,7 @@
"ram": 512,
"hdd": 4,
"os": "Debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -0,0 +1,35 @@
{
"name": "Guardian",
"slug": "guardian",
"categories": [
13
],
"date_created": "2025-09-22",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://github.com/HydroshieldMKII/Guardian/blob/main/README.md",
"config_path": "/opt/guardian/.env",
"website": "https://github.com/HydroshieldMKII/Guardian",
"logo": null,
"description": "Guardian is a lightweight companion app for Plex that lets you monitor, approve or block devices in real time. It helps you enforce per-user or global policies, stop unwanted sessions automatically and grant temporary access - all through a simple web interface.",
"install_methods": [
{
"type": "default",
"script": "ct/guardian.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 6,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -1,48 +1,68 @@
[
{
"name": "runtipi/runtipi",
"version": "v4.5.0-beta.4",
"date": "2025-10-11T10:48:55Z"
"name": "Graylog2/graylog2-server",
"version": "7.0.0-beta.5",
"date": "2025-10-15T11:43:16Z"
},
{
"name": "TandoorRecipes/recipes",
"version": "2.3.2",
"date": "2025-10-11T09:59:27Z"
"name": "blakeblackshear/frigate",
"version": "v0.14.1",
"date": "2024-08-29T22:32:51Z"
},
{
"name": "meilisearch/meilisearch",
"version": "prototype-docker-alpine-3-22-v3",
"date": "2025-10-11T09:04:29Z"
"name": "prometheus/prometheus",
"version": "v0.307.0",
"date": "2025-10-15T11:13:27Z"
},
{
"name": "duplicati/duplicati",
"version": "v2.1.2.3-2.1.2.3_beta_2025-10-11",
"date": "2025-10-11T06:49:43Z"
"name": "crowdsecurity/crowdsec",
"version": "v1.7.0",
"date": "2025-09-01T10:10:34Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3",
"date": "2025-09-20T12:12:33Z"
"name": "jenkinsci/jenkins",
"version": "jenkins-2.528.1",
"date": "2025-10-15T10:42:28Z"
},
{
"name": "mattermost/mattermost",
"version": "v10.12.1",
"date": "2025-10-15T08:15:09Z"
},
{
"name": "openobserve/openobserve",
"version": "v0.15.2",
"date": "2025-10-15T07:42:29Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.27.12",
"date": "2025-10-15T07:10:05Z"
},
{
"name": "wavelog/wavelog",
"version": "2.1.2",
"date": "2025-10-15T06:51:32Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.80",
"date": "2025-09-30T20:25:16Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.111",
"date": "2025-10-11T05:50:36Z"
"version": "v0.24.134",
"date": "2025-10-15T05:52:51Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.4.2",
"date": "2025-10-07T08:11:58Z"
},
{
"name": "BerriAI/litellm",
"version": "v1.77.7.dev16",
"date": "2025-10-11T00:54:34Z"
"name": "esphome/esphome",
"version": "2025.10.0",
"date": "2025-10-15T04:30:41Z"
},
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-10-11T00:27:06Z"
"date": "2025-10-15T00:27:08Z"
},
{
"name": "steveiliop56/tinyauth",
@@ -50,9 +70,9 @@
"date": "2025-10-08T16:12:11Z"
},
{
"name": "home-assistant/core",
"version": "2025.10.2",
"date": "2025-10-10T21:20:11Z"
"name": "seerr-team/seerr",
"version": "preview-seerr",
"date": "2025-10-14T22:21:33Z"
},
{
"name": "Ombi-app/Ombi",
@@ -60,19 +80,244 @@
"date": "2025-01-05T21:14:23Z"
},
{
"name": "0xERR0R/blocky",
"version": "v0.27.0",
"date": "2025-10-10T20:11:48Z"
"name": "BerriAI/litellm",
"version": "v1.78.0.rc.3",
"date": "2025-10-14T21:41:36Z"
},
{
"name": "chrisbenincasa/tunarr",
"version": "v0.23.0-alpha.9",
"date": "2025-10-14T20:43:55Z"
},
{
"name": "apache/cassandra",
"version": "5.0.6-tentative",
"date": "2025-10-14T20:36:34Z"
},
{
"name": "runtipi/runtipi",
"version": "nightly",
"date": "2025-10-14T19:51:52Z"
},
{
"name": "cloudflare/cloudflared",
"version": "2025.10.0",
"date": "2025-10-14T19:07:37Z"
},
{
"name": "evcc-io/evcc",
"version": "0.209.2",
"date": "2025-10-14T18:55:44Z"
},
{
"name": "crafty-controller/crafty-4",
"version": "v4.5.5",
"date": "2025-10-14T18:48:36Z"
},
{
"name": "tailscale/tailscale",
"version": "v1.88.4",
"date": "2025-10-14T17:57:52Z"
},
{
"name": "keycloak/keycloak",
"version": "26.0.16",
"date": "2025-10-08T04:44:28Z"
"version": "26.2.10",
"date": "2025-10-14T10:45:09Z"
},
{
"name": "netbox-community/netbox",
"version": "v4.4.3",
"date": "2025-10-14T17:52:57Z"
},
{
"name": "rcourtman/Pulse",
"version": "v4.22.0",
"date": "2025-10-09T08:23:58Z"
"version": "issue-551",
"date": "2025-10-14T17:44:44Z"
},
{
"name": "plankanban/planka",
"version": "planka-1.1.0",
"date": "2025-10-14T16:51:22Z"
},
{
"name": "immich-app/immich",
"version": "v2.1.0",
"date": "2025-10-14T16:24:43Z"
},
{
"name": "home-assistant/operating-system",
"version": "16.2",
"date": "2025-09-08T14:03:25Z"
},
{
"name": "project-zot/zot",
"version": "v2.1.9",
"date": "2025-10-14T16:18:49Z"
},
{
"name": "element-hq/synapse",
"version": "v1.140.0",
"date": "2025-10-14T15:57:12Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.115.3",
"date": "2025-10-14T14:40:17Z"
},
{
"name": "meilisearch/meilisearch",
"version": "prototype-v1.23.0.personalization-00",
"date": "2025-10-14T10:25:08Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.50.24",
"date": "2025-10-14T09:04:27Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3",
"date": "2025-09-20T12:12:33Z"
},
{
"name": "cloudreve/cloudreve",
"version": "4.9.1",
"date": "2025-10-14T02:56:21Z"
},
{
"name": "Prowlarr/Prowlarr",
"version": "v2.0.5.5160",
"date": "2025-08-23T21:23:11Z"
},
{
"name": "rogerfar/rdt-client",
"version": "v2.0.119",
"date": "2025-10-13T23:15:11Z"
},
{
"name": "jellyfin/jellyfin",
"version": "v10.10.7",
"date": "2025-04-05T19:14:59Z"
},
{
"name": "outline/outline",
"version": "v1.0.0-2",
"date": "2025-10-13T20:23:43Z"
},
{
"name": "hargata/lubelog",
"version": "v1.5.3",
"date": "2025-10-13T19:59:30Z"
},
{
"name": "bluenviron/mediamtx",
"version": "v1.15.2",
"date": "2025-10-13T17:03:15Z"
},
{
"name": "jhuckaby/Cronicle",
"version": "v0.9.97",
"date": "2025-10-13T16:13:50Z"
},
{
"name": "sabnzbd/sabnzbd",
"version": "4.5.3",
"date": "2025-08-25T13:59:56Z"
},
{
"name": "node-red/node-red",
"version": "4.1.1",
"date": "2025-10-13T14:23:53Z"
},
{
"name": "prometheus/alertmanager",
"version": "v0.29.0-rc.0",
"date": "2025-10-10T01:13:27Z"
},
{
"name": "SigNoz/signoz",
"version": "v0.97.1",
"date": "2025-10-13T07:42:50Z"
},
{
"name": "zitadel/zitadel",
"version": "v4.3.3",
"date": "2025-10-13T07:17:02Z"
},
{
"name": "moghtech/komodo",
"version": "v1.19.5",
"date": "2025-09-27T20:59:46Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.4.2",
"date": "2025-10-07T08:11:58Z"
},
{
"name": "Luligu/matterbridge",
"version": "3.3.2",
"date": "2025-10-12T21:30:43Z"
},
{
"name": "globaleaks/globaleaks-whistleblowing-software",
"version": "v5.0.85",
"date": "2025-10-12T19:55:18Z"
},
{
"name": "booklore-app/booklore",
"version": "v1.6.0",
"date": "2025-10-12T16:09:29Z"
},
{
"name": "ellite/Wallos",
"version": "v4.4.1",
"date": "2025-10-12T15:38:24Z"
},
{
"name": "YunoHost/yunohost",
"version": "debian/12.1.28",
"date": "2025-10-12T14:55:27Z"
},
{
"name": "PrivateBin/PrivateBin",
"version": "2.0.1",
"date": "2025-10-12T10:00:52Z"
},
{
"name": "authelia/authelia",
"version": "v4.39.13",
"date": "2025-10-12T05:45:48Z"
},
{
"name": "gelbphoenix/autocaliweb",
"version": "v0.10.4",
"date": "2025-10-11T19:53:39Z"
},
{
"name": "Stirling-Tools/Stirling-PDF",
"version": "v1.4.0",
"date": "2025-10-11T18:16:32Z"
},
{
"name": "TandoorRecipes/recipes",
"version": "2.3.2",
"date": "2025-10-11T09:59:27Z"
},
{
"name": "duplicati/duplicati",
"version": "v2.1.2.3-2.1.2.3_beta_2025-10-11",
"date": "2025-10-11T06:49:43Z"
},
{
"name": "home-assistant/core",
"version": "2025.10.2",
"date": "2025-10-10T21:20:11Z"
},
{
"name": "0xERR0R/blocky",
"version": "v0.27.0",
"date": "2025-10-10T20:11:48Z"
},
{
"name": "homarr-labs/homarr",
@@ -94,11 +339,6 @@
"version": "v0.12.5",
"date": "2025-10-10T16:30:53Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.50.21",
"date": "2025-10-10T16:18:56Z"
},
{
"name": "Brandawg93/PeaNUT",
"version": "v5.16.0",
@@ -109,31 +349,11 @@
"version": "v1.17.1",
"date": "2025-10-10T16:12:41Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.27.9",
"date": "2025-10-10T14:48:51Z"
},
{
"name": "apache/tomcat",
"version": "10.1.48",
"date": "2025-10-10T14:46:53Z"
},
{
"name": "element-hq/synapse",
"version": "v1.138.4",
"date": "2025-10-08T09:11:57Z"
},
{
"name": "crowdsecurity/crowdsec",
"version": "v1.7.0",
"date": "2025-09-01T10:10:34Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.114.4",
"date": "2025-10-07T14:28:46Z"
},
{
"name": "semaphoreui/semaphore",
"version": "v2.16.34",
@@ -144,26 +364,11 @@
"version": "v0.18.4",
"date": "2025-04-05T19:12:57Z"
},
{
"name": "zitadel/zitadel",
"version": "v4.3.2",
"date": "2025-10-10T08:39:41Z"
},
{
"name": "moghtech/komodo",
"version": "v1.19.5",
"date": "2025-09-27T20:59:46Z"
},
{
"name": "emqx/emqx",
"version": "e6.0.1-alpha.1",
"date": "2025-10-10T06:57:48Z"
},
{
"name": "SigNoz/signoz",
"version": "v0.97.0",
"date": "2025-10-10T06:52:42Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.4",
@@ -179,16 +384,6 @@
"version": "r1945",
"date": "2025-10-10T02:30:05Z"
},
{
"name": "prometheus/alertmanager",
"version": "v0.29.0-rc.0",
"date": "2025-10-10T01:13:27Z"
},
{
"name": "gelbphoenix/autocaliweb",
"version": "v0.10.3",
"date": "2025-10-09T21:55:26Z"
},
{
"name": "FlareSolverr/FlareSolverr",
"version": "v3.4.2",
@@ -199,21 +394,6 @@
"version": "v0.13.2",
"date": "2025-10-09T18:33:46Z"
},
{
"name": "esphome/esphome",
"version": "2025.9.3",
"date": "2025-10-01T11:30:07Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.80",
"date": "2025-09-30T20:25:16Z"
},
{
"name": "mattermost/mattermost",
"version": "server/public/v0.1.20",
"date": "2025-10-09T17:22:46Z"
},
{
"name": "ErsatzTV/ErsatzTV",
"version": "v25.7.1",
@@ -249,11 +429,6 @@
"version": "v1.12.10",
"date": "2025-10-09T04:32:35Z"
},
{
"name": "rogerfar/rdt-client",
"version": "v2.0.118",
"date": "2025-10-09T03:33:01Z"
},
{
"name": "rabbitmq/rabbitmq-server",
"version": "v4.1.4",
@@ -309,26 +484,11 @@
"version": "flowise@3.0.8",
"date": "2025-10-08T12:19:18Z"
},
{
"name": "prometheus/prometheus",
"version": "v0.307.0-rc.0",
"date": "2025-10-08T11:25:44Z"
},
{
"name": "authelia/authelia",
"version": "v4.39.12",
"date": "2025-10-08T08:03:01Z"
},
{
"name": "gotson/komga",
"version": "1.23.5",
"date": "2025-10-08T07:31:37Z"
},
{
"name": "booklore-app/booklore",
"version": "v1.5.1",
"date": "2025-10-07T21:57:21Z"
},
{
"name": "open-webui/open-webui",
"version": "v0.6.33",
@@ -359,11 +519,6 @@
"version": "v0.83.2",
"date": "2025-10-07T14:30:15Z"
},
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.531",
"date": "2025-10-07T13:42:39Z"
},
{
"name": "zwave-js/zwave-js-ui",
"version": "v11.4.1",
@@ -374,11 +529,6 @@
"version": "v2.2.5",
"date": "2025-10-07T12:34:31Z"
},
{
"name": "evcc-io/evcc",
"version": "0.209.1",
"date": "2025-10-07T11:29:11Z"
},
{
"name": "pocket-id/pocket-id",
"version": "v1.13.1",
@@ -394,11 +544,6 @@
"version": "0.10.1.14",
"date": "2025-10-06T23:35:16Z"
},
{
"name": "outline/outline",
"version": "v1.0.0-1",
"date": "2025-10-06T23:16:32Z"
},
{
"name": "Radarr/Radarr",
"version": "v5.28.0.10274",
@@ -419,11 +564,6 @@
"version": "v5.26.0",
"date": "2025-10-06T17:57:27Z"
},
{
"name": "seerr-team/seerr",
"version": "preview-seerr",
"date": "2025-10-06T16:50:29Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-ui@15.8.4",
@@ -439,11 +579,6 @@
"version": "v25.10.1",
"date": "2025-10-06T14:23:20Z"
},
{
"name": "Graylog2/graylog2-server",
"version": "7.0.0-beta.3",
"date": "2025-10-06T11:25:12Z"
},
{
"name": "jordan-dalby/ByteStash",
"version": "v1.5.9",
@@ -459,26 +594,11 @@
"version": "v1.19.16",
"date": "2025-10-05T23:28:59Z"
},
{
"name": "sabnzbd/sabnzbd",
"version": "4.5.3",
"date": "2025-08-25T13:59:56Z"
},
{
"name": "plankanban/planka",
"version": "planka-1.0.5",
"date": "2025-10-05T18:54:25Z"
},
{
"name": "BookStackApp/BookStack",
"version": "v25.07.3",
"date": "2025-10-05T14:47:20Z"
},
{
"name": "Prowlarr/Prowlarr",
"version": "v2.0.5.5160",
"date": "2025-08-23T21:23:11Z"
},
{
"name": "seriousm4x/UpSnap",
"version": "5.2.2",
@@ -489,11 +609,6 @@
"version": "v0.62.11",
"date": "2025-10-05T07:31:57Z"
},
{
"name": "YunoHost/yunohost",
"version": "debian/12.1.27",
"date": "2025-10-05T02:16:42Z"
},
{
"name": "webmin/webmin",
"version": "2.520",
@@ -504,21 +619,6 @@
"version": "v0.8.8-beta",
"date": "2025-10-04T15:56:29Z"
},
{
"name": "globaleaks/globaleaks-whistleblowing-software",
"version": "v5.0.84",
"date": "2025-10-04T08:06:12Z"
},
{
"name": "Luligu/matterbridge",
"version": "3.3.0",
"date": "2025-10-03T21:22:14Z"
},
{
"name": "immich-app/immich",
"version": "v2.0.1",
"date": "2025-10-03T16:32:01Z"
},
{
"name": "docker/compose",
"version": "v2.40.0",
@@ -529,11 +629,6 @@
"version": "8.2.2",
"date": "2025-10-03T06:22:38Z"
},
{
"name": "jhuckaby/Cronicle",
"version": "v0.9.95",
"date": "2025-10-02T16:07:18Z"
},
{
"name": "cockpit-project/cockpit",
"version": "348",
@@ -579,11 +674,6 @@
"version": "r8.2.1",
"date": "2025-09-30T21:46:28Z"
},
{
"name": "netbox-community/netbox",
"version": "v4.4.2",
"date": "2025-09-30T20:16:13Z"
},
{
"name": "WordPress/WordPress",
"version": "4.7.31",
@@ -649,11 +739,6 @@
"version": "v1.2.6",
"date": "2025-09-28T18:09:21Z"
},
{
"name": "jellyfin/jellyfin",
"version": "v10.10.7",
"date": "2025-04-05T19:14:59Z"
},
{
"name": "karlomikus/bar-assistant",
"version": "v5.8.1",
@@ -704,21 +789,11 @@
"version": "1.2.39",
"date": "2025-09-25T15:57:02Z"
},
{
"name": "tailscale/tailscale",
"version": "v1.88.3",
"date": "2025-09-25T15:49:37Z"
},
{
"name": "linkwarden/linkwarden",
"version": "v2.13.0",
"date": "2025-09-25T15:19:02Z"
},
{
"name": "bluenviron/mediamtx",
"version": "v1.15.1",
"date": "2025-09-25T13:35:14Z"
},
{
"name": "forgejo/forgejo",
"version": "v14.0.0-dev",
@@ -744,11 +819,6 @@
"version": "v2.0.10",
"date": "2025-09-24T08:33:37Z"
},
{
"name": "chrisbenincasa/tunarr",
"version": "v0.22.5",
"date": "2025-09-24T00:01:40Z"
},
{
"name": "grafana/grafana",
"version": "v12.2.0",
@@ -769,11 +839,6 @@
"version": "v1.5.0",
"date": "2025-09-22T15:28:49Z"
},
{
"name": "cloudflare/cloudflared",
"version": "2025.9.1",
"date": "2025-09-22T13:32:14Z"
},
{
"name": "itsmng/itsm-ng",
"version": "v2.1.0",
@@ -804,11 +869,6 @@
"version": "v0.17.0",
"date": "2025-09-19T22:23:28Z"
},
{
"name": "hargata/lubelog",
"version": "v1.5.2",
"date": "2025-09-19T14:18:53Z"
},
{
"name": "saltstack/salt",
"version": "v3007.8",
@@ -859,11 +919,6 @@
"version": "0.20.3",
"date": "2025-09-16T07:29:49Z"
},
{
"name": "wavelog/wavelog",
"version": "2.1.1",
"date": "2025-09-16T06:21:32Z"
},
{
"name": "Paymenter/Paymenter",
"version": "v1.3.4",
@@ -874,11 +929,6 @@
"version": "3.2.0",
"date": "2025-09-15T18:03:08Z"
},
{
"name": "ellite/Wallos",
"version": "v4.3.0",
"date": "2025-09-15T17:34:48Z"
},
{
"name": "linuxserver/Heimdall",
"version": "v2.7.6",
@@ -889,11 +939,6 @@
"version": "v0.25.1",
"date": "2025-09-15T14:57:30Z"
},
{
"name": "crafty-controller/crafty-4",
"version": "v4.5.4",
"date": "2025-09-15T00:49:53Z"
},
{
"name": "karakeep-app/karakeep",
"version": "cli/v0.27.1",
@@ -904,11 +949,6 @@
"version": "v0.8.1",
"date": "2025-09-14T06:45:23Z"
},
{
"name": "cloudreve/cloudreve",
"version": "4.8.0",
"date": "2025-09-12T09:48:11Z"
},
{
"name": "go-vikunja/vikunja",
"version": "v1.0.0-rc0",
@@ -939,11 +979,6 @@
"version": "v4.3.1",
"date": "2025-09-08T22:26:23Z"
},
{
"name": "home-assistant/operating-system",
"version": "16.2",
"date": "2025-09-08T14:03:25Z"
},
{
"name": "paperless-ngx/paperless-ngx",
"version": "v2.18.4",
@@ -954,11 +989,6 @@
"version": "RELEASE.2025-09-07T16-13-09Z",
"date": "2025-09-07T18:53:04Z"
},
{
"name": "Stirling-Tools/Stirling-PDF",
"version": "v1.3.2",
"date": "2025-09-05T18:44:15Z"
},
{
"name": "CrazyWolf13/streamlink-webui",
"version": "0.6",
@@ -969,31 +999,11 @@
"version": "2.0.0-beta.2-temp",
"date": "2025-03-28T08:45:58Z"
},
{
"name": "blakeblackshear/frigate",
"version": "v0.14.1",
"date": "2024-08-29T22:32:51Z"
},
{
"name": "openobserve/openobserve",
"version": "v0.15.1",
"date": "2025-09-04T10:37:23Z"
},
{
"name": "apache/cassandra",
"version": "cassandra-4.1.10",
"date": "2025-09-03T08:46:02Z"
},
{
"name": "healthchecks/healthchecks",
"version": "v3.11.2",
"date": "2025-09-02T08:36:57Z"
},
{
"name": "project-zot/zot",
"version": "v2.1.8",
"date": "2025-09-01T19:20:42Z"
},
{
"name": "seanmorley15/AdventureLog",
"version": "v0.11.0",
@@ -1149,21 +1159,11 @@
"version": "v0.4.5",
"date": "2025-07-29T16:39:18Z"
},
{
"name": "node-red/node-red",
"version": "4.1.0",
"date": "2025-07-29T15:15:26Z"
},
{
"name": "navidrome/navidrome",
"version": "v0.58.0",
"date": "2025-07-28T18:59:50Z"
},
{
"name": "PrivateBin/PrivateBin",
"version": "2.0.0",
"date": "2025-07-28T07:48:40Z"
},
{
"name": "umami-software/umami",
"version": "v2.19.0",

View File

@@ -14,16 +14,14 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apk add --no-cache curl openssl apache2-utils
$STD apk add --no-cache openssl apache2-utils
msg_ok "Installed Dependencies"
msg_info "Installing Tinyauth"
mkdir -p /opt/tinyauth
RELEASE=$(curl -s https://api.github.com/repos/steveiliop56/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/steveiliop56/tinyauth/releases/download/v${RELEASE}/tinyauth-amd64" -o /opt/tinyauth/tinyauth
chmod +x /opt/tinyauth/tinyauth
PASS=$(openssl rand -base64 8 | tr -dc 'a-zA-Z0-9' | head -c 8)
USER=$(htpasswd -Bbn "tinyauth" "${PASS}")
@@ -32,24 +30,18 @@ Tinyauth Credentials
Username: tinyauth
Password: ${PASS}
EOF
echo "${RELEASE}" >/opt/tinyauth_version.txt
echo "${RELEASE}" >~/.tinyauth
msg_ok "Installed Tinyauth"
read -p "${TAB3}Enter your Tinyauth subdomain (e.g. https://tinyauth.example.com): " app_url
msg_info "Creating Tinyauth Service"
SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | head -c 32)
read -r -p "${TAB3}Enter your Tinyauth subdomain (e.g. https://tinyauth.example.com): " app_url
cat <<EOF >/opt/tinyauth/.env
DATABASE_PATH=/opt/tinyauth/database.db
SECRET=${SECRET}
USERS=${USER}
USERS='${USER}'
APP_URL=${app_url}
EOF
sed -i -e 's/\$/\$\$/g' /opt/tinyauth/.env
msg_info "Creating Service"
cat <<'EOF' >/etc/init.d/tinyauth
#!/sbin/openrc-run
description="Tinyauth Service"
@@ -69,7 +61,6 @@ depend() {
use net
}
EOF
chmod +x /etc/init.d/tinyauth
$STD rc-update add tinyauth default
msg_ok "Enabled Tinyauth Service"

View File

@@ -16,12 +16,48 @@ update_os
msg_info "Installing Cockpit"
source /etc/os-release
echo "deb http://deb.debian.org/debian ${VERSION_CODENAME}-backports main" >/etc/apt/sources.list.d/backports.list
cat <<EOF >/etc/apt/sources.list.d/debian-backports.sources
Types: deb deb-src
URIs: http://deb.debian.org/debian
Suites: ${VERSION_CODENAME}-backports
Components: main
Enabled: yes
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF
$STD apt update
$STD apt install -t ${VERSION_CODENAME}-backports cockpit --no-install-recommends -y
$STD apt install -t ${VERSION_CODENAME}-backports cockpit cracklib-runtime --no-install-recommends -y
sed -i "s/root//g" /etc/cockpit/disallowed-users
msg_ok "Installed Cockpit"
read -r -p "Would you like to install 45Drives' cockpit-file-sharing, cockpit-identities, and cockpit-navigator <y/N> " prompt
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
install_45drives=true
if [[ "${VERSION_ID}" -ge 13 ]]; then
read -r -p "Debian ${VERSION_ID} is not officially supported by 45Drives yet, would you like to continue anyway? <y/N> " prompt
if [[ ! "${prompt,,}" =~ ^(y|yes)$ ]]; then
install_45drives=false
fi
fi
if [[ "$install_45drives" == "true" ]]; then
msg_info "Installing 45Drives' cockpit extensions"
curl -fsSL https://repo.45drives.com/key/gpg.asc | gpg --pinentry-mode loopback --batch --yes --dearmor -o /usr/share/keyrings/45drives-archive-keyring.gpg
cat <<EOF >/etc/apt/sources.list.d/45drives-enterprise.sources
Types: deb
URIs: https://repo.45drives.com/enterprise/debian
Suites: bookworm
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/45drives-archive-keyring.gpg
EOF
$STD apt update
$STD apt install cockpit-file-sharing cockpit-identities cockpit-navigator -y
msg_ok "Installed 45Drives' cockpit extensions"
fi
fi
motd_ssh
customize

View File

@@ -14,26 +14,24 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
git
$STD apt install -y git
msg_ok "Installed Dependencies"
NODE_MODULE="pnpm@latest" setup_nodejs
fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr"
fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr" "prebuild" "latest" "/opt/configarr" "configarr-linux-x64.tar.xz"
msg_info "Setup ${APPLICATION}"
msg_info "Setup Configarr"
cat <<EOF >/opt/configarr/.env
ROOT_PATH=/opt/configarr
CUSTOM_REPO_ROOT=/opt/configarr/repos
CONFIG_LOCATION=/opt/configarr/config.yml
SECRETS_LOCATION=/opt/configarr/secrets.yml
EOF
mv /opt/configarr/secrets.yml.template /opt/configarr/secrets.yml
sed 's|#localConfigTemplatesPath: /app/templates|#localConfigTemplatesPath: /opt/configarr/templates|' /opt/configarr/config.yml.template >/opt/configarr/config.yml
cd /opt/configarr
$STD pnpm install
$STD pnpm run build
msg_ok "Setup ${APPLICATION}"
curl -fsSLO https://raw.githubusercontent.com/raydak-labs/configarr/refs/heads/main/examples/full/config/config.yml
curl -fsSLO https://raw.githubusercontent.com/raydak-labs/configarr/refs/heads/main/examples/full/config/secrets.yml
sed 's|#localConfigTemplatesPath: /app/templates|#localConfigTemplatesPath: /opt/configarr/templates|' /opt/configarr/config.yml
msg_ok "Setup Configarr"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/configarr-task.service
@@ -41,9 +39,9 @@ cat <<EOF >/etc/systemd/system/configarr-task.service
Description=Run Configarr Task
[Service]
Type=oneshot
Type=simple
WorkingDirectory=/opt/configarr
ExecStart=/usr/bin/node /opt/configarr/bundle.cjs
ExecStart=/opt/configarr/configarr
EOF
cat <<EOF >/etc/systemd/system/configarr-task.timer
@@ -65,6 +63,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
$STD apt-get install -y \
git \
apache2 \
php8.2-{apcu,cli,common,curl,gd,imap,ldap,mysql,xmlrpc,xml,mbstring,bcmath,intl,zip,redis,bz2,soap} \
php8.4-{apcu,cli,common,curl,gd,ldap,mysql,xmlrpc,xml,mbstring,bcmath,intl,zip,redis,bz2,soap} \
php-cas \
libapache2-mod-php
msg_ok "Installed Dependencies"
@@ -43,12 +43,11 @@ msg_ok "Set up database"
msg_info "Installing GLPi"
cd /opt
#RELEASE=$(curl -fsSL https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/')
curl -fsSL "https://github.com/glpi-project/glpi/releases/download/10.0.20/glpi-10.0.20.tgz" -o "glpi-10.0.20.tgz"
$STD tar -xzvf glpi-10.0.20.tgz
RELEASE=$(curl -fsSL https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/')
curl -fsSL "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz" -o $(basename "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz")
$STD tar -xzvf glpi-${RELEASE}.tgz
cd /opt/glpi
$STD php bin/console db:install --db-name=$DB_NAME --db-user=$DB_USER --db-password=$DB_PASS --no-interaction
echo "10.0.20" >/opt/${APPLICATION}_version.txt
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Installed GLPi"
msg_info "Setting Downstream file"
@@ -83,6 +82,18 @@ define('GLPI_LOG_DIR', '/var/log/glpi');
EOF
msg_ok "Configured Downstream file"
msg_info "Configuring GLPI Database"
$STD /usr/bin/php /opt/glpi/bin/console db:install \
--db-host=localhost \
--db-name=$DB_NAME \
--db-user=$DB_USER \
--db-password=$DB_PASS \
--default-language=en_US \
--no-interaction \
--allow-superuser \
--force
msg_ok "Configured GLPI Database"
msg_info "Setting Folder and File Permissions"
chown root:root /opt/glpi/ -R
chown www-data:www-data /etc/glpi -R
@@ -144,7 +155,7 @@ customize
msg_info "Cleaning up"
rm -rf /opt/glpi/install
rm -rf /opt/glpi-10.0.20.tgz
rm -rf /opt/glpi-${RELEASE}.tgz
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -0,0 +1,75 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: HydroshieldMKII
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/HydroshieldMKII/Guardian
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt install -y sqlite3
msg_ok "Installed Dependencies"
NODE_VERSION="24" setup_nodejs
fetch_and_deploy_gh_release "guardian" "HydroshieldMKII/Guardian" "tarball" "latest" "/opt/guardian"
msg_info "Configuring ${APPLICATION}"
cd /opt/guardian/backend
$STD npm ci
$STD npm run build
cd /opt/guardian/frontend
$STD npm ci
export DEPLOYMENT_MODE=standalone
$STD npm run build
msg_ok "Configured ${APPLICATION}"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/guardian-backend.service
[Unit]
Description=Guardian Backend
After=network.target
[Service]
WorkingDirectory=/opt/guardian/backend
ExecStart=/usr/bin/node dist/main.js
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF
cat <<EOF >/etc/systemd/system/guardian-frontend.service
[Unit]
Description=Guardian Frontend
After=guardian-backend.service network.target
Wants=guardian-backend.service
[Service]
WorkingDirectory=/opt/guardian/frontend
Environment=DEPLOYMENT_MODE=standalone
ExecStart=/usr/bin/npm run start
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now guardian-backend
systemctl enable -q --now guardian-frontend
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -46,7 +46,6 @@ $STD apt-get install --no-install-recommends -y \
libgomp1 \
liblqr-1-0 \
libltdl7 \
libmimalloc3 \
libopenjp2-7 \
meson \
ninja-build \
@@ -109,6 +108,23 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_ok "Installed OpenVINO dependencies"
fi
msg_info "Configuring Debian Testing Repo"
sed -i 's/ trixie-updates/ trixie-updates testing/g' /etc/apt/sources.list.d/debian.sources
cat <<EOF >/etc/apt/preferences.d/preferences
Package: *
Pin: release a=unstable
Pin-Priority: 450
Package: *
Pin:release a=testing
Pin-Priority: 450
EOF
$STD apt-get update
msg_ok "Configured Debian Testing repo"
msg_info "Installing libmimalloc3"
$STD apt-get install -t testing --no-install-recommends -yqq libmimalloc3
msg_ok "Installed libmimalloc3"
PNPM_VERSION="$(curl -fsSL "https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/package.json" | jq -r '.packageManager | split("@")[1]')"
NODE_VERSION="22" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs
PG_VERSION="16" PG_MODULES="pgvector" setup_postgresql

View File

@@ -58,8 +58,7 @@ export BASE_PATH=""
export VIRTUAL_ENV="${MM_DIR}/venv"
cd /opt/mediamanager
cp -r {media_manager,alembic*} "$MM_DIR"
$STD /usr/local/bin/uv venv "$VIRTUAL_ENV"
$STD /usr/local/bin/uv sync --locked --active
$STD /usr/local/bin/uv sync --locked --active -n -p cpython3.13 --managed-python
msg_ok "Configured MediaManager"
msg_info "Creating config and start script"

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing SearXNG dependencies"
echo "deb http://deb.debian.org/debian bookworm-backports main" > /etc/apt/sources.list.d/backports.list
echo "deb http://deb.debian.org/debian bookworm-backports main" >/etc/apt/sources.list.d/backports.list
$STD apt-get update
$STD apt-get install -y \
python3-dev python3-babel python3-venv python-is-python3 \
@@ -36,7 +36,7 @@ msg_info "Creating Python virtual environment"
sudo -H -u searxng bash -c '
python3 -m venv /usr/local/searxng/searx-pyenv &&
. /usr/local/searxng/searx-pyenv/bin/activate &&
pip install -U pip setuptools wheel pyyaml lxml &&
pip install -U pip setuptools wheel pyyaml lxml msgspec &&
pip install --use-pep517 --no-build-isolation -e /usr/local/searxng/searxng-src
'
msg_ok "Python environment ready"

View File

@@ -42,7 +42,7 @@ curl -fsSL "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.
tar xzf "$RELEASE".tar.gz
mv wger-"$RELEASE" /home/wger/src
cd /home/wger/src || exit
$STD pip install -r requirements_prod.txt
$STD pip install -r requirements_prod.txt --ignore-installed
$STD pip install -e .
$STD wger create-settings --database-path /home/wger/db/database.sqlite
sed -i "s#home/wger/src/media#home/wger/media#g" /home/wger/src/settings.py

View File

@@ -102,8 +102,14 @@ fi
msg_ok "Configured Fping"
msg_info "Starting Services"
systemctl restart zabbix-server zabbix-agent2 apache2
systemctl enable -q --now zabbix-server zabbix-agent2 apache2
if [ "$AGENT_PKG" = "zabbix-agent2" ]; then
AGENT_SERVICE="zabbix-agent2"
else
AGENT_SERVICE="zabbix-agent"
fi
systemctl restart zabbix-server
systemctl enable -q --now zabbix-server $AGENT_SERVICE apache2
msg_ok "Started Services"
motd_ssh