mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-03-19 08:23:01 +01:00
Compare commits
13 Commits
fix/tdarr-
...
github-act
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1e43293aee | ||
|
|
ba01175bc6 | ||
|
|
607eff0939 | ||
|
|
df51f7114e | ||
|
|
79805f5f3d | ||
|
|
59c601e0e2 | ||
|
|
7c467bee7b | ||
|
|
d2e5991416 | ||
|
|
73e6d4b855 | ||
|
|
a53a851cc9 | ||
|
|
2001a43229 | ||
|
|
d35249b8f4 | ||
|
|
9f73b6756e |
22
CHANGELOG.md
22
CHANGELOG.md
@@ -423,16 +423,27 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
</details>
|
||||
|
||||
## 2026-03-18
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Split-Pro ([#12975](https://github.com/community-scripts/ProxmoxVE/pull/12975))
|
||||
## 2026-03-19
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- core: reorder hwaccel setup and adjust GPU group usermod [@MickLesk](https://github.com/MickLesk) ([#13072](https://github.com/community-scripts/ProxmoxVE/pull/13072))
|
||||
|
||||
## 2026-03-18
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Alpine-Ntfy [@MickLesk](https://github.com/MickLesk) ([#13048](https://github.com/community-scripts/ProxmoxVE/pull/13048))
|
||||
- Split-Pro ([#12975](https://github.com/community-scripts/ProxmoxVE/pull/12975))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Tdarr: use curl_with_retry and correct exit code [@MickLesk](https://github.com/MickLesk) ([#13060](https://github.com/community-scripts/ProxmoxVE/pull/13060))
|
||||
- reitti: fix: v4 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#13039](https://github.com/community-scripts/ProxmoxVE/pull/13039))
|
||||
- Paperless-NGX: increase default RAM to 3GB [@MickLesk](https://github.com/MickLesk) ([#13018](https://github.com/community-scripts/ProxmoxVE/pull/13018))
|
||||
- Plex: restart service after update to apply new version [@MickLesk](https://github.com/MickLesk) ([#13017](https://github.com/community-scripts/ProxmoxVE/pull/13017))
|
||||
|
||||
@@ -443,6 +454,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Podman: replace deprecated commands with Quadlets [@MickLesk](https://github.com/MickLesk) ([#13052](https://github.com/community-scripts/ProxmoxVE/pull/13052))
|
||||
- Refactor: Jellyfin repo, ffmpeg package and symlinks [@MickLesk](https://github.com/MickLesk) ([#13045](https://github.com/community-scripts/ProxmoxVE/pull/13045))
|
||||
- pve-scripts-local: Increase default disk size from 4GB to 10GB [@MickLesk](https://github.com/MickLesk) ([#13009](https://github.com/community-scripts/ProxmoxVE/pull/13009))
|
||||
|
||||
|
||||
50
ct/alpine-ntfy.sh
Normal file
50
ct/alpine-ntfy.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-2026 community-scripts ORG
|
||||
# Author: cobalt (cobaltgit)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
|
||||
# Source: https://ntfy.sh/
|
||||
|
||||
APP="Alpine-ntfy"
|
||||
var_tags="${var_tags:-notification}"
|
||||
var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-256}"
|
||||
var_disk="${var_disk:-2}"
|
||||
var_os="${var_os:-alpine}"
|
||||
var_version="${var_version:-3.23}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /etc/ntfy ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating ntfy LXC"
|
||||
$STD apk -U upgrade
|
||||
setcap 'cap_net_bind_service=+ep' /usr/bin/ntfy
|
||||
msg_ok "Updated ntfy LXC"
|
||||
|
||||
msg_info "Restarting ntfy"
|
||||
rc-service ntfy restart
|
||||
msg_ok "Restarted ntfy"
|
||||
msg_ok "Updated successfully!"
|
||||
exit
|
||||
}
|
||||
|
||||
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}${CL}"
|
||||
6
ct/headers/alpine-ntfy
Normal file
6
ct/headers/alpine-ntfy
Normal file
@@ -0,0 +1,6 @@
|
||||
___ __ _ __ ____
|
||||
/ | / /___ (_)___ ___ ____ / /_/ __/_ __
|
||||
/ /| | / / __ \/ / __ \/ _ \______/ __ \/ __/ /_/ / / /
|
||||
/ ___ |/ / /_/ / / / / / __/_____/ / / / /_/ __/ /_/ /
|
||||
/_/ |_/_/ .___/_/_/ /_/\___/ /_/ /_/\__/_/ \__, /
|
||||
/_/ /____/
|
||||
@@ -23,7 +23,7 @@ function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -f /etc/systemd/system/homeassistant.service ]]; then
|
||||
if [[ ! -f /etc/containers/systemd/homeassistant.container ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
34
ct/reitti.sh
34
ct/reitti.sh
@@ -89,17 +89,49 @@ EOF
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated successfully!"
|
||||
fi
|
||||
|
||||
if check_for_gh_release "photon" "komoot/photon"; then
|
||||
if [[ -f "$HOME/.photon" ]] && [[ "$(cat "$HOME/.photon")" == 0.7 ]]; then
|
||||
CURRENT_VERSION="$(<"$HOME/.photon")"
|
||||
echo
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
echo "Photon v1 upgrade detected (breaking change)"
|
||||
echo
|
||||
echo "Your current version: $CURRENT_VERSION"
|
||||
echo
|
||||
echo "Photon v1 requires a manual migration before updating."
|
||||
echo
|
||||
echo "You need to:"
|
||||
echo " 1. Remove existing geocoding data (not actual reitti data):"
|
||||
echo " rm -rf /opt/photon_data"
|
||||
echo
|
||||
echo " 2. Follow the inial setup guide again:"
|
||||
echo " https://github.com/community-scripts/ProxmoxVE/discussions/8737"
|
||||
echo
|
||||
echo " 3. Re-download and import Photon data for v1"
|
||||
echo
|
||||
read -rp "Do you want to continue anyway? (y/N): " CONTINUE
|
||||
echo
|
||||
|
||||
if [[ ! "$CONTINUE" =~ ^[Yy]$ ]]; then
|
||||
msg_info "Migration required. Update cancelled."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
msg_warn "Continuing without migration may break Photon in the future!"
|
||||
fi
|
||||
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop photon
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
rm -f /opt/photon/photon.jar
|
||||
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "photon" "komoot/photon" "singlefile" "latest" "/opt/photon" "photon-0*.jar"
|
||||
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "photon" "komoot/photon" "singlefile" "latest" "/opt/photon" "photon-*.jar"
|
||||
mv /opt/photon/photon-*.jar /opt/photon/photon.jar
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start photon
|
||||
systemctl restart nginx
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated successfully!"
|
||||
fi
|
||||
|
||||
@@ -33,12 +33,16 @@ function update_script() {
|
||||
$STD apt upgrade -y
|
||||
rm -rf /opt/tdarr/Tdarr_Updater
|
||||
cd /opt/tdarr
|
||||
RELEASE=$(curl -fsSL https://f000.backblazeb2.com/file/tdarrs/versions.json | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep linux_x64 | head -n 1)
|
||||
curl -fsSL "$RELEASE" -o Tdarr_Updater.zip
|
||||
RELEASE=$(curl_with_retry "https://f000.backblazeb2.com/file/tdarrs/versions.json" "-" | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep linux_x64 | head -n 1)
|
||||
curl_with_retry "$RELEASE" "Tdarr_Updater.zip"
|
||||
$STD unzip Tdarr_Updater.zip
|
||||
chmod +x Tdarr_Updater
|
||||
$STD ./Tdarr_Updater
|
||||
rm -rf /opt/tdarr/Tdarr_Updater.zip
|
||||
[[ -f /opt/tdarr/Tdarr_Server/Tdarr_Server ]] || {
|
||||
msg_error "Tdarr_Updater failed — tdarr.io may be blocked by local DNS"
|
||||
exit 250
|
||||
}
|
||||
msg_ok "Updated Tdarr"
|
||||
msg_ok "Updated successfully!"
|
||||
exit
|
||||
|
||||
25
install/alpine-ntfy-install.sh
Normal file
25
install/alpine-ntfy-install.sh
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2026 community-scripts ORG
|
||||
# Author: cobalt (cobaltgit)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
|
||||
# Source: https://ntfy.sh/
|
||||
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
color
|
||||
verb_ip6
|
||||
catch_errors
|
||||
setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing ntfy"
|
||||
$STD apk add --no-cache ntfy ntfy-openrc libcap
|
||||
sed -i '/^listen-http/s/^\(.*\)$/#\1\n/' /etc/ntfy/server.yml
|
||||
setcap 'cap_net_bind_service=+ep' /usr/bin/ntfy
|
||||
$STD rc-update add ntfy default
|
||||
$STD service ntfy start
|
||||
msg_ok "Installed ntfy"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
@@ -13,10 +13,10 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
setup_hwaccel "emby"
|
||||
|
||||
fetch_and_deploy_gh_release "emby" "MediaBrowser/Emby.Releases" "binary"
|
||||
|
||||
setup_hwaccel "emby"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
@@ -14,7 +14,6 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_custom "ℹ️" "${GN}" "If NVIDIA GPU passthrough is detected, you'll be asked whether to install drivers in the container"
|
||||
setup_hwaccel "jellyfin"
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
ensure_dependencies libjemalloc2
|
||||
@@ -37,6 +36,8 @@ ln -sf /usr/lib/jellyfin-ffmpeg/ffmpeg /usr/bin/ffmpeg
|
||||
ln -sf /usr/lib/jellyfin-ffmpeg/ffprobe /usr/bin/ffprobe
|
||||
msg_ok "Installed Jellyfin"
|
||||
|
||||
setup_hwaccel "jellyfin"
|
||||
|
||||
msg_info "Configuring Jellyfin"
|
||||
# Configure log rotation to prevent disk fill (keeps fail2ban compatibility) (PR: #1690 / Issue: #11224)
|
||||
cat <<EOF >/etc/logrotate.d/jellyfin
|
||||
|
||||
@@ -42,8 +42,6 @@ EOF
|
||||
$STD apt update
|
||||
msg_ok "Set up Intel® Repositories"
|
||||
|
||||
setup_hwaccel "ollama"
|
||||
|
||||
msg_info "Installing Intel® Level Zero"
|
||||
# Debian 13+ has newer Level Zero packages in system repos that conflict with Intel repo packages
|
||||
if is_debian && [[ "$(get_os_version_major)" -ge 13 ]]; then
|
||||
@@ -92,6 +90,8 @@ fi
|
||||
$STD usermod -aG ollama $(id -u -n)
|
||||
msg_ok "Created ollama User and adjusted Groups"
|
||||
|
||||
setup_hwaccel "ollama"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/ollama.service
|
||||
[Unit]
|
||||
|
||||
@@ -13,8 +13,6 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
setup_hwaccel "plex"
|
||||
|
||||
msg_info "Setting Up Plex Media Server Repository"
|
||||
setup_deb822_repo \
|
||||
"plexmediaserver" \
|
||||
@@ -28,6 +26,8 @@ msg_info "Installing Plex Media Server"
|
||||
$STD apt install -y plexmediaserver
|
||||
msg_ok "Installed Plex Media Server"
|
||||
|
||||
setup_hwaccel "plex"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
@@ -45,32 +45,58 @@ systemctl enable -q --now podman.socket
|
||||
echo -e 'unqualified-search-registries=["docker.io"]' >>/etc/containers/registries.conf
|
||||
msg_ok "Installed Podman"
|
||||
|
||||
mkdir -p /etc/containers/systemd
|
||||
|
||||
read -r -p "${TAB3}Would you like to add Portainer? <y/N> " prompt
|
||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
||||
msg_info "Installing Portainer $PORTAINER_LATEST_VERSION"
|
||||
podman volume create portainer_data >/dev/null
|
||||
$STD podman run -d \
|
||||
-p 8000:8000 \
|
||||
-p 9443:9443 \
|
||||
--name=portainer \
|
||||
--restart=always \
|
||||
-v /run/podman/podman.sock:/var/run/docker.sock \
|
||||
-v portainer_data:/data \
|
||||
portainer/portainer-ce:latest
|
||||
cat <<EOF >/etc/containers/systemd/portainer.container
|
||||
[Unit]
|
||||
Description=Portainer Container
|
||||
After=network-online.target
|
||||
|
||||
[Container]
|
||||
Image=docker.io/portainer/portainer-ce:latest
|
||||
ContainerName=portainer
|
||||
PublishPort=8000:8000
|
||||
PublishPort=9443:9443
|
||||
Volume=/run/podman/podman.sock:/var/run/docker.sock
|
||||
Volume=portainer_data:/data
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target multi-user.target
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
$STD systemctl start portainer
|
||||
msg_ok "Installed Portainer $PORTAINER_LATEST_VERSION"
|
||||
else
|
||||
read -r -p "${TAB3}Would you like to add the Portainer Agent? <y/N> " prompt
|
||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
||||
msg_info "Installing Portainer agent $PORTAINER_AGENT_LATEST_VERSION"
|
||||
podman volume create temp >/dev/null
|
||||
podman volume remove temp >/dev/null
|
||||
$STD podman run -d \
|
||||
-p 9001:9001 \
|
||||
--name portainer_agent \
|
||||
--restart=always \
|
||||
-v /run/podman/podman.sock:/var/run/docker.sock \
|
||||
-v /var/lib/containers/storage/volumes:/var/lib/docker/volumes \
|
||||
portainer/agent
|
||||
cat <<EOF >/etc/containers/systemd/portainer-agent.container
|
||||
[Unit]
|
||||
Description=Portainer Agent Container
|
||||
After=network-online.target
|
||||
|
||||
[Container]
|
||||
Image=docker.io/portainer/agent:latest
|
||||
ContainerName=portainer_agent
|
||||
PublishPort=9001:9001
|
||||
Volume=/run/podman/podman.sock:/var/run/docker.sock
|
||||
Volume=/var/lib/containers/storage/volumes:/var/lib/docker/volumes
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target multi-user.target
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
$STD systemctl start portainer-agent
|
||||
msg_ok "Installed Portainer Agent $PORTAINER_AGENT_LATEST_VERSION"
|
||||
fi
|
||||
fi
|
||||
@@ -81,19 +107,29 @@ msg_ok "Pulled Home Assistant Image"
|
||||
|
||||
msg_info "Installing Home Assistant"
|
||||
$STD podman volume create hass_config
|
||||
$STD podman run -d \
|
||||
--name homeassistant \
|
||||
--restart unless-stopped \
|
||||
-v /dev:/dev \
|
||||
-v hass_config:/config \
|
||||
-v /etc/localtime:/etc/localtime:ro \
|
||||
-v /etc/timezone:/etc/timezone:ro \
|
||||
--net=host \
|
||||
homeassistant/home-assistant:stable
|
||||
podman generate systemd \
|
||||
--new --name homeassistant \
|
||||
>/etc/systemd/system/homeassistant.service
|
||||
systemctl enable -q --now homeassistant
|
||||
cat <<EOF >/etc/containers/systemd/homeassistant.container
|
||||
[Unit]
|
||||
Description=Home Assistant Container
|
||||
After=network-online.target
|
||||
|
||||
[Container]
|
||||
Image=docker.io/homeassistant/home-assistant:stable
|
||||
ContainerName=homeassistant
|
||||
Volume=/dev:/dev
|
||||
Volume=hass_config:/config
|
||||
Volume=/etc/localtime:/etc/localtime:ro
|
||||
Volume=/etc/timezone:/etc/timezone:ro
|
||||
Network=host
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
TimeoutStartSec=300
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target multi-user.target
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
$STD systemctl start homeassistant
|
||||
msg_ok "Installed Home Assistant"
|
||||
|
||||
motd_ssh
|
||||
|
||||
@@ -45,32 +45,58 @@ systemctl enable -q --now podman.socket
|
||||
echo -e 'unqualified-search-registries=["docker.io"]' >>/etc/containers/registries.conf
|
||||
msg_ok "Installed Podman"
|
||||
|
||||
mkdir -p /etc/containers/systemd
|
||||
|
||||
read -r -p "${TAB3}Would you like to add Portainer? <y/N> " prompt
|
||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
||||
msg_info "Installing Portainer $PORTAINER_LATEST_VERSION"
|
||||
podman volume create portainer_data >/dev/null
|
||||
$STD podman run -d \
|
||||
-p 8000:8000 \
|
||||
-p 9443:9443 \
|
||||
--name=portainer \
|
||||
--restart=always \
|
||||
-v /run/podman/podman.sock:/var/run/docker.sock \
|
||||
-v portainer_data:/data \
|
||||
portainer/portainer-ce:latest
|
||||
cat <<EOF >/etc/containers/systemd/portainer.container
|
||||
[Unit]
|
||||
Description=Portainer Container
|
||||
After=network-online.target
|
||||
|
||||
[Container]
|
||||
Image=docker.io/portainer/portainer-ce:latest
|
||||
ContainerName=portainer
|
||||
PublishPort=8000:8000
|
||||
PublishPort=9443:9443
|
||||
Volume=/run/podman/podman.sock:/var/run/docker.sock
|
||||
Volume=portainer_data:/data
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target multi-user.target
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
$STD systemctl start portainer
|
||||
msg_ok "Installed Portainer $PORTAINER_LATEST_VERSION"
|
||||
else
|
||||
read -r -p "${TAB3}Would you like to add the Portainer Agent? <y/N> " prompt
|
||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
||||
msg_info "Installing Portainer agent $PORTAINER_AGENT_LATEST_VERSION"
|
||||
podman volume create temp >/dev/null
|
||||
podman volume remove temp >/dev/null
|
||||
$STD podman run -d \
|
||||
-p 9001:9001 \
|
||||
--name portainer_agent \
|
||||
--restart=always \
|
||||
-v /run/podman/podman.sock:/var/run/docker.sock \
|
||||
-v /var/lib/containers/storage/volumes:/var/lib/docker/volumes \
|
||||
portainer/agent
|
||||
cat <<EOF >/etc/containers/systemd/portainer-agent.container
|
||||
[Unit]
|
||||
Description=Portainer Agent Container
|
||||
After=network-online.target
|
||||
|
||||
[Container]
|
||||
Image=docker.io/portainer/agent:latest
|
||||
ContainerName=portainer_agent
|
||||
PublishPort=9001:9001
|
||||
Volume=/run/podman/podman.sock:/var/run/docker.sock
|
||||
Volume=/var/lib/containers/storage/volumes:/var/lib/docker/volumes
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target multi-user.target
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
$STD systemctl start portainer-agent
|
||||
msg_ok "Installed Portainer Agent $PORTAINER_AGENT_LATEST_VERSION"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -44,7 +44,7 @@ msg_ok "Configured RabbitMQ"
|
||||
|
||||
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "reitti" "dedicatedcode/reitti" "singlefile" "latest" "/opt/reitti" "reitti-app.jar"
|
||||
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"
|
||||
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "photon" "komoot/photon" "singlefile" "latest" "/opt/photon" "photon-*.jar"
|
||||
mv /opt/photon/photon-*.jar /opt/photon/photon.jar
|
||||
|
||||
msg_info "Installing Nginx Tile Cache"
|
||||
|
||||
@@ -20,12 +20,16 @@ msg_ok "Installed Dependencies"
|
||||
msg_info "Installing Tdarr"
|
||||
mkdir -p /opt/tdarr
|
||||
cd /opt/tdarr
|
||||
RELEASE=$(curl -fsSL https://f000.backblazeb2.com/file/tdarrs/versions.json | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep linux_x64 | head -n 1)
|
||||
curl -fsSL "$RELEASE" -o Tdarr_Updater.zip
|
||||
RELEASE=$(curl_with_retry "https://f000.backblazeb2.com/file/tdarrs/versions.json" "-" | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep linux_x64 | head -n 1)
|
||||
curl_with_retry "$RELEASE" "Tdarr_Updater.zip"
|
||||
$STD unzip Tdarr_Updater.zip
|
||||
chmod +x Tdarr_Updater
|
||||
$STD ./Tdarr_Updater
|
||||
rm -rf /opt/tdarr/Tdarr_Updater.zip
|
||||
[[ -f /opt/tdarr/Tdarr_Server/Tdarr_Server ]] || {
|
||||
msg_error "Tdarr_Updater failed — tdarr.io may be blocked by local DNS"
|
||||
exit 250
|
||||
}
|
||||
msg_ok "Installed Tdarr"
|
||||
|
||||
setup_hwaccel
|
||||
|
||||
@@ -5213,8 +5213,8 @@ _setup_gpu_permissions() {
|
||||
|
||||
# Add service user to render and video groups for GPU hardware acceleration
|
||||
if [[ -n "$service_user" ]]; then
|
||||
$STD usermod -aG render "$service_user" 2>/dev/null || true
|
||||
$STD usermod -aG video "$service_user" 2>/dev/null || true
|
||||
usermod -aG render "$service_user" 2>/dev/null || true
|
||||
usermod -aG video "$service_user" 2>/dev/null || true
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user