Compare commits

..

17 Commits

Author SHA1 Message Date
73b2dbb3b7 Update CHANGELOG.md (#10231)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-22 21:52:27 +00:00
e3ff6bfbbf refactor: reitti: v3.0.0 (#10196) 2025-12-22 22:52:01 +01:00
d9425a1169 Update CHANGELOG.md (#10226)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-22 19:42:33 +00:00
a21066ac74 Invoice ninja (#10223) 2025-12-22 20:42:06 +01:00
c0231a08c2 Update versions.json (#10220)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-22 13:06:03 +01:00
cfe518adce Update CHANGELOG.md (#10218)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-22 09:17:41 +00:00
5ca27931a2 Update kometa.sh (#10217) 2025-12-22 10:17:19 +01:00
869a9f4ac3 Update CHANGELOG.md (#10215)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-22 00:15:04 +00:00
4ddf86b9cd Update versions.json (#10214)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-22 01:14:39 +01:00
4e57145621 Update CHANGELOG.md (#10212)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-21 22:16:22 +00:00
ef2a511217 recyclarr: add default daily cron job for recyclarr sync (#10208)
* Add default daily cron job for recyclarr sync

- Create /etc/cron.d/recyclarr file with @daily schedule
- Log output to /root/.config/recyclarr/sync.log
- Uses recommended default schedule from recyclarr docs
- Follows project convention for cron jobs

Implements #10182

* Add notes about daily cron job to recyclarr.json

- Info about automatic daily sync via cron
- Reference to cron file location for customization
- Warning about configuring instances before first sync
2025-12-21 23:15:56 +01:00
18bb7ae6c7 Update CHANGELOG.md (#10211)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-21 22:15:32 +00:00
28d34e9169 Optimize Jotty installation with standalone mode (#10207)
* Optimize Jotty installation with standalone mode

- Use Next.js standalone mode to reduce folder size from ~2.4GB to ~80MB
- Copy public, howto, and static folders to standalone output
- Remove node_modules and build artifacts after creating standalone version
- Update systemd service to use node directly instead of yarn start
- Improves build efficiency and reduces disk usage

Implements #10178
Co-authored-by: fccview <fccview@users.noreply.github.com>

* Apply standalone mode optimization to Jotty update script

- Use standalone mode in update_script function
- Ensures updates maintain the optimized deployment structure
- Consistent with install script changes

* Update systemd service in jotty update script

- Recreate systemd service file with correct ExecStart command
- Change from 'yarn start' to '/usr/bin/node server.js'
- Ensures old installations get updated service configuration
- Run daemon-reload after service file update

---------

Co-authored-by: fccview <fccview@users.noreply.github.com>
2025-12-21 23:15:08 +01:00
ddf8843b7b Update CHANGELOG.md (#10210)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-21 22:14:11 +00:00
8212a44e5f unifi: remove mongodb 4.4 support | bump to java 21 (#10206)
* unifi: remove mongodb support | bump to java 21

* bump java 21
2025-12-21 23:13:46 +01:00
134e7c1ae1 Update CHANGELOG.md (#10209)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-21 22:11:39 +00:00
72f9ca70dc Fix AMD GPU firmware installation by adding non-free repositories (#10205) 2025-12-21 23:11:18 +01:00
11 changed files with 272 additions and 114 deletions

View File

@ -10,6 +10,22 @@
> [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-12-22
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Kometa: Fix update procedure [@tremor021](https://github.com/tremor021) ([#10217](https://github.com/community-scripts/ProxmoxVE/pull/10217))
- #### 💥 Breaking Changes
- refactor: reitti: v3.0.0 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#10196](https://github.com/community-scripts/ProxmoxVE/pull/10196))
### ❔ Uncategorized
- InvoiceNinja: switch category [@DragoQC](https://github.com/DragoQC) ([#10223](https://github.com/community-scripts/ProxmoxVE/pull/10223))
## 2025-12-21
### 🚀 Updated Scripts
@ -18,10 +34,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))

View File

@ -41,6 +41,7 @@ function update_script() {
fetch_and_deploy_gh_release "kometa" "Kometa-Team/Kometa"
msg_info "Updating Kometa"
cd /opt/kometa
$STD uv pip install -r requirements.txt --system
mkdir -p config/assets
cp /opt/config.yml config/config.yml

View File

@ -27,6 +27,37 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
if [ ! -d /var/cache/nginx/tiles ]; then
msg_info "Installing Nginx Tile Cache"
mkdir -p /var/cache/nginx/tiles
$STD apt install -y nginx
cat <<EOF >/etc/nginx/nginx.conf
events {
worker_connections 1024;
}
http {
proxy_cache_path /var/cache/nginx/tiles levels=1:2 keys_zone=tiles:10m max_size=1g inactive=30d use_temp_path=off;
server {
listen 80;
location / {
proxy_pass https://tile.openstreetmap.org/;
proxy_set_header Host tile.openstreetmap.org;
proxy_set_header User-Agent "Reitti/1.0";
proxy_cache tiles;
proxy_cache_valid 200 30d;
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
}
}
}
EOF
chown -R www-data:www-data /var/cache/nginx/tiles
systemctl restart nginx
echo "reitti.ui.tiles.cache.url=http://127.0.0.1" >> /opt/reitti/application.properties
systemctl restart reitti
msg_info "Installed Nginx Tile Cache"
fi
if check_for_gh_release "reitti" "dedicatedcode/reitti"; then
msg_info "Stopping Service"
systemctl stop reitti
@ -67,4 +98,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}:8080${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"

View File

@ -28,6 +28,8 @@ function update_script() {
exit
fi
JAVA_VERSION="21" setup_java
msg_info "Updating ${APP}"
$STD apt update --allow-releaseinfo-change
$STD apt install -y unifi

View File

@ -2,7 +2,7 @@
"name": "InvoiceNinja",
"slug": "invoiceninja",
"categories": [
3
25
],
"date_created": "2025-12-12",
"type": "ct",

View File

@ -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`."
}
]
}

View File

@ -1,4 +1,99 @@
[
{
"name": "passbolt/passbolt_api",
"version": "v5.8.0",
"date": "2025-12-22T10:12:48Z"
},
{
"name": "itsmng/itsm-ng",
"version": "v1.6.11",
"date": "2025-12-22T09:14:20Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3",
"date": "2025-09-20T12:12:33Z"
},
{
"name": "open-webui/open-webui",
"version": "v0.6.43",
"date": "2025-12-22T06:03:45Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.504",
"date": "2025-12-22T05:55:56Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.4.14",
"date": "2025-12-16T05:42:34Z"
},
{
"name": "fosrl/pangolin",
"version": "1.14.0-rc.0",
"date": "2025-12-22T02:49:19Z"
},
{
"name": "pommee/goaway",
"version": "v0.63.0",
"date": "2025-12-22T02:24:44Z"
},
{
"name": "jeedom/core",
"version": "4.5.1",
"date": "2025-12-22T00:27:05Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.1.0",
"date": "2025-11-23T12:13:34Z"
},
{
"name": "advplyr/audiobookshelf",
"version": "v2.32.0",
"date": "2025-12-21T22:27:29Z"
},
{
"name": "keycloak/keycloak",
"version": "26.4.7",
"date": "2025-12-01T08:14:11Z"
},
{
"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",
@ -14,21 +109,6 @@
"version": "v0.35.0",
"date": "2025-12-21T07:44:15Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3",
"date": "2025-09-20T12:12:33Z"
},
{
"name": "Jackett/Jackett",
"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",
@ -44,16 +124,6 @@
"version": "v0.8.2",
"date": "2025-12-21T03:53:53Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.1.0",
"date": "2025-11-23T12:13:34Z"
},
{
"name": "jeedom/core",
"version": "4.5.1",
"date": "2025-12-21T00:27:04Z"
},
{
"name": "Luligu/matterbridge",
"version": "3.4.4",
@ -64,11 +134,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",
@ -94,16 +159,6 @@
"version": "v11.9.1",
"date": "2025-12-20T09:14:25Z"
},
{
"name": "pommee/goaway",
"version": "v0.62.25",
"date": "2025-12-20T09:11:49Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.4.14",
"date": "2025-12-16T05:42:34Z"
},
{
"name": "louislam/uptime-kuma",
"version": "2.0.2",
@ -159,11 +214,6 @@
"version": "debian/12.1.37",
"date": "2025-12-18T16:43:23Z"
},
{
"name": "keycloak/keycloak",
"version": "26.4.7",
"date": "2025-12-01T08:14:11Z"
},
{
"name": "home-assistant/core",
"version": "2025.12.4",
@ -184,11 +234,6 @@
"version": "v2.4.1",
"date": "2025-12-19T15:50:12Z"
},
{
"name": "itsmng/itsm-ng",
"version": "v1.6.11",
"date": "2025-12-19T15:28:57Z"
},
{
"name": "openobserve/openobserve",
"version": "v0.30.2",
@ -386,8 +431,8 @@
},
{
"name": "bunkerity/bunkerweb",
"version": "testing",
"date": "2025-12-16T11:13:20Z"
"version": "v1.6.6",
"date": "2025-11-24T15:30:21Z"
},
{
"name": "traefik/traefik",
@ -404,11 +449,6 @@
"version": "v0.105.1",
"date": "2025-12-17T08:48:52Z"
},
{
"name": "passbolt/passbolt_api",
"version": "v5.8.0-test.3",
"date": "2025-12-17T08:38:11Z"
},
{
"name": "jupyter/notebook",
"version": "@jupyter-notebook/ui-components@7.6.0-alpha.0",
@ -589,11 +629,6 @@
"version": "v4.4.0",
"date": "2025-12-13T22:49:07Z"
},
{
"name": "fosrl/pangolin",
"version": "1.13.1",
"date": "2025-12-13T18:00:27Z"
},
{
"name": "leiweibau/Pi.Alert",
"version": "v2025-12-14",
@ -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",

View File

@ -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

View File

@ -18,7 +18,8 @@ $STD apt install -y \
redis-server \
rabbitmq-server \
libpq-dev \
zstd
zstd \
nginx
msg_ok "Installed Dependencies"
JAVA_VERSION="25" setup_java
@ -46,6 +47,31 @@ mv /opt/reitti/reitti-*.jar /opt/reitti/reitti.jar
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "photon" "komoot/photon" "singlefile" "latest" "/opt/photon" "photon-0*.jar"
mv /opt/photon/photon-*.jar /opt/photon/photon.jar
msg_info "Installing Nginx Tile Cache"
mkdir -p /var/cache/nginx/tiles
cat <<EOF >/etc/nginx/nginx.conf
events {
worker_connections 1024;
}
http {
proxy_cache_path /var/cache/nginx/tiles levels=1:2 keys_zone=tiles:10m max_size=1g inactive=30d use_temp_path=off;
server {
listen 80;
location / {
proxy_pass https://tile.openstreetmap.org/;
proxy_set_header Host tile.openstreetmap.org;
proxy_set_header User-Agent "Reitti/1.0";
proxy_cache tiles;
proxy_cache_valid 200 30d;
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
}
}
}
EOF
chown -R www-data:www-data /var/cache/nginx/tiles
systemctl restart nginx
msg_info "Installed Nginx Tile Cache"
msg_info "Creating Reitti Configuration-File"
mkdir -p /opt/reitti/data
cat <<EOF >/opt/reitti/application.properties
@ -92,6 +118,9 @@ PROCESSING_WORKERS_PER_QUEUE=4-16
# Disable potentially dangerous features unless needed
DANGEROUS_LIFE=false
# Tiles Cache
reitti.ui.tiles.cache.url=http://127.0.0.1
EOF
msg_ok "Created Configuration-File for Reitti"

View File

@ -17,7 +17,6 @@ msg_info "Installing Dependencies"
$STD apt install -y apt-transport-https
msg_ok "Installed Dependencies"
JAVA_VERION="17" setup_java
setup_deb822_repo \
"unifi" \
"https://dl.ui.com/unifi/unifi-repo.gpg" \
@ -26,17 +25,22 @@ setup_deb822_repo \
"ubiquiti" \
"amd64"
if ! grep -q -m1 'avx[^ ]*' /proc/cpuinfo; then
msg_warn "No AVX Support Detected. MongoDB v4.4 will be installed"
if ! dpkg -l | grep -q "libssl1.1"; then
curl -fsSL "https://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u4_amd64.deb" -o "libssl1.1_1.1.1w-0+deb11u4_amd64.deb"
$STD dpkg -i libssl1.1_1.1.1w-0+deb11u4_amd64.deb
fi
MONGO_VERSION="4.4" setup_mongodb
JAVA_VERSION="21" setup_java
if lscpu | grep -q 'avx'; then
MONGO_VERSION="8.0" setup_mongodb
else
MONGO_VERSION="7.0" setup_mongodb
msg_error "No AVX detected (CPU-Flag)! We have discontinued support for this. You are welcome to try it manually with a Debian LXC, but due to the many issues with Unifi, we currently only support AVX CPUs."
exit 10
fi
if ! dpkg -l | grep -q 'libssl1.1'; then
msg_info "Installing libssl (if needed)"
curl -fsSL "https://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u4_amd64.deb" -o "/tmp/libssl.deb"
$STD dpkg -i /tmp/libssl.deb
rm -f /tmp/libssl.deb
msg_ok "Installed libssl1.1"
fi
msg_ok "Installed MongoDB"
msg_info "Installing UniFi Network Server"
$STD apt install -y unifi

View File

@ -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)