mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	Compare commits
	
		
			11 Commits
		
	
	
		
			2025-10-08
			...
			2025-10-09
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					8d058f78d5 | ||
| 
						 | 
					4515070a97 | ||
| 
						 | 
					8c6b5c3534 | ||
| 
						 | 
					d07affa368 | ||
| 
						 | 
					b7511fa41f | ||
| 
						 | 
					0f11893fd2 | ||
| 
						 | 
					1045d75f3e | ||
| 
						 | 
					23b9f54f0f | ||
| 
						 | 
					9884f2a9f9 | ||
| 
						 | 
					e7b2b86648 | ||
| 
						 | 
					ec1391c233 | 
							
								
								
									
										16
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -10,8 +10,24 @@
 | 
			
		||||
> [!CAUTION]
 | 
			
		||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
 | 
			
		||||
 | 
			
		||||
## 2025-10-10
 | 
			
		||||
 | 
			
		||||
## 2025-10-09
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - New Script: rwMarkable ([#8215](https://github.com/community-scripts/ProxmoxVE/pull/8215))
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Alpine-Tinyauth: Fixes for v4 release [@tremor021](https://github.com/tremor021) ([#8225](https://github.com/community-scripts/ProxmoxVE/pull/8225))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Bump U-T Scripts to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#8227](https://github.com/community-scripts/ProxmoxVE/pull/8227))
 | 
			
		||||
 | 
			
		||||
## 2025-10-08
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/rwmarkable
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/rwmarkable
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
                  __  ___           __         __    __   
 | 
			
		||||
   ______      __/  |/  /___ ______/ /______ _/ /_  / /__ 
 | 
			
		||||
  / ___/ | /| / / /|_/ / __ `/ ___/ //_/ __ `/ __ \/ / _ \
 | 
			
		||||
 / /   | |/ |/ / /  / / /_/ / /  / ,< / /_/ / /_/ / /  __/
 | 
			
		||||
/_/    |__/|__/_/  /_/\__,_/_/  /_/|_|\__,_/_.___/_/\___/ 
 | 
			
		||||
                                                          
 | 
			
		||||
							
								
								
									
										74
									
								
								ct/rwmarkable.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								ct/rwmarkable.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,74 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
			
		||||
# Copyright (c) 2021-2025 community-scripts ORG
 | 
			
		||||
# Author: vhsdream
 | 
			
		||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
			
		||||
# Source: https://github.com/fccview/rwMarkable
 | 
			
		||||
 | 
			
		||||
APP="rwMarkable"
 | 
			
		||||
var_tags="${var_tags:-tasks;notes}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-6}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
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 /opt/rwmarkable ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "rwMarkable" "fccview/rwMarkable"; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    systemctl stop rwmarkable
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
 | 
			
		||||
    msg_info "Backing up configuration & data"
 | 
			
		||||
    cd /opt/rwmarkable
 | 
			
		||||
    cp ./.env /opt/app.env
 | 
			
		||||
    $STD tar -cf /opt/data_config.tar ./data ./config
 | 
			
		||||
    msg_ok "Backed up configuration & data"
 | 
			
		||||
 | 
			
		||||
    NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
 | 
			
		||||
    CLEAN_INSTALL=1 fetch_and_deploy_gh_release "rwMarkable" "fccview/rwMarkable" "tarball" "latest" "/opt/rwmarkable"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating app"
 | 
			
		||||
    cd /opt/rwmarkable
 | 
			
		||||
    $STD yarn --frozen-lockfile
 | 
			
		||||
    $STD yarn next telemetry disable
 | 
			
		||||
    $STD yarn build
 | 
			
		||||
    msg_ok "Updated app"
 | 
			
		||||
 | 
			
		||||
    msg_info "Restoring configuration & data"
 | 
			
		||||
    mv /opt/app.env /opt/rwmarkable/.env
 | 
			
		||||
    $STD tar -xf /opt/data_config.tar
 | 
			
		||||
    msg_ok "Restored configuration & data"
 | 
			
		||||
 | 
			
		||||
    msg_info "Restarting ${APP} service"
 | 
			
		||||
    systemctl start rwmarkable
 | 
			
		||||
    msg_ok "Restarted ${APP} service"
 | 
			
		||||
    rm /opt/data_config.tar
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
  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}:3000${CL}"
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-4}"
 | 
			
		||||
var_ram="${var_ram:-4096}"
 | 
			
		||||
var_disk="${var_disk:-10}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -34,9 +34,9 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "tandoor" "TandoorRecipes/recipes"; then
 | 
			
		||||
    msg_info "Stopping $APP"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop tandoor
 | 
			
		||||
    msg_ok "Stopped $APP"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Creating Backup"
 | 
			
		||||
    mv /opt/tandoor /opt/tandoor.bak
 | 
			
		||||
@@ -46,7 +46,7 @@ function update_script() {
 | 
			
		||||
    PYTHON_VERSION="3.13" setup_uv
 | 
			
		||||
    fetch_and_deploy_gh_release "tandoor" "TandoorRecipes/recipes" "tarball" "latest" "/opt/tandoor"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating $APP"
 | 
			
		||||
    msg_info "Updating Tandoor"
 | 
			
		||||
    cp -r /opt/tandoor.bak/{config,api,mediafiles,staticfiles} /opt/tandoor/
 | 
			
		||||
    mv /opt/tandoor.bak/.env /opt/tandoor/.env
 | 
			
		||||
    cd /opt/tandoor
 | 
			
		||||
@@ -64,17 +64,17 @@ EOF
 | 
			
		||||
    cd /opt/tandoor
 | 
			
		||||
    $STD /opt/tandoor/.venv/bin/python manage.py migrate
 | 
			
		||||
    $STD /opt/tandoor/.venv/bin/python manage.py collectstatic --no-input
 | 
			
		||||
    msg_ok "Updated $APP"
 | 
			
		||||
    msg_ok "Updated Trandoor"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting $APP"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start tandoor
 | 
			
		||||
    systemctl reload nginx
 | 
			
		||||
    msg_ok "Started $APP"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning Up"
 | 
			
		||||
    rm -rf /opt/tandoor.bak
 | 
			
		||||
    msg_ok "Cleanup Completed"
 | 
			
		||||
    msg_ok "Update Successful"
 | 
			
		||||
    msg_ok "Update Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-2}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -20,18 +20,18 @@ color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
    header_info
 | 
			
		||||
    check_container_storage
 | 
			
		||||
    check_container_resources
 | 
			
		||||
    if [[ ! -d /var ]]; then
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_info "Updating $APP LXC"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    msg_ok "Updated $APP LXC"
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -d /var ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_info "Updating TasmoAdmin"
 | 
			
		||||
  $STD apt update
 | 
			
		||||
  $STD apt -y upgrade
 | 
			
		||||
  msg_ok "Updated TasmoAdmin"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
@@ -41,4 +41,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}:9999${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9999${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-10}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -20,43 +20,46 @@ color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
    header_info
 | 
			
		||||
    check_container_storage
 | 
			
		||||
    check_container_resources
 | 
			
		||||
    if [[ ! -d /opt/tasmocompiler ]]; then
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
    if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
			
		||||
        msg_info "Stopping $APP"
 | 
			
		||||
        systemctl stop tasmocompiler
 | 
			
		||||
        msg_ok "Stopped $APP"
 | 
			
		||||
        msg_info "Updating $APP to v${RELEASE}"
 | 
			
		||||
        cd /opt
 | 
			
		||||
        rm -rf /opt/tasmocompiler
 | 
			
		||||
        RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
        curl -fsSL "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz")
 | 
			
		||||
        tar xzf v${RELEASE}.tar.gz
 | 
			
		||||
        mv tasmocompiler-${RELEASE}/ /opt/tasmocompiler/
 | 
			
		||||
        cd /opt/tasmocompiler
 | 
			
		||||
        $STD yarn install
 | 
			
		||||
        export NODE_OPTIONS=--openssl-legacy-provider
 | 
			
		||||
        $STD npm i
 | 
			
		||||
        $STD yarn build
 | 
			
		||||
        msg_ok "Updated $APP to v${RELEASE}"
 | 
			
		||||
        msg_info "Starting $APP"
 | 
			
		||||
        systemctl start tasmocompiler
 | 
			
		||||
        msg_ok "Started $APP"
 | 
			
		||||
        echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
			
		||||
        msg_info "Cleaning up"
 | 
			
		||||
        rm -r "/opt/v${RELEASE}.tar.gz"
 | 
			
		||||
        msg_ok "Cleaned"
 | 
			
		||||
        msg_ok "Update Successful"
 | 
			
		||||
    else
 | 
			
		||||
        msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
			
		||||
    fi
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -d /opt/tasmocompiler ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop tasmocompiler
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating TasmoCompiler"
 | 
			
		||||
    cd /opt
 | 
			
		||||
    rm -rf /opt/tasmocompiler
 | 
			
		||||
    RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
    curl -fsSL "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz")
 | 
			
		||||
    tar xzf v${RELEASE}.tar.gz
 | 
			
		||||
    mv tasmocompiler-${RELEASE}/ /opt/tasmocompiler/
 | 
			
		||||
    cd /opt/tasmocompiler
 | 
			
		||||
    $STD yarn install
 | 
			
		||||
    export NODE_OPTIONS=--openssl-legacy-provider
 | 
			
		||||
    $STD npm i
 | 
			
		||||
    $STD yarn build
 | 
			
		||||
    msg_ok "Updated TasmoCompiler"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start tasmocompiler
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
			
		||||
    msg_info "Cleaning up"
 | 
			
		||||
    rm -r "/opt/v${RELEASE}.tar.gz"
 | 
			
		||||
    msg_ok "Cleaned"
 | 
			
		||||
    msg_ok "Update Successfully!"
 | 
			
		||||
  else
 | 
			
		||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -20,18 +20,19 @@ color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
    header_info
 | 
			
		||||
    check_container_storage
 | 
			
		||||
    check_container_resources
 | 
			
		||||
    if [[ ! -d /opt/Tautulli/ ]]; then
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_info "Updating $APP LXC"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    msg_ok "Updated $APP LXC"
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -d /opt/Tautulli/ ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_info "Updating Tautulli"
 | 
			
		||||
  $STD apt update
 | 
			
		||||
  $STD apt upgrade -y
 | 
			
		||||
  msg_ok "Updated Tautulli"
 | 
			
		||||
  msg_ok "Updated Successfully!"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
