Compare commits

...

38 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
67395df39e Update versions.json (#3500)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-31 01:05:07 +02:00
community-scripts-pr-app[bot]
8605995aff Update CHANGELOG.md (#3507)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-31 01:04:48 +02:00
Slaviša Arežina
6fd77dcd9f Fix Ollama update logic (#3506) 2025-03-30 17:16:55 +02:00
Slaviša Arežina
92c6662abf GoMFT: Add frontend build procedure (#3499) 2025-03-30 16:15:59 +01:00
community-scripts-pr-app[bot]
453210900d Update CHANGELOG.md (#3503)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-30 12:36:27 +02:00
Slaviša Arežina
df41b8e707 Open WebUI: Add Ollama update check (#3478)
* Add Ollama update check

* Update openwebui.sh

* Fix Ollama update

* fixes
2025-03-30 11:43:44 +02:00
community-scripts-pr-app[bot]
3939b88b9f Update CHANGELOG.md (#3494) 2025-03-29 21:49:04 +01:00
community-scripts-pr-app[bot]
5be029597b Update .app files (#3495) 2025-03-29 21:48:48 +01:00
CanbiZ
e394dd08b0 Alpine MariaDB (#3456)
* Alpine-MariaDB

* fix deps

* Update install/alpine-mariadb-install.sh

Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>

* space

---------

Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-03-29 21:38:47 +01:00
community-scripts-pr-app[bot]
5d50d91a26 Update CHANGELOG.md (#3492)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-29 21:28:37 +01:00
Slaviša Arežina
1a0f3a6108 Fix wrong sed text (#3491) 2025-03-29 20:44:56 +01:00
community-scripts-pr-app[bot]
d940907e59 Update CHANGELOG.md (#3490)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-29 18:07:14 +01:00
Slaviša Arežina
09e7593734 GoMFT: Fix release archive naming (#3483)
* Fix release archive naming

* No uses curl to fetch release

* typo

* Update

* Update
2025-03-29 17:57:22 +01:00
community-scripts-pr-app[bot]
121577c2fd Update CHANGELOG.md (#3485)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-29 15:19:33 +01:00
Slaviša Arežina
bcaf34fa96 Fix release parsing (#3484) 2025-03-29 15:12:52 +01:00
community-scripts-pr-app[bot]
87106a60c3 Update versions.json (#3481)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-29 14:33:08 +01:00
community-scripts-pr-app[bot]
c63ad45e65 Update CHANGELOG.md (#3480)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-29 14:06:52 +01:00
Slaviša Arežina
52bd63bf08 Fix debian-keyring dependency missing (#3477) 2025-03-29 14:04:28 +01:00
Slaviša Arežina
8a5367dae3 Fix temp file (#3476) 2025-03-29 12:21:58 +01:00
community-scripts-pr-app[bot]
8c8b08e037 Update CHANGELOG.md (#3475)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-29 10:29:41 +01:00
community-scripts-pr-app[bot]
40b997ddc9 Update versions.json (#3468) 2025-03-29 08:43:55 +01:00
Slaviša Arežina
b87e7dde2b Fix compose.env (#3466) 2025-03-29 08:43:36 +01:00
community-scripts-pr-app[bot]
f46b9bbfb9 Update CHANGELOG.md (#3464)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-28 23:24:05 +01:00
Slaviša Arežina
07a3ab353c GoMFT: Fix release grep (#3462)
* Fix release grep

* Fix release grep in update function
2025-03-28 21:31:15 +01:00
Slaviša Arežina
c4cdb030b4 Fix path (#3463) 2025-03-28 21:30:57 +01:00
community-scripts-pr-app[bot]
2ffd827be4 Update CHANGELOG.md (#3452) 2025-03-28 17:13:23 +01:00
community-scripts-pr-app[bot]
515f9ab502 Update .app files (#3460)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-03-28 16:44:48 +01:00
CanbiZ
079b089518 Alpine Node-RED (#3457)
* Alpine Node-RED

* Update alpine-node-red-install.sh
2025-03-28 16:36:32 +01:00
CanbiZ
8300d7725d Update alpine-gitea.sh 2025-03-28 14:16:11 +01:00
CanbiZ
ab45b91c4c move coc
CODE_OF_CONDUCT need to be in .github main folder
2025-03-28 13:23:41 +01:00
community-scripts-pr-app[bot]
b428e8a267 Update versions.json (#3458)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-28 13:08:31 +01:00
community-scripts-pr-app[bot]
2643c91516 Update versions.json (#3449) 2025-03-28 08:08:36 +01:00
community-scripts-pr-app[bot]
73faa0ab10 Update versions.json (#3440)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-27 13:15:48 +01:00
community-scripts-pr-app[bot]
9f890aae89 Update CHANGELOG.md (#3434) 2025-03-27 11:53:04 +01:00
CanbiZ
9cbd315456 [core]: add functions for Alpine (update / core deps) (#3437) 2025-03-27 11:52:04 +01:00
CanbiZ
022472af34 Refactor Spinner/MSG Function (support now alpine and better performance / handling) (#3436) 2025-03-27 11:51:40 +01:00
CanbiZ
3274115041 harmonize licence to VE (not VED) 2025-03-27 10:20:57 +01:00
community-scripts-pr-app[bot]
dc980951ea Update versions.json (#3432) 2025-03-27 09:29:54 +01:00
25 changed files with 708 additions and 347 deletions

View File

@@ -14,6 +14,61 @@ 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-03-30
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Open WebUI: Fix Ollama update logic [@tremor021](https://github.com/tremor021) ([#3506](https://github.com/community-scripts/ProxmoxVE/pull/3506))
- GoMFT: Add frontend build procedure [@tremor021](https://github.com/tremor021) ([#3499](https://github.com/community-scripts/ProxmoxVE/pull/3499))
- #### ✨ New Features
- Open WebUI: Add Ollama update check [@tremor021](https://github.com/tremor021) ([#3478](https://github.com/community-scripts/ProxmoxVE/pull/3478))
## 2025-03-29
### 🆕 New Scripts
- Alpine MariaDB [@MickLesk](https://github.com/MickLesk) ([#3456](https://github.com/community-scripts/ProxmoxVE/pull/3456))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Komodo: Fix wrong sed text [@tremor021](https://github.com/tremor021) ([#3491](https://github.com/community-scripts/ProxmoxVE/pull/3491))
- GoMFT: Fix release archive naming [@tremor021](https://github.com/tremor021) ([#3483](https://github.com/community-scripts/ProxmoxVE/pull/3483))
- Homepage: Fix release parsing [@tremor021](https://github.com/tremor021) ([#3484](https://github.com/community-scripts/ProxmoxVE/pull/3484))
- Netdata: Fix debian-keyring dependency missing [@tremor021](https://github.com/tremor021) ([#3477](https://github.com/community-scripts/ProxmoxVE/pull/3477))
- ErsatzTV: Fix temp file reference [@tremor021](https://github.com/tremor021) ([#3476](https://github.com/community-scripts/ProxmoxVE/pull/3476))
- Komodo: Fix compose.env [@tremor021](https://github.com/tremor021) ([#3466](https://github.com/community-scripts/ProxmoxVE/pull/3466))
## 2025-03-28
### 🆕 New Scripts
- Alpine Node-RED [@MickLesk](https://github.com/MickLesk) ([#3457](https://github.com/community-scripts/ProxmoxVE/pull/3457))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- GoMFT: Fix release grep [@tremor021](https://github.com/tremor021) ([#3462](https://github.com/community-scripts/ProxmoxVE/pull/3462))
- ErsatzTV: Fix path in update function [@tremor021](https://github.com/tremor021) ([#3463](https://github.com/community-scripts/ProxmoxVE/pull/3463))
## 2025-03-27
### 🚀 Updated Scripts
- [core]: add functions for Alpine (update / core deps) [@MickLesk](https://github.com/MickLesk) ([#3437](https://github.com/community-scripts/ProxmoxVE/pull/3437))
### 🧰 Maintenance
- #### 💾 Core
- [core]: Refactor Spinner/MSG Function (support now alpine / performance / handling) [@MickLesk](https://github.com/MickLesk) ([#3436](https://github.com/community-scripts/ProxmoxVE/pull/3436))
## 2025-03-26 ## 2025-03-26
### 🆕 New Scripts ### 🆕 New Scripts

View File

@@ -42,4 +42,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

46
ct/alpine-mariadb.sh Normal file
View File

@@ -0,0 +1,46 @@
#!/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: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://mariadb.org
APP="Alpine-MariaDB"
var_tags="${var_tags:-alpine;database}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.21}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
msg_info "Updating Alpine Packages"
$STD apk update
$STD apk upgrade
msg_ok "Updated Alpine Packages"
msg_info "Updating MariaDB"
$STD apk upgrade mariadb mariadb-client
msg_ok "Updated MariaDB"
msg_info "Restarting MariaDB"
$STD rc-service mariadb restart
msg_ok "Restarted MariaDB"
exit 0
}
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 IP:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}${IP}:3306${CL}"

50
ct/alpine-node-red.sh Normal file
View File

@@ -0,0 +1,50 @@
#!/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: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://nodered.org
APP="Alpine-Node-RED"
var_tags="${var_tags:-alpine;automation}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.21}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
msg_info "Updating Alpine Packages"
$STD apk update
$STD apk upgrade
msg_ok "Updated Alpine Packages"
msg_info "Updating Node.js and npm"
$STD apk upgrade nodejs npm
msg_ok "Updated Node.js and npm"
msg_info "Updating Node-RED"
$STD npm install -g --unsafe-perm node-red
msg_ok "Updated Node-RED"
msg_info "Restarting Node-RED"
$STD rc-service nodered restart
msg_ok "Restarted Node-RED"
exit 0
}
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}:1880${CL}"

View File

@@ -39,7 +39,7 @@ function update_script() {
temp_file=$(mktemp) temp_file=$(mktemp)
wget -qO- https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz -O "$temp_file" wget -qO- https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz -O "$temp_file"
tar -xzf "$temp_file" tar -xzf "$temp_file"
mv /opt/ErsatzTV-${RELEASE}-linux-x64 /opt/ErsatzTV mv ErsatzTV-${RELEASE}-linux-x64 /opt/ErsatzTV
cp -R ErsatzTV-backup/* /opt/ErsatzTV/ cp -R ErsatzTV-backup/* /opt/ErsatzTV/
rm -rf ErsatzTV-backup rm -rf ErsatzTV-backup
echo "${RELEASE}" >/opt/${APP}_version.txt echo "${RELEASE}" >/opt/${APP}_version.txt
@@ -67,4 +67,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8409${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8409${CL}"

View File

@@ -2,7 +2,7 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG # Copyright (c) 2021-2025 community-scripts ORG
# Author: kkroboth # Author: kkroboth
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://fileflows.com/ # Source: https://fileflows.com/
APP="FileFlows" APP="FileFlows"

View File

@@ -28,11 +28,17 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
RELEASE=$(curl -s https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if ! dpkg -l | grep -q "^ii.*build-essential"; then if ! dpkg -l | grep -q "^ii.*build-essential"; then
$STD apt-get install -y build-essential $STD apt-get install -y build-essential
fi fi
if [[ ! -f "/usr/bin/node" ]]; then
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
$STD apt-get update
$STD apt-get install -y nodejs
fi
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop gomft systemctl stop gomft
@@ -41,12 +47,15 @@ function update_script() {
msg_info "Updating $APP to ${RELEASE}" msg_info "Updating $APP to ${RELEASE}"
rm -f /opt/gomft/gomft rm -f /opt/gomft/gomft
temp_file=$(mktemp) temp_file=$(mktemp)
wget -q "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v.${RELEASE}.tar.gz" -o $temp_file
tar -xzf $temp_file tar -xzf $temp_file
cp -rf GoMFT-${RELEASE}/* /opt/gomft cp -rf GoMFT-v.${RELEASE}/* /opt/gomft
cd /opt/gomft cd /opt/gomft
rm -f /opt/gomft/node_modules
$STD npm ci
$STD node build.js
$STD go mod download $STD go mod download
$STD go install github.com/a-h/templ/cmd/templ@latest $STD go get -u github.com/a-h/templ
$STD $HOME/go/bin/templ generate $STD $HOME/go/bin/templ generate
export CGO_ENABLED=1 export CGO_ENABLED=1
export GOOS=linux export GOOS=linux
@@ -57,7 +66,7 @@ function update_script() {
msg_info "Cleaning Up" msg_info "Cleaning Up"
rm -f $temp_file rm -f $temp_file
rm -rf GoMFT-${RELEASE} rm -rf $HOME/GoMFT-v.${RELEASE}
msg_ok "Cleanup Complete" msg_ok "Cleanup Complete"
msg_info "Starting $APP" msg_info "Starting $APP"

View File

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

View File

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

View File

@@ -40,7 +40,7 @@ function update_script() {
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Updating Homepage to v${RELEASE} (Patience)" msg_info "Updating Homepage to v${RELEASE} (Patience)"
systemctl stop homepage systemctl stop homepage
wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz curl -fsSL "https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz")
tar -xzf v${RELEASE}.tar.gz tar -xzf v${RELEASE}.tar.gz
rm -rf v${RELEASE}.tar.gz rm -rf v${RELEASE}.tar.gz
cp -r homepage-${RELEASE}/* /opt/homepage/ cp -r homepage-${RELEASE}/* /opt/homepage/

View File

@@ -27,6 +27,21 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if [ -x "/usr/bin/ollama" ]; then
msg_info "Updating Ollama"
OLLAMA_VERSION=$(ollama -v | awk '{print $NF}')
RELEASE=$(curl -s https://api.github.com/repos/ollama/ollama/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}')
if [ "$OLLAMA_VERSION" != "$RELEASE" ]; then
curl -fsSLO https://ollama.com/download/ollama-linux-amd64.tgz
tar -C /usr -xzf ollama-linux-amd64.tgz
rm -rf ollama-linux-amd64.tgz
msg_ok "Ollama updated to version $RELEASE"
else
msg_ok "Ollama is already up to date."
fi
fi
msg_info "Updating ${APP} (Patience)" msg_info "Updating ${APP} (Patience)"
cd /opt/open-webui cd /opt/open-webui
mkdir -p /opt/open-webui-backup mkdir -p /opt/open-webui-backup

View File

@@ -24,6 +24,17 @@
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }
},
{
"type": "alpine",
"script": "ct/alpine-mariadb.sh",
"resources": {
"cpu": 1,
"ram": 256,
"hdd": 1,
"os": "alpine",
"version": "3.21"
}
} }
], ],
"default_credentials": { "default_credentials": {

View File

@@ -24,6 +24,17 @@
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }
},
{
"type": "alpine",
"script": "ct/alpine-node-red.sh",
"resources": {
"cpu": 1,
"ram": 256,
"hdd": 1,
"os": "alpine",
"version": "3.21"
}
} }
], ],
"default_credentials": { "default_credentials": {
@@ -32,8 +43,8 @@
}, },
"notes": [ "notes": [
{ {
"text": "To install themes, type `update` in the LXC console.", "text": "To install themes, type `update` in the LXC console. (debian/ubuntu only)",
"type": "info" "type": "info"
} }
] ]
} }

View File

@@ -1,13 +1,288 @@
[ [
{
"name": "pocketbase/pocketbase",
"version": "v0.26.6",
"date": "2025-03-30T08:02:19Z"
},
{
"name": "Prowlarr/Prowlarr",
"version": "v1.32.2.4987",
"date": "2025-03-16T09:41:37Z"
},
{
"name": "Readarr/Readarr",
"version": "v2.0.0.4645",
"date": "2017-03-07T18:56:06Z"
},
{
"name": "Lidarr/Lidarr",
"version": "v2.10.3.4602",
"date": "2025-03-23T11:00:37Z"
},
{
"name": "Radarr/Radarr",
"version": "v5.21.1.9799",
"date": "2025-03-24T15:52:12Z"
},
{
"name": "aceberg/WatchYourLAN",
"version": "2.1.2-alpine",
"date": "2025-03-30T06:25:22Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.1709",
"date": "2025-03-30T05:51:21Z"
},
{
"name": "pocket-id/pocket-id",
"version": "v0.45.0",
"date": "2025-03-29T23:12:22Z"
},
{
"name": "keycloak/keycloak",
"version": "26.1.4",
"date": "2025-03-13T15:41:42Z"
},
{
"name": "glanceapp/glance",
"version": "v0.7.9",
"date": "2025-03-29T18:08:11Z"
},
{
"name": "home-assistant/core",
"version": "2025.3.4",
"date": "2025-03-21T20:22:46Z"
},
{
"name": "theonedev/onedev",
"version": "v11.8.4",
"date": "2025-03-29T13:37:15Z"
},
{
"name": "runtipi/runtipi",
"version": "v3.10.0",
"date": "2025-03-15T14:38:16Z"
},
{
"name": "syncthing/syncthing",
"version": "v2.0.0-beta.1",
"date": "2025-03-29T12:53:28Z"
},
{
"name": "tobychui/zoraxy",
"version": "v3.1.9",
"date": "2025-03-01T02:24:33Z"
},
{
"name": "inspircd/inspircd",
"version": "v4.7.0",
"date": "2025-03-29T03:50:50Z"
},
{ {
"name": "fhem/fhem-mirror", "name": "fhem/fhem-mirror",
"version": "6.2", "version": "6.2",
"date": "2025-03-26T10:33:41Z" "date": "2025-03-29T01:59:30Z"
},
{
"name": "bunkerity/bunkerweb",
"version": "v1.6.1",
"date": "2025-03-15T17:29:17Z"
},
{
"name": "OliveTin/OliveTin",
"version": "2025.3.28",
"date": "2025-03-29T00:18:56Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.19.5",
"date": "2025-03-28T22:03:01Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.13.1",
"date": "2025-03-28T21:58:30Z"
},
{
"name": "TasmoAdmin/TasmoAdmin",
"version": "v4.2.3",
"date": "2025-02-09T23:07:48Z"
},
{
"name": "gristlabs/grist-core",
"version": "v1.5.0",
"date": "2025-03-28T20:43:51Z"
},
{
"name": "grocy/grocy",
"version": "v4.5.0",
"date": "2025-03-28T19:02:22Z"
},
{
"name": "Brandawg93/PeaNUT",
"version": "v5.6.1",
"date": "2025-03-28T18:40:22Z"
},
{
"name": "NodeBB/NodeBB",
"version": "v4.2.0",
"date": "2025-03-19T18:34:01Z"
},
{
"name": "louislam/uptime-kuma",
"version": "2.0.0-beta.2-temp",
"date": "2025-03-28T08:45:58Z"
},
{
"name": "zitadel/zitadel",
"version": "v2.71.5",
"date": "2025-03-28T15:34:27Z"
},
{
"name": "emqx/emqx",
"version": "e5.9.0-beta.2",
"date": "2025-03-28T15:06:27Z"
},
{
"name": "goauthentik/authentik",
"version": "version/2025.2.3",
"date": "2025-03-28T14:28:34Z"
},
{
"name": "hakimel/reveal.js",
"version": "5.2.1",
"date": "2025-03-28T13:00:23Z"
},
{
"name": "cockpit-project/cockpit",
"version": "336.2",
"date": "2025-03-28T10:16:47Z"
},
{
"name": "YunoHost/yunohost",
"version": "debian/12.0.12",
"date": "2025-03-16T11:59:24Z"
},
{
"name": "gethomepage/homepage",
"version": "v1.1.1",
"date": "2025-03-28T04:12:31Z"
},
{
"name": "documenso/documenso",
"version": "v1.10.0-rc.3",
"date": "2025-03-28T03:45:54Z"
},
{
"name": "StarFleetCPTN/GoMFT",
"version": "v0.2.3",
"date": "2025-03-27T23:54:49Z"
},
{
"name": "Bubka/2FAuth",
"version": "v5.5.0",
"date": "2025-03-27T22:35:02Z"
},
{
"name": "ellite/Wallos",
"version": "v2.48.1",
"date": "2025-03-27T22:02:16Z"
},
{
"name": "hivemq/hivemq-community-edition",
"version": "2025.2",
"date": "2025-03-27T19:21:13Z"
},
{
"name": "TriliumNext/Notes",
"version": "v0.92.4",
"date": "2025-03-17T16:00:19Z"
},
{
"name": "fallenbagel/jellyseerr",
"version": "preview-music-support",
"date": "2025-03-27T16:54:41Z"
},
{
"name": "immich-app/immich",
"version": "v1.130.3",
"date": "2025-03-27T16:38:04Z"
},
{
"name": "zwave-js/zwave-js-ui",
"version": "v10.1.3",
"date": "2025-03-27T15:51:38Z"
},
{
"name": "home-assistant/operating-system",
"version": "15.0",
"date": "2025-03-17T10:26:18Z"
},
{
"name": "tailscale/tailscale",
"version": "v1.82.0",
"date": "2025-03-27T13:08:18Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.84.3",
"date": "2025-03-27T11:54:33Z"
},
{
"name": "zabbix/zabbix",
"version": "7.2.5",
"date": "2025-03-27T11:06:48Z"
}, },
{ {
"name": "evcc-io/evcc", "name": "evcc-io/evcc",
"version": "0.202.0", "version": "0.202.1",
"date": "2025-03-26T10:19:01Z" "date": "2025-03-27T08:24:55Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.1",
"date": "2025-01-01T16:15:52Z"
},
{
"name": "openobserve/openobserve",
"version": "v0.14.5-rc6",
"date": "2025-03-27T05:15:49Z"
},
{
"name": "element-hq/synapse",
"version": "v1.127.1",
"date": "2025-03-26T21:44:28Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w13-4.12.0",
"date": "2025-03-26T21:11:43Z"
},
{
"name": "duplicati/duplicati",
"version": "v2.1.0.112-2.1.0.112_canary_2025-03-26",
"date": "2025-03-26T21:04:38Z"
},
{
"name": "ollama/ollama",
"version": "v0.6.3-rc1",
"date": "2025-03-26T20:39:01Z"
},
{
"name": "semaphoreui/semaphore",
"version": "v2.13.2",
"date": "2025-03-26T19:13:48Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.49.9",
"date": "2025-03-26T15:31:03Z"
},
{
"name": "prometheus/prometheus",
"version": "v0.303.0-rc.0",
"date": "2025-03-26T12:48:46Z"
}, },
{ {
"name": "jupyter/notebook", "name": "jupyter/notebook",
@@ -29,26 +304,6 @@
"version": "v1.34.0", "version": "v1.34.0",
"date": "2025-03-26T08:48:34Z" "date": "2025-03-26T08:48:34Z"
}, },
{
"name": "Jackett/Jackett",
"version": "v0.22.1695",
"date": "2025-03-26T06:01:34Z"
},
{
"name": "pocketbase/pocketbase",
"version": "v0.26.4",
"date": "2025-03-26T05:16:46Z"
},
{
"name": "theonedev/onedev",
"version": "v11.8.0",
"date": "2025-03-26T04:41:15Z"
},
{
"name": "cockpit-project/cockpit",
"version": "336.1",
"date": "2025-03-26T04:10:14Z"
},
{ {
"name": "esphome/esphome", "name": "esphome/esphome",
"version": "2025.3.2", "version": "2025.3.2",
@@ -59,26 +314,6 @@
"version": "v11.6.0", "version": "v11.6.0",
"date": "2025-03-25T22:10:15Z" "date": "2025-03-25T22:10:15Z"
}, },
{
"name": "dgtlmoon/changedetection.io",
"version": "0.49.8",
"date": "2025-03-25T22:00:52Z"
},
{
"name": "immich-app/immich",
"version": "v1.130.1",
"date": "2025-03-25T20:49:15Z"
},
{
"name": "keycloak/keycloak",
"version": "26.1.4",
"date": "2025-03-13T15:41:42Z"
},
{
"name": "zabbix/zabbix",
"version": "7.2.5rc2",
"date": "2025-03-25T19:25:22Z"
},
{ {
"name": "Stirling-Tools/Stirling-PDF", "name": "Stirling-Tools/Stirling-PDF",
"version": "v0.45.0", "version": "v0.45.0",
@@ -89,26 +324,11 @@
"version": "v0.34.1", "version": "v0.34.1",
"date": "2025-03-25T18:11:12Z" "date": "2025-03-25T18:11:12Z"
}, },
{
"name": "aceberg/WatchYourLAN",
"version": "2.1.1",
"date": "2025-03-25T17:21:41Z"
},
{
"name": "pocket-id/pocket-id",
"version": "v0.44.0",
"date": "2025-03-25T16:09:10Z"
},
{ {
"name": "dotnetfactory/fluid-calendar", "name": "dotnetfactory/fluid-calendar",
"version": "v1.3.0", "version": "v1.3.0",
"date": "2025-03-25T15:55:02Z" "date": "2025-03-25T15:55:02Z"
}, },
{
"name": "emqx/emqx",
"version": "v5.8.6",
"date": "2025-03-25T15:22:13Z"
},
{ {
"name": "hansmi/prometheus-paperless-exporter", "name": "hansmi/prometheus-paperless-exporter",
"version": "v0.0.7", "version": "v0.0.7",
@@ -119,61 +339,26 @@
"version": "jenkins-2.503", "version": "jenkins-2.503",
"date": "2025-03-25T14:01:20Z" "date": "2025-03-25T14:01:20Z"
}, },
{
"name": "zwave-js/zwave-js-ui",
"version": "v10.1.2",
"date": "2025-03-25T13:56:22Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.19.3",
"date": "2025-03-25T13:50:19Z"
},
{ {
"name": "crowdsecurity/crowdsec", "name": "crowdsecurity/crowdsec",
"version": "v1.6.8", "version": "v1.6.8",
"date": "2025-03-25T13:33:10Z" "date": "2025-03-25T13:33:10Z"
}, },
{
"name": "n8n-io/n8n",
"version": "n8n@1.85.1",
"date": "2025-03-25T09:33:57Z"
},
{
"name": "element-hq/synapse",
"version": "v1.127.0",
"date": "2025-03-25T12:47:44Z"
},
{ {
"name": "icereed/paperless-gpt", "name": "icereed/paperless-gpt",
"version": "v0.14.1", "version": "v0.14.1",
"date": "2025-03-25T10:09:14Z" "date": "2025-03-25T10:09:14Z"
}, },
{
"name": "runtipi/runtipi",
"version": "v3.10.0",
"date": "2025-03-15T14:38:16Z"
},
{ {
"name": "VictoriaMetrics/VictoriaMetrics", "name": "VictoriaMetrics/VictoriaMetrics",
"version": "pmm-6401-v1.114.0", "version": "pmm-6401-v1.114.0",
"date": "2025-03-25T07:58:34Z" "date": "2025-03-25T07:58:34Z"
}, },
{
"name": "zitadel/zitadel",
"version": "v2.70.6",
"date": "2025-03-25T07:11:32Z"
},
{ {
"name": "caddyserver/caddy", "name": "caddyserver/caddy",
"version": "v2.9.1", "version": "v2.9.1",
"date": "2025-01-08T15:22:53Z" "date": "2025-01-08T15:22:53Z"
}, },
{
"name": "fallenbagel/jellyseerr",
"version": "preview-OIDC",
"date": "2025-03-25T00:28:11Z"
},
{ {
"name": "influxdata/influxdb", "name": "influxdata/influxdb",
"version": "v3.0.0-0.beta.2", "version": "v3.0.0-0.beta.2",
@@ -199,11 +384,6 @@
"version": "v0.9.0", "version": "v0.9.0",
"date": "2025-03-24T18:25:37Z" "date": "2025-03-24T18:25:37Z"
}, },
{
"name": "Radarr/Radarr",
"version": "v5.21.1.9799",
"date": "2025-03-24T15:52:12Z"
},
{ {
"name": "Graylog2/graylog2-server", "name": "Graylog2/graylog2-server",
"version": "6.2.0-beta.2", "version": "6.2.0-beta.2",
@@ -214,11 +394,6 @@
"version": "2.0.2", "version": "2.0.2",
"date": "2025-03-24T12:02:08Z" "date": "2025-03-24T12:02:08Z"
}, },
{
"name": "semaphoreui/semaphore",
"version": "v2.13.2",
"date": "2025-03-24T11:18:10Z"
},
{ {
"name": "nzbgetcom/nzbget", "name": "nzbgetcom/nzbget",
"version": "v24.8", "version": "v24.8",
@@ -239,56 +414,21 @@
"version": "v1.17.0", "version": "v1.17.0",
"date": "2025-03-24T00:46:32Z" "date": "2025-03-24T00:46:32Z"
}, },
{
"name": "Lidarr/Lidarr",
"version": "v2.10.3.4602",
"date": "2025-03-23T11:00:37Z"
},
{
"name": "YunoHost/yunohost",
"version": "debian/12.0.12",
"date": "2025-03-16T11:59:24Z"
},
{ {
"name": "nicolargo/glances", "name": "nicolargo/glances",
"version": "v4.3.1", "version": "v4.3.1",
"date": "2025-03-23T09:02:54Z" "date": "2025-03-23T09:02:54Z"
}, },
{
"name": "Prowlarr/Prowlarr",
"version": "v1.32.2.4987",
"date": "2025-03-16T09:41:37Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.1",
"date": "2025-01-01T16:15:52Z"
},
{ {
"name": "usememos/memos", "name": "usememos/memos",
"version": "v0.24.2", "version": "v0.24.2",
"date": "2025-03-23T04:01:50Z" "date": "2025-03-23T04:01:50Z"
}, },
{
"name": "OliveTin/OliveTin",
"version": "2025.3.23",
"date": "2025-03-23T01:38:55Z"
},
{ {
"name": "hoarder-app/hoarder", "name": "hoarder-app/hoarder",
"version": "sdk/v0.23.0", "version": "sdk/v0.23.0",
"date": "2025-03-22T17:26:10Z" "date": "2025-03-22T17:26:10Z"
}, },
{
"name": "documenso/documenso",
"version": "v1.10.0-rc.1",
"date": "2025-03-22T06:34:33Z"
},
{
"name": "ollama/ollama",
"version": "v0.6.2",
"date": "2025-03-18T03:11:33Z"
},
{ {
"name": "netbox-community/netbox", "name": "netbox-community/netbox",
"version": "v4.2.6", "version": "v4.2.6",
@@ -299,11 +439,6 @@
"version": "4.4.1", "version": "4.4.1",
"date": "2024-12-20T13:21:31Z" "date": "2024-12-20T13:21:31Z"
}, },
{
"name": "home-assistant/core",
"version": "2025.3.4",
"date": "2025-03-21T20:22:46Z"
},
{ {
"name": "leiweibau/Pi.Alert", "name": "leiweibau/Pi.Alert",
"version": "v2025-03-21", "version": "v2025-03-21",
@@ -314,11 +449,6 @@
"version": "v2.7.6", "version": "v2.7.6",
"date": "2025-03-21T19:24:53Z" "date": "2025-03-21T19:24:53Z"
}, },
{
"name": "homarr-labs/homarr",
"version": "v1.12.0",
"date": "2025-03-21T19:14:59Z"
},
{ {
"name": "photoprism/photoprism", "name": "photoprism/photoprism",
"version": "250321-57590c48b", "version": "250321-57590c48b",
@@ -329,16 +459,6 @@
"version": "v0.107.59", "version": "v0.107.59",
"date": "2025-03-21T11:11:39Z" "date": "2025-03-21T11:11:39Z"
}, },
{
"name": "openobserve/openobserve",
"version": "v0.14.5-rc5",
"date": "2025-03-21T10:50:34Z"
},
{
"name": "StarFleetCPTN/GoMFT",
"version": "v0.1.18",
"date": "2025-03-21T04:36:04Z"
},
{ {
"name": "jhuckaby/Cronicle", "name": "jhuckaby/Cronicle",
"version": "v0.9.77", "version": "v0.9.77",
@@ -349,11 +469,6 @@
"version": "v1.10.4", "version": "v1.10.4",
"date": "2025-03-20T18:56:10Z" "date": "2025-03-20T18:56:10Z"
}, },
{
"name": "ellite/Wallos",
"version": "v2.48.0",
"date": "2025-03-20T16:57:43Z"
},
{ {
"name": "neo4j/neo4j", "name": "neo4j/neo4j",
"version": "4.4.42", "version": "4.4.42",
@@ -364,31 +479,16 @@
"version": "8.0-rc1", "version": "8.0-rc1",
"date": "2025-03-11T18:16:27Z" "date": "2025-03-11T18:16:27Z"
}, },
{
"name": "wazuh/wazuh",
"version": "coverity-w11-4.12.0",
"date": "2025-03-14T20:04:02Z"
},
{ {
"name": "rabbitmq/rabbitmq-server", "name": "rabbitmq/rabbitmq-server",
"version": "v4.0.7", "version": "v4.0.7",
"date": "2025-02-26T19:07:11Z" "date": "2025-02-26T19:07:11Z"
}, },
{
"name": "NodeBB/NodeBB",
"version": "v4.2.0",
"date": "2025-03-19T18:34:01Z"
},
{ {
"name": "seanmorley15/AdventureLog", "name": "seanmorley15/AdventureLog",
"version": "v0.9.0", "version": "v0.9.0",
"date": "2025-03-19T13:30:02Z" "date": "2025-03-19T13:30:02Z"
}, },
{
"name": "hakimel/reveal.js",
"version": "5.2.0",
"date": "2025-03-19T11:03:56Z"
},
{ {
"name": "Luligu/matterbridge", "name": "Luligu/matterbridge",
"version": "2.2.5", "version": "2.2.5",
@@ -399,16 +499,6 @@
"version": "v0.22.1", "version": "v0.22.1",
"date": "2025-03-18T21:01:22Z" "date": "2025-03-18T21:01:22Z"
}, },
{
"name": "prometheus/prometheus",
"version": "v2.53.4",
"date": "2025-03-18T15:50:39Z"
},
{
"name": "syncthing/syncthing",
"version": "v1.29.3",
"date": "2025-03-12T11:56:30Z"
},
{ {
"name": "OctoPrint/OctoPrint", "name": "OctoPrint/OctoPrint",
"version": "1.10.3", "version": "1.10.3",
@@ -439,41 +529,16 @@
"version": "v0.8.5.11", "version": "v0.8.5.11",
"date": "2025-03-17T19:25:25Z" "date": "2025-03-17T19:25:25Z"
}, },
{
"name": "goauthentik/authentik",
"version": "version/2025.2.2",
"date": "2025-03-17T19:16:49Z"
},
{ {
"name": "Sonarr/Sonarr", "name": "Sonarr/Sonarr",
"version": "v4.0.14.2939", "version": "v4.0.14.2939",
"date": "2025-03-17T19:12:37Z" "date": "2025-03-17T19:12:37Z"
}, },
{
"name": "TriliumNext/Notes",
"version": "v0.92.4",
"date": "2025-03-17T16:00:19Z"
},
{
"name": "home-assistant/operating-system",
"version": "15.0",
"date": "2025-03-17T10:26:18Z"
},
{ {
"name": "webmin/webmin", "name": "webmin/webmin",
"version": "2.303", "version": "2.303",
"date": "2025-03-17T04:54:50Z" "date": "2025-03-17T04:54:50Z"
}, },
{
"name": "glanceapp/glance",
"version": "v0.7.7",
"date": "2025-03-17T02:24:06Z"
},
{
"name": "gethomepage/homepage",
"version": "v1.0.4",
"date": "2025-03-16T22:19:31Z"
},
{ {
"name": "autobrr/autobrr", "name": "autobrr/autobrr",
"version": "v1.60.0", "version": "v1.60.0",
@@ -499,16 +564,6 @@
"version": "v1.0.0-beta18", "version": "v1.0.0-beta18",
"date": "2025-03-15T20:24:04Z" "date": "2025-03-15T20:24:04Z"
}, },
{
"name": "bunkerity/bunkerweb",
"version": "v1.6.1",
"date": "2025-03-15T17:29:17Z"
},
{
"name": "duplicati/duplicati",
"version": "v2.1.0.111-2.1.0.111_canary_2025-03-15",
"date": "2025-03-15T11:06:44Z"
},
{ {
"name": "henrygd/beszel", "name": "henrygd/beszel",
"version": "v0.10.2", "version": "v0.10.2",
@@ -609,16 +664,6 @@
"version": "v21.0.0.0", "version": "v21.0.0.0",
"date": "2025-03-09T12:25:44Z" "date": "2025-03-09T12:25:44Z"
}, },
{
"name": "Readarr/Readarr",
"version": "v2.0.0.4645",
"date": "2017-03-07T18:56:06Z"
},
{
"name": "Brandawg93/PeaNUT",
"version": "v5.6.0",
"date": "2025-03-08T19:02:31Z"
},
{ {
"name": "YuukanOO/seelf", "name": "YuukanOO/seelf",
"version": "v2.4.2", "version": "v2.4.2",
@@ -679,11 +724,6 @@
"version": "10.1.39", "version": "10.1.39",
"date": "2025-03-04T19:05:18Z" "date": "2025-03-04T19:05:18Z"
}, },
{
"name": "tailscale/tailscale",
"version": "v1.80.3",
"date": "2025-03-04T18:47:25Z"
},
{ {
"name": "pi-hole/pi-hole", "name": "pi-hole/pi-hole",
"version": "v6.0.5", "version": "v6.0.5",
@@ -709,21 +749,6 @@
"version": "2.8.0", "version": "2.8.0",
"date": "2025-03-02T04:30:50Z" "date": "2025-03-02T04:30:50Z"
}, },
{
"name": "inspircd/inspircd",
"version": "v4.6.0",
"date": "2025-03-01T10:29:31Z"
},
{
"name": "tobychui/zoraxy",
"version": "v3.1.9",
"date": "2025-03-01T02:24:33Z"
},
{
"name": "grocy/grocy",
"version": "v4.4.2",
"date": "2025-02-28T16:26:05Z"
},
{ {
"name": "jordan-dalby/ByteStash", "name": "jordan-dalby/ByteStash",
"version": "v1.5.7", "version": "v1.5.7",
@@ -809,11 +834,6 @@
"version": "v0.18.3", "version": "v0.18.3",
"date": "2025-02-21T20:51:12Z" "date": "2025-02-21T20:51:12Z"
}, },
{
"name": "gristlabs/grist-core",
"version": "v1.4.2",
"date": "2025-02-18T21:43:36Z"
},
{ {
"name": "prometheus-pve/prometheus-pve-exporter", "name": "prometheus-pve/prometheus-pve-exporter",
"version": "v3.5.2", "version": "v3.5.2",
@@ -879,11 +899,6 @@
"version": "v1.9.0", "version": "v1.9.0",
"date": "2025-02-11T13:26:42Z" "date": "2025-02-11T13:26:42Z"
}, },
{
"name": "TasmoAdmin/TasmoAdmin",
"version": "v4.2.3",
"date": "2025-02-09T23:07:48Z"
},
{ {
"name": "dani-garcia/vaultwarden", "name": "dani-garcia/vaultwarden",
"version": "1.33.2", "version": "1.33.2",
@@ -939,11 +954,6 @@
"version": "1.7.6", "version": "1.7.6",
"date": "2025-02-01T09:50:52Z" "date": "2025-02-01T09:50:52Z"
}, },
{
"name": "hivemq/hivemq-community-edition",
"version": "2025.1",
"date": "2025-01-29T10:04:27Z"
},
{ {
"name": "rustdesk/rustdesk-server", "name": "rustdesk/rustdesk-server",
"version": "1.1.14", "version": "1.1.14",
@@ -1009,11 +1019,6 @@
"version": "v0.24.6", "version": "v0.24.6",
"date": "2024-12-22T20:24:35Z" "date": "2024-12-22T20:24:35Z"
}, },
{
"name": "louislam/uptime-kuma",
"version": "2.0.0-beta.1",
"date": "2024-12-20T08:56:43Z"
},
{ {
"name": "IceWhaleTech/CasaOS", "name": "IceWhaleTech/CasaOS",
"version": "v0.4.15", "version": "v0.4.15",
@@ -1044,11 +1049,6 @@
"version": "v1.7.3", "version": "v1.7.3",
"date": "2024-11-27T21:26:11Z" "date": "2024-11-27T21:26:11Z"
}, },
{
"name": "Bubka/2FAuth",
"version": "v5.4.3",
"date": "2024-11-27T14:02:18Z"
},
{ {
"name": "lldap/lldap", "name": "lldap/lldap",
"version": "v0.6.1", "version": "v0.6.1",

View File

@@ -0,0 +1,59 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://mariadb.org/
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apk add \
gpg \
sudo
msg_ok "Installed Dependencies"
msg_info "Installing MariaDB"
$STD apk add --no-cache mariadb mariadb-client
$STD rc-update add mariadb default
$STD rc-service mariadb start
msg_ok "Installed MariaDB"
msg_info "Configuring MariaDB"
mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql >/dev/null 2>&1
$STD rc-service mariadb restart
msg_ok "MariaDB Configured"
read -r -p "Would you like to install Adminer with lighthttpd? <y/N>: " prompt
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_info "Installing Adminer"
$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
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//')
wget -q -O /var/www/adminer.php "https://github.com/vrana/adminer/releases/download/v${ADMINER_VERSION}/adminer-${ADMINER_VERSION}.php"
chown lighttpd:lighttpd /var/www/adminer.php
chmod 755 /var/www/adminer.php
msg_ok "Adminer Installed"
msg_info "Starting Lighttpd"
$STD rc-update add lighttpd default
$STD rc-service lighttpd restart
msg_ok "Lighttpd Started"
echo -e "Adminer is available at: ${BL}http://$(hostname -I | awk '{print $1}')/adminer${CL}"
else
echo -e "Skipped Adminer Installation..."
fi
motd_ssh
customize
msg_info "Cleaning up"
msg_ok "Cleaned"

View File

@@ -0,0 +1,56 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://nodered.org/
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apk add --no-cache \
gpg \
git \
nodejs \
npm
msg_ok "Installed Dependencies"
msg_info "Creating Node-RED User"
adduser -D -H -s /sbin/nologin -G users nodered
msg_ok "Created Node-RED User"
msg_info "Installing Node-RED"
npm install -g --unsafe-perm node-red
msg_ok "Installed Node-RED"
msg_info "Creating Node-RED Service"
service_path="/etc/init.d/nodered"
echo '#!/sbin/openrc-run
description="Node-RED Service"
command="/usr/bin/node-red"
command_args="--max-old-space-size=128 -v"
command_user="nodered"
pidfile="/var/run/nodered.pid"
depend() {
use net
}' >$service_path
chmod +x $service_path
$STD rc-update add nodered default
msg_ok "Created Node-RED Service"
msg_info "Starting Node-RED"
$STD service nodered start
msg_ok "Started Node-RED"
motd_ssh
customize

View File

@@ -35,6 +35,7 @@ fi
msg_ok "Set Up Hardware Acceleration" msg_ok "Set Up Hardware Acceleration"
msg_info "Installing ErsatzTV" msg_info "Installing ErsatzTV"
temp_file=$(mktemp)
cd /opt cd /opt
RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1) RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" -O "$temp_file" wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" -O "$temp_file"

View File

@@ -2,7 +2,7 @@
# Copyright (c) 2021-2025 community-scripts ORG # Copyright (c) 2021-2025 community-scripts ORG
# Author: kkroboth # Author: kkroboth
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://fileflows.com/ # Source: https://fileflows.com/
# Import Functions und Setup # Import Functions und Setup

View File

@@ -19,7 +19,8 @@ $STD apt-get install -y \
rclone \ rclone \
tzdata \ tzdata \
ca-certificates \ ca-certificates \
build-essential build-essential \
gnupg
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Golang" msg_info "Setting up Golang"
@@ -32,15 +33,29 @@ ln -sf /usr/local/go/bin/go /usr/local/bin/go
set -o pipefail set -o pipefail
msg_ok "Setup Golang" msg_ok "Setup Golang"
msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Setup ${APPLICATION} (Patience)" msg_info "Setup ${APPLICATION} (Patience)"
temp_file=$(mktemp) temp_file=$(mktemp)
RELEASE=$(curl -s https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
wget -q "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v.${RELEASE}.tar.gz" -o $temp_file
tar -xzf $temp_file tar -xzf $temp_file
mv GoMFT-${RELEASE}/ /opt/gomft mv GoMFT-v.${RELEASE}/ /opt/gomft
cd /opt/gomft cd /opt/gomft
$STD npm ci
$STD node build.js
$STD go mod download $STD go mod download
$STD go install github.com/a-h/templ/cmd/templ@latest $STD go install github.com/a-h/templ/cmd/templ@latest
$STD go get -u github.com/a-h/templ
$STD $HOME/go/bin/templ generate $STD $HOME/go/bin/templ generate
export CGO_ENABLED=1 export CGO_ENABLED=1
export GOOS=linux export GOOS=linux

View File

@@ -32,7 +32,7 @@ msg_ok "Installed Node.js"
LOCAL_IP=$(hostname -I | awk '{print $1}') LOCAL_IP=$(hostname -I | awk '{print $1}')
RELEASE=$(curl -s https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -s https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Installing Homepage v${RELEASE} (Patience)" msg_info "Installing Homepage v${RELEASE} (Patience)"
wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz curl -fsSL "https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz")
$STD tar -xzf v${RELEASE}.tar.gz $STD tar -xzf v${RELEASE}.tar.gz
rm -rf v${RELEASE}.tar.gz rm -rf v${RELEASE}.tar.gz
mkdir -p /opt/homepage/config mkdir -p /opt/homepage/config

View File

@@ -70,9 +70,9 @@ PASSKEY=$(openssl rand -base64 24 | tr -d '/+=')
WEBHOOK_SECRET=$(openssl rand -base64 24 | tr -d '/+=') WEBHOOK_SECRET=$(openssl rand -base64 24 | tr -d '/+=')
JWT_SECRET=$(openssl rand -base64 24 | tr -d '/+=') JWT_SECRET=$(openssl rand -base64 24 | tr -d '/+=')
sed -i "s/^DB_USERNAME=.*/DB_USERNAME=komodo_admin/" /opt/komodo/compose.env sed -i "s/^KOMODO_DB_USERNAME=.*/KOMODO_DB_USERNAME=komodo_admin/" /opt/komodo/compose.env
sed -i "s/^DB_PASSWORD=.*/DB_PASSWORD=${DB_PASSWORD}/" /opt/komodo/compose.env sed -i "s/^KOMODO_DB_PASSWORD=.*/KOMODO_DB_PASSWORD=${DB_PASSWORD}/" /opt/komodo/compose.env
sed -i "s/^PASSKEY=.*/PASSKEY=${PASSKEY}/" /opt/komodo/compose.env sed -i "s/^KOMODO_PASSKEY=.*/KOMODO_PASSKEY=${PASSKEY}/" /opt/komodo/compose.env
sed -i "s/^KOMODO_WEBHOOK_SECRET=.*/KOMODO_WEBHOOK_SECRET=${WEBHOOK_SECRET}/" /opt/komodo/compose.env sed -i "s/^KOMODO_WEBHOOK_SECRET=.*/KOMODO_WEBHOOK_SECRET=${WEBHOOK_SECRET}/" /opt/komodo/compose.env
sed -i "s/^KOMODO_JWT_SECRET=.*/KOMODO_JWT_SECRET=${JWT_SECRET}/" /opt/komodo/compose.env sed -i "s/^KOMODO_JWT_SECRET=.*/KOMODO_JWT_SECRET=${JWT_SECRET}/" /opt/komodo/compose.env
msg_ok "Setup Komodo Environment" msg_ok "Setup Komodo Environment"

View File

@@ -8,7 +8,6 @@
color() { color() {
# Colors # Colors
YW=$(echo "\033[33m") YW=$(echo "\033[33m")
YWB=$(echo "\033[93m")
BL=$(echo "\033[36m") BL=$(echo "\033[36m")
RD=$(echo "\033[01;31m") RD=$(echo "\033[01;31m")
GN=$(echo "\033[1;92m") GN=$(echo "\033[1;92m")
@@ -30,10 +29,8 @@ color() {
INFO="${TAB}💡${TAB}${CL}" INFO="${TAB}💡${TAB}${CL}"
NETWORK="${TAB}📡${TAB}${CL}" NETWORK="${TAB}📡${TAB}${CL}"
OS="${TAB}🖥️${TAB}${CL}" OS="${TAB}🖥️${TAB}${CL}"
OSVERSION="${TAB}🌟${TAB}${CL}"
HOSTNAME="${TAB}🏠${TAB}${CL}" HOSTNAME="${TAB}🏠${TAB}${CL}"
GATEWAY="${TAB}🌐${TAB}${CL}" GATEWAY="${TAB}🌐${TAB}${CL}"
DEFAULT="${TAB}⚙️${TAB}${CL}"
} }
# Function to set STD mode based on verbosity # Function to set STD mode based on verbosity
@@ -143,6 +140,11 @@ update_os() {
$STD apk update $STD apk update
$STD apk upgrade $STD apk upgrade
msg_ok "Updated Container OS" msg_ok "Updated Container OS"
msg_info "Installing core dependencies"
$STD apk update
$STD apk add newt curl openssh nano mc ncurses
msg_ok "Core dependencies installed"
} }
# This function modifies the message of the day (motd) and SSH settings # This function modifies the message of the day (motd) and SSH settings
@@ -181,7 +183,7 @@ motd_ssh() {
# Validate Timezone for some LXC's # Validate Timezone for some LXC's
validate_tz() { validate_tz() {
[[ -f "/usr/share/zoneinfo/$1" ]] [[ -f "/usr/share/zoneinfo/$1" ]]
} }
# This function customizes the container and enables passwordless login for the root user # This function customizes the container and enables passwordless login for the root user
@@ -191,4 +193,7 @@ customize() {
bash -c "passwd -d root" >/dev/null 2>&1 bash -c "passwd -d root" >/dev/null 2>&1
msg_ok "Customized Container" msg_ok "Customized Container"
fi fi
echo "bash -c \"\$(curl -fsSL https://github.com/community-scripts/ProxmoxVE/raw/main/ct/${app}.sh)\"" >/usr/bin/update
chmod +x /usr/bin/update
} }

View File

@@ -29,15 +29,13 @@ color() {
# Formatting # Formatting
CL=$(echo "\033[m") CL=$(echo "\033[m")
UL=$(echo "\033[4m")
BOLD=$(echo "\033[1m") BOLD=$(echo "\033[1m")
BFR="\\r\\033[K"
HOLD=" " HOLD=" "
TAB=" " TAB=" "
# Icons # Icons
CM="${TAB}✔️${TAB}${CL}" CM="${TAB}✔️${TAB}"
CROSS="${TAB}✖️${TAB}${CL}" CROSS="${TAB}✖️${TAB}"
INFO="${TAB}💡${TAB}${CL}" INFO="${TAB}💡${TAB}${CL}"
OS="${TAB}🖥️${TAB}${CL}" OS="${TAB}🖥️${TAB}${CL}"
OSVERSION="${TAB}🌟${TAB}${CL}" OSVERSION="${TAB}🌟${TAB}${CL}"
@@ -81,58 +79,75 @@ error_handler() {
} }
# This function displays an informational message with logging support. # This function displays an informational message with logging support.
declare -A MSG_INFO_SHOWN
SPINNER_ACTIVE=0
SPINNER_PID=""
SPINNER_MSG=""
trap 'stop_spinner' EXIT INT TERM HUP
start_spinner() { start_spinner() {
local msg="$1" local msg="$1"
local frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏') local frames=(⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏)
local spin_i=0 local spin_i=0
local interval=0.1 local interval=0.1
local term_width=$(tput cols)
SPINNER_MSG="$msg"
printf "\r\e[2K" >&2
{ {
while [ "${SPINNER_ACTIVE:-1}" -eq 1 ]; do while [[ "$SPINNER_ACTIVE" -eq 1 ]]; do
printf "\r\e[2K${frames[spin_i]} ${YW}%b${CL}" "$msg" >&2 printf "\r\e[2K%s %b" "${frames[spin_i]}" "${YW}${SPINNER_MSG}${CL}" >&2
spin_i=$(((spin_i + 1) % ${#frames[@]})) spin_i=$(((spin_i + 1) % ${#frames[@]}))
sleep "$interval" sleep "$interval"
done done
} & } &
SPINNER_PID=$! SPINNER_PID=$!
disown "$SPINNER_PID"
}
stop_spinner() {
if [[ ${SPINNER_PID+v} && -n "$SPINNER_PID" ]] && kill -0 "$SPINNER_PID" 2>/dev/null; then
kill "$SPINNER_PID" 2>/dev/null
sleep 0.1
kill -0 "$SPINNER_PID" 2>/dev/null && kill -9 "$SPINNER_PID" 2>/dev/null
wait "$SPINNER_PID" 2>/dev/null || true
fi
SPINNER_ACTIVE=0
unset SPINNER_PID
}
spinner_guard() {
if [[ "$SPINNER_ACTIVE" -eq 1 ]] && [[ -n "$SPINNER_PID" ]]; then
kill "$SPINNER_PID" 2>/dev/null
wait "$SPINNER_PID" 2>/dev/null || true
SPINNER_ACTIVE=0
unset SPINNER_PID
fi
} }
msg_info() { msg_info() {
local msg="$1" local msg="$1"
if [ "${SPINNER_ACTIVE:-0}" -eq 1 ]; then [[ -n "${MSG_INFO_SHOWN["$msg"]+x}" ]] && return
return MSG_INFO_SHOWN["$msg"]=1
fi
spinner_guard
SPINNER_ACTIVE=1 SPINNER_ACTIVE=1
start_spinner "$msg" start_spinner "$msg"
} }
msg_ok() { msg_ok() {
if [ -n "${SPINNER_PID:-}" ] && ps -p "$SPINNER_PID" >/dev/null 2>&1; then
kill "$SPINNER_PID" >/dev/null 2>&1
wait "$SPINNER_PID" 2>/dev/null || true
fi
local msg="$1" local msg="$1"
printf "\r\e[2K${CM}${GN}%b${CL}\n" "$msg" >&2 stop_spinner
unset SPINNER_PID printf "\r\e[2K%s %b\n" "${CM}" "${GN}${msg}${CL}" >&2
SPINNER_ACTIVE=0 unset MSG_INFO_SHOWN["$msg"]
log_message "OK" "$msg"
} }
msg_error() { msg_error() {
if [ -n "${SPINNER_PID:-}" ] && ps -p "$SPINNER_PID" >/dev/null 2>&1; then stop_spinner
kill "$SPINNER_PID" >/dev/null 2>&1
wait "$SPINNER_PID" 2>/dev/null || true
fi
local msg="$1" local msg="$1"
printf "\r\e[2K${CROSS}${RD}%b${CL}\n" "$msg" >&2 printf "\r\e[2K%s %b\n" "${CROSS}" "${RD}${msg}${CL}" >&2
unset SPINNER_PID
SPINNER_ACTIVE=0
log_message "ERROR" "$msg" log_message "ERROR" "$msg"
} }
@@ -1250,21 +1265,21 @@ exit_script() {
#200 exit codes indicate error in create_lxc.sh #200 exit codes indicate error in create_lxc.sh
#100 exit codes indicate error in install.func #100 exit codes indicate error in install.func
if [ $exit_code -ne 0 ]; then if [ $exit_code -ne 0 ]; then
case $exit_code in case $exit_code in
100) post_update_to_api "failed" "100: Unexpected error in create_lxc.sh" ;; 100) post_update_to_api "failed" "100: Unexpected error in create_lxc.sh" ;;
101) post_update_to_api "failed" "101: No network connection detected in create_lxc.sh" ;; 101) post_update_to_api "failed" "101: No network connection detected in create_lxc.sh" ;;
200) post_update_to_api "failed" "200: LXC creation failed in create_lxc.sh" ;; 200) post_update_to_api "failed" "200: LXC creation failed in create_lxc.sh" ;;
201) post_update_to_api "failed" "201: Invalid Storage class in create_lxc.sh" ;; 201) post_update_to_api "failed" "201: Invalid Storage class in create_lxc.sh" ;;
202) post_update_to_api "failed" "202: User aborted menu in create_lxc.sh" ;; 202) post_update_to_api "failed" "202: User aborted menu in create_lxc.sh" ;;
203) post_update_to_api "failed" "203: CTID not set in create_lxc.sh" ;; 203) post_update_to_api "failed" "203: CTID not set in create_lxc.sh" ;;
204) post_update_to_api "failed" "204: PCT_OSTYPE not set in create_lxc.sh" ;; 204) post_update_to_api "failed" "204: PCT_OSTYPE not set in create_lxc.sh" ;;
205) post_update_to_api "failed" "205: CTID cannot be less than 100 in create_lxc.sh" ;; 205) post_update_to_api "failed" "205: CTID cannot be less than 100 in create_lxc.sh" ;;
206) post_update_to_api "failed" "206: CTID already in use in create_lxc.sh" ;; 206) post_update_to_api "failed" "206: CTID already in use in create_lxc.sh" ;;
207) post_update_to_api "failed" "207: Template not found in create_lxc.sh" ;; 207) post_update_to_api "failed" "207: Template not found in create_lxc.sh" ;;
208) post_update_to_api "failed" "208: Error downloading template in create_lxc.sh" ;; 208) post_update_to_api "failed" "208: Error downloading template in create_lxc.sh" ;;
209) post_update_to_api "failed" "209: Container creation failed, but template is intact in create_lxc.sh" ;; 209) post_update_to_api "failed" "209: Container creation failed, but template is intact in create_lxc.sh" ;;
*) post_update_to_api "failed" "Unknown error, exit code: $exit_code in create_lxc.sh" ;; *) post_update_to_api "failed" "Unknown error, exit code: $exit_code in create_lxc.sh" ;;
esac esac
fi fi
} }

View File

@@ -59,6 +59,7 @@ install() {
header_info header_info
msg_info "Setting up repository" msg_info "Setting up repository"
$STD apt-get install -y debian-keyring
wget -q https://repo.netdata.cloud/repos/repoconfig/debian/bookworm/netdata-repo_5-1+debian12_all.deb wget -q https://repo.netdata.cloud/repos/repoconfig/debian/bookworm/netdata-repo_5-1+debian12_all.deb
$STD dpkg -i netdata-repo_5-1+debian12_all.deb $STD dpkg -i netdata-repo_5-1+debian12_all.deb
rm -rf netdata-repo_5-1+debian12_all.deb rm -rf netdata-repo_5-1+debian12_all.deb