mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-03-04 01:45:55 +01:00
Compare commits
14 Commits
fix/opnsen
...
github-act
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f5f0b20b93 | ||
|
|
3ff140101d | ||
|
|
c4b6528bf0 | ||
|
|
7a85e33791 | ||
|
|
bbfffb97a5 | ||
|
|
4306b4018d | ||
|
|
3722533431 | ||
|
|
f773af17b2 | ||
|
|
56b4490554 | ||
|
|
b45842d76a | ||
|
|
ea279ace89 | ||
|
|
034061e744 | ||
|
|
dd07ba4453 | ||
|
|
380aa4bc0f |
23
CHANGELOG.md
23
CHANGELOG.md
@@ -410,16 +410,39 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
</details>
|
||||
|
||||
## 2026-03-04
|
||||
|
||||
## 2026-03-03
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Tinyauth: v5 Support & add Debian Version [@MickLesk](https://github.com/MickLesk) ([#12501](https://github.com/community-scripts/ProxmoxVE/pull/12501))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- cross-seed: install build-essential to resolve missing `make` error [@Copilot](https://github.com/Copilot) ([#12522](https://github.com/community-scripts/ProxmoxVE/pull/12522))
|
||||
- meshcentral: increased disk space to 4GB [@MickLesk](https://github.com/MickLesk) ([#12509](https://github.com/community-scripts/ProxmoxVE/pull/12509))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- opnsense-vm: harden temp dir, bridge detection and network selection [@MickLesk](https://github.com/MickLesk) ([#12513](https://github.com/community-scripts/ProxmoxVE/pull/12513))
|
||||
|
||||
### 🗑️ Deleted Scripts
|
||||
|
||||
- Remove Unifi Network Server scripts (dead APT repo) [@Copilot](https://github.com/Copilot) ([#12500](https://github.com/community-scripts/ProxmoxVE/pull/12500))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- core: recovery - add ENOSPC disk-full detection with auto-retry using * 2 hdd [@MickLesk](https://github.com/MickLesk) ([#12511](https://github.com/community-scripts/ProxmoxVE/pull/12511))
|
||||
|
||||
### 📚 Documentation
|
||||
|
||||
- Fix config_path casing in reactive-resume.json [@ScubyG](https://github.com/ScubyG) ([#12525](https://github.com/community-scripts/ProxmoxVE/pull/12525))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
@@ -25,6 +25,7 @@ function update_script() {
|
||||
check_container_resources
|
||||
|
||||
NODE_VERSION="24" setup_nodejs
|
||||
ensure_dependencies build-essential
|
||||
|
||||
if command -v cross-seed &>/dev/null; then
|
||||
current_version=$(cross-seed --version)
|
||||
|
||||
@@ -9,7 +9,7 @@ APP="MeshCentral"
|
||||
var_tags="${var_tags:-remote-management}"
|
||||
var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-512}"
|
||||
var_disk="${var_disk:-2}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"generated": "2026-03-03T12:12:16Z",
|
||||
"generated": "2026-03-04T00:20:33Z",
|
||||
"versions": [
|
||||
{
|
||||
"slug": "2fauth",
|
||||
@@ -242,9 +242,9 @@
|
||||
{
|
||||
"slug": "cosmos",
|
||||
"repo": "azukaar/Cosmos-Server",
|
||||
"version": "v0.21.6",
|
||||
"version": "v0.21.7",
|
||||
"pinned": false,
|
||||
"date": "2026-02-28T22:00:49Z"
|
||||
"date": "2026-03-03T18:15:29Z"
|
||||
},
|
||||
{
|
||||
"slug": "cronicle",
|
||||
@@ -298,9 +298,9 @@
|
||||
{
|
||||
"slug": "docmost",
|
||||
"repo": "docmost/docmost",
|
||||
"version": "v0.25.3",
|
||||
"version": "v0.70.0",
|
||||
"pinned": false,
|
||||
"date": "2026-02-10T02:58:23Z"
|
||||
"date": "2026-03-03T20:33:08Z"
|
||||
},
|
||||
{
|
||||
"slug": "domain-locker",
|
||||
@@ -438,9 +438,9 @@
|
||||
{
|
||||
"slug": "ghostfolio",
|
||||
"repo": "ghostfolio/ghostfolio",
|
||||
"version": "2.245.0",
|
||||
"version": "2.246.0",
|
||||
"pinned": false,
|
||||
"date": "2026-03-01T09:09:57Z"
|
||||
"date": "2026-03-03T19:37:20Z"
|
||||
},
|
||||
{
|
||||
"slug": "gitea",
|
||||
@@ -557,9 +557,9 @@
|
||||
{
|
||||
"slug": "homebox",
|
||||
"repo": "sysadminsmedia/homebox",
|
||||
"version": "v0.23.1",
|
||||
"version": "v0.24.0",
|
||||
"pinned": false,
|
||||
"date": "2026-02-01T22:53:32Z"
|
||||
"date": "2026-03-03T16:09:55Z"
|
||||
},
|
||||
{
|
||||
"slug": "homepage",
|
||||
@@ -669,9 +669,9 @@
|
||||
{
|
||||
"slug": "kima-hub",
|
||||
"repo": "Chevron7Locked/kima-hub",
|
||||
"version": "v1.6.0",
|
||||
"version": "v1.6.1",
|
||||
"pinned": false,
|
||||
"date": "2026-03-02T05:43:31Z"
|
||||
"date": "2026-03-03T16:13:53Z"
|
||||
},
|
||||
{
|
||||
"slug": "kimai",
|
||||
@@ -753,9 +753,9 @@
|
||||
{
|
||||
"slug": "libretranslate",
|
||||
"repo": "LibreTranslate/LibreTranslate",
|
||||
"version": "v1.9.4",
|
||||
"version": "v1.9.5",
|
||||
"pinned": false,
|
||||
"date": "2026-02-24T17:06:05Z"
|
||||
"date": "2026-03-03T18:25:04Z"
|
||||
},
|
||||
{
|
||||
"slug": "lidarr",
|
||||
@@ -872,9 +872,9 @@
|
||||
{
|
||||
"slug": "metube",
|
||||
"repo": "alexta69/metube",
|
||||
"version": "2026.03.02",
|
||||
"version": "2026.03.03",
|
||||
"pinned": false,
|
||||
"date": "2026-03-02T19:19:10Z"
|
||||
"date": "2026-03-03T19:15:55Z"
|
||||
},
|
||||
{
|
||||
"slug": "miniflux",
|
||||
@@ -921,9 +921,9 @@
|
||||
{
|
||||
"slug": "netbox",
|
||||
"repo": "netbox-community/netbox",
|
||||
"version": "v4.5.3",
|
||||
"version": "v4.5.4",
|
||||
"pinned": false,
|
||||
"date": "2026-02-17T15:39:18Z"
|
||||
"date": "2026-03-03T20:32:16Z"
|
||||
},
|
||||
{
|
||||
"slug": "nextcloud-exporter",
|
||||
@@ -942,9 +942,9 @@
|
||||
{
|
||||
"slug": "nightscout",
|
||||
"repo": "nightscout/cgm-remote-monitor",
|
||||
"version": "v15.0.5",
|
||||
"version": "v15.0.6",
|
||||
"pinned": false,
|
||||
"date": "2026-03-01T21:22:37Z"
|
||||
"date": "2026-03-03T23:04:35Z"
|
||||
},
|
||||
{
|
||||
"slug": "nocodb",
|
||||
@@ -1229,9 +1229,9 @@
|
||||
{
|
||||
"slug": "pulse",
|
||||
"repo": "rcourtman/Pulse",
|
||||
"version": "v5.1.17",
|
||||
"version": "v5.1.18",
|
||||
"pinned": false,
|
||||
"date": "2026-03-02T20:15:31Z"
|
||||
"date": "2026-03-03T22:09:15Z"
|
||||
},
|
||||
{
|
||||
"slug": "pve-scripts-local",
|
||||
@@ -1446,9 +1446,9 @@
|
||||
{
|
||||
"slug": "sonobarr",
|
||||
"repo": "Dodelidoo-Labs/sonobarr",
|
||||
"version": "0.11.0",
|
||||
"version": "0.12.1",
|
||||
"pinned": false,
|
||||
"date": "2026-01-21T19:07:21Z"
|
||||
"date": "2026-03-03T13:43:02Z"
|
||||
},
|
||||
{
|
||||
"slug": "speedtest-tracker",
|
||||
@@ -1467,9 +1467,9 @@
|
||||
{
|
||||
"slug": "sportarr",
|
||||
"repo": "Sportarr/Sportarr",
|
||||
"version": "v4.0.983.1057",
|
||||
"version": "v4.0.984.1059",
|
||||
"pinned": false,
|
||||
"date": "2026-01-26T18:54:50Z"
|
||||
"date": "2026-03-03T23:28:08Z"
|
||||
},
|
||||
{
|
||||
"slug": "stirling-pdf",
|
||||
@@ -1579,9 +1579,9 @@
|
||||
{
|
||||
"slug": "tracearr",
|
||||
"repo": "connorgallopo/Tracearr",
|
||||
"version": "v1.4.19",
|
||||
"version": "v1.4.21",
|
||||
"pinned": false,
|
||||
"date": "2026-02-28T21:25:47Z"
|
||||
"date": "2026-03-03T18:43:20Z"
|
||||
},
|
||||
{
|
||||
"slug": "tracktor",
|
||||
@@ -1649,9 +1649,9 @@
|
||||
{
|
||||
"slug": "upgopher",
|
||||
"repo": "wanetty/upgopher",
|
||||
"version": "v1.14.0",
|
||||
"version": "v1.15.2",
|
||||
"pinned": false,
|
||||
"date": "2026-02-24T22:43:34Z"
|
||||
"date": "2026-03-03T13:40:45Z"
|
||||
},
|
||||
{
|
||||
"slug": "upsnap",
|
||||
@@ -1740,9 +1740,9 @@
|
||||
{
|
||||
"slug": "wealthfolio",
|
||||
"repo": "afadil/wealthfolio",
|
||||
"version": "v3.0.2",
|
||||
"version": "v3.0.3",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T05:01:49Z"
|
||||
"date": "2026-03-03T21:47:55Z"
|
||||
},
|
||||
{
|
||||
"slug": "web-check",
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
"resources": {
|
||||
"cpu": 1,
|
||||
"ram": 512,
|
||||
"hdd": 2,
|
||||
"hdd": 4,
|
||||
"os": "debian",
|
||||
"version": "13"
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"documentation": "https://docs.rxresume.org/",
|
||||
"website": "https://rxresume.org",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/reactive-resume.webp",
|
||||
"config_path": "/opt/reactive-resume/.env",
|
||||
"config_path": "/opt/Reactive-Resume/.env",
|
||||
"description": "A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever.",
|
||||
"install_methods": [
|
||||
{
|
||||
|
||||
@@ -13,6 +13,10 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y build-essential
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
NODE_VERSION="24" setup_nodejs
|
||||
|
||||
msg_info "Setup Cross-Seed"
|
||||
|
||||
@@ -4222,6 +4222,7 @@ EOF'
|
||||
local is_network_issue=false
|
||||
local is_apt_issue=false
|
||||
local is_cmd_not_found=false
|
||||
local is_disk_full=false
|
||||
local error_explanation=""
|
||||
if declare -f explain_exit_code >/dev/null 2>&1; then
|
||||
error_explanation="$(explain_exit_code "$install_exit_code")"
|
||||
@@ -4242,6 +4243,14 @@ EOF'
|
||||
;;
|
||||
esac
|
||||
|
||||
# Disk full / ENOSPC detection: errno -28 (ENOSPC), exit 228 (custom handler), exit 23 (curl write error)
|
||||
if [[ $install_exit_code -eq 228 || $install_exit_code -eq 23 ]]; then
|
||||
is_disk_full=true
|
||||
fi
|
||||
if [[ -f "$combined_log" ]] && grep -qiE 'ENOSPC|no space left on device|No space left on device|Disk quota exceeded|errno -28' "$combined_log"; then
|
||||
is_disk_full=true
|
||||
fi
|
||||
|
||||
# Command not found detection
|
||||
if [[ $install_exit_code -eq 127 ]]; then
|
||||
is_cmd_not_found=true
|
||||
@@ -4278,6 +4287,9 @@ EOF'
|
||||
if grep -qiE ': command not found|No such file or directory.*/s?bin/' "$combined_log"; then
|
||||
is_cmd_not_found=true
|
||||
fi
|
||||
if grep -qiE 'ENOSPC|no space left on device|Disk quota exceeded|errno -28' "$combined_log"; then
|
||||
is_disk_full=true
|
||||
fi
|
||||
fi
|
||||
|
||||
# Show error explanation if available
|
||||
@@ -4299,6 +4311,12 @@ EOF'
|
||||
echo ""
|
||||
fi
|
||||
|
||||
if [[ "$is_disk_full" == true ]]; then
|
||||
echo -e "${TAB}${INFO} The container ran out of disk space during installation (${GN}ENOSPC${CL})."
|
||||
echo -e "${TAB}${INFO} Current disk size: ${GN}${DISK_SIZE} GB${CL}. A rebuild with doubled disk may resolve this."
|
||||
echo ""
|
||||
fi
|
||||
|
||||
if [[ "$is_cmd_not_found" == true ]]; then
|
||||
local missing_cmd=""
|
||||
if [[ -f "$combined_log" ]]; then
|
||||
@@ -4318,7 +4336,7 @@ EOF'
|
||||
echo -e " ${GN}3)${CL} Retry with verbose mode (full rebuild)"
|
||||
|
||||
local next_option=4
|
||||
local APT_OPTION="" OOM_OPTION="" DNS_OPTION=""
|
||||
local APT_OPTION="" OOM_OPTION="" DNS_OPTION="" DISK_OPTION=""
|
||||
|
||||
if [[ "$is_apt_issue" == true ]]; then
|
||||
if [[ "$var_os" == "alpine" ]]; then
|
||||
@@ -4343,6 +4361,18 @@ EOF'
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$is_disk_full" == true ]]; then
|
||||
local disk_recovery_attempt="${DISK_RECOVERY_ATTEMPT:-0}"
|
||||
if [[ $disk_recovery_attempt -lt 2 ]]; then
|
||||
local new_disk=$((DISK_SIZE * 2))
|
||||
echo -e " ${GN}${next_option})${CL} Retry with more disk space (Disk: ${DISK_SIZE}→${new_disk} GB)"
|
||||
DISK_OPTION=$next_option
|
||||
next_option=$((next_option + 1))
|
||||
else
|
||||
echo -e " ${DGN}-)${CL} ${DGN}Disk resize retry exhausted (already retried ${disk_recovery_attempt}x)${CL}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$is_network_issue" == true ]]; then
|
||||
echo -e " ${GN}${next_option})${CL} Retry with DNS override in LXC (8.8.8.8 / 1.1.1.1)"
|
||||
DNS_OPTION=$next_option
|
||||
@@ -4503,6 +4533,35 @@ EOF'
|
||||
return $?
|
||||
fi
|
||||
|
||||
if [[ -n "${DISK_OPTION}" && "${response}" == "${DISK_OPTION}" ]]; then
|
||||
# Retry with doubled disk size
|
||||
handled=true
|
||||
echo -e "\n${TAB}${HOLD}${YW}Removing container ${CTID} for rebuild with more disk space...${CL}"
|
||||
pct stop "$CTID" &>/dev/null || true
|
||||
pct destroy "$CTID" &>/dev/null || true
|
||||
echo -e "${BFR}${CM}${GN}Container ${CTID} removed${CL}"
|
||||
echo ""
|
||||
local old_ctid="$CTID"
|
||||
local old_disk="$DISK_SIZE"
|
||||
export CTID=$(get_valid_container_id "$CTID")
|
||||
export DISK_SIZE=$((DISK_SIZE * 2))
|
||||
export var_disk="$DISK_SIZE"
|
||||
export VERBOSE="yes"
|
||||
export var_verbose="yes"
|
||||
export DISK_RECOVERY_ATTEMPT=$((${DISK_RECOVERY_ATTEMPT:-0} + 1))
|
||||
|
||||
echo -e "${YW}Rebuilding with increased disk space (attempt ${DISK_RECOVERY_ATTEMPT}/2):${CL}"
|
||||
echo -e " Container ID: ${old_ctid} → ${CTID}"
|
||||
echo -e " Disk: ${old_disk} → ${GN}${DISK_SIZE}${CL} GB (x2)"
|
||||
echo -e " RAM: ${RAM_SIZE} MiB | CPU: ${CORE_COUNT} cores"
|
||||
echo -e " Network: ${NET:-dhcp} | Bridge: ${BRG:-vmbr0}"
|
||||
echo -e " Verbose: ${GN}enabled${CL}"
|
||||
echo ""
|
||||
msg_info "Restarting installation..."
|
||||
build_container
|
||||
return $?
|
||||
fi
|
||||
|
||||
if [[ -n "${DNS_OPTION}" && "${response}" == "${DNS_OPTION}" ]]; then
|
||||
# Retry with DNS override in LXC
|
||||
handled=true
|
||||
|
||||
Reference in New Issue
Block a user