mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-11-04 10:22:50 +00:00
Compare commits
26 Commits
2025-04-04
...
2025-04-07
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a906d35e2 | ||
|
|
97674cfae7 | ||
|
|
89ae467364 | ||
|
|
42a7c00bca | ||
|
|
d28368b596 | ||
|
|
9786bfb55e | ||
|
|
26ea046ba2 | ||
|
|
061c7ebd2e | ||
|
|
5313bb0103 | ||
|
|
86577a0d0d | ||
|
|
4ae0352304 | ||
|
|
0c202066f5 | ||
|
|
9bac1398b2 | ||
|
|
251f3c411d | ||
|
|
5b73662d9c | ||
|
|
4ef88cd051 | ||
|
|
427ce771d7 | ||
|
|
c08ebc48e8 | ||
|
|
421248ccf3 | ||
|
|
b395a1846c | ||
|
|
c2893f3edf | ||
|
|
00f91843ec | ||
|
|
5451047f44 | ||
|
|
d8848464be | ||
|
|
019e1ac8a0 | ||
|
|
d4b67e0c7e |
50
CHANGELOG.md
50
CHANGELOG.md
@@ -14,6 +14,56 @@ 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-04-07
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Breaking: Hoarder > Karakeep [@MickLesk](https://github.com/MickLesk) ([#3699](https://github.com/community-scripts/ProxmoxVE/pull/3699))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Actual: Increase RAM and add heap-space var for nodejs [@MickLesk](https://github.com/MickLesk) ([#3713](https://github.com/community-scripts/ProxmoxVE/pull/3713))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Alpine-MariaDB: Fix Install Service startup [@MickLesk](https://github.com/MickLesk) ([#3701](https://github.com/community-scripts/ProxmoxVE/pull/3701))
|
||||||
|
- Zitadel: Fix release tarball crawling [@tremor021](https://github.com/tremor021) ([#3716](https://github.com/community-scripts/ProxmoxVE/pull/3716))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Kimai: bump php to 8.4 [@MickLesk](https://github.com/MickLesk) ([#3724](https://github.com/community-scripts/ProxmoxVE/pull/3724))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Refactor: Zabbix, get always latest version [@MickLesk](https://github.com/MickLesk) ([#3720](https://github.com/community-scripts/ProxmoxVE/pull/3720))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Changed the category of Channels DVR and NextPVR [@johnsturgeon](https://github.com/johnsturgeon) ([#3729](https://github.com/community-scripts/ProxmoxVE/pull/3729))
|
||||||
|
|
||||||
|
## 2025-04-06
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Actual: Add git dependency & change yarn commands [@MickLesk](https://github.com/MickLesk) ([#3703](https://github.com/community-scripts/ProxmoxVE/pull/3703))
|
||||||
|
- Pelican-Panel: Fix PHP 8.4 Repository [@MickLesk](https://github.com/MickLesk) ([#3700](https://github.com/community-scripts/ProxmoxVE/pull/3700))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Implement FAQ component and integrate it into the main page [@BramSuurdje](https://github.com/BramSuurdje) ([#3709](https://github.com/community-scripts/ProxmoxVE/pull/3709))
|
||||||
|
|
||||||
|
## 2025-04-05
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- Bump vite from 6.2.4 to 6.2.5 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#3668](https://github.com/community-scripts/ProxmoxVE/pull/3668))
|
||||||
|
|
||||||
## 2025-04-04
|
## 2025-04-04
|
||||||
|
|
||||||
### 🆕 New Scripts
|
### 🆕 New Scripts
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
|||||||
APP="Actual Budget"
|
APP="Actual Budget"
|
||||||
var_tags="finance"
|
var_tags="finance"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
var_ram="2048"
|
var_ram="8192"
|
||||||
var_disk="4"
|
var_disk="7"
|
||||||
var_os="debian"
|
var_os="debian"
|
||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
@@ -35,6 +35,13 @@ function update_script() {
|
|||||||
systemctl stop actualbudget
|
systemctl stop actualbudget
|
||||||
msg_ok "${APP} Stopped"
|
msg_ok "${APP} Stopped"
|
||||||
|
|
||||||
|
if ! command -v git &>/dev/null; then
|
||||||
|
msg_info "Installing git"
|
||||||
|
$STD apt-get update
|
||||||
|
$STD apt-get install -y git
|
||||||
|
msg_ok "Installed git"
|
||||||
|
fi
|
||||||
|
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
cd /tmp || exit
|
cd /tmp || exit
|
||||||
curl -fsSL "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz" -o "v${RELEASE}.tar.gz"
|
curl -fsSL "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz" -o "v${RELEASE}.tar.gz"
|
||||||
@@ -77,7 +84,10 @@ ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt
|
|||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
cd /opt/actualbudget || exit
|
cd /opt/actualbudget || exit
|
||||||
$STD yarn workspaces focus @actual-app/sync-server --production
|
export NODE_OPTIONS="--max_old_space_size=4096"
|
||||||
|
$STD yarn install
|
||||||
|
$STD yarn run build:server
|
||||||
|
#$STD yarn workspaces focus @actual-app/sync-server --production
|
||||||
echo "${RELEASE}" >/opt/actualbudget_version.txt
|
echo "${RELEASE}" >/opt/actualbudget_version.txt
|
||||||
msg_ok "Updated ${APP}"
|
msg_ok "Updated ${APP}"
|
||||||
|
|
||||||
|
|||||||
6
ct/headers/karakeep
Normal file
6
ct/headers/karakeep
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
__ __
|
||||||
|
/ /______ __________ _/ /_____ ___ ____
|
||||||
|
/ //_/ __ `/ ___/ __ `/ //_/ _ \/ _ \/ __ \
|
||||||
|
/ ,< / /_/ / / / /_/ / ,< / __/ __/ /_/ /
|
||||||
|
/_/|_|\__,_/_/ \__,_/_/|_|\___/\___/ .___/
|
||||||
|
/_/
|
||||||
@@ -40,23 +40,23 @@ function update_script() {
|
|||||||
if [[ "${PREV_RELEASE}" < 0.23.0 ]]; then
|
if [[ "${PREV_RELEASE}" < 0.23.0 ]]; then
|
||||||
$STD apt-get install -y graphicsmagick ghostscript
|
$STD apt-get install -y graphicsmagick ghostscript
|
||||||
fi
|
fi
|
||||||
cd /opt
|
cd /opt || exit
|
||||||
if [[ -f /opt/hoarder/.env ]] && [[ ! -f /etc/hoarder/hoarder.env ]]; then
|
if [[ -f /opt/hoarder/.env ]] && [[ ! -f /etc/hoarder/hoarder.env ]]; then
|
||||||
mkdir -p /etc/hoarder
|
mkdir -p /etc/hoarder
|
||||||
mv /opt/hoarder/.env /etc/hoarder/hoarder.env
|
mv /opt/hoarder/.env /etc/hoarder/hoarder.env
|
||||||
fi
|
fi
|
||||||
rm -rf /opt/hoarder
|
rm -rf /opt/hoarder
|
||||||
curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip")
|
curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
|
||||||
unzip -q v${RELEASE}.zip
|
unzip -q v"${RELEASE}".zip
|
||||||
mv hoarder-${RELEASE} /opt/hoarder
|
mv karakeep-"${RELEASE}" /opt/hoarder
|
||||||
cd /opt/hoarder/apps/web
|
cd /opt/hoarder/apps/web || exit
|
||||||
$STD pnpm install --frozen-lockfile
|
$STD pnpm install --frozen-lockfile
|
||||||
$STD pnpm exec next build --experimental-build-mode compile
|
$STD pnpm exec next build --experimental-build-mode compile
|
||||||
cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web
|
cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web
|
||||||
cd /opt/hoarder/apps/workers
|
cd /opt/hoarder/apps/workers || exit
|
||||||
$STD pnpm install --frozen-lockfile
|
$STD pnpm install --frozen-lockfile
|
||||||
export DATA_DIR=/opt/hoarder_data
|
export DATA_DIR=/opt/hoarder_data
|
||||||
cd /opt/hoarder/packages/db
|
cd /opt/hoarder/packages/db || exit
|
||||||
$STD pnpm migrate
|
$STD pnpm migrate
|
||||||
sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /etc/hoarder/hoarder.env
|
sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /etc/hoarder/hoarder.env
|
||||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
msg_ok "Updated ${APP} to v${RELEASE}"
|
||||||
@@ -65,7 +65,7 @@ function update_script() {
|
|||||||
systemctl start hoarder-browser hoarder-workers hoarder-web
|
systemctl start hoarder-browser hoarder-workers hoarder-web
|
||||||
msg_ok "Started Services"
|
msg_ok "Started Services"
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
rm -R /opt/v${RELEASE}.zip
|
rm -R /opt/v"${RELEASE}".zip
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
|
|||||||
85
ct/karakeep.sh
Normal file
85
ct/karakeep.sh
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 tteck
|
||||||
|
# Author: MickLesk (Canbiz) & vhsdream
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://karakeep.app/
|
||||||
|
|
||||||
|
APP="karakeep"
|
||||||
|
var_tags="bookmark"
|
||||||
|
var_cpu="2"
|
||||||
|
var_ram="4096"
|
||||||
|
var_disk="10"
|
||||||
|
var_os="debian"
|
||||||
|
var_version="12"
|
||||||
|
var_unprivileged="1"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -d /opt/karakeep ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
PREV_RELEASE=$(cat /opt/${APP}_version.txt)
|
||||||
|
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "${PREV_RELEASE}" ]]; then
|
||||||
|
msg_info "Stopping Services"
|
||||||
|
systemctl stop karakeep-web karakeep-workers karakeep-browser
|
||||||
|
msg_ok "Stopped Services"
|
||||||
|
msg_info "Updating ${APP} to v${RELEASE}"
|
||||||
|
if [[ $(corepack -v) < "0.31.0" ]]; then
|
||||||
|
$STD npm install -g corepack@0.31.0
|
||||||
|
fi
|
||||||
|
if [[ "${PREV_RELEASE}" < 0.23.0 ]]; then
|
||||||
|
$STD apt-get install -y graphicsmagick ghostscript
|
||||||
|
fi
|
||||||
|
cd /opt || exit
|
||||||
|
if [[ -f /opt/karakeep/.env ]] && [[ ! -f /etc/karakeep/karakeep.env ]]; then
|
||||||
|
mkdir -p /etc/karakeep
|
||||||
|
mv /opt/karakeep/.env /etc/karakeep/karakeep.env
|
||||||
|
fi
|
||||||
|
rm -rf /opt/karakeep
|
||||||
|
curl -fsSL "https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
|
||||||
|
unzip -q "v${RELEASE}.zip"
|
||||||
|
mv karakeep-"${RELEASE}" /opt/karakeep
|
||||||
|
cd /opt/karakeep/apps/web || exit
|
||||||
|
$STD pnpm install --frozen-lockfile
|
||||||
|
$STD pnpm exec next build --experimental-build-mode compile
|
||||||
|
cp -r /opt/karakeep/apps/web/.next/standalone/apps/web/server.js /opt/karakeep/apps/web
|
||||||
|
cd /opt/karakeep/apps/workers || exit
|
||||||
|
$STD pnpm install --frozen-lockfile
|
||||||
|
export DATA_DIR=/opt/karakeep_data
|
||||||
|
cd /opt/karakeep/packages/db || exit
|
||||||
|
$STD pnpm migrate
|
||||||
|
sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /etc/karakeep/karakeep.env
|
||||||
|
msg_ok "Updated ${APP} to v${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Starting Services"
|
||||||
|
systemctl start karakeep-browser karakeep-workers karakeep-web
|
||||||
|
msg_ok "Started Services"
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -R /opt/v"${RELEASE}".zip
|
||||||
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at ${RELEASE}."
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
||||||
23
ct/kimai.sh
23
ct/kimai.sh
@@ -27,6 +27,21 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2)
|
||||||
|
if [[ "$CURRENT_PHP" != "8.4" ]]; then
|
||||||
|
msg_info "Migrating PHP $CURRENT_PHP to 8.4"
|
||||||
|
$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
||||||
|
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
||||||
|
$STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
|
||||||
|
$STD apt-get update
|
||||||
|
$STD apt-get remove -y php"${CURRENT_PHP//./}"*
|
||||||
|
$STD apt-get install -y \
|
||||||
|
php8.4 \
|
||||||
|
php8.4-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl} \
|
||||||
|
libapache2-mod-php8.4
|
||||||
|
msg_ok "Migrated PHP $CURRENT_PHP to 8.4"
|
||||||
|
fi
|
||||||
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
BACKUP_DIR="/opt/kimai_backup"
|
BACKUP_DIR="/opt/kimai_backup"
|
||||||
|
|
||||||
@@ -45,13 +60,13 @@ function update_script() {
|
|||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
rm -rf /opt/kimai
|
rm -rf /opt/kimai
|
||||||
curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip")
|
curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip")
|
||||||
unzip -q ${RELEASE}.zip
|
unzip -q "${RELEASE}".zip
|
||||||
mv kimai-${RELEASE} /opt/kimai
|
mv kimai-"${RELEASE}" /opt/kimai
|
||||||
[ -d "$BACKUP_DIR/var" ] && cp -r "$BACKUP_DIR/var" /opt/kimai/
|
[ -d "$BACKUP_DIR/var" ] && cp -r "$BACKUP_DIR/var" /opt/kimai/
|
||||||
[ -f "$BACKUP_DIR/.env" ] && cp "$BACKUP_DIR/.env" /opt/kimai/
|
[ -f "$BACKUP_DIR/.env" ] && cp "$BACKUP_DIR/.env" /opt/kimai/
|
||||||
[ -f "$BACKUP_DIR/local.yaml" ] && cp "$BACKUP_DIR/local.yaml" /opt/kimai/config/packages/
|
[ -f "$BACKUP_DIR/local.yaml" ] && cp "$BACKUP_DIR/local.yaml" /opt/kimai/config/packages/
|
||||||
rm -rf "$BACKUP_DIR"
|
rm -rf "$BACKUP_DIR"
|
||||||
cd /opt/kimai
|
cd /opt/kimai || exit
|
||||||
$STD composer install --no-dev --optimize-autoloader
|
$STD composer install --no-dev --optimize-autoloader
|
||||||
$STD bin/console kimai:update
|
$STD bin/console kimai:update
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
@@ -70,7 +85,7 @@ function update_script() {
|
|||||||
msg_ok "Setup Permissions"
|
msg_ok "Setup Permissions"
|
||||||
|
|
||||||
msg_info "Cleaning Up"
|
msg_info "Cleaning Up"
|
||||||
rm -rf ${RELEASE}.zip
|
rm -rf "${RELEASE}".zip
|
||||||
rm -rf "$BACKUP_DIR"
|
rm -rf "$BACKUP_DIR"
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
|
|||||||
11
ct/zabbix.sh
11
ct/zabbix.sh
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: tteck (tteckster)
|
# Author: MickLesk (CanbiZ)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://www.zabbix.com/
|
# Source: https://www.zabbix.com/
|
||||||
|
|
||||||
@@ -38,8 +38,11 @@ function update_script() {
|
|||||||
cp -R /usr/share/zabbix/ /opt/zabbix-backup/
|
cp -R /usr/share/zabbix/ /opt/zabbix-backup/
|
||||||
#cp -R /usr/share/zabbix-* /opt/zabbix-backup/ Remove temporary
|
#cp -R /usr/share/zabbix-* /opt/zabbix-backup/ Remove temporary
|
||||||
rm -Rf /etc/apt/sources.list.d/zabbix.list
|
rm -Rf /etc/apt/sources.list.d/zabbix.list
|
||||||
cd /tmp
|
cd /tmp || exit
|
||||||
curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -o $(basename "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb")
|
curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ |
|
||||||
|
grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 |
|
||||||
|
xargs -I{} echo "https://repo.zabbix.com/zabbix/{}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb")" \
|
||||||
|
-o /tmp/zabbix-release_latest+debian12_all.deb
|
||||||
$STD dpkg -i zabbix-release_latest+debian12_all.deb
|
$STD dpkg -i zabbix-release_latest+debian12_all.deb
|
||||||
$STD apt-get update
|
$STD apt-get update
|
||||||
$STD apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-*
|
$STD apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-*
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
RELEASE=$(curl -fsSL https://github.com/zitadel/zitadel/releases/latest | grep location: | cut -d '/' -f 8 | tr -d '\r')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/zitadel/zitadel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt | grep -oP '\d+\.\d+\.\d+')" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt | grep -oP '\d+\.\d+\.\d+')" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||||
msg_info "Stopping $APP"
|
msg_info "Stopping $APP"
|
||||||
systemctl stop zitadel
|
systemctl stop zitadel
|
||||||
@@ -35,7 +35,7 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Updating $APP to ${RELEASE}"
|
msg_info "Updating $APP to ${RELEASE}"
|
||||||
cd /tmp || exit
|
cd /tmp || exit
|
||||||
curl -fsSL https://github.com/zitadel/zitadel/releases/download/"$RELEASE"/zitadel-linux-amd64.tar.gz | tar -xz
|
curl -fsSL "https://github.com/zitadel/zitadel/releases/download/v$RELEASE/zitadel-linux-amd64.tar.gz" | tar -xz
|
||||||
mv zitadel-linux-amd64/zitadel /usr/local/bin
|
mv zitadel-linux-amd64/zitadel /usr/local/bin
|
||||||
$STD zitadel setup --masterkeyFile /opt/zitadel/.masterkey --config /opt/zitadel/config.yaml --init-projections=true
|
$STD zitadel setup --masterkeyFile /opt/zitadel/.masterkey --config /opt/zitadel/config.yaml --init-projections=true
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
|||||||
12
frontend/package-lock.json
generated
12
frontend/package-lock.json
generated
@@ -3255,7 +3255,7 @@
|
|||||||
"version": "19.0.0-rc.1",
|
"version": "19.0.0-rc.1",
|
||||||
"resolved": "https://registry.npmjs.org/types-react/-/types-react-19.0.0-rc.1.tgz",
|
"resolved": "https://registry.npmjs.org/types-react/-/types-react-19.0.0-rc.1.tgz",
|
||||||
"integrity": "sha512-RshndUfqTW6K3STLPis8BtAYCGOkMbtvYsi90gmVNDZBXUyUc5juf2PE9LfS/JmOlUIRO8cWTS/1MTnmhjDqyQ==",
|
"integrity": "sha512-RshndUfqTW6K3STLPis8BtAYCGOkMbtvYsi90gmVNDZBXUyUc5juf2PE9LfS/JmOlUIRO8cWTS/1MTnmhjDqyQ==",
|
||||||
"devOptional": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"csstype": "^3.0.2"
|
"csstype": "^3.0.2"
|
||||||
}
|
}
|
||||||
@@ -3265,7 +3265,7 @@
|
|||||||
"version": "19.0.0-rc.1",
|
"version": "19.0.0-rc.1",
|
||||||
"resolved": "https://registry.npmjs.org/types-react-dom/-/types-react-dom-19.0.0-rc.1.tgz",
|
"resolved": "https://registry.npmjs.org/types-react-dom/-/types-react-dom-19.0.0-rc.1.tgz",
|
||||||
"integrity": "sha512-VSLZJl8VXCD0fAWp7DUTFUDCcZ8DVXOQmjhJMD03odgeFmu14ZQJHCXeETm3BEAhJqfgJaFkLnGkQv88sRx0fQ==",
|
"integrity": "sha512-VSLZJl8VXCD0fAWp7DUTFUDCcZ8DVXOQmjhJMD03odgeFmu14ZQJHCXeETm3BEAhJqfgJaFkLnGkQv88sRx0fQ==",
|
||||||
"devOptional": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/react": "*"
|
"@types/react": "*"
|
||||||
}
|
}
|
||||||
@@ -7851,6 +7851,7 @@
|
|||||||
"version": "3.5.3",
|
"version": "3.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz",
|
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz",
|
||||||
"integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==",
|
"integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bin": {
|
"bin": {
|
||||||
"prettier": "bin/prettier.cjs"
|
"prettier": "bin/prettier.cjs"
|
||||||
@@ -9541,6 +9542,7 @@
|
|||||||
"version": "5.8.2",
|
"version": "5.8.2",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz",
|
||||||
"integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==",
|
"integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==",
|
||||||
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"bin": {
|
"bin": {
|
||||||
"tsc": "bin/tsc",
|
"tsc": "bin/tsc",
|
||||||
@@ -9665,9 +9667,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "6.2.4",
|
"version": "6.2.5",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-6.2.4.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz",
|
||||||
"integrity": "sha512-veHMSew8CcRzhL5o8ONjy8gkfmFJAd5Ac16oxBUjlwgX3Gq2Wqr+qNC3TjPIpy7TPV/KporLga5GT9HqdrCizw==",
|
"integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -19,8 +19,8 @@
|
|||||||
"script": "ct/actualbudget.sh",
|
"script": "ct/actualbudget.sh",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 2,
|
"cpu": 2,
|
||||||
"ram": 2048,
|
"ram": 8192,
|
||||||
"hdd": 4,
|
"hdd": 7,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "12"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"name": "Channels DVR Server",
|
"name": "Channels DVR Server",
|
||||||
"slug": "channels",
|
"slug": "channels",
|
||||||
"categories": [
|
"categories": [
|
||||||
15
|
13
|
||||||
],
|
],
|
||||||
"date_created": "2024-05-02",
|
"date_created": "2024-05-02",
|
||||||
"type": "ct",
|
"type": "ct",
|
||||||
|
|||||||
@@ -1,34 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Hoarder",
|
|
||||||
"slug": "hoarder",
|
|
||||||
"categories": [
|
|
||||||
12
|
|
||||||
],
|
|
||||||
"date_created": "2024-12-02",
|
|
||||||
"type": "ct",
|
|
||||||
"updateable": true,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": 3000,
|
|
||||||
"documentation": "https://docs.hoarder.app/",
|
|
||||||
"website": "https://hoarder.app/",
|
|
||||||
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/hoarder.svg",
|
|
||||||
"description": "Hoarder is an AI-powered bookmarking tool that helps you save and organize your digital content. It automatically tags your links, notes, and images, making them easy to find later. With features like auto-fetching, lists, and full-text search, Hoarder is the perfect tool for anyone who wants to keep track of their digital life.",
|
|
||||||
"install_methods": [
|
|
||||||
{
|
|
||||||
"type": "default",
|
|
||||||
"script": "ct/hoarder.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": 2,
|
|
||||||
"ram": 4096,
|
|
||||||
"hdd": 10,
|
|
||||||
"os": "debian",
|
|
||||||
"version": "12"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default_credentials": {
|
|
||||||
"username": null,
|
|
||||||
"password": null
|
|
||||||
},
|
|
||||||
"notes": []
|
|
||||||
}
|
|
||||||
34
frontend/public/json/karakeep.json
Normal file
34
frontend/public/json/karakeep.json
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"name": "karakeep",
|
||||||
|
"slug": "karakeep",
|
||||||
|
"categories": [
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"date_created": "2025-04-07",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 3000,
|
||||||
|
"documentation": "https://docs.karakeep.app/",
|
||||||
|
"website": "https://karakeep.app/",
|
||||||
|
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/karakeep.svg",
|
||||||
|
"description": "karakeep (formerly: hoarder) is an AI-powered bookmarking tool that helps you save and organize your digital content. It automatically tags your links, notes, and images, making them easy to find later. With features like auto-fetching, lists, and full-text search, karakeep is the perfect tool for anyone who wants to keep track of their digital life.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/karakeep.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 4096,
|
||||||
|
"hdd": 10,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": []
|
||||||
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
"name": "NextPVR",
|
"name": "NextPVR",
|
||||||
"slug": "nextpvr",
|
"slug": "nextpvr",
|
||||||
"categories": [
|
"categories": [
|
||||||
15
|
13
|
||||||
],
|
],
|
||||||
"date_created": "2024-11-20",
|
"date_created": "2024-11-20",
|
||||||
"type": "ct",
|
"type": "ct",
|
||||||
|
|||||||
@@ -1,13 +1,68 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"name": "Graylog2/graylog2-server",
|
||||||
|
"version": "6.2.0-beta.4",
|
||||||
|
"date": "2025-04-07T11:28:13Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "VictoriaMetrics/VictoriaMetrics",
|
||||||
|
"version": "pmm-6401-v1.115.0",
|
||||||
|
"date": "2025-04-07T11:15:53Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "semaphoreui/semaphore",
|
||||||
|
"version": "v2.13.10",
|
||||||
|
"date": "2025-04-07T11:05:41Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "fhem/fhem-mirror",
|
"name": "fhem/fhem-mirror",
|
||||||
"version": "6.2",
|
"version": "6.2",
|
||||||
"date": "2025-04-04T10:34:30Z"
|
"date": "2025-04-07T10:34:55Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "dgtlmoon/changedetection.io",
|
"name": "syncthing/syncthing",
|
||||||
"version": "0.49.12",
|
"version": "v1.29.4",
|
||||||
"date": "2025-04-04T07:31:08Z"
|
"date": "2025-04-01T08:45:07Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fallenbagel/jellyseerr",
|
||||||
|
"version": "preview-back-to-axios",
|
||||||
|
"date": "2025-04-07T09:23:08Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "zwave-js/zwave-js-ui",
|
||||||
|
"version": "v10.1.5",
|
||||||
|
"date": "2025-04-07T09:19:35Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Checkmk/checkmk",
|
||||||
|
"version": "v2.4.0b4-rc1",
|
||||||
|
"date": "2025-04-07T09:13:56Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "redis/redis",
|
||||||
|
"version": "8.0-rc1-int2",
|
||||||
|
"date": "2025-04-02T19:05:08Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "zabbix/zabbix",
|
||||||
|
"version": "7.4.0beta1",
|
||||||
|
"date": "2025-04-07T08:14:13Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "StarFleetCPTN/GoMFT",
|
||||||
|
"version": "v0.2.5",
|
||||||
|
"date": "2025-04-07T07:43:29Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "nzbgetcom/nzbget",
|
||||||
|
"version": "v24.8",
|
||||||
|
"date": "2025-03-18T07:33:51Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "mattermost/mattermost",
|
||||||
|
"version": "server/public/v0.1.11",
|
||||||
|
"date": "2025-03-28T14:04:31Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "morpheus65535/bazarr",
|
"name": "morpheus65535/bazarr",
|
||||||
@@ -16,38 +71,18 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Jackett/Jackett",
|
"name": "Jackett/Jackett",
|
||||||
"version": "v0.22.1726",
|
"version": "v0.22.1740",
|
||||||
"date": "2025-04-04T05:59:26Z"
|
"date": "2025-04-07T05:56:22Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "keycloak/keycloak",
|
"name": "prometheus/prometheus",
|
||||||
"version": "26.1.4",
|
"version": "v0.303.0-rc.1",
|
||||||
"date": "2025-03-13T15:41:42Z"
|
"date": "2025-04-07T04:39:38Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "minio/minio",
|
"name": "open-webui/open-webui",
|
||||||
"version": "RELEASE.2025-04-03T14-56-28Z",
|
"version": "v0.6.2",
|
||||||
"date": "2025-04-03T19:08:18Z"
|
"date": "2025-04-07T03:41:23Z"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "fallenbagel/jellyseerr",
|
|
||||||
"version": "v2.5.2",
|
|
||||||
"date": "2025-04-03T17:40:17Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "wazuh/wazuh",
|
|
||||||
"version": "v4.11.2",
|
|
||||||
"date": "2025-04-02T13:40:18Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "OctoPrint/OctoPrint",
|
|
||||||
"version": "1.10.3",
|
|
||||||
"date": "2024-11-05T09:20:50Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "syncthing/syncthing",
|
|
||||||
"version": "v1.29.4",
|
|
||||||
"date": "2025-04-01T08:45:07Z"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "firefly-iii/firefly-iii",
|
"name": "firefly-iii/firefly-iii",
|
||||||
@@ -55,50 +90,220 @@
|
|||||||
"date": "2025-03-22T13:02:26Z"
|
"date": "2025-03-22T13:02:26Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Graylog2/graylog2-server",
|
"name": "Luligu/matterbridge",
|
||||||
"version": "6.0.14",
|
"version": "2.2.7",
|
||||||
"date": "2025-04-03T07:52:24Z"
|
"date": "2025-04-06T20:00:53Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Dolibarr/dolibarr",
|
||||||
|
"version": "21.0.1",
|
||||||
|
"date": "2025-04-06T19:22:59Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pelican-dev/wings",
|
||||||
|
"version": "v1.0.0-beta11",
|
||||||
|
"date": "2025-04-06T18:52:35Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "stonith404/pingvin-share",
|
||||||
|
"version": "v1.11.1",
|
||||||
|
"date": "2025-04-06T18:39:42Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wavelog/wavelog",
|
||||||
|
"version": "2.0.3",
|
||||||
|
"date": "2025-04-06T17:35:41Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TandoorRecipes/recipes",
|
||||||
|
"version": "1.5.34",
|
||||||
|
"date": "2025-03-27T16:17:38Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "runtipi/runtipi",
|
||||||
|
"version": "v3.10.0",
|
||||||
|
"date": "2025-03-15T14:38:16Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "stackblitz-labs/bolt.diy",
|
||||||
|
"version": "v0.0.7-hf1",
|
||||||
|
"date": "2025-03-10T20:49:39Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "msgbyte/tianji",
|
||||||
|
"version": "v1.19.7",
|
||||||
|
"date": "2025-04-06T14:22:44Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Prowlarr/Prowlarr",
|
||||||
|
"version": "v1.32.2.4987",
|
||||||
|
"date": "2025-03-16T09:41:37Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Radarr/Radarr",
|
||||||
|
"version": "v5.21.1.9799",
|
||||||
|
"date": "2025-03-24T15:52:12Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "karakeep-app/karakeep",
|
||||||
|
"version": "extension/v1.2.4",
|
||||||
|
"date": "2025-04-06T11:56:18Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TechnitiumSoftware/DnsServer",
|
||||||
|
"version": "v13.5.0",
|
||||||
|
"date": "2025-04-06T11:24:50Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TriliumNext/Notes",
|
||||||
|
"version": "v0.92.6",
|
||||||
|
"date": "2025-04-06T10:38:54Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "kimai/kimai",
|
||||||
|
"version": "2.32.0",
|
||||||
|
"date": "2025-04-06T09:43:51Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "inventree/InvenTree",
|
||||||
|
"version": "0.17.10",
|
||||||
|
"date": "2025-04-06T05:31:49Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ollama/ollama",
|
||||||
|
"version": "v0.6.5-rc0",
|
||||||
|
"date": "2025-04-03T23:57:36Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "jellyfin/jellyfin",
|
||||||
|
"version": "v10.10.7",
|
||||||
|
"date": "2025-04-05T19:14:59Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "azukaar/Cosmos-Server",
|
||||||
|
"version": "v0.18.4",
|
||||||
|
"date": "2025-04-05T19:12:57Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wger-project/wger",
|
||||||
|
"version": "2.3",
|
||||||
|
"date": "2025-04-05T18:05:36Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Paymenter/Paymenter",
|
||||||
|
"version": "v1.0.2",
|
||||||
|
"date": "2025-04-05T17:40:25Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "keycloak/keycloak",
|
||||||
|
"version": "26.1.4",
|
||||||
|
"date": "2025-03-13T15:41:42Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bastienwirtz/homer",
|
||||||
|
"version": "v25.04.1",
|
||||||
|
"date": "2025-04-05T12:39:18Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "navidrome/navidrome",
|
||||||
|
"version": "v0.55.2",
|
||||||
|
"date": "2025-04-05T12:07:32Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Kozea/Radicale",
|
||||||
|
"version": "v3.5.1",
|
||||||
|
"date": "2025-04-05T06:20:18Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "actualbudget/actual",
|
||||||
|
"version": "v25.4.0",
|
||||||
|
"date": "2025-04-05T04:14:57Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "home-assistant/core",
|
||||||
|
"version": "2025.4.1",
|
||||||
|
"date": "2025-04-04T20:59:57Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Koenkk/zigbee2mqtt",
|
||||||
|
"version": "2.2.1",
|
||||||
|
"date": "2025-04-04T20:15:48Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "YunoHost/yunohost",
|
||||||
|
"version": "debian/12.0.13",
|
||||||
|
"date": "2025-04-04T20:05:45Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "coder/code-server",
|
||||||
|
"version": "v4.98.2",
|
||||||
|
"date": "2025-03-15T02:11:28Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "homarr-labs/homarr",
|
||||||
|
"version": "v1.14.0",
|
||||||
|
"date": "2025-04-04T19:15:59Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Athou/commafeed",
|
||||||
|
"version": "5.7.0",
|
||||||
|
"date": "2025-04-04T18:10:16Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "icereed/paperless-gpt",
|
||||||
|
"version": "v0.14.4",
|
||||||
|
"date": "2025-04-04T14:18:53Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "apache/tomcat",
|
||||||
|
"version": "9.0.104",
|
||||||
|
"date": "2025-04-04T12:58:11Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "sabnzbd/sabnzbd",
|
||||||
|
"version": "4.5.0",
|
||||||
|
"date": "2025-03-30T16:17:11Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "dgtlmoon/changedetection.io",
|
||||||
|
"version": "0.49.12",
|
||||||
|
"date": "2025-04-04T07:31:08Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wazuh/wazuh",
|
||||||
|
"version": "coverity-w14-4.12.0",
|
||||||
|
"date": "2025-04-04T00:03:06Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "minio/minio",
|
||||||
|
"version": "RELEASE.2025-04-03T14-56-28Z",
|
||||||
|
"date": "2025-04-03T19:08:18Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "OctoPrint/OctoPrint",
|
||||||
|
"version": "1.10.3",
|
||||||
|
"date": "2024-11-05T09:20:50Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "jupyter/notebook",
|
"name": "jupyter/notebook",
|
||||||
"version": "@jupyter-notebook/ui-components@7.4.0-rc.0",
|
"version": "@jupyter-notebook/ui-components@7.4.0-rc.0",
|
||||||
"date": "2025-04-03T06:49:38Z"
|
"date": "2025-04-03T06:49:38Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "mattermost/mattermost",
|
|
||||||
"version": "server/public/v0.1.11",
|
|
||||||
"date": "2025-03-28T14:04:31Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "rabbitmq/rabbitmq-server",
|
"name": "rabbitmq/rabbitmq-server",
|
||||||
"version": "v4.0.8",
|
"version": "v4.0.8",
|
||||||
"date": "2025-04-03T05:11:15Z"
|
"date": "2025-04-03T05:11:15Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "ollama/ollama",
|
|
||||||
"version": "v0.6.4",
|
|
||||||
"date": "2025-04-02T22:14:24Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "HabitRPG/habitica",
|
"name": "HabitRPG/habitica",
|
||||||
"version": "v5.35.1",
|
"version": "v5.35.1",
|
||||||
"date": "2025-04-02T21:49:00Z"
|
"date": "2025-04-02T21:49:00Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "redis/redis",
|
|
||||||
"version": "8.0-rc1-int2",
|
|
||||||
"date": "2025-04-02T19:05:08Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "zitadel/zitadel",
|
"name": "zitadel/zitadel",
|
||||||
"version": "v2.63.9",
|
"version": "v2.63.9",
|
||||||
"date": "2025-03-31T12:47:21Z"
|
"date": "2025-03-31T12:47:21Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "home-assistant/core",
|
|
||||||
"version": "2025.4.0",
|
|
||||||
"date": "2025-04-02T17:01:41Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "BookStackApp/BookStack",
|
"name": "BookStackApp/BookStack",
|
||||||
"version": "v25.02.2",
|
"version": "v25.02.2",
|
||||||
@@ -114,56 +319,21 @@
|
|||||||
"version": "jenkins-2.503",
|
"version": "jenkins-2.503",
|
||||||
"date": "2025-04-02T15:12:13Z"
|
"date": "2025-04-02T15:12:13Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Checkmk/checkmk",
|
|
||||||
"version": "v2.4.0b3",
|
|
||||||
"date": "2025-04-02T14:39:56Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "hargata/lubelog",
|
"name": "hargata/lubelog",
|
||||||
"version": "v1.4.6",
|
"version": "v1.4.6",
|
||||||
"date": "2025-04-02T14:07:12Z"
|
"date": "2025-04-02T14:07:12Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "zwave-js/zwave-js-ui",
|
|
||||||
"version": "v10.1.4",
|
|
||||||
"date": "2025-04-02T09:38:52Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "runtipi/runtipi",
|
|
||||||
"version": "v3.10.0",
|
|
||||||
"date": "2025-03-15T14:38:16Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "immich-app/immich",
|
"name": "immich-app/immich",
|
||||||
"version": "v1.131.3",
|
"version": "v1.131.3",
|
||||||
"date": "2025-04-01T22:48:22Z"
|
"date": "2025-04-01T22:48:22Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "icereed/paperless-gpt",
|
|
||||||
"version": "v0.14.3",
|
|
||||||
"date": "2025-04-01T19:53:18Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Koenkk/zigbee2mqtt",
|
|
||||||
"version": "2.2.0",
|
|
||||||
"date": "2025-04-01T18:50:44Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "apache/tomcat",
|
|
||||||
"version": "9.0.103",
|
|
||||||
"date": "2025-04-01T18:39:51Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "MagicMirrorOrg/MagicMirror",
|
"name": "MagicMirrorOrg/MagicMirror",
|
||||||
"version": "v2.31.0",
|
"version": "v2.31.0",
|
||||||
"date": "2025-04-01T18:12:45Z"
|
"date": "2025-04-01T18:12:45Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "msgbyte/tianji",
|
|
||||||
"version": "v1.19.6",
|
|
||||||
"date": "2025-04-01T17:26:31Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "influxdata/influxdb",
|
"name": "influxdata/influxdb",
|
||||||
"version": "v3.0.0-0.beta.3",
|
"version": "v3.0.0-0.beta.3",
|
||||||
@@ -174,21 +344,11 @@
|
|||||||
"version": "v1.127.1",
|
"version": "v1.127.1",
|
||||||
"date": "2025-03-26T21:44:28Z"
|
"date": "2025-03-26T21:44:28Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Luligu/matterbridge",
|
|
||||||
"version": "2.2.6",
|
|
||||||
"date": "2025-04-01T14:01:36Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "theonedev/onedev",
|
"name": "theonedev/onedev",
|
||||||
"version": "v11.8.6",
|
"version": "v11.8.6",
|
||||||
"date": "2025-04-01T13:52:03Z"
|
"date": "2025-04-01T13:52:03Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "semaphoreui/semaphore",
|
|
||||||
"version": "v2.13.7",
|
|
||||||
"date": "2025-04-01T09:41:55Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "neo4j/neo4j",
|
"name": "neo4j/neo4j",
|
||||||
"version": "5.26.5",
|
"version": "5.26.5",
|
||||||
@@ -199,11 +359,6 @@
|
|||||||
"version": "v4.0.2",
|
"version": "v4.0.2",
|
||||||
"date": "2025-04-01T04:51:05Z"
|
"date": "2025-04-01T04:51:05Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "open-webui/open-webui",
|
|
||||||
"version": "v0.6.0",
|
|
||||||
"date": "2025-04-01T01:47:32Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "outline/outline",
|
"name": "outline/outline",
|
||||||
"version": "v0.82.1-18",
|
"version": "v0.82.1-18",
|
||||||
@@ -249,16 +404,6 @@
|
|||||||
"version": "4.8.11.0",
|
"version": "4.8.11.0",
|
||||||
"date": "2025-03-10T06:39:11Z"
|
"date": "2025-03-10T06:39:11Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "TriliumNext/Notes",
|
|
||||||
"version": "v0.92.5",
|
|
||||||
"date": "2025-03-30T12:32:43Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "StarFleetCPTN/GoMFT",
|
|
||||||
"version": "v0.2.4",
|
|
||||||
"date": "2025-03-30T19:46:08Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "louislam/dockge",
|
"name": "louislam/dockge",
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
@@ -269,11 +414,6 @@
|
|||||||
"version": "v6.0.6",
|
"version": "v6.0.6",
|
||||||
"date": "2025-03-30T16:59:06Z"
|
"date": "2025-03-30T16:59:06Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "sabnzbd/sabnzbd",
|
|
||||||
"version": "4.5.0",
|
|
||||||
"date": "2025-03-30T16:17:11Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Part-DB/Part-DB-server",
|
"name": "Part-DB/Part-DB-server",
|
||||||
"version": "v1.17.0",
|
"version": "v1.17.0",
|
||||||
@@ -289,11 +429,6 @@
|
|||||||
"version": "v0.26.6",
|
"version": "v0.26.6",
|
||||||
"date": "2025-03-30T08:02:19Z"
|
"date": "2025-03-30T08:02:19Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Prowlarr/Prowlarr",
|
|
||||||
"version": "v1.32.2.4987",
|
|
||||||
"date": "2025-03-16T09:41:37Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Readarr/Readarr",
|
"name": "Readarr/Readarr",
|
||||||
"version": "v2.0.0.4645",
|
"version": "v2.0.0.4645",
|
||||||
@@ -304,11 +439,6 @@
|
|||||||
"version": "v2.10.3.4602",
|
"version": "v2.10.3.4602",
|
||||||
"date": "2025-03-23T11:00:37Z"
|
"date": "2025-03-23T11:00:37Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Radarr/Radarr",
|
|
||||||
"version": "v5.21.1.9799",
|
|
||||||
"date": "2025-03-24T15:52:12Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "aceberg/WatchYourLAN",
|
"name": "aceberg/WatchYourLAN",
|
||||||
"version": "2.1.2-alpine",
|
"version": "2.1.2-alpine",
|
||||||
@@ -344,11 +474,6 @@
|
|||||||
"version": "2025.3.28",
|
"version": "2025.3.28",
|
||||||
"date": "2025-03-29T00:18:56Z"
|
"date": "2025-03-29T00:18:56Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "homarr-labs/homarr",
|
|
||||||
"version": "v1.13.1",
|
|
||||||
"date": "2025-03-28T21:58:30Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "TasmoAdmin/TasmoAdmin",
|
"name": "TasmoAdmin/TasmoAdmin",
|
||||||
"version": "v4.2.3",
|
"version": "v4.2.3",
|
||||||
@@ -394,11 +519,6 @@
|
|||||||
"version": "336.2",
|
"version": "336.2",
|
||||||
"date": "2025-03-28T10:16:47Z"
|
"date": "2025-03-28T10:16:47Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "YunoHost/yunohost",
|
|
||||||
"version": "debian/12.0.12",
|
|
||||||
"date": "2025-03-16T11:59:24Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "gethomepage/homepage",
|
"name": "gethomepage/homepage",
|
||||||
"version": "v1.1.1",
|
"version": "v1.1.1",
|
||||||
@@ -419,21 +539,11 @@
|
|||||||
"version": "2025.2",
|
"version": "2025.2",
|
||||||
"date": "2025-03-27T19:21:13Z"
|
"date": "2025-03-27T19:21:13Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "TandoorRecipes/recipes",
|
|
||||||
"version": "1.5.34",
|
|
||||||
"date": "2025-03-27T16:17:38Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "tailscale/tailscale",
|
"name": "tailscale/tailscale",
|
||||||
"version": "v1.82.0",
|
"version": "v1.82.0",
|
||||||
"date": "2025-03-27T13:08:18Z"
|
"date": "2025-03-27T13:08:18Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "zabbix/zabbix",
|
|
||||||
"version": "7.2.5",
|
|
||||||
"date": "2025-03-27T11:06:48Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "evcc-io/evcc",
|
"name": "evcc-io/evcc",
|
||||||
"version": "0.202.1",
|
"version": "0.202.1",
|
||||||
@@ -449,11 +559,6 @@
|
|||||||
"version": "v2.1.0.112-2.1.0.112_canary_2025-03-26",
|
"version": "v2.1.0.112-2.1.0.112_canary_2025-03-26",
|
||||||
"date": "2025-03-26T21:04:38Z"
|
"date": "2025-03-26T21:04:38Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "prometheus/prometheus",
|
|
||||||
"version": "v0.303.0-rc.0",
|
|
||||||
"date": "2025-03-26T12:48:46Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "forgejo/forgejo",
|
"name": "forgejo/forgejo",
|
||||||
"version": "v12.0.0-dev",
|
"version": "v12.0.0-dev",
|
||||||
@@ -494,11 +599,6 @@
|
|||||||
"version": "v1.6.8",
|
"version": "v1.6.8",
|
||||||
"date": "2025-03-25T13:33:10Z"
|
"date": "2025-03-25T13:33:10Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "VictoriaMetrics/VictoriaMetrics",
|
|
||||||
"version": "pmm-6401-v1.114.0",
|
|
||||||
"date": "2025-03-25T07:58:34Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "caddyserver/caddy",
|
"name": "caddyserver/caddy",
|
||||||
"version": "v2.9.1",
|
"version": "v2.9.1",
|
||||||
@@ -519,16 +619,6 @@
|
|||||||
"version": "v0.9.0",
|
"version": "v0.9.0",
|
||||||
"date": "2025-03-24T18:25:37Z"
|
"date": "2025-03-24T18:25:37Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "wavelog/wavelog",
|
|
||||||
"version": "2.0.2",
|
|
||||||
"date": "2025-03-24T12:02:08Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "nzbgetcom/nzbget",
|
|
||||||
"version": "v24.8",
|
|
||||||
"date": "2025-03-18T07:33:51Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "requarks/wiki",
|
"name": "requarks/wiki",
|
||||||
"version": "v2.5.307",
|
"version": "v2.5.307",
|
||||||
@@ -549,11 +639,6 @@
|
|||||||
"version": "v0.24.2",
|
"version": "v0.24.2",
|
||||||
"date": "2025-03-23T04:01:50Z"
|
"date": "2025-03-23T04:01:50Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "hoarder-app/hoarder",
|
|
||||||
"version": "sdk/v0.23.0",
|
|
||||||
"date": "2025-03-22T17:26:10Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "netbox-community/netbox",
|
"name": "netbox-community/netbox",
|
||||||
"version": "v4.2.6",
|
"version": "v4.2.6",
|
||||||
@@ -584,11 +669,6 @@
|
|||||||
"version": "v0.9.77",
|
"version": "v0.9.77",
|
||||||
"date": "2025-03-21T02:25:42Z"
|
"date": "2025-03-21T02:25:42Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "stonith404/pingvin-share",
|
|
||||||
"version": "v1.10.4",
|
|
||||||
"date": "2025-03-20T18:56:10Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "seanmorley15/AdventureLog",
|
"name": "seanmorley15/AdventureLog",
|
||||||
"version": "v0.9.0",
|
"version": "v0.9.0",
|
||||||
@@ -614,11 +694,6 @@
|
|||||||
"version": "v2.20.0",
|
"version": "v2.20.0",
|
||||||
"date": "2025-03-17T22:44:56Z"
|
"date": "2025-03-17T22:44:56Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "bastienwirtz/homer",
|
|
||||||
"version": "v25.03.3",
|
|
||||||
"date": "2025-03-17T20:55:37Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Kareadita/Kavita",
|
"name": "Kareadita/Kavita",
|
||||||
"version": "v0.8.5.11",
|
"version": "v0.8.5.11",
|
||||||
@@ -629,11 +704,6 @@
|
|||||||
"version": "v4.0.14.2939",
|
"version": "v4.0.14.2939",
|
||||||
"date": "2025-03-17T19:12:37Z"
|
"date": "2025-03-17T19:12:37Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "inventree/InvenTree",
|
|
||||||
"version": "0.17.9",
|
|
||||||
"date": "2025-03-17T12:13:23Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "webmin/webmin",
|
"name": "webmin/webmin",
|
||||||
"version": "2.303",
|
"version": "2.303",
|
||||||
@@ -644,16 +714,6 @@
|
|||||||
"version": "v1.60.0",
|
"version": "v1.60.0",
|
||||||
"date": "2025-03-16T18:39:49Z"
|
"date": "2025-03-16T18:39:49Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Kozea/Radicale",
|
|
||||||
"version": "v3.5.0",
|
|
||||||
"date": "2025-03-16T06:05:55Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "pelican-dev/wings",
|
|
||||||
"version": "v1.0.0-beta10",
|
|
||||||
"date": "2025-03-15T20:24:34Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "pelican-dev/panel",
|
"name": "pelican-dev/panel",
|
||||||
"version": "v1.0.0-beta18",
|
"version": "v1.0.0-beta18",
|
||||||
@@ -664,16 +724,6 @@
|
|||||||
"version": "v0.10.2",
|
"version": "v0.10.2",
|
||||||
"date": "2025-03-15T07:14:54Z"
|
"date": "2025-03-15T07:14:54Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "navidrome/navidrome",
|
|
||||||
"version": "v0.55.1",
|
|
||||||
"date": "2025-03-15T05:36:06Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "coder/code-server",
|
|
||||||
"version": "v4.98.2",
|
|
||||||
"date": "2025-03-15T02:11:28Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Threadfin/Threadfin",
|
"name": "Threadfin/Threadfin",
|
||||||
"version": "1.2.31",
|
"version": "1.2.31",
|
||||||
@@ -699,11 +749,6 @@
|
|||||||
"version": "1.26.1",
|
"version": "1.26.1",
|
||||||
"date": "2025-03-13T21:34:25Z"
|
"date": "2025-03-13T21:34:25Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "kimai/kimai",
|
|
||||||
"version": "2.31.0",
|
|
||||||
"date": "2025-03-13T17:13:47Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "transmission/transmission",
|
"name": "transmission/transmission",
|
||||||
"version": "4.0.1-beta.1",
|
"version": "4.0.1-beta.1",
|
||||||
@@ -734,11 +779,6 @@
|
|||||||
"version": "v0.8.2",
|
"version": "v0.8.2",
|
||||||
"date": "2025-03-11T05:20:22Z"
|
"date": "2025-03-11T05:20:22Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "stackblitz-labs/bolt.diy",
|
|
||||||
"version": "v0.0.7-hf1",
|
|
||||||
"date": "2025-03-10T20:49:39Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "AlexxIT/go2rtc",
|
"name": "AlexxIT/go2rtc",
|
||||||
"version": "v1.9.9",
|
"version": "v1.9.9",
|
||||||
@@ -774,11 +814,6 @@
|
|||||||
"version": "v2.0.21",
|
"version": "v2.0.21",
|
||||||
"date": "2025-03-06T16:24:56Z"
|
"date": "2025-03-06T16:24:56Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Dolibarr/dolibarr",
|
|
||||||
"version": "21.0.0",
|
|
||||||
"date": "2025-03-06T16:20:45Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "matze/wastebin",
|
"name": "matze/wastebin",
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
@@ -799,11 +834,6 @@
|
|||||||
"version": "v0.18.0",
|
"version": "v0.18.0",
|
||||||
"date": "2025-03-04T15:35:27Z"
|
"date": "2025-03-04T15:35:27Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "actualbudget/actual",
|
|
||||||
"version": "v25.3.1",
|
|
||||||
"date": "2025-03-03T02:05:36Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "heiher/hev-socks5-server",
|
"name": "heiher/hev-socks5-server",
|
||||||
"version": "2.8.0",
|
"version": "2.8.0",
|
||||||
@@ -854,21 +884,6 @@
|
|||||||
"version": "v1.1.05",
|
"version": "v1.1.05",
|
||||||
"date": "2025-02-24T11:53:12Z"
|
"date": "2025-02-24T11:53:12Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Athou/commafeed",
|
|
||||||
"version": "5.6.1",
|
|
||||||
"date": "2025-02-23T20:39:48Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "TechnitiumSoftware/DnsServer",
|
|
||||||
"version": "v13.4.3",
|
|
||||||
"date": "2025-02-23T11:08:26Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "azukaar/Cosmos-Server",
|
|
||||||
"version": "v0.18.3",
|
|
||||||
"date": "2025-02-21T20:51:12Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "prometheus-pve/prometheus-pve-exporter",
|
"name": "prometheus-pve/prometheus-pve-exporter",
|
||||||
"version": "v3.5.2",
|
"version": "v3.5.2",
|
||||||
@@ -889,11 +904,6 @@
|
|||||||
"version": "REL_13_20",
|
"version": "REL_13_20",
|
||||||
"date": "2025-02-17T21:17:13Z"
|
"date": "2025-02-17T21:17:13Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "jellyfin/jellyfin",
|
|
||||||
"version": "v10.10.6",
|
|
||||||
"date": "2025-02-16T21:55:45Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "sbondCo/Watcharr",
|
"name": "sbondCo/Watcharr",
|
||||||
"version": "v2.0.2",
|
"version": "v2.0.2",
|
||||||
@@ -1164,11 +1174,6 @@
|
|||||||
"version": "v0.8.13",
|
"version": "v0.8.13",
|
||||||
"date": "2024-07-29T12:54:27Z"
|
"date": "2024-07-29T12:54:27Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Paymenter/Paymenter",
|
|
||||||
"version": "v0.9.5",
|
|
||||||
"date": "2024-07-20T08:46:42Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "hywax/mafl",
|
"name": "hywax/mafl",
|
||||||
"version": "v0.15.4",
|
"version": "v0.15.4",
|
||||||
@@ -1234,11 +1239,6 @@
|
|||||||
"version": "2.0.16",
|
"version": "2.0.16",
|
||||||
"date": "2024-01-18T16:11:07Z"
|
"date": "2024-01-18T16:11:07Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "wger-project/wger",
|
|
||||||
"version": "2.2",
|
|
||||||
"date": "2023-12-06T12:08:09Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "deepch/RTSPtoWeb",
|
"name": "deepch/RTSPtoWeb",
|
||||||
"version": "v2.4.3",
|
"version": "v2.4.3",
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
import FAQ from "@/components/FAQ";
|
||||||
import AnimatedGradientText from "@/components/ui/animated-gradient-text";
|
import AnimatedGradientText from "@/components/ui/animated-gradient-text";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { CardFooter } from "@/components/ui/card";
|
import { CardFooter } from "@/components/ui/card";
|
||||||
@@ -34,14 +35,9 @@ export default function Page() {
|
|||||||
}, [theme]);
|
}, [theme]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
<>
|
||||||
<div className="w-full mt-16">
|
<div className="w-full mt-16">
|
||||||
<Particles
|
<Particles className="absolute inset-0 -z-40" quantity={100} ease={80} color={color} refresh />
|
||||||
className="absolute inset-0 -z-40"
|
|
||||||
quantity={100}
|
|
||||||
ease={80}
|
|
||||||
color={color}
|
|
||||||
refresh
|
|
||||||
/>
|
|
||||||
<div className="container mx-auto">
|
<div className="container mx-auto">
|
||||||
<div className="flex h-[80vh] flex-col items-center justify-center gap-4 py-20 lg:py-40">
|
<div className="flex h-[80vh] flex-col items-center justify-center gap-4 py-20 lg:py-40">
|
||||||
<Dialog>
|
<Dialog>
|
||||||
@@ -70,9 +66,8 @@ export default function Page() {
|
|||||||
<DialogHeader>
|
<DialogHeader>
|
||||||
<DialogTitle>Thank You!</DialogTitle>
|
<DialogTitle>Thank You!</DialogTitle>
|
||||||
<DialogDescription>
|
<DialogDescription>
|
||||||
A big thank you to tteck and the many contributors who have
|
A big thank you to tteck and the many contributors who have made this project possible. Your hard
|
||||||
made this project possible. Your hard work is truly
|
work is truly appreciated by the entire Proxmox community!
|
||||||
appreciated by the entire Proxmox community!
|
|
||||||
</DialogDescription>
|
</DialogDescription>
|
||||||
</DialogHeader>
|
</DialogHeader>
|
||||||
<CardFooter className="flex flex-col gap-2">
|
<CardFooter className="flex flex-col gap-2">
|
||||||
@@ -93,8 +88,7 @@ export default function Page() {
|
|||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
className="flex items-center justify-center"
|
className="flex items-center justify-center"
|
||||||
>
|
>
|
||||||
<ExternalLink className="mr-2 h-4 w-4" /> Proxmox Helper
|
<ExternalLink className="mr-2 h-4 w-4" /> Proxmox Helper Scripts
|
||||||
Scripts
|
|
||||||
</a>
|
</a>
|
||||||
</Button>
|
</Button>
|
||||||
</CardFooter>
|
</CardFooter>
|
||||||
@@ -107,12 +101,10 @@ export default function Page() {
|
|||||||
</h1>
|
</h1>
|
||||||
<div className="max-w-2xl gap-2 flex flex-col text-center sm:text-lg text-sm leading-relaxed tracking-tight text-muted-foreground md:text-xl">
|
<div className="max-w-2xl gap-2 flex flex-col text-center sm:text-lg text-sm leading-relaxed tracking-tight text-muted-foreground md:text-xl">
|
||||||
<p>
|
<p>
|
||||||
We are a community-driven initiative that simplifies the setup
|
We are a community-driven initiative that simplifies the setup of Proxmox Virtual Environment (VE).
|
||||||
of Proxmox Virtual Environment (VE).
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
With 300+ scripts to help you manage your{" "}
|
With 300+ scripts to help you manage your <b>Proxmox VE environment</b>. Whether you're a seasoned
|
||||||
<b>Proxmox VE environment</b>. Whether you're a seasoned
|
|
||||||
user or a newcomer, we've got you covered.
|
user or a newcomer, we've got you covered.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -131,7 +123,21 @@ export default function Page() {
|
|||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{/* FAQ Section */}
|
||||||
|
<div className="py-20" id="faq">
|
||||||
|
<div className="max-w-4xl mx-auto px-4">
|
||||||
|
<div className="text-center mb-12">
|
||||||
|
<h2 className="text-3xl font-bold tracking-tighter md:text-5xl mb-4">Frequently Asked Questions</h2>
|
||||||
|
<p className="text-muted-foreground text-lg">
|
||||||
|
Find answers to common questions about our Proxmox VE scripts
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<FAQ />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ export default function ScriptAccordion({
|
|||||||
value={expandedItem}
|
value={expandedItem}
|
||||||
onValueChange={handleAccordionChange}
|
onValueChange={handleAccordionChange}
|
||||||
collapsible
|
collapsible
|
||||||
className="overflow-y-scroll max-h-[calc(100vh-220px)] overflow-x-hidden mt-3 p-2"
|
className="overflow-y-scroll max-h-[calc(100vh-225px)] overflow-x-hidden mt-3 p-2"
|
||||||
>
|
>
|
||||||
{items.map((category) => (
|
{items.map((category) => (
|
||||||
<AccordionItem
|
<AccordionItem
|
||||||
|
|||||||
29
frontend/src/components/FAQ.tsx
Normal file
29
frontend/src/components/FAQ.tsx
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
import * as AccordionPrimitive from "@radix-ui/react-accordion";
|
||||||
|
import { Plus } from "lucide-react";
|
||||||
|
import { FAQ_Items } from "../config/faqConfig";
|
||||||
|
import { Accordion, AccordionContent, AccordionItem } from "./ui/accordion";
|
||||||
|
|
||||||
|
export default function FAQ() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-4">
|
||||||
|
<Accordion type="single" collapsible className="w-full">
|
||||||
|
{FAQ_Items.map((item, index) => (
|
||||||
|
<AccordionItem value={index.toString()} key={index} className="py-2">
|
||||||
|
<AccordionPrimitive.Header className="flex">
|
||||||
|
<AccordionPrimitive.Trigger className="flex flex-1 items-center gap-3 py-2 text-left text-[15px] font-semibold leading-6 transition-all [&>svg>path:last-child]:origin-center [&>svg>path:last-child]:transition-all [&>svg>path:last-child]:duration-200 [&>svg]:-order-1 [&[data-state=open]>svg>path:last-child]:rotate-90 [&[data-state=open]>svg>path:last-child]:opacity-0 [&[data-state=open]>svg]:rotate-180">
|
||||||
|
{item.title}
|
||||||
|
<Plus
|
||||||
|
size={16}
|
||||||
|
strokeWidth={2}
|
||||||
|
className="shrink-0 opacity-60 transition-transform duration-200"
|
||||||
|
aria-hidden="true"
|
||||||
|
/>
|
||||||
|
</AccordionPrimitive.Trigger>
|
||||||
|
</AccordionPrimitive.Header>
|
||||||
|
<AccordionContent className="pb-2 ps-7 text-muted-foreground">{item.content}</AccordionContent>
|
||||||
|
</AccordionItem>
|
||||||
|
))}
|
||||||
|
</Accordion>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -6,7 +6,7 @@ import { cn } from "@/lib/utils";
|
|||||||
|
|
||||||
export default function Footer() {
|
export default function Footer() {
|
||||||
return (
|
return (
|
||||||
<div className="supports-backdrop-blur:bg-background/90 mt-auto border-t w-full flex justify-between border-border bg-background/40 py-6 backdrop-blur-lg">
|
<div className="supports-backdrop-blur:bg-background/90 mt-auto border-t w-full flex justify-between border-border bg-background/40 py-4 backdrop-blur-lg">
|
||||||
<div className="mx-6 w-full flex justify-between text-xs sm:text-sm text-muted-foreground">
|
<div className="mx-6 w-full flex justify-between text-xs sm:text-sm text-muted-foreground">
|
||||||
<div className="flex items-center">
|
<div className="flex items-center">
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
37
frontend/src/config/faqConfig.tsx
Normal file
37
frontend/src/config/faqConfig.tsx
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
export const FAQ_Items = [
|
||||||
|
{
|
||||||
|
title: "Why do you use tarballs instead of git pull for installation?",
|
||||||
|
content:
|
||||||
|
"Our LXC scripts install applications using release tarballs. Tarballs contain stable code versions tested for release. Using `git pull` directly fetches the latest development code, which might be unstable or contain bugs. Tarballs offer a more reliable installation.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Why do the scripts install applications using HTTP by default?",
|
||||||
|
content:
|
||||||
|
"Our LXC scripts install applications using HTTP by default. Setting up HTTPS often requires manual configuration specific to your setup, which our automated scripts cannot handle reliably. If an application requires HTTPS, the script will configure it. For others, you need to enable HTTPS yourself, often following the application's official documentation.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Where can I find documentation for the installed application?",
|
||||||
|
content:
|
||||||
|
"We link to the official documentation for each application whenever possible. You can usually find this link on the script's information page for the specific LXC script. If you notice a missing link for an application that has official docs, please report it so we can add it.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "What should I do if I find a bug in an LXC script?",
|
||||||
|
content:
|
||||||
|
"Our LXC scripts are maintained by volunteers in their free time. Bugs can occur due to our errors or changes in the applications themselves. If you find a bug in one of our LXC scripts, please report it on our GitHub issues page. Your feedback helps us improve the scripts.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Why isn't the application updating to the very latest version?",
|
||||||
|
content:
|
||||||
|
"Updates via our LXC scripts might not pull the absolute latest version for a few reasons:\n- A bug in the application's release naming on GitHub.\n- A bug in our update script.\n- We intentionally pinned the version. This happens if a newer version has breaking changes or serious bugs that could affect your data or LXC stability. We wait for fixes before allowing the update.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Why am I getting a "502 Bad Gateway" error?',
|
||||||
|
content:
|
||||||
|
'A "502 Bad Gateway" error usually means the application inside the LXC is not running or responding correctly. Check the application\'s logs first. If you use a reverse proxy, check its logs too. If you still have problems after checking the logs, report the issue, providing details from the logs.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "What should I do if a script fails during execution?",
|
||||||
|
content:
|
||||||
|
"If an LXC script fails, run it again using Verbose mode. Standard mode hides detailed output for neatness, showing only progress. Verbose mode displays all messages, which helps you (and us) diagnose the error. Include this verbose output if you report the issue.",
|
||||||
|
},
|
||||||
|
];
|
||||||
@@ -17,7 +17,8 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
tini \
|
tini \
|
||||||
gpg \
|
gpg \
|
||||||
build-essential
|
build-essential \
|
||||||
|
git
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
msg_info "Setting up Node.js Repository"
|
||||||
@@ -33,11 +34,11 @@ $STD npm install --global yarn
|
|||||||
msg_ok "Installed Node.js"
|
msg_ok "Installed Node.js"
|
||||||
|
|
||||||
msg_info "Installing Actual Budget"
|
msg_info "Installing Actual Budget"
|
||||||
cd /opt
|
cd /opt || exit
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
curl -fsSL "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz")
|
curl -fsSL "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz")
|
||||||
tar -xzf v${RELEASE}.tar.gz
|
tar -xzf v"${RELEASE}".tar.gz
|
||||||
mv actual-${RELEASE} /opt/actualbudget
|
mv actual-"${RELEASE}" /opt/actualbudget
|
||||||
|
|
||||||
mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config}
|
mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config}
|
||||||
chown -R root:root /opt/actualbudget-data
|
chown -R root:root /opt/actualbudget-data
|
||||||
@@ -53,8 +54,10 @@ ACTUAL_TRUSTED_PROXIES="10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,127.0.0.1/32,::1
|
|||||||
ACTUAL_HTTPS_KEY=/opt/actualbudget/selfhost.key
|
ACTUAL_HTTPS_KEY=/opt/actualbudget/selfhost.key
|
||||||
ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt
|
ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt
|
||||||
EOF
|
EOF
|
||||||
cd /opt/actualbudget
|
cd /opt/actualbudget || exit
|
||||||
$STD yarn workspaces focus @actual-app/sync-server --production
|
export NODE_OPTIONS="--max_old_space_size=4096"
|
||||||
|
$STD yarn install
|
||||||
|
$STD yarn run build:server
|
||||||
$STD openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout selfhost.key -out selfhost.crt <<EOF
|
$STD openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout selfhost.key -out selfhost.crt <<EOF
|
||||||
US
|
US
|
||||||
California
|
California
|
||||||
@@ -93,7 +96,7 @@ motd_ssh
|
|||||||
customize
|
customize
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
rm -rf /opt/v${RELEASE}.tar.gz
|
rm -rf /opt/v"${RELEASE}".tar.gz
|
||||||
$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"
|
||||||
|
|||||||
@@ -22,12 +22,11 @@ msg_ok "Installed Dependencies"
|
|||||||
msg_info "Installing MariaDB"
|
msg_info "Installing MariaDB"
|
||||||
$STD apk add --no-cache mariadb mariadb-client
|
$STD apk add --no-cache mariadb mariadb-client
|
||||||
$STD rc-update add mariadb default
|
$STD rc-update add mariadb default
|
||||||
$STD rc-service mariadb start
|
|
||||||
msg_ok "Installed MariaDB"
|
msg_ok "Installed MariaDB"
|
||||||
|
|
||||||
msg_info "Configuring MariaDB"
|
msg_info "Configuring MariaDB"
|
||||||
mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql >/dev/null 2>&1
|
mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql >/dev/null 2>&1
|
||||||
$STD rc-service mariadb restart
|
$STD rc-service mariadb start
|
||||||
msg_ok "MariaDB Configured"
|
msg_ok "MariaDB Configured"
|
||||||
|
|
||||||
read -r -p "Would you like to install Adminer with lighthttpd? <y/N>: " prompt
|
read -r -p "Would you like to install Adminer with lighthttpd? <y/N>: " prompt
|
||||||
@@ -36,8 +35,8 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
|||||||
$STD apk add --no-cache lighttpd php php-cgi php-mysqli php-mbstring php-zip php-gd php-json php-curl jq
|
$STD apk add --no-cache lighttpd php php-cgi php-mysqli php-mbstring php-zip php-gd php-json php-curl jq
|
||||||
sed -i 's|server.modules += ( "mod_cgi" )|server.modules += ( "mod_cgi", "mod_fastcgi" )|' /etc/lighttpd/lighttpd.conf
|
sed -i 's|server.modules += ( "mod_cgi" )|server.modules += ( "mod_cgi", "mod_fastcgi" )|' /etc/lighttpd/lighttpd.conf
|
||||||
echo 'fastcgi.server += ( ".php" => (( "bin-path" => "/usr/bin/php-cgi", "socket" => "/var/run/php-cgi.sock" )))' >>/etc/lighttpd/lighttpd.conf
|
echo 'fastcgi.server += ( ".php" => (( "bin-path" => "/usr/bin/php-cgi", "socket" => "/var/run/php-cgi.sock" )))' >>/etc/lighttpd/lighttpd.conf
|
||||||
ADMINER_VERSION=$(curl -s https://api.github.com/repos/vrana/adminer/releases/latest | jq -r '.tag_name' | sed 's/v//')
|
ADMINER_VERSION=$(curl -fsSL https://api.github.com/repos/vrana/adminer/releases/latest | jq -r '.tag_name' | sed 's/v//')
|
||||||
wget -q -O /var/www/adminer.php "https://github.com/vrana/adminer/releases/download/v${ADMINER_VERSION}/adminer-${ADMINER_VERSION}.php"
|
curl -fsSL "https://github.com/vrana/adminer/releases/download/v${ADMINER_VERSION}/adminer-${ADMINER_VERSION}.php" -o /var/www/adminer.php
|
||||||
chown lighttpd:lighttpd /var/www/adminer.php
|
chown lighttpd:lighttpd /var/www/adminer.php
|
||||||
chmod 755 /var/www/adminer.php
|
chmod 755 /var/www/adminer.php
|
||||||
msg_ok "Adminer Installed"
|
msg_ok "Adminer Installed"
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: MickLesk (Canbiz) & vhsdream
|
# Author: MickLesk (Canbiz) & vhsdream
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://hoarder.app/
|
# Source: https://karakeep.app/
|
||||||
|
|
||||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
color
|
color
|
||||||
@@ -34,8 +34,8 @@ chmod +x /usr/bin/yt-dlp
|
|||||||
msg_ok "Installed Additional Tools"
|
msg_ok "Installed Additional Tools"
|
||||||
|
|
||||||
msg_info "Installing Meilisearch"
|
msg_info "Installing Meilisearch"
|
||||||
cd /tmp
|
cd /tmp || exit
|
||||||
curl -fsSL "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb" -o $(basename "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb")
|
curl -fsSL "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb" -o "meilisearch.deb"
|
||||||
$STD dpkg -i meilisearch.deb
|
$STD dpkg -i meilisearch.deb
|
||||||
curl -fsSL "https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml" -o "/etc/meilisearch.toml"
|
curl -fsSL "https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml" -o "/etc/meilisearch.toml"
|
||||||
MASTER_KEY=$(openssl rand -base64 12)
|
MASTER_KEY=$(openssl rand -base64 12)
|
||||||
@@ -58,30 +58,30 @@ $STD apt-get install -y nodejs
|
|||||||
$STD npm install -g corepack@0.31.0
|
$STD npm install -g corepack@0.31.0
|
||||||
msg_ok "Installed Node.js"
|
msg_ok "Installed Node.js"
|
||||||
|
|
||||||
msg_info "Installing Hoarder"
|
msg_info "Installing karakeep"
|
||||||
cd /opt
|
cd /opt || exit
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip")
|
curl -fsSL "https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
|
||||||
unzip -q v${RELEASE}.zip
|
unzip -q "v${RELEASE}.zip"
|
||||||
mv hoarder-${RELEASE} /opt/hoarder
|
mv karakeep-"${RELEASE}" /opt/karakeep
|
||||||
cd /opt/hoarder
|
cd /opt/karakeep || exit
|
||||||
corepack enable
|
corepack enable
|
||||||
export PUPPETEER_SKIP_DOWNLOAD="true"
|
export PUPPETEER_SKIP_DOWNLOAD="true"
|
||||||
export NEXT_TELEMETRY_DISABLED=1
|
export NEXT_TELEMETRY_DISABLED=1
|
||||||
export CI="true"
|
export CI="true"
|
||||||
cd /opt/hoarder/apps/web
|
cd /opt/karakeep/apps/web || exit
|
||||||
$STD pnpm install --frozen-lockfile
|
$STD pnpm install --frozen-lockfile
|
||||||
$STD pnpm exec next build --experimental-build-mode compile
|
$STD pnpm exec next build --experimental-build-mode compile
|
||||||
cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web
|
cp -r /opt/karakeep/apps/web/.next/standalone/apps/web/server.js /opt/karakeep/apps/web
|
||||||
cd /opt/hoarder/apps/workers
|
cd /opt/karakeep/apps/workers || exit
|
||||||
$STD pnpm install --frozen-lockfile
|
$STD pnpm install --frozen-lockfile
|
||||||
|
|
||||||
export DATA_DIR=/opt/hoarder_data
|
export DATA_DIR=/opt/karakeep_data
|
||||||
HOARDER_SECRET=$(openssl rand -base64 36 | cut -c1-24)
|
karakeep_SECRET=$(openssl rand -base64 36 | cut -c1-24)
|
||||||
mkdir -p /etc/hoarder
|
mkdir -p /etc/karakeep
|
||||||
cat <<EOF >/etc/hoarder/hoarder.env
|
cat <<EOF >/etc/karakeep/karakeep.env
|
||||||
SERVER_VERSION=$RELEASE
|
SERVER_VERSION=$RELEASE
|
||||||
NEXTAUTH_SECRET="$HOARDER_SECRET"
|
NEXTAUTH_SECRET="$karakeep_SECRET"
|
||||||
NEXTAUTH_URL="http://localhost:3000"
|
NEXTAUTH_URL="http://localhost:3000"
|
||||||
DATA_DIR="$DATA_DIR"
|
DATA_DIR="$DATA_DIR"
|
||||||
MEILI_ADDR="http://127.0.0.1:7700"
|
MEILI_ADDR="http://127.0.0.1:7700"
|
||||||
@@ -99,11 +99,11 @@ BROWSER_WEB_URL="http://127.0.0.1:9222"
|
|||||||
# INFERENCE_IMAGE_MODEL="gpt-4o-mini"
|
# INFERENCE_IMAGE_MODEL="gpt-4o-mini"
|
||||||
EOF
|
EOF
|
||||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
||||||
msg_ok "Installed Hoarder"
|
msg_ok "Installed karakeep"
|
||||||
|
|
||||||
msg_info "Running Database Migration"
|
msg_info "Running Database Migration"
|
||||||
mkdir -p ${DATA_DIR}
|
mkdir -p ${DATA_DIR}
|
||||||
cd /opt/hoarder/packages/db
|
cd /opt/karakeep/packages/db || exit
|
||||||
$STD pnpm migrate
|
$STD pnpm migrate
|
||||||
msg_ok "Database Migration Completed"
|
msg_ok "Database Migration Completed"
|
||||||
|
|
||||||
@@ -121,25 +121,25 @@ Restart=always
|
|||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat <<EOF >/etc/systemd/system/hoarder-web.service
|
cat <<EOF >/etc/systemd/system/karakeep-web.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Hoarder Web
|
Description=karakeep Web
|
||||||
Wants=network.target hoarder-workers.service
|
Wants=network.target karakeep-workers.service
|
||||||
After=network.target hoarder-workers.service
|
After=network.target karakeep-workers.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=pnpm start
|
ExecStart=pnpm start
|
||||||
WorkingDirectory=/opt/hoarder/apps/web
|
WorkingDirectory=/opt/karakeep/apps/web
|
||||||
EnvironmentFile=/etc/hoarder/hoarder.env
|
EnvironmentFile=/etc/karakeep/karakeep.env
|
||||||
Restart=always
|
Restart=always
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat <<EOF >/etc/systemd/system/hoarder-browser.service
|
cat <<EOF >/etc/systemd/system/karakeep-browser.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Hoarder Headless Browser
|
Description=karakeep Headless Browser
|
||||||
After=network.target
|
After=network.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
@@ -151,16 +151,16 @@ Restart=always
|
|||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat <<EOF >/etc/systemd/system/hoarder-workers.service
|
cat <<EOF >/etc/systemd/system/karakeep-workers.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Hoarder Workers
|
Description=karakeep Workers
|
||||||
Wants=network.target hoarder-browser.service meilisearch.service
|
Wants=network.target karakeep-browser.service meilisearch.service
|
||||||
After=network.target hoarder-browser.service meilisearch.service
|
After=network.target karakeep-browser.service meilisearch.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=pnpm start:prod
|
ExecStart=pnpm start:prod
|
||||||
WorkingDirectory=/opt/hoarder/apps/workers
|
WorkingDirectory=/opt/karakeep/apps/workers
|
||||||
EnvironmentFile=/etc/hoarder/hoarder.env
|
EnvironmentFile=/etc/karakeep/karakeep.env
|
||||||
Restart=always
|
Restart=always
|
||||||
TimeoutStopSec=5
|
TimeoutStopSec=5
|
||||||
|
|
||||||
@@ -168,7 +168,7 @@ TimeoutStopSec=5
|
|||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
systemctl enable -q --now meilisearch hoarder-browser hoarder-workers hoarder-web
|
systemctl enable -q --now meilisearch karakeep-browser karakeep-workers karakeep-web
|
||||||
msg_ok "Created Services"
|
msg_ok "Created Services"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
@@ -176,7 +176,7 @@ customize
|
|||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
rm -rf /tmp/meilisearch.deb
|
rm -rf /tmp/meilisearch.deb
|
||||||
rm -f /opt/v${RELEASE}.zip
|
rm -f /opt/v"${RELEASE}".zip
|
||||||
$STD apt-get autoremove -y
|
$STD apt-get autoremove -y
|
||||||
$STD apt-get autoclean -y
|
$STD apt-get autoclean -y
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
@@ -24,21 +24,20 @@ $STD apt-get install -y \
|
|||||||
lsb-release
|
lsb-release
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setup PHP8.4 Repository"
|
msg_info "Adding PHP8.4 Repository"
|
||||||
$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
||||||
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
||||||
$STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
|
$STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
|
||||||
$STD apt-get update
|
$STD apt-get update
|
||||||
msg_ok "Setup PHP8.4 Repository"
|
msg_ok "Added PHP8.4 Repository"
|
||||||
|
|
||||||
msg_info "Setup PHP"
|
msg_info "Installing PHP"
|
||||||
$STD apt-get remove -y php8.2*
|
$STD apt-get remove -y php8.2*
|
||||||
#$STD apt-get remove -y php8.3*
|
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
php8.3 \
|
php8.4 \
|
||||||
php8.3-{mbstring,gd,intl,common,mysql,zip,xml} \
|
php8.4-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl} \
|
||||||
libapache2-mod-php8.3
|
libapache2-mod-php8.4
|
||||||
msg_info "Setup PHP"
|
msg_ok "Installed PHP"
|
||||||
|
|
||||||
msg_info "Setting up database"
|
msg_info "Setting up database"
|
||||||
DB_NAME=kimai_db
|
DB_NAME=kimai_db
|
||||||
@@ -59,9 +58,9 @@ msg_ok "Set up database"
|
|||||||
msg_info "Installing Kimai (Patience)"
|
msg_info "Installing Kimai (Patience)"
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip")
|
curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip")
|
||||||
unzip -q ${RELEASE}.zip
|
unzip -q "${RELEASE}".zip
|
||||||
mv kimai-${RELEASE} /opt/kimai
|
mv kimai-"${RELEASE}" /opt/kimai
|
||||||
cd /opt/kimai
|
cd /opt/kimai || exit
|
||||||
echo "export COMPOSER_ALLOW_SUPERUSER=1" >>~/.bashrc
|
echo "export COMPOSER_ALLOW_SUPERUSER=1" >>~/.bashrc
|
||||||
source ~/.bashrc
|
source ~/.bashrc
|
||||||
$STD composer install --no-dev --optimize-autoloader --no-interaction
|
$STD composer install --no-dev --optimize-autoloader --no-interaction
|
||||||
@@ -130,7 +129,7 @@ motd_ssh
|
|||||||
customize
|
customize
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
rm -rf ${RELEASE}.zip
|
rm -rf "${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"
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ $STD apt-get install -y \
|
|||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Adding PHP8.4 Repository"
|
msg_info "Adding PHP8.4 Repository"
|
||||||
$STD curl -sSLo "https://packages.sury.org/debsuryorg-archive-keyring.deb" -o /tmp/debsuryorg-archive-keyring.deb
|
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
||||||
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
||||||
$STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
|
$STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
|
||||||
$STD apt-get update
|
$STD apt-get update
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: tteck (tteckster)
|
# Author: MickLesk (CanbiZ)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://www.zabbix.com/
|
# Source: https://www.zabbix.com/
|
||||||
|
|
||||||
@@ -14,8 +14,11 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Zabbix"
|
msg_info "Installing Zabbix"
|
||||||
cd /tmp
|
cd /tmp || exit
|
||||||
curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -o $(basename "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb")
|
curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ |
|
||||||
|
grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 |
|
||||||
|
xargs -I{} echo "https://repo.zabbix.com/zabbix/{}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb")" \
|
||||||
|
-o /tmp/zabbix-release_latest+debian12_all.deb
|
||||||
$STD dpkg -i /tmp/zabbix-release_latest+debian12_all.deb
|
$STD dpkg -i /tmp/zabbix-release_latest+debian12_all.deb
|
||||||
$STD apt-get update
|
$STD apt-get update
|
||||||
$STD apt-get install -y zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-apache-conf zabbix-sql-scripts
|
$STD apt-get install -y zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-apache-conf zabbix-sql-scripts
|
||||||
|
|||||||
@@ -39,8 +39,8 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME OWNER $DB_ADMIN_USER;"
|
|||||||
msg_ok "Installed PostgreSQL"
|
msg_ok "Installed PostgreSQL"
|
||||||
|
|
||||||
msg_info "Installing Zitadel"
|
msg_info "Installing Zitadel"
|
||||||
RELEASE=$(curl -fsSL https://github.com/zitadel/zitadel/releases/latest | grep location: | cut -d '/' -f 8 | tr -d '\r')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/zitadel/zitadel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
curl -fsSL https://github.com/zitadel/zitadel/releases/download/$RELEASE/zitadel-linux-amd64.tar.gz | tar -xz
|
curl -fsSL "https://github.com/zitadel/zitadel/releases/download/v$RELEASE/zitadel-linux-amd64.tar.gz" | tar -xz
|
||||||
mv zitadel-linux-amd64/zitadel /usr/local/bin
|
mv zitadel-linux-amd64/zitadel /usr/local/bin
|
||||||
msg_ok "Installed Zitadel"
|
msg_ok "Installed Zitadel"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user