mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	Compare commits
	
		
			32 Commits
		
	
	
		
			2025-03-26
			...
			2025-03-29
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					3939b88b9f | ||
| 
						 | 
					5be029597b | ||
| 
						 | 
					e394dd08b0 | ||
| 
						 | 
					5d50d91a26 | ||
| 
						 | 
					1a0f3a6108 | ||
| 
						 | 
					d940907e59 | ||
| 
						 | 
					09e7593734 | ||
| 
						 | 
					121577c2fd | ||
| 
						 | 
					bcaf34fa96 | ||
| 
						 | 
					87106a60c3 | ||
| 
						 | 
					c63ad45e65 | ||
| 
						 | 
					52bd63bf08 | ||
| 
						 | 
					8a5367dae3 | ||
| 
						 | 
					8c8b08e037 | ||
| 
						 | 
					40b997ddc9 | ||
| 
						 | 
					b87e7dde2b | ||
| 
						 | 
					f46b9bbfb9 | ||
| 
						 | 
					07a3ab353c | ||
| 
						 | 
					c4cdb030b4 | ||
| 
						 | 
					2ffd827be4 | ||
| 
						 | 
					515f9ab502 | ||
| 
						 | 
					079b089518 | ||
| 
						 | 
					8300d7725d | ||
| 
						 | 
					ab45b91c4c | ||
| 
						 | 
					b428e8a267 | ||
| 
						 | 
					2643c91516 | ||
| 
						 | 
					73faa0ab10 | ||
| 
						 | 
					9f890aae89 | ||
| 
						 | 
					9cbd315456 | ||
| 
						 | 
					022472af34 | ||
| 
						 | 
					3274115041 | ||
| 
						 | 
					dc980951ea | 
							
								
								
									
										42
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -14,6 +14,48 @@ 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.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## 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
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 
 | 
			
		||||
@@ -42,4 +42,4 @@ 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}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
			
		||||
							
								
								
									
										46
									
								
								ct/alpine-mariadb.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								ct/alpine-mariadb.sh
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										50
									
								
								ct/alpine-node-red.sh
									
									
									
									
									
										Normal 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}"
 | 
			
		||||