@@ -41,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}:8181${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8181${CL}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								ct/tdarr.sh
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								ct/tdarr.sh
									
									
									
									
									
								
							@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -27,9 +27,9 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_info "Updating $APP LXC"
 | 
			
		||||
  $STD apt-get update
 | 
			
		||||
  $STD apt-get -y upgrade
 | 
			
		||||
  msg_info "Updating Tdarr"
 | 
			
		||||
  $STD apt update
 | 
			
		||||
  $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)
 | 
			
		||||
@@ -37,12 +37,12 @@ function update_script() {
 | 
			
		||||
  $STD unzip Tdarr_Updater.zip
 | 
			
		||||
  chmod +x Tdarr_Updater
 | 
			
		||||
  $STD ./Tdarr_Updater
 | 
			
		||||
  msg_ok "Updated $APP LXC"
 | 
			
		||||
  msg_ok "Updated Tdarr"
 | 
			
		||||
 | 
			
		||||
  msg_info "Cleaning up"
 | 
			
		||||
  rm -rf /opt/tdarr/Tdarr_Updater.zip
 | 
			
		||||
  msg_ok "Cleaned"
 | 
			
		||||
  msg_ok "$APP has been successfully updated!"
 | 
			
		||||
  msg_ok "Cleaned up"
 | 
			
		||||
  msg_ok "Updated Successfully!"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-2}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -34,19 +34,18 @@ function update_script() {
 | 
			
		||||
    systemctl stop teamspeak-server
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP}"
 | 
			
		||||
    msg_info "Updating Teamspeak Server"
 | 
			
		||||
    curl -fsSL "https://files.teamspeak-services.com/releases/server/${RELEASE}/teamspeak3-server_linux_amd64-${RELEASE}.tar.bz2" -o ts3server.tar.bz2
 | 
			
		||||
    tar -xf ./ts3server.tar.bz2
 | 
			
		||||
    cp -ru teamspeak3-server_linux_amd64/* /opt/teamspeak-server/
 | 
			
		||||
    rm -f ~/ts3server.tar.bz*
 | 
			
		||||
    echo "${RELEASE}" >~/.teamspeak-server
 | 
			
		||||
    msg_ok "Updated $APP"
 | 
			
		||||
    msg_ok "Updated Teamspeak Server"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start teamspeak-server
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  else
 | 
			
		||||
    msg_ok "Already up to date"
 | 
			
		||||
  fi
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-2}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -30,16 +30,16 @@ function update_script() {
 | 
			
		||||
 | 
			
		||||
  RELEASE=$(curl -fsSL https://technitium.com/dns/ | grep -oP 'Version \K[\d.]+')
 | 
			
		||||
  if [[ ! -f ~/.technitium || "${RELEASE}" != "$(cat ~/.technitium)" ]]; then
 | 
			
		||||
    msg_info "Updating ${APP}"
 | 
			
		||||
    msg_info "Updating Technitium DNS"
 | 
			
		||||
    curl -fsSL "https://download.technitium.com/dns/DnsServerPortable.tar.gz" -o /opt/DnsServerPortable.tar.gz
 | 
			
		||||
    $STD tar zxvf /opt/DnsServerPortable.tar.gz -C /opt/technitium/dns/
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    msg_ok "Updated Technitium DNS"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning up"
 | 
			
		||||
    rm -f /opt/DnsServerPortable.tar.gz
 | 
			
		||||
    msg_ok "Cleaned up"
 | 
			
		||||
  else
 | 
			
		||||
    msg_ok "No update required.  ${APP} is already at v${RELEASE}."
 | 
			
		||||
    msg_ok "No update required.  Technitium DNS is already at v${RELEASE}."
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,8 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_disk="${var_disk:-8}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "${APP}"
 | 
			
		||||
variables
 | 
			
		||||
@@ -28,23 +29,23 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "teddycloud" "toniebox-reverse-engineering/teddycloud"; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop teddycloud
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Creating backup"
 | 
			
		||||
    mv /opt/teddycloud /opt/teddycloud_bak
 | 
			
		||||
    msg_ok "Backup created"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "teddycloud" "toniebox-reverse-engineering/teddycloud" "prebuild" "latest" "/opt/teddycloud" "teddycloud.amd64.release*.zip"
 | 
			
		||||
    CLEAN_INSTALL=1 fetch_and_deploy_gh_release "teddycloud" "toniebox-reverse-engineering/teddycloud" "prebuild" "latest" "/opt/teddycloud" "teddycloud.amd64.release*.zip"
 | 
			
		||||
 | 
			
		||||
    msg_info "Restoring data"
 | 
			
		||||
    cp -R /opt/teddycloud_bak/certs /opt/teddycloud_bak/config /opt/teddycloud_bak/data /opt/teddycloud
 | 
			
		||||
    msg_ok "Data restored"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start teddycloud
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning up"
 | 
			
		||||
    rm -rf /opt/teddycloud_bak
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -28,19 +28,19 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  msg_info "Stopping $APP"
 | 
			
		||||
  msg_info "Stopping Service"
 | 
			
		||||
  systemctl stop telegraf
 | 
			
		||||
  msg_ok "Stopped $APP"
 | 
			
		||||
  msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
  msg_info "Updating $APP"
 | 
			
		||||
  $STD apt-get update
 | 
			
		||||
  $STD apt-get upgrade telegraf -y
 | 
			
		||||
  msg_ok "Updated $APP"
 | 
			
		||||
  msg_info "Updating Telegraf"
 | 
			
		||||
  $STD apt update
 | 
			
		||||
  $STD apt upgrade telegraf -y
 | 
			
		||||
  msg_ok "Updated Telegraf"
 | 
			
		||||
 | 
			
		||||
  msg_info "Starting $APP"
 | 
			
		||||
  msg_info "Starting Service"
 | 
			
		||||
  systemctl start telegraf
 | 
			
		||||
  msg_ok "Started $APP"
 | 
			
		||||
  msg_ok "Updated Successfully"
 | 
			
		||||
  msg_ok "Started Service"
 | 
			
		||||
  msg_ok "Updated Successfully!"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -29,16 +29,16 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "threadfin" "threadfin/threadfin"; then
 | 
			
		||||
    msg_info "Stopping $APP"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop threadfin
 | 
			
		||||
    msg_ok "Stopped $APP"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "threadfin" "threadfin/threadfin" "singlefile" "latest" "/opt/threadfin" "Threadfin_linux_amd64"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting $APP"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start threadfin
 | 
			
		||||
    msg_ok "Started $APP"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-4}"
 | 
			
		||||
var_ram="${var_ram:-4096}"
 | 
			
		||||
var_disk="${var_disk:-12}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-2}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -29,9 +29,9 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "traccar" "traccar/traccar"; then
 | 
			
		||||
    msg_info "Stopping service"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop traccar
 | 
			
		||||
    msg_ok "Service stopped"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Creating backup"
 | 
			
		||||
    mv /opt/traccar/conf/traccar.xml /opt
 | 
			
		||||
@@ -39,8 +39,7 @@ function update_script() {
 | 
			
		||||
    [[ -d /opt/traccar/media ]] && mv /opt/traccar/media /opt
 | 
			
		||||
    msg_ok "Backup created"
 | 
			
		||||
 | 
			
		||||
    rm -rf /opt/traccar
 | 
			
		||||
    fetch_and_deploy_gh_release "traccar" "traccar/traccar" "prebuild" "latest" "/opt/traccar" "traccar-linux-64*.zip"
 | 
			
		||||
    CLEAN_INSTALL=1 fetch_and_deploy_gh_release "traccar" "traccar/traccar" "prebuild" "latest" "/opt/traccar" "traccar-linux-64*.zip"
 | 
			
		||||
 | 
			
		||||
    msg_info "Perform Update"
 | 
			
		||||
    cd /opt/traccar
 | 
			
		||||
@@ -53,12 +52,15 @@ function update_script() {
 | 
			
		||||
    [[ -d /opt/media ]] && mv /opt/media /opt/traccar
 | 
			
		||||
    msg_ok "Data restored"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start traccar
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning up"
 | 
			
		||||
    [ -f README.txt ] || [ -f traccar.run ] && rm -f README.txt traccar.run
 | 
			
		||||
    $STD apt -y autoremove
 | 
			
		||||
    $STD apt -y autoclean
 | 
			
		||||
    $STD apt -y clean
 | 
			
		||||
    msg_ok "Cleaned up"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-2}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -29,16 +29,16 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "traefik" "traefik/traefik"; then
 | 
			
		||||
    msg_info "Stopping service"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop traefik
 | 
			
		||||
    msg_ok "Service stopped"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "traefik" "traefik/traefik" "prebuild" "latest" "/usr/bin" "traefik_v*_linux_amd64.tar.gz"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start traefik
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-8}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -20,18 +20,18 @@ color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
    header_info
 | 
			
		||||
    check_container_storage
 | 
			
		||||
    check_container_resources
 | 
			
		||||
    if [[ ! -f /etc/transmission-daemon/settings.json ]]; then
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_info "Updating ${APP} LXC"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    msg_ok "Updated ${APP} LXC"
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -f /etc/transmission-daemon/settings.json ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_info "Updating Transmission"
 | 
			
		||||
  $STD apt update
 | 
			
		||||
  $STD apt -y upgrade
 | 
			
		||||
  msg_ok "Updated Transmission"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
@@ -41,4 +41,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}:9091/transmission${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9091/transmission${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-2}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -39,10 +39,10 @@ function update_script() {
 | 
			
		||||
      exit 1
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop trilium
 | 
			
		||||
    sleep 1
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Backing up Database"
 | 
			
		||||
    mkdir -p /opt/trilium_backup
 | 
			
		||||
@@ -59,13 +59,15 @@ function update_script() {
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning up"
 | 
			
		||||
    rm -rf /opt/trilium_backup
 | 
			
		||||
    $STD apt -y autoremove
 | 
			
		||||
    $STD apt -y autoclean
 | 
			
		||||
    $STD apt -y clean
 | 
			
		||||
    msg_ok "Cleaned"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start trilium
 | 
			
		||||
    sleep 1
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -44,7 +44,7 @@ function update_script() {
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "tududi" "chrisvel/tududi" "tarball" "latest" "/opt/tududi"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP}"
 | 
			
		||||
    msg_info "Updating Tududi"
 | 
			
		||||
    cd /opt/tududi
 | 
			
		||||
    $STD npm install
 | 
			
		||||
    export NODE_ENV=production
 | 
			
		||||
@@ -57,12 +57,12 @@ function update_script() {
 | 
			
		||||
      -e 's|npm run start|bash /opt/tududi/backend/cmd/start.sh|' \
 | 
			
		||||
      /etc/systemd/system/tududi.service
 | 
			
		||||
    systemctl daemon-reload
 | 
			
		||||
    msg_ok "Updated $APP"
 | 
			
		||||
    msg_ok "Updated Tududi"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start tududi
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -28,9 +28,9 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "typesense" "typesense/typesense"; then
 | 
			
		||||
    msg_info "Updating ${APP} LXC"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    msg_info "Updating Typesense"
 | 
			
		||||
    $STD apt update
 | 
			
		||||
    $STD apt -y upgrade
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										15
									
								
								ct/uhf.sh
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								ct/uhf.sh
									
									
									
									
									
								
							@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-8}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -32,10 +32,10 @@ function update_script() {
 | 
			
		||||
    systemctl stop uhf-server
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP} LXC"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    msg_ok "Updated ${APP} LXC"
 | 
			
		||||
    msg_info "Updating LXC"
 | 
			
		||||
    $STD apt update
 | 
			
		||||
    $STD apt -y upgrade
 | 
			
		||||
    msg_ok "Updated LXC"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "comskip" "swapplications/comskip" "prebuild" "latest" "/opt/comskip" "comskip-x64-*.zip"
 | 
			
		||||
    fetch_and_deploy_gh_release "uhf-server" "swapplications/uhf-server-dist" "prebuild" "latest" "/opt/uhf-server" "UHF.Server-linux-x64-*.zip"
 | 
			
		||||
@@ -45,8 +45,9 @@ function update_script() {
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning up"
 | 
			
		||||
    $STD apt-get -y autoremove
 | 
			
		||||
    $STD apt-get -y autoclean
 | 
			
		||||
    $STD apt -y autoremove
 | 
			
		||||
    $STD apt -y autoclean
 | 
			
		||||
    $STD apt -y clean
 | 
			
		||||
    msg_ok "Cleaned"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								ct/umami.sh
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								ct/umami.sh
									
									
									
									
									
								
							@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-12}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -29,22 +29,22 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "umami" "umami-software/umami"; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop umami
 | 
			
		||||
    msg_ok "Stopped $APP"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "umami" "umami-software/umami" "tarball"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP}"
 | 
			
		||||
    msg_info "Updating Umami"
 | 
			
		||||
    cd /opt/umami
 | 
			
		||||
    $STD yarn install
 | 
			
		||||
    $STD yarn run build
 | 
			
		||||
    msg_ok "Updated ${APP}"
 | 
			
		||||
    msg_ok "Updated Umami"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start umami
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-2}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -20,18 +20,18 @@ color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
    header_info
 | 
			
		||||
    check_container_storage
 | 
			
		||||
    check_container_resources
 | 
			
		||||
    if [[ ! -d /etc/unbound ]]; then
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_info "Updating $APP LXC"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    msg_ok "Updated $APP LXC"
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -d /etc/unbound ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_info "Updating Unbound"
 | 
			
		||||
  $STD apt update
 | 
			
		||||
  $STD apt -y upgrade
 | 
			
		||||
  msg_ok "Updated Unbound"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
@@ -41,4 +41,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}:5335${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5335${CL}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										24
									
								
								ct/unifi.sh
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								ct/unifi.sh
									
									
									
									
									
								
							@@ -20,18 +20,18 @@ color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
    header_info
 | 
			
		||||
    check_container_storage
 | 
			
		||||
    check_container_resources
 | 
			
		||||
    if [[ ! -d /usr/lib/unifi ]]; then
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_info "Updating ${APP}"
 | 
			
		||||
    $STD apt-get update --allow-releaseinfo-change
 | 
			
		||||
    $STD apt-get install -y unifi
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -d /usr/lib/unifi ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_info "Updating ${APP}"
 | 
			
		||||
  $STD apt update --allow-releaseinfo-change
 | 
			
		||||
  $STD apt install -y unifi
 | 
			
		||||
  msg_ok "Updated Successfully"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
@@ -41,4 +41,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}https://${IP}:8443${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8443${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-0}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -29,7 +29,7 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
  msg_info "Updating $APP LXC"
 | 
			
		||||
  $STD pip3 install -U unmanic
 | 
			
		||||
  $STD apt-get -y upgrade
 | 
			
		||||
  $STD apt -y upgrade
 | 
			
		||||
  msg_ok "Updated $APP LXC"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
@@ -41,4 +41,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}:8888${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8888${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -31,22 +31,22 @@ function update_script() {
 | 
			
		||||
  NODE_VERSION="22" setup_nodejs
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "uptime-kuma" "louislam/uptime-kuma"; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop uptime-kuma
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "uptime-kuma" "louislam/uptime-kuma" "tarball"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP}"
 | 
			
		||||
    msg_info "Updating Uptime Kuma"
 | 
			
		||||
    cd /opt/uptime-kuma
 | 
			
		||||
    $STD npm install --omit dev
 | 
			
		||||
    $STD npm run download-dist
 | 
			
		||||
    msg_ok "Updated ${APP}"
 | 
			
		||||
    msg_ok "Updated Uptime Kuma"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start uptime-kuma
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-16}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-0}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -20,28 +20,28 @@ color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
    header_info
 | 
			
		||||
    check_container_storage
 | 
			
		||||
    check_container_resources
 | 
			
		||||
    if [[ ! -d /var/urbackup ]]; then
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_info "Updating ${APP} LXC"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -d /var/urbackup ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_info "Updating ${APP} LXC"
 | 
			
		||||
  $STD apt update
 | 
			
		||||
  $STD apt -y upgrade
 | 
			
		||||
  msg_ok "Updated Successfully"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
build_container
 | 
			
		||||
description
 | 
			
		||||
 | 
			
		||||
pct set $CTID -features fuse=1,nesting=1
 | 
			
		||||
pct reboot $CTID
 | 
			
		||||
pct set "$CTID" -features fuse=1,nesting=1
 | 
			
		||||
pct reboot "$CTID"
 | 
			
		||||
 | 
			
		||||
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}:55414${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}${IP}:55414${CL}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										35
									
								
								frontend/public/json/rwmarkable.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								frontend/public/json/rwmarkable.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "rwMarkable",
 | 
			
		||||
  "slug": "rwmarkable",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    12
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2025-10-09",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 3000,
 | 
			
		||||
  "documentation": "https://github.com/fccview/rwMarkable/blob/main/README.md",
 | 
			
		||||
  "website": "https://github.com/fccview/rwMarkable",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/rwmarkable.webp",
 | 
			
		||||
  "config_path": "/opt/rwmarkable/.env",
 | 
			
		||||
  "description": "A simple, self-hosted app for your checklists and notes. Tired of bloated, cloud-based to-do apps? rwMarkable is a lightweight alternative for managing your personal checklists and notes. It's built with Next.js 14, is easy to deploy, and keeps all your data on your own server.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/rwmarkable.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 2,
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 6,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 4096,
 | 
			
		||||
        "hdd": 10,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "TasmoAdmin",
 | 
			
		||||
    "slug": "tasmoadmin",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        16
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-05-02",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": false,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 9999,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://github.com/TasmoAdmin/TasmoAdmin#readme",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tasmoadmin.webp",
 | 
			
		||||
    "config_path": "",
 | 
			
		||||
    "description": "TasmoAdmin is an administrative platform for devices flashed with Tasmota.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/tasmoadmin.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 1,
 | 
			
		||||
                "ram": 512,
 | 
			
		||||
                "hdd": 2,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": []
 | 
			
		||||
  "name": "TasmoAdmin",
 | 
			
		||||
  "slug": "tasmoadmin",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    16
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-05-02",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 9999,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "website": "https://github.com/TasmoAdmin/TasmoAdmin#readme",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tasmoadmin.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
  "description": "TasmoAdmin is an administrative platform for devices flashed with Tasmota.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/tasmoadmin.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 1,
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 2,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 10,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 2,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 2,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 8,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "Debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 4096,
 | 
			
		||||
        "hdd": 12,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 2,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 2,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 8,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 2,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "Debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 8,
 | 
			
		||||
        "os": "Debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 12,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 2,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 2,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 8,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -1,40 +1,40 @@
 | 
			
		||||
{
 | 
			
		||||
   "name": "UrBackup Server",
 | 
			
		||||
   "slug": "urbackupserver",
 | 
			
		||||
   "categories": [
 | 
			
		||||
      7
 | 
			
		||||
   ],
 | 
			
		||||
   "date_created": "2025-01-18",
 | 
			
		||||
   "type": "ct",
 | 
			
		||||
   "updateable": true,
 | 
			
		||||
   "privileged": true,
 | 
			
		||||
   "interface_port": 55414,
 | 
			
		||||
   "documentation": "https://www.urbackup.org/documentation.html",
 | 
			
		||||
   "website": "https://www.urbackup.org/",
 | 
			
		||||
   "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/urbackup.webp",
 | 
			
		||||
   "config_path": "",
 | 
			
		||||
   "description": "URBackup is an open-source backup software designed for creating reliable and efficient backups of both files and system images. It supports client-server architecture, allowing you to back up multiple computers to a central server. It offers features such as incremental backups, real-time file backup, and scheduling, ensuring minimal data loss and quick recovery",
 | 
			
		||||
   "install_methods": [
 | 
			
		||||
      {
 | 
			
		||||
         "type": "default",
 | 
			
		||||
         "script": "ct/urbackupserver.sh",
 | 
			
		||||
         "resources": {
 | 
			
		||||
            "cpu": 1,
 | 
			
		||||
            "ram": 1024,
 | 
			
		||||
            "hdd": 16,
 | 
			
		||||
            "os": "debian",
 | 
			
		||||
            "version": "12"
 | 
			
		||||
         }
 | 
			
		||||
  "name": "UrBackup Server",
 | 
			
		||||
  "slug": "urbackupserver",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    7
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2025-01-18",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": true,
 | 
			
		||||
  "interface_port": 55414,
 | 
			
		||||
  "documentation": "https://www.urbackup.org/documentation.html",
 | 
			
		||||
  "website": "https://www.urbackup.org/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/urbackup.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
  "description": "URBackup is an open-source backup software designed for creating reliable and efficient backups of both files and system images. It supports client-server architecture, allowing you to back up multiple computers to a central server. It offers features such as incremental backups, real-time file backup, and scheduling, ensuring minimal data loss and quick recovery",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/urbackupserver.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 1,
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 16,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
   ],
 | 
			
		||||
   "default_credentials": {
 | 
			
		||||
      "username": null,
 | 
			
		||||
      "password": null
 | 
			
		||||
   },
 | 
			
		||||
   "notes": [
 | 
			
		||||
      {
 | 
			
		||||
         "text": "You probably want to drastically extend the storage space to fit whatever clients you want to back up",
 | 
			
		||||
         "type": "info"
 | 
			
		||||
      }
 | 
			
		||||
   ]
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": [
 | 
			
		||||
    {
 | 
			
		||||
      "text": "You probably want to drastically extend the storage space to fit whatever clients you want to back up",
 | 
			
		||||
      "type": "info"
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,143 @@
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
    "name": "rcourtman/Pulse",
 | 
			
		||||
    "version": "v4.22.0",
 | 
			
		||||
    "date": "2025-10-09T08:23:58Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "dgtlmoon/changedetection.io",
 | 
			
		||||
    "version": "0.50.17",
 | 
			
		||||
    "date": "2025-10-08T22:19:52Z"
 | 
			
		||||
    "version": "0.50.19",
 | 
			
		||||
    "date": "2025-10-09T23:19:31Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "BerriAI/litellm",
 | 
			
		||||
    "version": "v1.77.7.dev10",
 | 
			
		||||
    "date": "2025-10-09T22:25:13Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "gelbphoenix/autocaliweb",
 | 
			
		||||
    "version": "v0.10.3",
 | 
			
		||||
    "date": "2025-10-09T21:55:26Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "raydak-labs/configarr",
 | 
			
		||||
    "version": "v1.17.0",
 | 
			
		||||
    "date": "2025-10-09T19:15:06Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Ombi-app/Ombi",
 | 
			
		||||
    "version": "v4.47.1",
 | 
			
		||||
    "date": "2025-01-05T21:14:23Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "FlareSolverr/FlareSolverr",
 | 
			
		||||
    "version": "v3.4.2",
 | 
			
		||||
    "date": "2025-10-09T19:05:48Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "henrygd/beszel",
 | 
			
		||||
    "version": "v0.13.2",
 | 
			
		||||
    "date": "2025-10-09T18:33:46Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "esphome/esphome",
 | 
			
		||||
    "version": "2025.9.3",
 | 
			
		||||
    "date": "2025-10-01T11:30:07Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "MediaBrowser/Emby.Releases",
 | 
			
		||||
    "version": "4.9.1.80",
 | 
			
		||||
    "date": "2025-09-30T20:25:16Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "azukaar/Cosmos-Server",
 | 
			
		||||
    "version": "v0.18.4",
 | 
			
		||||
    "date": "2025-04-05T19:12:57Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "ollama/ollama",
 | 
			
		||||
    "version": "v0.12.4-rc7",
 | 
			
		||||
    "date": "2025-10-09T02:13:38Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "mattermost/mattermost",
 | 
			
		||||
    "version": "server/public/v0.1.20",
 | 
			
		||||
    "date": "2025-10-09T17:22:46Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "ErsatzTV/ErsatzTV",
 | 
			
		||||
    "version": "v25.7.1",
 | 
			
		||||
    "date": "2025-10-09T15:42:11Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "silverbulletmd/silverbullet",
 | 
			
		||||
    "version": "2.1.9",
 | 
			
		||||
    "date": "2025-10-09T13:57:14Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "msgbyte/tianji",
 | 
			
		||||
    "version": "v1.27.8",
 | 
			
		||||
    "date": "2025-10-09T13:49:59Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "tobychui/zoraxy",
 | 
			
		||||
    "version": "v3.2.7",
 | 
			
		||||
    "date": "2025-10-09T12:50:53Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "glpi-project/glpi",
 | 
			
		||||
    "version": "11.0.1",
 | 
			
		||||
    "date": "2025-10-09T12:34:15Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "nzbgetcom/nzbget",
 | 
			
		||||
    "version": "v25.4",
 | 
			
		||||
    "date": "2025-10-09T10:27:01Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "wazuh/wazuh",
 | 
			
		||||
    "version": "coverity-w41-4.14.0",
 | 
			
		||||
    "date": "2025-10-03T18:56:57Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "firefly-iii/firefly-iii",
 | 
			
		||||
    "version": "v6.4.2",
 | 
			
		||||
    "date": "2025-10-07T08:11:58Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "meilisearch/meilisearch",
 | 
			
		||||
    "version": "prototype-v1.22.2-compaction-task-3",
 | 
			
		||||
    "date": "2025-10-09T08:20:58Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "theonedev/onedev",
 | 
			
		||||
    "version": "v13.0.8",
 | 
			
		||||
    "date": "2025-10-09T06:36:42Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Jackett/Jackett",
 | 
			
		||||
    "version": "v0.24.95",
 | 
			
		||||
    "date": "2025-10-09T05:58:58Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "documenso/documenso",
 | 
			
		||||
    "version": "v1.12.10",
 | 
			
		||||
    "date": "2025-10-09T04:32:35Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "rogerfar/rdt-client",
 | 
			
		||||
    "version": "v2.0.118",
 | 
			
		||||
    "date": "2025-10-09T03:33:01Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "jeedom/core",
 | 
			
		||||
    "version": "4.4.20",
 | 
			
		||||
    "date": "2025-10-09T00:27:04Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "steveiliop56/tinyauth",
 | 
			
		||||
    "version": "v4.0.0",
 | 
			
		||||
    "date": "2025-10-08T16:12:11Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "rabbitmq/rabbitmq-server",
 | 
			
		||||
@@ -14,46 +149,26 @@
 | 
			
		||||
    "version": "v0.38.1",
 | 
			
		||||
    "date": "2025-10-08T21:34:07Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "BerriAI/litellm",
 | 
			
		||||
    "version": "v1.77.1.rc.5",
 | 
			
		||||
    "date": "2025-10-08T20:54:40Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "pelican-dev/panel",
 | 
			
		||||
    "version": "v1.0.0-beta26",
 | 
			
		||||
    "date": "2025-10-08T20:12:11Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "azukaar/Cosmos-Server",
 | 
			
		||||
    "version": "v0.18.4",
 | 
			
		||||
    "date": "2025-04-05T19:12:57Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "msgbyte/tianji",
 | 
			
		||||
    "version": "v1.27.7",
 | 
			
		||||
    "date": "2025-10-08T18:44:23Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "autobrr/autobrr",
 | 
			
		||||
    "version": "v1.68.0",
 | 
			
		||||
    "date": "2025-10-08T18:33:12Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "rcourtman/Pulse",
 | 
			
		||||
    "version": "v4.21.0",
 | 
			
		||||
    "date": "2025-10-03T22:38:32Z"
 | 
			
		||||
    "name": "keycloak/keycloak",
 | 
			
		||||
    "version": "26.0.16",
 | 
			
		||||
    "date": "2025-10-08T04:44:28Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "AdguardTeam/AdGuardHome",
 | 
			
		||||
    "version": "v0.107.67",
 | 
			
		||||
    "date": "2025-09-29T14:45:57Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "steveiliop56/tinyauth",
 | 
			
		||||
    "version": "v4.0.0",
 | 
			
		||||
    "date": "2025-10-08T16:12:11Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "advplyr/audiobookshelf",
 | 
			
		||||
    "version": "v2.30.0",
 | 
			
		||||
@@ -79,16 +194,6 @@
 | 
			
		||||
    "version": "v2025.10.3",
 | 
			
		||||
    "date": "2025-10-08T15:29:15Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "firefly-iii/firefly-iii",
 | 
			
		||||
    "version": "v6.4.2",
 | 
			
		||||
    "date": "2025-10-07T08:11:58Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "meilisearch/meilisearch",
 | 
			
		||||
    "version": "prototype-v1.22.2-compaction-task-2",
 | 
			
		||||
    "date": "2025-10-08T13:45:38Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "FlowiseAI/Flowise",
 | 
			
		||||
    "version": "flowise@3.0.8",
 | 
			
		||||
@@ -134,21 +239,6 @@
 | 
			
		||||
    "version": "2.3.1",
 | 
			
		||||
    "date": "2025-10-08T05:58:37Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Jackett/Jackett",
 | 
			
		||||
    "version": "v0.24.90",
 | 
			
		||||
    "date": "2025-10-08T05:52:50Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "keycloak/keycloak",
 | 
			
		||||
    "version": "26.0.16",
 | 
			
		||||
    "date": "2025-10-08T04:44:28Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "jeedom/core",
 | 
			
		||||
    "version": "4.4.20",
 | 
			
		||||
    "date": "2025-10-08T00:27:04Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "booklore-app/booklore",
 | 
			
		||||
    "version": "v1.5.1",
 | 
			
		||||
@@ -174,11 +264,6 @@
 | 
			
		||||
    "version": "nightly",
 | 
			
		||||
    "date": "2025-10-07T18:00:49Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "MediaBrowser/Emby.Releases",
 | 
			
		||||
    "version": "4.9.1.80",
 | 
			
		||||
    "date": "2025-09-30T20:25:16Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "coder/code-server",
 | 
			
		||||
    "version": "v4.104.3",
 | 
			
		||||
@@ -219,26 +304,11 @@
 | 
			
		||||
    "version": "0.209.1",
 | 
			
		||||
    "date": "2025-10-07T11:29:11Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "mattermost/mattermost",
 | 
			
		||||
    "version": "mattermost-redux@10.12.0",
 | 
			
		||||
    "date": "2025-09-18T20:15:19Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "pocket-id/pocket-id",
 | 
			
		||||
    "version": "v1.13.1",
 | 
			
		||||
    "date": "2025-10-07T06:32:50Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "documenso/documenso",
 | 
			
		||||
    "version": "v1.12.9",
 | 
			
		||||
    "date": "2025-10-07T06:07:11Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "rogerfar/rdt-client",
 | 
			
		||||
    "version": "v2.0.117",
 | 
			
		||||
    "date": "2025-10-07T02:21:37Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "inventree/InvenTree",
 | 
			
		||||
    "version": "1.0.5",
 | 
			
		||||
@@ -254,11 +324,6 @@
 | 
			
		||||
    "version": "v1.0.0-1",
 | 
			
		||||
    "date": "2025-10-06T23:16:32Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Ombi-app/Ombi",
 | 
			
		||||
    "version": "v4.47.1",
 | 
			
		||||
    "date": "2025-01-05T21:14:23Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Radarr/Radarr",
 | 
			
		||||
    "version": "v5.28.0.10274",
 | 
			
		||||
@@ -314,11 +379,6 @@
 | 
			
		||||
    "version": "v1.19.5",
 | 
			
		||||
    "date": "2025-09-27T20:59:46Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "henrygd/beszel",
 | 
			
		||||
    "version": "v0.13.1",
 | 
			
		||||
    "date": "2025-10-06T01:27:46Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "hyperion-project/hyperion.ng",
 | 
			
		||||
    "version": "2.1.1",
 | 
			
		||||
@@ -369,31 +429,16 @@
 | 
			
		||||
    "version": "2.520",
 | 
			
		||||
    "date": "2025-10-05T00:51:34Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "ollama/ollama",
 | 
			
		||||
    "version": "v0.12.4-rc6",
 | 
			
		||||
    "date": "2025-10-04T18:46:45Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "gtsteffaniak/filebrowser",
 | 
			
		||||
    "version": "v0.8.8-beta",
 | 
			
		||||
    "date": "2025-10-04T15:56:29Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "silverbulletmd/silverbullet",
 | 
			
		||||
    "version": "2.1.7",
 | 
			
		||||
    "date": "2025-10-04T13:41:43Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "globaleaks/globaleaks-whistleblowing-software",
 | 
			
		||||
    "version": "v5.0.84",
 | 
			
		||||
    "date": "2025-10-04T08:06:12Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "ErsatzTV/ErsatzTV",
 | 
			
		||||
    "version": "v25.7.0",
 | 
			
		||||
    "date": "2025-10-04T00:36:45Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Luligu/matterbridge",
 | 
			
		||||
    "version": "3.3.0",
 | 
			
		||||
@@ -404,11 +449,6 @@
 | 
			
		||||
    "version": "v1.40.0",
 | 
			
		||||
    "date": "2025-10-03T19:14:46Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "wazuh/wazuh",
 | 
			
		||||
    "version": "coverity-w41-4.14.0",
 | 
			
		||||
    "date": "2025-10-03T18:56:57Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "home-assistant/core",
 | 
			
		||||
    "version": "2025.10.1",
 | 
			
		||||
@@ -429,11 +469,6 @@
 | 
			
		||||
    "version": "v2.40.0",
 | 
			
		||||
    "date": "2025-10-03T12:56:38Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "nzbgetcom/nzbget",
 | 
			
		||||
    "version": "v25.3",
 | 
			
		||||
    "date": "2025-09-01T09:47:06Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "redis/redis",
 | 
			
		||||
    "version": "8.2.2",
 | 
			
		||||
@@ -449,11 +484,6 @@
 | 
			
		||||
    "version": "v0.9.95",
 | 
			
		||||
    "date": "2025-10-02T16:07:18Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "theonedev/onedev",
 | 
			
		||||
    "version": "v13.0.7",
 | 
			
		||||
    "date": "2025-10-02T14:33:22Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "cockpit-project/cockpit",
 | 
			
		||||
    "version": "348",
 | 
			
		||||
@@ -489,16 +519,6 @@
 | 
			
		||||
    "version": "2.6.2",
 | 
			
		||||
    "date": "2025-10-01T17:51:09Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "glpi-project/glpi",
 | 
			
		||||
    "version": "11.0.0",
 | 
			
		||||
    "date": "2025-10-01T12:00:01Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "esphome/esphome",
 | 
			
		||||
    "version": "2025.9.3",
 | 
			
		||||
    "date": "2025-10-01T11:30:07Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Kozea/Radicale",
 | 
			
		||||
    "version": "v3.5.7.pypi",
 | 
			
		||||
@@ -609,11 +629,6 @@
 | 
			
		||||
    "version": "v0.10.1",
 | 
			
		||||
    "date": "2025-09-28T08:55:44Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "raydak-labs/configarr",
 | 
			
		||||
    "version": "v1.16.0",
 | 
			
		||||
    "date": "2025-09-27T16:19:27Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "kimai/kimai",
 | 
			
		||||
    "version": "2.40.0",
 | 
			
		||||
@@ -679,11 +694,6 @@
 | 
			
		||||
    "version": "v14.0.0-dev",
 | 
			
		||||
    "date": "2025-09-25T13:19:45Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "gelbphoenix/autocaliweb",
 | 
			
		||||
    "version": "v0.10.2",
 | 
			
		||||
    "date": "2025-09-24T18:23:36Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "rclone/rclone",
 | 
			
		||||
    "version": "v1.71.1",
 | 
			
		||||
@@ -819,11 +829,6 @@
 | 
			
		||||
    "version": "v4.3.0.1",
 | 
			
		||||
    "date": "2025-09-17T08:50:39Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "tobychui/zoraxy",
 | 
			
		||||
    "version": "v3.2.5r2",
 | 
			
		||||
    "date": "2025-07-21T12:52:26Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Checkmk/checkmk",
 | 
			
		||||
    "version": "v2.4.0p12",
 | 
			
		||||
@@ -849,11 +854,6 @@
 | 
			
		||||
    "version": "3.2.0",
 | 
			
		||||
    "date": "2025-09-15T18:03:08Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "FlareSolverr/FlareSolverr",
 | 
			
		||||
    "version": "v3.4.1",
 | 
			
		||||
    "date": "2025-09-15T18:01:24Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "ellite/Wallos",
 | 
			
		||||
    "version": "v4.3.0",
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
$STD apt install -y \
 | 
			
		||||
  apt-transport-https \
 | 
			
		||||
  alsa-utils \
 | 
			
		||||
  libxext-dev \
 | 
			
		||||
@@ -29,7 +29,7 @@ cd /opt/agentdvr/agent
 | 
			
		||||
curl -fsSL "$RELEASE" -o $(basename "$RELEASE")
 | 
			
		||||
$STD unzip Agent_Linux64*.zip
 | 
			
		||||
chmod +x ./Agent
 | 
			
		||||
echo $RELEASE > ~/.agentdvr
 | 
			
		||||
echo $RELEASE >~/.agentdvr
 | 
			
		||||
msg_ok "Installed AgentDVR"
 | 
			
		||||
 | 
			
		||||
msg_info "Creating Service"
 | 
			
		||||
@@ -56,6 +56,7 @@ customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
rm -rf Agent_Linux64*.zip
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -42,6 +42,7 @@ msg_info "Creating Tinyauth Service"
 | 
			
		||||
SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | head -c 32)
 | 
			
		||||
 | 
			
		||||
cat <<EOF >/opt/tinyauth/.env
 | 
			
		||||
DATABASE_PATH=/opt/tinyauth/database.db
 | 
			
		||||
SECRET=${SECRET}
 | 
			
		||||
USERS=${USER}
 | 
			
		||||
APP_URL=${app_url}
 | 
			
		||||
@@ -53,26 +54,17 @@ cat <<'EOF' >/etc/init.d/tinyauth
 | 
			
		||||
#!/sbin/openrc-run
 | 
			
		||||
description="Tinyauth Service"
 | 
			
		||||
 | 
			
		||||
set -a
 | 
			
		||||
ENV_FILE="/opt/tinyauth/.env"
 | 
			
		||||
[ -f "$ENV_FILE" ] && . "$ENV_FILE"
 | 
			
		||||
set +a
 | 
			
		||||
 | 
			
		||||
command="/opt/tinyauth/tinyauth"
 | 
			
		||||
directory="/opt/tinyauth"
 | 
			
		||||
command_user="root"
 | 
			
		||||
command_background="true"
 | 
			
		||||
pidfile="/var/run/tinyauth.pid"
 | 
			
		||||
 | 
			
		||||
start_pre() {
 | 
			
		||||
    if [ -f "/opt/tinyauth/.env" ]; then
 | 
			
		||||
        while IFS= read -r line || [ -n "$line" ]; do
 | 
			
		||||
            [ -z "$line" ] && continue
 | 
			
		||||
            case "$line" in
 | 
			
		||||
                '#'*)
 | 
			
		||||
                    continue
 | 
			
		||||
                    ;;
 | 
			
		||||
            esac
 | 
			
		||||
            export "$line"
 | 
			
		||||
        done < "/opt/tinyauth/.env"
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
depend() {
 | 
			
		||||
    use net
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										66
									
								
								install/rwmarkable-install.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								install/rwmarkable-install.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,66 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
# Copyright (c) 2021-2025 community-scripts ORG
 | 
			
		||||
# Author: vhsdream
 | 
			
		||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
			
		||||
# Source: https://github.com/fccview/rwMarkable
 | 
			
		||||
 | 
			
		||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
 | 
			
		||||
color
 | 
			
		||||
verb_ip6
 | 
			
		||||
catch_errors
 | 
			
		||||
setting_up_container
 | 
			
		||||
network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
 | 
			
		||||
fetch_and_deploy_gh_release "rwMarkable" "fccview/rwMarkable" "tarball" "latest" "/opt/rwmarkable"
 | 
			
		||||
 | 
			
		||||
msg_info "Installing ${APPLICATION}"
 | 
			
		||||
cd /opt/rwmarkable
 | 
			
		||||
$STD yarn --frozen-lockfile
 | 
			
		||||
$STD yarn next telemetry disable
 | 
			
		||||
$STD yarn build
 | 
			
		||||
mkdir -p data/{users,checklists,notes}
 | 
			
		||||
 | 
			
		||||
cat <<EOF >/opt/rwmarkable/.env
 | 
			
		||||
NODE_ENV=production
 | 
			
		||||
# HTTPS=true
 | 
			
		||||
 | 
			
		||||
# --- SSO with OIDC (optional)
 | 
			
		||||
# SSO_MODE=oidc
 | 
			
		||||
# OIDC_ISSUER=<your-oidc-issuer-url>
 | 
			
		||||
# OIDC_CLIENT_ID=<oidc-client-id>
 | 
			
		||||
# APP_URL=<https://app.domain.tld>
 | 
			
		||||
# SSO_FALLBACK_LOCAL=true # Allow both SSO and normal login
 | 
			
		||||
# OIDC_CLIENT_SECRET=your_client_secret  # Enable confidential client mode with client authentication
 | 
			
		||||
# OIDC_ADMIN_GROUPS=admins # Map provider groups to admin role
 | 
			
		||||
EOF
 | 
			
		||||
msg_ok "Installed ${APPLICATION}"
 | 
			
		||||
 | 
			
		||||
msg_info "Creating Service"
 | 
			
		||||
cat <<EOF >/etc/systemd/system/rwmarkable.service
 | 
			
		||||
[Unit]
 | 
			
		||||
Description=rwMarkable server
 | 
			
		||||
After=network.target
 | 
			
		||||
 | 
			
		||||
[Service]
 | 
			
		||||
WorkingDirectory=/opt/rwmarkable
 | 
			
		||||
EnvironmentFile=/opt/rwmarkable/.env
 | 
			
		||||
ExecStart=yarn start
 | 
			
		||||
Restart=on-abnormal
 | 
			
		||||
 | 
			
		||||
[Install]
 | 
			
		||||
WantedBy=multi-user.target
 | 
			
		||||
EOF
 | 
			
		||||
systemctl enable -q --now rwmarkable
 | 
			
		||||
msg_ok "Created Service"
 | 
			
		||||
 | 
			
		||||
motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
@@ -14,7 +14,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies (Patience)"
 | 
			
		||||
$STD apt-get install -y --no-install-recommends \
 | 
			
		||||
$STD apt install -y \
 | 
			
		||||
  build-essential \
 | 
			
		||||
  python3 \
 | 
			
		||||
  libpq-dev \
 | 
			
		||||
@@ -140,6 +140,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y git
 | 
			
		||||
$STD apt install -y git
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
PHP_VERSION="8.4" PHP_APACHE="YES" setup_php
 | 
			
		||||
@@ -51,6 +51,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -15,13 +15,10 @@ update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies. Patience"
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
  git
 | 
			
		||||
  git \
 | 
			
		||||
  python3-venv
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
msg_info "Setup Python3"
 | 
			
		||||
$STD apt-get install -y python3-venv
 | 
			
		||||
msg_ok "Setup Python3"
 | 
			
		||||
 | 
			
		||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
 | 
			
		||||
 | 
			
		||||
msg_info "Setup Platformio"
 | 
			
		||||
@@ -70,6 +67,7 @@ customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
rm -f /tmp/v${RELEASE}.tar.gz
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,17 +14,14 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y git
 | 
			
		||||
$STD apt-get install -y pip
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
msg_info "Setup Python3"
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
$STD apt install -y \
 | 
			
		||||
  git \
 | 
			
		||||
  pip \
 | 
			
		||||
  python3 \
 | 
			
		||||
  python3-dev \
 | 
			
		||||
  python3-pip
 | 
			
		||||
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
 | 
			
		||||
msg_ok "Setup Python3"
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Tautulli"
 | 
			
		||||
cd /opt
 | 
			
		||||
@@ -59,6 +56,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y handbrake-cli
 | 
			
		||||
$STD apt install -y handbrake-cli
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Tdarr"
 | 
			
		||||
@@ -27,20 +27,34 @@ chmod +x Tdarr_Updater
 | 
			
		||||
$STD ./Tdarr_Updater
 | 
			
		||||
msg_ok "Installed Tdarr"
 | 
			
		||||
 | 
			
		||||
msg_info "Setting Up Hardware Acceleration"
 | 
			
		||||
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
 | 
			
		||||
sg_info "Setting Up Hardware Acceleration"
 | 
			
		||||
$STD apt -y install \
 | 
			
		||||
  va-driver-all \
 | 
			
		||||
  ocl-icd-libopencl1 \
 | 
			
		||||
  vainfo \
 | 
			
		||||
  intel-gpu-tools \
 | 
			
		||||
  mesa-va-drivers \
 | 
			
		||||
  mesa-vdpau-drivers \
 | 
			
		||||
  intel-media-va-driver
 | 
			
		||||
if [[ "$CTTYPE" == "0" ]]; then
 | 
			
		||||
  chgrp video /dev/dri
 | 
			
		||||
  chmod 755 /dev/dri
 | 
			
		||||
  chmod 660 /dev/dri/*
 | 
			
		||||
  $STD adduser $(id -u -n) video
 | 
			
		||||
  $STD adduser $(id -u -n) render
 | 
			
		||||
  sed -i -e 's/^sgx:x:104:$/render:x:104:root/' -e 's/^render:x:106:root$/sgx:x:106:/' /etc/group
 | 
			
		||||
  VIDEO_GID=$(getent group video | cut -d: -f3)
 | 
			
		||||
  RENDER_GID=$(getent group render | cut -d: -f3)
 | 
			
		||||
  if [[ -n "$VIDEO_GID" && -n "$RENDER_GID" ]]; then
 | 
			
		||||
    sed -i "s/^video:x:[0-9]*:/video:x:$VIDEO_GID:/" /etc/group
 | 
			
		||||
    sed -i "s/^render:x:[0-9]*:/render:x:$RENDER_GID:/" /etc/group
 | 
			
		||||
  fi
 | 
			
		||||
else
 | 
			
		||||
  sed -i -e 's/^sgx:x:104:$/render:x:104:/' -e 's/^render:x:106:$/sgx:x:106:/' /etc/group
 | 
			
		||||
  VIDEO_GID=$(getent group video | cut -d: -f3)
 | 
			
		||||
  RENDER_GID=$(getent group render | cut -d: -f3)
 | 
			
		||||
fi
 | 
			
		||||
msg_ok "Set Up Hardware Acceleration"
 | 
			
		||||
 | 
			
		||||
msg_info "Creating Service"
 | 
			
		||||
cat <<EOF >/etc/systemd/system/tdarr-server.service
 | 
			
		||||
[Unit]
 | 
			
		||||
Description=Tdarr Server Daemon
 | 
			
		||||
@@ -90,6 +104,7 @@ customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
rm -rf /opt/tdarr/Tdarr_Updater.zip
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -51,6 +51,7 @@ customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
rm -f ~/ts3server.tar.bz*
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -17,8 +17,8 @@ msg_info "Installing ASP.NET Core Runtime"
 | 
			
		||||
curl -fsSL "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb" -o "packages-microsoft-prod.deb"
 | 
			
		||||
$STD dpkg -i packages-microsoft-prod.deb
 | 
			
		||||
rm -rf packages-microsoft-prod.deb
 | 
			
		||||
$STD apt-get update
 | 
			
		||||
$STD apt-get install -y aspnetcore-runtime-8.0
 | 
			
		||||
$STD apt update
 | 
			
		||||
$STD apt install -y aspnetcore-runtime-8.0
 | 
			
		||||
msg_ok "Installed ASP.NET Core Runtime"
 | 
			
		||||
 | 
			
		||||
RELEASE=$(curl -fsSL https://technitium.com/dns/ | grep -oP 'Version \K[\d.]+')
 | 
			
		||||
@@ -26,7 +26,7 @@ msg_info "Installing Technitium DNS"
 | 
			
		||||
mkdir -p /opt/technitium/dns
 | 
			
		||||
curl -fsSL "https://download.technitium.com/dns/DnsServerPortable.tar.gz" -o /opt/DnsServerPortable.tar.gz
 | 
			
		||||
$STD tar zxvf /opt/DnsServerPortable.tar.gz -C /opt/technitium/dns/
 | 
			
		||||
echo "${RELEASE}" > ~/.technitium
 | 
			
		||||
echo "${RELEASE}" >~/.technitium
 | 
			
		||||
msg_ok "Installed Technitium DNS"
 | 
			
		||||
 | 
			
		||||
msg_info "Creating service"
 | 
			
		||||
@@ -39,6 +39,7 @@ customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
rm -f /opt/DnsServerPortable.tar.gz
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
$STD apt install -y \
 | 
			
		||||
  libubsan1 \
 | 
			
		||||
  ffmpeg \
 | 
			
		||||
  ca-certificates
 | 
			
		||||
@@ -45,6 +45,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -15,25 +15,31 @@ update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Adding Telegraf key and repository"
 | 
			
		||||
curl -fsSL -O https://repos.influxdata.com/influxdata-archive.key
 | 
			
		||||
gpg --show-keys --with-fingerprint --with-colons ./influxdata-archive.key 2>&1 \
 | 
			
		||||
| grep -q '^fpr:\+24C975CBA61A024EE1B631787C3D57159FC2F927:$' \
 | 
			
		||||
&& cat influxdata-archive.key \
 | 
			
		||||
| gpg --dearmor \
 | 
			
		||||
| tee /etc/apt/keyrings/influxdata-archive.gpg > /dev/null \
 | 
			
		||||
&& echo 'deb [signed-by=/etc/apt/keyrings/influxdata-archive.gpg] https://repos.influxdata.com/debian stable main' \
 | 
			
		||||
| tee /etc/apt/sources.list.d/influxdata.list > /dev/null
 | 
			
		||||
gpg --show-keys --with-fingerprint --with-colons ./influxdata-archive.key 2>&1 |
 | 
			
		||||
  grep -q '^fpr:\+24C975CBA61A024EE1B631787C3D57159FC2F927:$' &&
 | 
			
		||||
  cat influxdata-archive.key |
 | 
			
		||||
  gpg --dearmor |
 | 
			
		||||
    tee /etc/apt/keyrings/influxdata-archive.gpg >/dev/null
 | 
			
		||||
cat <<EOF | sudo tee /etc/apt/sources.list.d/influxdata.sources >/dev/null
 | 
			
		||||
Types: deb
 | 
			
		||||
URIs: https://repos.influxdata.com/debian
 | 
			
		||||
Suites: stable
 | 
			
		||||
Components: main
 | 
			
		||||
Signed-By: /etc/apt/keyrings/influxdata-archive.gpg
 | 
			
		||||
EOF
 | 
			
		||||
msg_ok "Added Telegraf Repository"
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Telegraf"
 | 
			
		||||
$STD apt-get update
 | 
			
		||||
$STD apt-get install telegraf -y
 | 
			
		||||
$STD apt update
 | 
			
		||||
$STD apt install telegraf -y
 | 
			
		||||
msg_ok "Installed Telegraf"
 | 
			
		||||
 | 
			
		||||
motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
rm /influxdata-archive.key
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
$STD apt install -y \
 | 
			
		||||
  ffmpeg \
 | 
			
		||||
  vlc
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
@@ -45,6 +45,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
$STD apt install -y \
 | 
			
		||||
  python3 \
 | 
			
		||||
  cmake \
 | 
			
		||||
  g++ \
 | 
			
		||||
@@ -25,8 +25,8 @@ $STD apt-get install -y \
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/msgbyte/tianji/master/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
 | 
			
		||||
PG_VERSION="16" setup_postgresql
 | 
			
		||||
PYTHON_VERSION="3.12" setup_uv
 | 
			
		||||
PG_VERSION="17" setup_postgresql
 | 
			
		||||
PYTHON_VERSION="3.13" setup_uv
 | 
			
		||||
 | 
			
		||||
msg_info "Setting up PostgreSQL"
 | 
			
		||||
DB_NAME=tianji_db
 | 
			
		||||
@@ -97,6 +97,7 @@ msg_info "Cleaning up"
 | 
			
		||||
rm -rf /opt/tianji/src/client
 | 
			
		||||
rm -rf /opt/tianji/website
 | 
			
		||||
rm -rf /opt/tianji/reporter
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -29,6 +29,7 @@ customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
[ -f README.txt ] || [ -f traccar.run ] && rm -f README.txt traccar.run
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y apt-transport-https
 | 
			
		||||
$STD apt install -y apt-transport-https
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
fetch_and_deploy_gh_release "traefik" "traefik/traefik" "prebuild" "latest" "/usr/bin" "traefik_v*_linux_amd64.tar.gz"
 | 
			
		||||
@@ -97,6 +97,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Transmission"
 | 
			
		||||
$STD apt-get install -y transmission-daemon
 | 
			
		||||
$STD apt install -y transmission-daemon
 | 
			
		||||
systemctl stop transmission-daemon
 | 
			
		||||
sed -i '{s/"rpc-whitelist-enabled": true/"rpc-whitelist-enabled": false/g; s/"rpc-host-whitelist-enabled": true,/"rpc-host-whitelist-enabled": false,/g}' /etc/transmission-daemon/settings.json
 | 
			
		||||
systemctl start transmission-daemon
 | 
			
		||||
@@ -24,6 +24,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -39,6 +39,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
$STD apt install -y \
 | 
			
		||||
  sqlite3 \
 | 
			
		||||
  yq
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
@@ -72,6 +72,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -27,6 +27,7 @@ customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
rm -rf /opt/typesense-server-${RELEASE}-amd64.deb
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -53,6 +53,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
 | 
			
		||||
PG_VERSION="16" setup_postgresql
 | 
			
		||||
PG_VERSION="17" setup_postgresql
 | 
			
		||||
fetch_and_deploy_gh_release "umami" "umami-software/umami" "tarball"
 | 
			
		||||
 | 
			
		||||
msg_info "Setting up postgresql"
 | 
			
		||||
@@ -65,6 +65,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,10 +14,16 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD curl -fsSL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb
 | 
			
		||||
$STD dpkg -i packages-microsoft-prod.deb
 | 
			
		||||
$STD apt-get update
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
 | 
			
		||||
cat <<EOF | sudo tee /etc/apt/sources.list.d/microsoft-prod.sources >/dev/null
 | 
			
		||||
Types: deb
 | 
			
		||||
URIs: https://packages.microsoft.com/debian/13/prod/
 | 
			
		||||
Suites: trixie
 | 
			
		||||
Components: main
 | 
			
		||||
Signed-By: /usr/share/keyrings/microsoft-prod.gpg
 | 
			
		||||
EOF
 | 
			
		||||
$STD apt update
 | 
			
		||||
$STD apt install -y \
 | 
			
		||||
  dotnet-sdk-8.0 \
 | 
			
		||||
  aspnetcore-runtime-8.0
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
@@ -117,6 +123,7 @@ customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
rm -f $temp_file
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Unbound"
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
$STD apt install -y \
 | 
			
		||||
  unbound \
 | 
			
		||||
  unbound-host
 | 
			
		||||
msg_info "Installed Unbound"
 | 
			
		||||
@@ -82,6 +82,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,14 +14,21 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y apt-transport-https
 | 
			
		||||
$STD apt install -y apt-transport-https
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Eclipse Temurin JRE"
 | 
			
		||||
curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg
 | 
			
		||||
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/adoptium.gpg] https://packages.adoptium.net/artifactory/deb bookworm main" >/etc/apt/sources.list.d/adoptium.list
 | 
			
		||||
$STD apt-get update
 | 
			
		||||
$STD apt-get install -y temurin-17-jre
 | 
			
		||||
curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor -o /usr/share/keyrings/adoptium.gpg
 | 
			
		||||
cat <<EOF | sudo tee /etc/apt/sources.list.d/adoptium.sources >/dev/null
 | 
			
		||||
Types: deb
 | 
			
		||||
URIs: https://packages.adoptium.net/artifactory/deb
 | 
			
		||||
Suites: trixie
 | 
			
		||||
Components: main
 | 
			
		||||
Architectures: amd64
 | 
			
		||||
Signed-By: /usr/share/keyrings/adoptium.gpg
 | 
			
		||||
EOF
 | 
			
		||||
$STD apt update
 | 
			
		||||
$STD apt install -y temurin-17-jre
 | 
			
		||||
msg_ok "Installed Eclipse Temurin JRE"
 | 
			
		||||
 | 
			
		||||
if ! grep -q -m1 'avx[^ ]*' /proc/cpuinfo; then
 | 
			
		||||
@@ -31,30 +38,50 @@ if ! grep -q -m1 'avx[^ ]*' /proc/cpuinfo; then
 | 
			
		||||
    curl -fsSL "https://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u3_amd64.deb" -o "libssl1.1_1.1.1w-0+deb11u3_amd64.deb"
 | 
			
		||||
    $STD dpkg -i libssl1.1_1.1.1w-0+deb11u3_amd64.deb
 | 
			
		||||
  fi
 | 
			
		||||
  curl -fsSL "https://www.mongodb.org/static/pgp/server-4.4.asc" | gpg --dearmor >/usr/share/keyrings/mongodb-server-4.4.gpg
 | 
			
		||||
  echo "deb [signed-by=/usr/share/keyrings/mongodb-server-4.4.gpg] https://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" >/etc/apt/sources.list.d/mongodb-org-4.4.list
 | 
			
		||||
  $STD apt-get update
 | 
			
		||||
  $STD apt-get install -y mongodb-org
 | 
			
		||||
  curl -fsSL "https://www.mongodb.org/static/pgp/server-4.4.asc" | gpg --dearmor -o /usr/share/keyrings/mongodb-server-4.4.gpg
 | 
			
		||||
  cat <<EOF | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.sources >/dev/null
 | 
			
		||||
Types: deb
 | 
			
		||||
URIs: https://repo.mongodb.org/apt/debian
 | 
			
		||||
Suites: buster/mongodb-org/4.4
 | 
			
		||||
Components: main
 | 
			
		||||
Signed-By: /usr/share/keyrings/mongodb-server-4.4.gpg
 | 
			
		||||
EOF
 | 
			
		||||
  $STD apt update
 | 
			
		||||
  $STD apt install -y mongodb-org
 | 
			
		||||
else
 | 
			
		||||
  msg_info "Installing MongoDB 7.0"
 | 
			
		||||
  curl -fsSL "https://www.mongodb.org/static/pgp/server-7.0.asc" | gpg --dearmor >/usr/share/keyrings/mongodb-server-7.0.gpg
 | 
			
		||||
  echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" >/etc/apt/sources.list.d/mongodb-org-7.0.list
 | 
			
		||||
  $STD apt-get update
 | 
			
		||||
  $STD apt-get install -y mongodb-org
 | 
			
		||||
  curl -fsSL "https://www.mongodb.org/static/pgp/server-7.0.asc" | gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
 | 
			
		||||
  cat <<EOF | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.sources >/dev/null
 | 
			
		||||
Types: deb
 | 
			
		||||
URIs: http://repo.mongodb.org/apt/debian
 | 
			
		||||
Suites: trixie/mongodb-org/7.0
 | 
			
		||||
Components: main
 | 
			
		||||
Signed-By: /usr/share/keyrings/mongodb-server-7.0.gpg
 | 
			
		||||
EOF
 | 
			
		||||
  $STD apt update
 | 
			
		||||
  $STD apt install -y mongodb-org
 | 
			
		||||
fi
 | 
			
		||||
msg_ok "Installed MongoDB"
 | 
			
		||||
 | 
			
		||||
msg_info "Installing UniFi Network Server"
 | 
			
		||||
curl -fsSL "https://dl.ui.com/unifi/unifi-repo.gpg" -o "/etc/apt/trusted.gpg.d/unifi-repo.gpg"
 | 
			
		||||
echo "deb [ arch=amd64 signed-by=/etc/apt/trusted.gpg.d/unifi-repo.gpg] https://www.ui.com/downloads/unifi/debian stable ubiquiti" >/etc/apt/sources.list.d/100-ubnt-unifi.list
 | 
			
		||||
$STD apt-get update
 | 
			
		||||
$STD apt-get install -y unifi
 | 
			
		||||
curl -fsSL "https://dl.ui.com/unifi/unifi-repo.gpg" -o "/usr/share/keyrings/unifi-repo.gpg"
 | 
			
		||||
cat <<EOF | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.sources >/dev/null
 | 
			
		||||
Types: deb
 | 
			
		||||
URIs: https://www.ui.com/downloads/unifi/debian
 | 
			
		||||
Suites: stable
 | 
			
		||||
Components: ubiquiti
 | 
			
		||||
Architectures: amd64
 | 
			
		||||
Signed-By: /usr/share/keyrings/unifi-repo.gpg
 | 
			
		||||
EOF
 | 
			
		||||
$STD apt update
 | 
			
		||||
$STD apt install -y unifi
 | 
			
		||||
msg_ok "Installed UniFi Network Server"
 | 
			
		||||
 | 
			
		||||
motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,27 +14,40 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies (Patience)"
 | 
			
		||||
$STD apt-get install -y ffmpeg
 | 
			
		||||
$STD apt-get install -y python3-pip
 | 
			
		||||
$STD apt install -y \
 | 
			
		||||
  ffmpeg \
 | 
			
		||||
  python3-pip
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
msg_info "Setting Up Hardware Acceleration"
 | 
			
		||||
$STD apt -y install \
 | 
			
		||||
  va-driver-all \
 | 
			
		||||
  ocl-icd-libopencl1 \
 | 
			
		||||
  vainfo \
 | 
			
		||||
  intel-gpu-tools \
 | 
			
		||||
  mesa-va-drivers \
 | 
			
		||||
  mesa-vdpau-drivers \
 | 
			
		||||
  intel-media-va-driver
 | 
			
		||||
if [[ "$CTTYPE" == "0" ]]; then
 | 
			
		||||
  msg_info "Setting Up Hardware Acceleration"
 | 
			
		||||
  $STD apt-get -y install \
 | 
			
		||||
    va-driver-all \
 | 
			
		||||
    ocl-icd-libopencl1 \
 | 
			
		||||
    intel-opencl-icd
 | 
			
		||||
  chgrp video /dev/dri
 | 
			
		||||
  chmod 755 /dev/dri
 | 
			
		||||
  chmod 660 /dev/dri/*
 | 
			
		||||
  $STD adduser $(id -u -n) video
 | 
			
		||||
  $STD adduser $(id -u -n) render
 | 
			
		||||
  msg_ok "Set Up Hardware Acceleration"
 | 
			
		||||
  VIDEO_GID=$(getent group video | cut -d: -f3)
 | 
			
		||||
  RENDER_GID=$(getent group render | cut -d: -f3)
 | 
			
		||||
  if [[ -n "$VIDEO_GID" && -n "$RENDER_GID" ]]; then
 | 
			
		||||
    sed -i "s/^video:x:[0-9]*:/video:x:$VIDEO_GID:/" /etc/group
 | 
			
		||||
    sed -i "s/^render:x:[0-9]*:/render:x:$RENDER_GID:/" /etc/group
 | 
			
		||||
  fi
 | 
			
		||||
else
 | 
			
		||||
  VIDEO_GID=$(getent group video | cut -d: -f3)
 | 
			
		||||
  RENDER_GID=$(getent group render | cut -d: -f3)
 | 
			
		||||
fi
 | 
			
		||||
msg_ok "Set Up Hardware Acceleration"
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Unmanic"
 | 
			
		||||
$STD pip3 install unmanic
 | 
			
		||||
sed -i -e 's/^sgx:x:104:$/render:x:104:root/' -e 's/^render:x:106:root$/sgx:x:106:/' /etc/group
 | 
			
		||||
msg_ok "Installed Unmanic"
 | 
			
		||||
 | 
			
		||||
msg_info "Creating Service"
 | 
			
		||||
@@ -61,6 +74,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -44,6 +44,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,21 +14,27 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
  coreutils
 | 
			
		||||
$STD apt install -y coreutils
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
msg_info "Installing UrBackup Server"
 | 
			
		||||
curl -fsSL https://download.opensuse.org/repositories/home:uroni/Debian_12/Release.key | gpg --dearmor >/etc/apt/trusted.gpg.d/home_uroni.gpg
 | 
			
		||||
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/home_uroni.gpg] http://download.opensuse.org/repositories/home:/uroni/Debian_12/ /' >/etc/apt/sources.list.d/home:uroni.list
 | 
			
		||||
$STD apt-get update -y
 | 
			
		||||
apt-get install -y -qq urbackup-server
 | 
			
		||||
curl -fsSL https://download.opensuse.org/repositories/home:uroni/Debian_12/Release.key | gpg --dearmor -o /usr/share/keyrings/home-uroni.gpg
 | 
			
		||||
cat <<EOF | sudo tee /etc/apt/sources.list.d/home-uroni.sources >/dev/null
 | 
			
		||||
Types: deb
 | 
			
		||||
URIs: http://download.opensuse.org/repositories/home:/uroni/Debian_12/
 | 
			
		||||
Suites: ./
 | 
			
		||||
Components: 
 | 
			
		||||
Signed-By: /usr/share/keyrings/home-uroni.gpg
 | 
			
		||||
EOF
 | 
			
		||||
$STD apt update
 | 
			
		||||
$STD apt install -y urbackup-server
 | 
			
		||||
msg_ok "Installed UrBackup Server"
 | 
			
		||||
 | 
			
		||||
motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user