mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-12-22 23:16:29 +01:00
Compare commits
10 Commits
update_uni
...
2025-12-21
| Author | SHA1 | Date | |
|---|---|---|---|
| 869a9f4ac3 | |||
| 4ddf86b9cd | |||
| 4e57145621 | |||
| ef2a511217 | |||
| 18bb7ae6c7 | |||
| 28d34e9169 | |||
| ddf8843b7b | |||
| 8212a44e5f | |||
| 134e7c1ae1 | |||
| 72f9ca70dc |
14
CHANGELOG.md
14
CHANGELOG.md
@ -10,6 +10,8 @@
|
||||
> [!CAUTION]
|
||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
||||
|
||||
## 2025-12-22
|
||||
|
||||
## 2025-12-21
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
@ -18,10 +20,22 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
- Typo fix in Heimdall install script [@Turcid-uwu](https://github.com/Turcid-uwu) ([#10187](https://github.com/community-scripts/ProxmoxVE/pull/10187))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- recyclarr: add default daily cron job for recyclarr sync [@MickLesk](https://github.com/MickLesk) ([#10208](https://github.com/community-scripts/ProxmoxVE/pull/10208))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Optimize Jotty installation with standalone mode [@MickLesk](https://github.com/MickLesk) ([#10207](https://github.com/community-scripts/ProxmoxVE/pull/10207))
|
||||
- unifi: remove mongodb 4.4 support | bump to java 21 [@MickLesk](https://github.com/MickLesk) ([#10206](https://github.com/community-scripts/ProxmoxVE/pull/10206))
|
||||
- Refactor: Backrest [@tremor021](https://github.com/tremor021) ([#10193](https://github.com/community-scripts/ProxmoxVE/pull/10193))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Fix AMD GPU firmware installation by adding non-free repositories [@MickLesk](https://github.com/MickLesk) ([#10205](https://github.com/community-scripts/ProxmoxVE/pull/10205))
|
||||
|
||||
### 🧰 Tools
|
||||
|
||||
- pihole-exporter ([#10091](https://github.com/community-scripts/ProxmoxVE/pull/10091))
|
||||
|
||||
29
ct/jotty.sh
29
ct/jotty.sh
@ -48,6 +48,17 @@ function update_script() {
|
||||
$STD yarn --frozen-lockfile
|
||||
$STD yarn next telemetry disable
|
||||
$STD yarn build
|
||||
|
||||
[ -d "public" ] && cp -r public .next/standalone/
|
||||
[ -d "howto" ] && cp -r howto .next/standalone/
|
||||
mkdir -p .next/standalone/.next
|
||||
cp -r .next/static .next/standalone/.next/
|
||||
|
||||
mv .next/standalone /tmp/jotty_standalone
|
||||
rm -rf * .next .git .gitignore .yarn
|
||||
mv /tmp/jotty_standalone/* .
|
||||
mv /tmp/jotty_standalone/.[!.]* . 2>/dev/null || true
|
||||
rm -rf /tmp/jotty_standalone
|
||||
msg_ok "Updated jotty"
|
||||
|
||||
msg_info "Restoring configuration & data"
|
||||
@ -55,6 +66,24 @@ function update_script() {
|
||||
$STD tar -xf /opt/data_config.tar
|
||||
msg_ok "Restored configuration & data"
|
||||
|
||||
msg_info "Updating Service"
|
||||
cat <<EOF >/etc/systemd/system/jotty.service
|
||||
[Unit]
|
||||
Description=jotty server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=/opt/jotty
|
||||
EnvironmentFile=/opt/jotty/.env
|
||||
ExecStart=/usr/bin/node server.js
|
||||
Restart=on-abnormal
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
msg_ok "Updated Service"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start jotty
|
||||
msg_ok "Started Service"
|
||||
|
||||
@ -31,5 +31,14 @@
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
"notes": [
|
||||
{
|
||||
"type": "warning",
|
||||
"content": "Configure your Radarr/Sonarr instances in `/root/.config/recyclarr/recyclarr.yml` before the first sync."
|
||||
},
|
||||
{
|
||||
"type": "info",
|
||||
"content": "Automatic daily sync is configured via `/etc/cron.d/recyclarr`. Sync logs are saved to `/root/.config/recyclarr/sync.log`."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -1,4 +1,49 @@
|
||||
[
|
||||
{
|
||||
"name": "advplyr/audiobookshelf",
|
||||
"version": "v2.32.0",
|
||||
"date": "2025-12-21T22:27:29Z"
|
||||
},
|
||||
{
|
||||
"name": "open-webui/open-webui",
|
||||
"version": "v0.6.42",
|
||||
"date": "2025-12-21T21:09:09Z"
|
||||
},
|
||||
{
|
||||
"name": "project-zot/zot",
|
||||
"version": "v2.1.12",
|
||||
"date": "2025-12-21T20:45:14Z"
|
||||
},
|
||||
{
|
||||
"name": "openhab/openhab-core",
|
||||
"version": "5.1.0.RC3",
|
||||
"date": "2025-12-21T20:04:16Z"
|
||||
},
|
||||
{
|
||||
"name": "maxdorninger/MediaManager",
|
||||
"version": "v1.11.0",
|
||||
"date": "2025-12-21T19:58:49Z"
|
||||
},
|
||||
{
|
||||
"name": "scanopy/scanopy",
|
||||
"version": "v0.12.5",
|
||||
"date": "2025-12-21T19:24:42Z"
|
||||
},
|
||||
{
|
||||
"name": "benjaminjonard/koillection",
|
||||
"version": "1.7.1",
|
||||
"date": "2025-12-21T17:06:17Z"
|
||||
},
|
||||
{
|
||||
"name": "ventoy/Ventoy",
|
||||
"version": "v1.1.10",
|
||||
"date": "2025-12-21T13:13:01Z"
|
||||
},
|
||||
{
|
||||
"name": "jason5ng32/MyIP",
|
||||
"version": "v5.1.1",
|
||||
"date": "2025-12-21T12:59:32Z"
|
||||
},
|
||||
{
|
||||
"name": "msgbyte/tianji",
|
||||
"version": "v1.30.24",
|
||||
@ -24,11 +69,6 @@
|
||||
"version": "v0.24.498",
|
||||
"date": "2025-12-21T05:55:52Z"
|
||||
},
|
||||
{
|
||||
"name": "scanopy/scanopy",
|
||||
"version": "v0.12.5",
|
||||
"date": "2025-12-21T05:36:12Z"
|
||||
},
|
||||
{
|
||||
"name": "fuma-nama/fumadocs",
|
||||
"version": "fumadocs-ui@16.3.2",
|
||||
@ -64,11 +104,6 @@
|
||||
"version": "v1.2.0-experimental-sql-indexing-v3",
|
||||
"date": "2025-12-20T21:57:53Z"
|
||||
},
|
||||
{
|
||||
"name": "openhab/openhab-core",
|
||||
"version": "5.1.0.RC2",
|
||||
"date": "2025-12-20T20:17:29Z"
|
||||
},
|
||||
{
|
||||
"name": "CyferShepard/Jellystat",
|
||||
"version": "1.1.7",
|
||||
@ -251,8 +286,8 @@
|
||||
},
|
||||
{
|
||||
"name": "javedh-dev/tracktor",
|
||||
"version": "1.0.1",
|
||||
"date": "2025-12-17T23:14:39Z"
|
||||
"version": "1.0.2",
|
||||
"date": "2025-12-19T02:43:42Z"
|
||||
},
|
||||
{
|
||||
"name": "mealie-recipes/mealie",
|
||||
@ -634,11 +669,6 @@
|
||||
"version": "4.1.2",
|
||||
"date": "2025-12-03T16:12:05Z"
|
||||
},
|
||||
{
|
||||
"name": "ventoy/Ventoy",
|
||||
"version": "v1.1.09",
|
||||
"date": "2025-12-12T13:06:36Z"
|
||||
},
|
||||
{
|
||||
"name": "duplicati/duplicati",
|
||||
"version": "v2.2.0.102-2.2.0.102_canary_2025-12-12",
|
||||
@ -764,11 +794,6 @@
|
||||
"version": "2.2.1",
|
||||
"date": "2025-12-08T12:01:34Z"
|
||||
},
|
||||
{
|
||||
"name": "maxdorninger/MediaManager",
|
||||
"version": "v1.10.0",
|
||||
"date": "2025-12-07T23:41:51Z"
|
||||
},
|
||||
{
|
||||
"name": "Part-DB/Part-DB-server",
|
||||
"version": "v2.3.0",
|
||||
@ -879,11 +904,6 @@
|
||||
"version": "10.1.50",
|
||||
"date": "2025-12-02T22:59:59Z"
|
||||
},
|
||||
{
|
||||
"name": "open-webui/open-webui",
|
||||
"version": "v0.6.41",
|
||||
"date": "2025-12-02T22:28:58Z"
|
||||
},
|
||||
{
|
||||
"name": "WordPress/WordPress",
|
||||
"version": "6.9",
|
||||
@ -899,11 +919,6 @@
|
||||
"version": "v2.0.12",
|
||||
"date": "2025-12-02T08:11:24Z"
|
||||
},
|
||||
{
|
||||
"name": "advplyr/audiobookshelf",
|
||||
"version": "v2.31.0",
|
||||
"date": "2025-12-01T23:49:11Z"
|
||||
},
|
||||
{
|
||||
"name": "OliveTin/OliveTin",
|
||||
"version": "3000.7.0",
|
||||
@ -1054,11 +1069,6 @@
|
||||
"version": "v4.3.2",
|
||||
"date": "2025-10-18T12:11:00Z"
|
||||
},
|
||||
{
|
||||
"name": "project-zot/zot",
|
||||
"version": "v2.1.11",
|
||||
"date": "2025-11-20T20:14:44Z"
|
||||
},
|
||||
{
|
||||
"name": "kimai/kimai",
|
||||
"version": "2.44.0",
|
||||
@ -1154,11 +1164,6 @@
|
||||
"version": "v1.0.25",
|
||||
"date": "2025-11-12T16:57:54Z"
|
||||
},
|
||||
{
|
||||
"name": "jason5ng32/MyIP",
|
||||
"version": "v5.1.0",
|
||||
"date": "2025-11-12T10:44:24Z"
|
||||
},
|
||||
{
|
||||
"name": "CrazyWolf13/web-check",
|
||||
"version": "1.1.0",
|
||||
@ -1444,11 +1449,6 @@
|
||||
"version": "v2.1.0",
|
||||
"date": "2025-08-29T12:56:13Z"
|
||||
},
|
||||
{
|
||||
"name": "benjaminjonard/koillection",
|
||||
"version": "1.7.0",
|
||||
"date": "2025-08-28T18:10:59Z"
|
||||
},
|
||||
{
|
||||
"name": "plexguide/Huntarr.io",
|
||||
"version": "8.2.10",
|
||||
|
||||
@ -21,6 +21,18 @@ cd /opt/jotty
|
||||
$STD yarn --frozen-lockfile
|
||||
$STD yarn next telemetry disable
|
||||
$STD yarn build
|
||||
|
||||
[ -d "public" ] && cp -r public .next/standalone/
|
||||
[ -d "howto" ] && cp -r howto .next/standalone/
|
||||
mkdir -p .next/standalone/.next
|
||||
cp -r .next/static .next/standalone/.next/
|
||||
|
||||
mv .next/standalone /tmp/jotty_standalone
|
||||
rm -rf * .next .git .gitignore .yarn
|
||||
mv /tmp/jotty_standalone/* .
|
||||
mv /tmp/jotty_standalone/.[!.]* . 2>/dev/null || true
|
||||
rm -rf /tmp/jotty_standalone
|
||||
|
||||
mkdir -p data/{users,checklists,notes}
|
||||
|
||||
cat <<EOF >/opt/jotty/.env
|
||||
@ -55,7 +67,7 @@ After=network.target
|
||||
[Service]
|
||||
WorkingDirectory=/opt/jotty
|
||||
EnvironmentFile=/opt/jotty/.env
|
||||
ExecStart=yarn start
|
||||
ExecStart=/usr/bin/node server.js
|
||||
Restart=on-abnormal
|
||||
|
||||
[Install]
|
||||
|
||||
@ -24,6 +24,14 @@ mkdir -p /root/.config/recyclarr
|
||||
$STD recyclarr config create
|
||||
msg_ok "Configured Recyclarr"
|
||||
|
||||
msg_info "Setting up Daily Sync Cron"
|
||||
cat <<EOF >/etc/cron.d/recyclarr
|
||||
# Run recyclarr sync daily
|
||||
@daily root recyclarr sync >> /root/.config/recyclarr/sync.log 2>&1
|
||||
EOF
|
||||
chmod 644 /etc/cron.d/recyclarr
|
||||
msg_ok "Setup Daily Sync Cron"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
@ -2734,11 +2734,57 @@ EOF
|
||||
return 1
|
||||
}
|
||||
|
||||
# AMD firmware for better GPU support
|
||||
# For AMD GPUs, firmware-amd-graphics requires non-free repositories
|
||||
if [[ "$os_id" == "debian" ]]; then
|
||||
$STD apt -y install firmware-amd-graphics 2>/dev/null || true
|
||||
# Add non-free-firmware repository if not already present
|
||||
if [[ ! -f /etc/apt/sources.list.d/non-free-firmware.sources ]]; then
|
||||
if [[ "$os_codename" == "bookworm" ]]; then
|
||||
cat <<EOF >/etc/apt/sources.list.d/non-free-firmware.sources
|
||||
Types: deb
|
||||
URIs: http://deb.debian.org/debian
|
||||
Suites: bookworm bookworm-updates
|
||||
Components: non-free-firmware
|
||||
|
||||
Types: deb
|
||||
URIs: http://deb.debian.org/debian-security
|
||||
Suites: bookworm-security
|
||||
Components: non-free-firmware
|
||||
EOF
|
||||
elif [[ "$os_codename" == "trixie" || "$os_codename" == "sid" ]]; then
|
||||
cat <<EOF >/etc/apt/sources.list.d/non-free-firmware.sources
|
||||
Types: deb
|
||||
URIs: http://deb.debian.org/debian
|
||||
Suites: trixie trixie-updates
|
||||
Components: non-free-firmware
|
||||
|
||||
Types: deb
|
||||
URIs: http://deb.debian.org/debian-security
|
||||
Suites: trixie-security
|
||||
Components: non-free-firmware
|
||||
EOF
|
||||
fi
|
||||
$STD apt update
|
||||
fi
|
||||
|
||||
# Install AMD firmware and libdrm
|
||||
$STD apt -y install libdrm-amdgpu1 firmware-amd-graphics 2>/dev/null || {
|
||||
msg_warn "Failed to install AMD firmware - may need manual installation"
|
||||
}
|
||||
elif [[ "$os_id" == "ubuntu" ]]; then
|
||||
# For Ubuntu, ensure multiverse is enabled (firmware-amd-graphics is in multiverse)
|
||||
if ! grep -qE '^deb.*multiverse' /etc/apt/sources.list /etc/apt/sources.list.d/*.list 2>/dev/null; then
|
||||
$STD add-apt-repository -y multiverse
|
||||
$STD apt update
|
||||
fi
|
||||
|
||||
# Install AMD firmware and libdrm
|
||||
$STD apt -y install libdrm-amdgpu1 firmware-amd-graphics 2>/dev/null || {
|
||||
msg_warn "Failed to install AMD firmware - may need manual installation"
|
||||
}
|
||||
else
|
||||
# For other distributions, try without adding repositories
|
||||
$STD apt -y install libdrm-amdgpu1 2>/dev/null || true
|
||||
fi
|
||||
$STD apt -y install libdrm-amdgpu1 2>/dev/null || true
|
||||
;;
|
||||
|
||||
NVIDIA)
|
||||
|
||||
Reference in New Issue
Block a user