@@ -39,7 +39,7 @@ function update_script() {
 | 
			
		||||
    temp_file=$(mktemp)
 | 
			
		||||
    wget -qO- https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz -O "$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/
 | 
			
		||||
    rm -rf ErsatzTV-backup
 | 
			
		||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
			
		||||
@@ -67,4 +67,4 @@ 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}:8409${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8409${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
			
		||||
# Copyright (c) 2021-2025 community-scripts ORG
 | 
			
		||||
# 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/
 | 
			
		||||
 | 
			
		||||
APP="FileFlows"
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  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
 | 
			
		||||
    $STD apt-get install -y build-essential
 | 
			
		||||
  fi
 | 
			
		||||
@@ -41,9 +41,9 @@ function update_script() {
 | 
			
		||||
    msg_info "Updating $APP to ${RELEASE}"
 | 
			
		||||
    rm -f /opt/gomft/gomft
 | 
			
		||||
    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
 | 
			
		||||
    cp -rf GoMFT-${RELEASE}/* /opt/gomft
 | 
			
		||||
    cp -rf GoMFT-v.${RELEASE}/* /opt/gomft
 | 
			
		||||
    cd /opt/gomft
 | 
			
		||||
    $STD go mod download
 | 
			
		||||
    $STD go install github.com/a-h/templ/cmd/templ@latest
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/alpine-mariadb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/alpine-mariadb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
    ___    __      _                  __  ___           _       ____  ____ 
 | 
			
		||||
   /   |  / /___  (_)___  ___        /  |/  /___ ______(_)___ _/ __ \/ __ )
 | 
			
		||||
  / /| | / / __ \/ / __ \/ _ \______/ /|_/ / __ `/ ___/ / __ `/ / / / __  |
 | 
			
		||||
 / ___ |/ / /_/ / / / / /  __/_____/ /  / / /_/ / /  / / /_/ / /_/ / /_/ / 
 | 
			
		||||
/_/  |_/_/ .___/_/_/ /_/\___/     /_/  /_/\__,_/_/  /_/\__,_/_____/_____/  
 | 
			
		||||
        /_/                                                                
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/alpine-node-red
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/alpine-node-red
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
    ___    __      _                  _   __          __           ____  __________ 
 | 
			
		||||
   /   |  / /___  (_)___  ___        / | / /___  ____/ /__        / __ \/ ____/ __ \
 | 
			
		||||
  / /| | / / __ \/ / __ \/ _ \______/  |/ / __ \/ __  / _ \______/ /_/ / __/ / / / /
 | 
			
		||||
 / ___ |/ / /_/ / / / / /  __/_____/ /|  / /_/ / /_/ /  __/_____/ _, _/ /___/ /_/ / 
 | 
			
		||||
/_/  |_/_/ .___/_/_/ /_/\___/     /_/ |_/\____/\__,_/\___/     /_/ |_/_____/_____/  
 | 
			
		||||
        /_/                                                                         
 | 
			
		||||
@@ -40,7 +40,7 @@ function update_script() {
 | 
			
		||||
  if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
			
		||||
    msg_info "Updating Homepage to v${RELEASE} (Patience)"
 | 
			
		||||
    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
 | 
			
		||||
    rm -rf v${RELEASE}.tar.gz
 | 
			
		||||
    cp -r homepage-${RELEASE}/* /opt/homepage/
 | 
			
		||||
 
 | 
			
		||||
@@ -24,6 +24,17 @@
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "type": "alpine",
 | 
			
		||||
            "script": "ct/alpine-mariadb.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 1,
 | 
			
		||||
                "ram": 256,
 | 
			
		||||
                "hdd": 1,
 | 
			
		||||
                "os": "alpine",
 | 
			
		||||
                "version": "3.21"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
 
 | 
			
		||||
@@ -24,6 +24,17 @@
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "type": "alpine",
 | 
			
		||||
            "script": "ct/alpine-node-red.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 1,
 | 
			
		||||
                "ram": 256,
 | 
			
		||||
                "hdd": 1,
 | 
			
		||||
                "os": "alpine",
 | 
			
		||||
                "version": "3.21"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
@@ -32,8 +43,8 @@
 | 
			
		||||
    },
 | 
			
		||||
    "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"
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,258 @@
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
    "name": "theonedev/onedev",
 | 
			
		||||
    "version": "v11.8.4",
 | 
			
		||||
    "date": "2025-03-29T08:28:12Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "tobychui/zoraxy",
 | 
			
		||||
    "version": "v3.1.9",
 | 
			
		||||
    "date": "2025-03-01T02:24:33Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Jackett/Jackett",
 | 
			
		||||
    "version": "v0.22.1705",
 | 
			
		||||
    "date": "2025-03-29T05:54:06Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "inspircd/inspircd",
 | 
			
		||||
    "version": "v4.7.0",
 | 
			
		||||
    "date": "2025-03-29T03:50:50Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "fhem/fhem-mirror",
 | 
			
		||||
    "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": "home-assistant/core",
 | 
			
		||||
    "version": "2025.3.4",
 | 
			
		||||
    "date": "2025-03-21T20:22:46Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "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": "keycloak/keycloak",
 | 
			
		||||
    "version": "26.1.4",
 | 
			
		||||
    "date": "2025-03-13T15:41:42Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "pocketbase/pocketbase",
 | 
			
		||||
    "version": "v0.26.5",
 | 
			
		||||
    "date": "2025-03-28T17:41:23Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "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": "v.0.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": "syncthing/syncthing",
 | 
			
		||||
    "version": "v1.29.3",
 | 
			
		||||
    "date": "2025-03-12T11:56:30Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "evcc-io/evcc",
 | 
			
		||||
    "version": "0.202.0",
 | 
			
		||||
    "date": "2025-03-26T10:19:01Z"
 | 
			
		||||
    "version": "0.202.1",
 | 
			
		||||
    "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": "runtipi/runtipi",
 | 
			
		||||
    "version": "v3.10.0",
 | 
			
		||||
    "date": "2025-03-15T14:38:16Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "glanceapp/glance",
 | 
			
		||||
    "version": "v0.7.8",
 | 
			
		||||
    "date": "2025-03-26T19:59:07Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "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",
 | 
			
		||||
@@ -29,26 +274,6 @@
 | 
			
		||||
    "version": "v1.34.0",
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "2025.3.2",
 | 
			
		||||
@@ -59,26 +284,6 @@
 | 
			
		||||
    "version": "v11.6.0",
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "v0.45.0",
 | 
			
		||||
@@ -104,11 +309,6 @@
 | 
			
		||||
    "version": "v1.3.0",
 | 
			
		||||
    "date": "2025-03-25T15:55:02Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "emqx/emqx",
 | 
			
		||||
    "version": "v5.8.6",
 | 
			
		||||
    "date": "2025-03-25T15:22:13Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "hansmi/prometheus-paperless-exporter",
 | 
			
		||||
    "version": "v0.0.7",
 | 
			
		||||
@@ -119,61 +319,26 @@
 | 
			
		||||
    "version": "jenkins-2.503",
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "v1.6.8",
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "v0.14.1",
 | 
			
		||||
    "date": "2025-03-25T10:09:14Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "runtipi/runtipi",
 | 
			
		||||
    "version": "v3.10.0",
 | 
			
		||||
    "date": "2025-03-15T14:38:16Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "VictoriaMetrics/VictoriaMetrics",
 | 
			
		||||
    "version": "pmm-6401-v1.114.0",
 | 
			
		||||
    "date": "2025-03-25T07:58:34Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "zitadel/zitadel",
 | 
			
		||||
    "version": "v2.70.6",
 | 
			
		||||
    "date": "2025-03-25T07:11:32Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "caddyserver/caddy",
 | 
			
		||||
    "version": "v2.9.1",
 | 
			
		||||
    "date": "2025-01-08T15:22:53Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "fallenbagel/jellyseerr",
 | 
			
		||||
    "version": "preview-OIDC",
 | 
			
		||||
    "date": "2025-03-25T00:28:11Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "influxdata/influxdb",
 | 
			
		||||
    "version": "v3.0.0-0.beta.2",
 | 
			
		||||
@@ -214,11 +379,6 @@
 | 
			
		||||
    "version": "2.0.2",
 | 
			
		||||
    "date": "2025-03-24T12:02:08Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "semaphoreui/semaphore",
 | 
			
		||||
    "version": "v2.13.2",
 | 
			
		||||
    "date": "2025-03-24T11:18:10Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "nzbgetcom/nzbget",
 | 
			
		||||
    "version": "v24.8",
 | 
			
		||||
@@ -244,11 +404,6 @@
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "v4.3.1",
 | 
			
		||||
@@ -259,36 +414,16 @@
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "v0.24.2",
 | 
			
		||||
    "date": "2025-03-23T04:01:50Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "OliveTin/OliveTin",
 | 
			
		||||
    "version": "2025.3.23",
 | 
			
		||||
    "date": "2025-03-23T01:38:55Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "hoarder-app/hoarder",
 | 
			
		||||
    "version": "sdk/v0.23.0",
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "v4.2.6",
 | 
			
		||||
@@ -299,11 +434,6 @@
 | 
			
		||||
    "version": "4.4.1",
 | 
			
		||||
    "date": "2024-12-20T13:21:31Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "home-assistant/core",
 | 
			
		||||
    "version": "2025.3.4",
 | 
			
		||||
    "date": "2025-03-21T20:22:46Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "leiweibau/Pi.Alert",
 | 
			
		||||
    "version": "v2025-03-21",
 | 
			
		||||
@@ -314,11 +444,6 @@
 | 
			
		||||
    "version": "v2.7.6",
 | 
			
		||||
    "date": "2025-03-21T19:24:53Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "homarr-labs/homarr",
 | 
			
		||||
    "version": "v1.12.0",
 | 
			
		||||
    "date": "2025-03-21T19:14:59Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "photoprism/photoprism",
 | 
			
		||||
    "version": "250321-57590c48b",
 | 
			
		||||
@@ -329,16 +454,6 @@
 | 
			
		||||
    "version": "v0.107.59",
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "v0.9.77",
 | 
			
		||||
@@ -349,11 +464,6 @@
 | 
			
		||||
    "version": "v1.10.4",
 | 
			
		||||
    "date": "2025-03-20T18:56:10Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "ellite/Wallos",
 | 
			
		||||
    "version": "v2.48.0",
 | 
			
		||||
    "date": "2025-03-20T16:57:43Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "neo4j/neo4j",
 | 
			
		||||
    "version": "4.4.42",
 | 
			
		||||
@@ -364,31 +474,16 @@
 | 
			
		||||
    "version": "8.0-rc1",
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "v4.0.7",
 | 
			
		||||
    "date": "2025-02-26T19:07:11Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "NodeBB/NodeBB",
 | 
			
		||||
    "version": "v4.2.0",
 | 
			
		||||
    "date": "2025-03-19T18:34:01Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "seanmorley15/AdventureLog",
 | 
			
		||||
    "version": "v0.9.0",
 | 
			
		||||
    "date": "2025-03-19T13:30:02Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "hakimel/reveal.js",
 | 
			
		||||
    "version": "5.2.0",
 | 
			
		||||
    "date": "2025-03-19T11:03:56Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Luligu/matterbridge",
 | 
			
		||||
    "version": "2.2.5",
 | 
			
		||||
@@ -399,16 +494,6 @@
 | 
			
		||||
    "version": "v0.22.1",
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "1.10.3",
 | 
			
		||||
@@ -439,41 +524,16 @@
 | 
			
		||||
    "version": "v0.8.5.11",
 | 
			
		||||
    "date": "2025-03-17T19:25:25Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "goauthentik/authentik",
 | 
			
		||||
    "version": "version/2025.2.2",
 | 
			
		||||
    "date": "2025-03-17T19:16:49Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Sonarr/Sonarr",
 | 
			
		||||
    "version": "v4.0.14.2939",
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "2.303",
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "v1.60.0",
 | 
			
		||||
@@ -499,16 +559,6 @@
 | 
			
		||||
    "version": "v1.0.0-beta18",
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "v0.10.2",
 | 
			
		||||
@@ -614,11 +664,6 @@
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "v2.4.2",
 | 
			
		||||
@@ -679,11 +724,6 @@
 | 
			
		||||
    "version": "10.1.39",
 | 
			
		||||
    "date": "2025-03-04T19:05:18Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "tailscale/tailscale",
 | 
			
		||||
    "version": "v1.80.3",
 | 
			
		||||
    "date": "2025-03-04T18:47:25Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "pi-hole/pi-hole",
 | 
			
		||||
    "version": "v6.0.5",
 | 
			
		||||
@@ -709,21 +749,6 @@
 | 
			
		||||
    "version": "2.8.0",
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "v1.5.7",
 | 
			
		||||
@@ -809,11 +834,6 @@
 | 
			
		||||
    "version": "v0.18.3",
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "v3.5.2",
 | 
			
		||||
@@ -879,11 +899,6 @@
 | 
			
		||||
    "version": "v1.9.0",
 | 
			
		||||
    "date": "2025-02-11T13:26:42Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "TasmoAdmin/TasmoAdmin",
 | 
			
		||||
    "version": "v4.2.3",
 | 
			
		||||
    "date": "2025-02-09T23:07:48Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "dani-garcia/vaultwarden",
 | 
			
		||||
    "version": "1.33.2",
 | 
			
		||||
@@ -939,11 +954,6 @@
 | 
			
		||||
    "version": "1.7.6",
 | 
			
		||||
    "date": "2025-02-01T09:50:52Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "hivemq/hivemq-community-edition",
 | 
			
		||||
    "version": "2025.1",
 | 
			
		||||
    "date": "2025-01-29T10:04:27Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "rustdesk/rustdesk-server",
 | 
			
		||||
    "version": "1.1.14",
 | 
			
		||||
@@ -1009,11 +1019,6 @@
 | 
			
		||||
    "version": "v0.24.6",
 | 
			
		||||
    "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",
 | 
			
		||||
    "version": "v0.4.15",
 | 
			
		||||
@@ -1044,11 +1049,6 @@
 | 
			
		||||
    "version": "v1.7.3",
 | 
			
		||||
    "date": "2024-11-27T21:26:11Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Bubka/2FAuth",
 | 
			
		||||
    "version": "v5.4.3",
 | 
			
		||||
    "date": "2024-11-27T14:02:18Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "lldap/lldap",
 | 
			
		||||
    "version": "v0.6.1",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										59
									
								
								install/alpine-mariadb-install.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								install/alpine-mariadb-install.sh
									
									
									
									
									
										Normal 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"
 | 
			
		||||
							
								
								
									
										56
									
								
								install/alpine-node-red-install.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								install/alpine-node-red-install.sh
									
									
									
									
									
										Normal 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
 | 
			
		||||
@@ -35,6 +35,7 @@ fi
 | 
			
		||||
msg_ok "Set Up Hardware Acceleration"
 | 
			
		||||
 | 
			
		||||
msg_info "Installing ErsatzTV"
 | 
			
		||||
temp_file=$(mktemp)
 | 
			
		||||
cd /opt
 | 
			
		||||
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"
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 | 
			
		||||
# Copyright (c) 2021-2025 community-scripts ORG
 | 
			
		||||
# 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/
 | 
			
		||||
 | 
			
		||||
# Import Functions und Setup
 | 
			
		||||
 
 | 
			
		||||
@@ -34,10 +34,10 @@ msg_ok "Setup Golang"
 | 
			
		||||
 | 
			
		||||
msg_info "Setup ${APPLICATION} (Patience)"
 | 
			
		||||
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) }')
 | 
			
		||||
wget -q "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file
 | 
			
		||||
RELEASE=$(curl -fsSL https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v.${RELEASE}.tar.gz" -o $temp_file
 | 
			
		||||
tar -xzf $temp_file
 | 
			
		||||
mv GoMFT-${RELEASE}/ /opt/gomft
 | 
			
		||||
mv GoMFT-v.${RELEASE}/ /opt/gomft
 | 
			
		||||
cd /opt/gomft
 | 
			
		||||
$STD go mod download
 | 
			
		||||
$STD go install github.com/a-h/templ/cmd/templ@latest
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@ msg_ok "Installed Node.js"
 | 
			
		||||
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) }')
 | 
			
		||||
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
 | 
			
		||||
rm -rf v${RELEASE}.tar.gz
 | 
			
		||||
mkdir -p /opt/homepage/config
 | 
			
		||||
 
 | 
			
		||||
@@ -70,9 +70,9 @@ PASSKEY=$(openssl rand -base64 24 | tr -d '/+=')
 | 
			
		||||
WEBHOOK_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/^DB_PASSWORD=.*/DB_PASSWORD=${DB_PASSWORD}/" /opt/komodo/compose.env
 | 
			
		||||
sed -i "s/^PASSKEY=.*/PASSKEY=${PASSKEY}/" /opt/komodo/compose.env
 | 
			
		||||
sed -i "s/^KOMODO_DB_USERNAME=.*/KOMODO_DB_USERNAME=komodo_admin/" /opt/komodo/compose.env
 | 
			
		||||
sed -i "s/^KOMODO_DB_PASSWORD=.*/KOMODO_DB_PASSWORD=${DB_PASSWORD}/" /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_JWT_SECRET=.*/KOMODO_JWT_SECRET=${JWT_SECRET}/" /opt/komodo/compose.env
 | 
			
		||||
msg_ok "Setup Komodo Environment"
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,6 @@
 | 
			
		||||
color() {
 | 
			
		||||
  # Colors
 | 
			
		||||
  YW=$(echo "\033[33m")
 | 
			
		||||
  YWB=$(echo "\033[93m")
 | 
			
		||||
  BL=$(echo "\033[36m")
 | 
			
		||||
  RD=$(echo "\033[01;31m")
 | 
			
		||||
  GN=$(echo "\033[1;92m")
 | 
			
		||||
@@ -30,10 +29,8 @@ color() {
 | 
			
		||||
  INFO="${TAB}💡${TAB}${CL}"
 | 
			
		||||
  NETWORK="${TAB}📡${TAB}${CL}"
 | 
			
		||||
  OS="${TAB}🖥️${TAB}${CL}"
 | 
			
		||||
  OSVERSION="${TAB}🌟${TAB}${CL}"
 | 
			
		||||
  HOSTNAME="${TAB}🏠${TAB}${CL}"
 | 
			
		||||
  GATEWAY="${TAB}🌐${TAB}${CL}"
 | 
			
		||||
  DEFAULT="${TAB}⚙️${TAB}${CL}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Function to set STD mode based on verbosity
 | 
			
		||||
@@ -143,6 +140,11 @@ update_os() {
 | 
			
		||||
  $STD apk update
 | 
			
		||||
  $STD apk upgrade
 | 
			
		||||
  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
 | 
			
		||||
@@ -181,7 +183,7 @@ motd_ssh() {
 | 
			
		||||
 | 
			
		||||
# Validate Timezone for some LXC's
 | 
			
		||||
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
 | 
			
		||||
@@ -191,4 +193,7 @@ customize() {
 | 
			
		||||
    bash -c "passwd -d root" >/dev/null 2>&1
 | 
			
		||||
    msg_ok "Customized Container"
 | 
			
		||||
  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
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										101
									
								
								misc/build.func
									
									
									
									
									
								
							
							
						
						
									
										101
									
								
								misc/build.func
									
									
									
									
									
								
							@@ -29,15 +29,13 @@ color() {
 | 
			
		||||
 | 
			
		||||
  # Formatting
 | 
			
		||||
  CL=$(echo "\033[m")
 | 
			
		||||
  UL=$(echo "\033[4m")
 | 
			
		||||
  BOLD=$(echo "\033[1m")
 | 
			
		||||
  BFR="\\r\\033[K"
 | 
			
		||||
  HOLD=" "
 | 
			
		||||
  TAB="  "
 | 
			
		||||
 | 
			
		||||
  # Icons
 | 
			
		||||
  CM="${TAB}✔️${TAB}${CL}"
 | 
			
		||||
  CROSS="${TAB}✖️${TAB}${CL}"
 | 
			
		||||
  CM="${TAB}✔️${TAB}"
 | 
			
		||||
  CROSS="${TAB}✖️${TAB}"
 | 
			
		||||
  INFO="${TAB}💡${TAB}${CL}"
 | 
			
		||||
  OS="${TAB}🖥️${TAB}${CL}"
 | 
			
		||||
  OSVERSION="${TAB}🌟${TAB}${CL}"
 | 
			
		||||
@@ -81,58 +79,75 @@ error_handler() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# 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() {
 | 
			
		||||
  local msg="$1"
 | 
			
		||||
  local frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
 | 
			
		||||
  local frames=(⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏)
 | 
			
		||||
  local spin_i=0
 | 
			
		||||
  local interval=0.1
 | 
			
		||||
  local term_width=$(tput cols)
 | 
			
		||||
 | 
			
		||||
  SPINNER_MSG="$msg"
 | 
			
		||||
  printf "\r\e[2K" >&2
 | 
			
		||||
 | 
			
		||||
  {
 | 
			
		||||
    while [ "${SPINNER_ACTIVE:-1}" -eq 1 ]; do
 | 
			
		||||
      printf "\r\e[2K${frames[spin_i]} ${YW}%b${CL}" "$msg" >&2
 | 
			
		||||
    while [[ "$SPINNER_ACTIVE" -eq 1 ]]; do
 | 
			
		||||
      printf "\r\e[2K%s %b" "${frames[spin_i]}" "${YW}${SPINNER_MSG}${CL}" >&2
 | 
			
		||||
      spin_i=$(((spin_i + 1) % ${#frames[@]}))
 | 
			
		||||
      sleep "$interval"
 | 
			
		||||
    done
 | 
			
		||||
  } &
 | 
			
		||||
 | 
			
		||||
  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() {
 | 
			
		||||
  local msg="$1"
 | 
			
		||||
  if [ "${SPINNER_ACTIVE:-0}" -eq 1 ]; then
 | 
			
		||||
    return
 | 
			
		||||
  fi
 | 
			
		||||
  [[ -n "${MSG_INFO_SHOWN["$msg"]+x}" ]] && return
 | 
			
		||||
  MSG_INFO_SHOWN["$msg"]=1
 | 
			
		||||
 | 
			
		||||
  spinner_guard
 | 
			
		||||
  SPINNER_ACTIVE=1
 | 
			
		||||
  start_spinner "$msg"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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"
 | 
			
		||||
  printf "\r\e[2K${CM}${GN}%b${CL}\n" "$msg" >&2
 | 
			
		||||
  unset SPINNER_PID
 | 
			
		||||
  SPINNER_ACTIVE=0
 | 
			
		||||
 | 
			
		||||
  log_message "OK" "$msg"
 | 
			
		||||
  stop_spinner
 | 
			
		||||
  printf "\r\e[2K%s %b\n" "${CM}" "${GN}${msg}${CL}" >&2
 | 
			
		||||
  unset MSG_INFO_SHOWN["$msg"]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
msg_error() {
 | 
			
		||||
  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
 | 
			
		||||
 | 
			
		||||
  stop_spinner
 | 
			
		||||
  local msg="$1"
 | 
			
		||||
  printf "\r\e[2K${CROSS}${RD}%b${CL}\n" "$msg" >&2
 | 
			
		||||
  unset SPINNER_PID
 | 
			
		||||
  SPINNER_ACTIVE=0
 | 
			
		||||
  printf "\r\e[2K%s %b\n" "${CROSS}" "${RD}${msg}${CL}" >&2
 | 
			
		||||
  log_message "ERROR" "$msg"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -1250,21 +1265,21 @@ exit_script() {
 | 
			
		||||
  #200 exit codes indicate error in create_lxc.sh
 | 
			
		||||
  #100 exit codes indicate error in install.func
 | 
			
		||||
 | 
			
		||||
  if [ $exit_code -ne 0 ]; then  
 | 
			
		||||
  if [ $exit_code -ne 0 ]; then
 | 
			
		||||
    case $exit_code in
 | 
			
		||||
      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" ;;
 | 
			
		||||
      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" ;;
 | 
			
		||||
      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" ;;
 | 
			
		||||
      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" ;;
 | 
			
		||||
      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" ;;
 | 
			
		||||
      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" ;;
 | 
			
		||||
      *)   post_update_to_api "failed" "Unknown error, exit code: $exit_code 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" ;;
 | 
			
		||||
    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" ;;
 | 
			
		||||
    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" ;;
 | 
			
		||||
    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" ;;
 | 
			
		||||
    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" ;;
 | 
			
		||||
    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" ;;
 | 
			
		||||
    *) post_update_to_api "failed" "Unknown error, exit code: $exit_code in create_lxc.sh" ;;
 | 
			
		||||
    esac
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -59,6 +59,7 @@ install() {
 | 
			
		||||
  header_info
 | 
			
		||||
 | 
			
		||||
  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
 | 
			
		||||
  $STD dpkg -i netdata-repo_5-1+debian12_all.deb
 | 
			
		||||
  rm -rf netdata-repo_5-1+debian12_all.deb
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user