mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 02:12:49 +00:00 
			
		
		
		
	Compare commits
	
		
			65 Commits
		
	
	
		
			2025-08-23
			...
			2025-08-26
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					d25a12c87e | ||
| 
						 | 
					e24315c50b | ||
| 
						 | 
					753ed67b50 | ||
| 
						 | 
					d6e498050f | ||
| 
						 | 
					4a69a7b39f | ||
| 
						 | 
					1dcde93b4a | ||
| 
						 | 
					663c6570f4 | ||
| 
						 | 
					6a17e25871 | ||
| 
						 | 
					e609552cec | ||
| 
						 | 
					bd4b781c9e | ||
| 
						 | 
					7eb6715a1f | ||
| 
						 | 
					aa0190978f | ||
| 
						 | 
					e0f5e588e0 | ||
| 
						 | 
					3949e2e049 | ||
| 
						 | 
					ab4560b879 | ||
| 
						 | 
					b8f854e7ad | ||
| 
						 | 
					ea1c5b4561 | ||
| 
						 | 
					957eea7a0f | ||
| 
						 | 
					476fcedfe0 | ||
| 
						 | 
					d590e91597 | ||
| 
						 | 
					8c796a0870 | ||
| 
						 | 
					b57efdb78a | ||
| 
						 | 
					2cc3ce1ea1 | ||
| 
						 | 
					468defcd97 | ||
| 
						 | 
					78398309c0 | ||
| 
						 | 
					08d1d7be62 | ||
| 
						 | 
					05a4fcd471 | ||
| 
						 | 
					36acf4aaae | ||
| 
						 | 
					4182815b4c | ||
| 
						 | 
					73a0910239 | ||
| 
						 | 
					bd6626e919 | ||
| 
						 | 
					3ad6cdf85a | ||
| 
						 | 
					732bb75e9b | ||
| 
						 | 
					d372b45a95 | ||
| 
						 | 
					df564ace13 | ||
| 
						 | 
					d2b28413eb | ||
| 
						 | 
					b93a30ffb0 | ||
| 
						 | 
					a4044b1cfd | ||
| 
						 | 
					83eb2da451 | ||
| 
						 | 
					9fda9f34c5 | ||
| 
						 | 
					3715ea5946 | ||
| 
						 | 
					de2d8d0e75 | ||
| 
						 | 
					9f6abbe572 | ||
| 
						 | 
					d90a071d88 | ||
| 
						 | 
					69dd06b107 | ||
| 
						 | 
					2be054a004 | ||
| 
						 | 
					a2fcd3992e | ||
| 
						 | 
					9a92df420e | ||
| 
						 | 
					c6864c74bc | ||
| 
						 | 
					941457b392 | ||
| 
						 | 
					e84ea56a8f | ||
| 
						 | 
					0d36d64454 | ||
| 
						 | 
					74b2407c53 | ||
| 
						 | 
					b97331282f | ||
| 
						 | 
					fed5ebd9c8 | ||
| 
						 | 
					be4a6f1a4f | ||
| 
						 | 
					b383d43d9c | ||
| 
						 | 
					54b676b529 | ||
| 
						 | 
					d465ca87f2 | ||
| 
						 | 
					e32c2b7dea | ||
| 
						 | 
					444cbc2aa1 | ||
| 
						 | 
					497622832e | ||
| 
						 | 
					f36ac8831e | ||
| 
						 | 
					66049f400c | ||
| 
						 | 
					8daa235a88 | 
							
								
								
									
										66
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										66
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -10,8 +10,74 @@
 | 
			
		||||
> [!CAUTION]
 | 
			
		||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
 | 
			
		||||
 | 
			
		||||
## 2025-08-27
 | 
			
		||||
 | 
			
		||||
## 2025-08-26
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - tracktor ([#7190](https://github.com/community-scripts/ProxmoxVE/pull/7190))
 | 
			
		||||
- PBS: Upgrade Script for v4 [@MickLesk](https://github.com/MickLesk) ([#7214](https://github.com/community-scripts/ProxmoxVE/pull/7214))
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Refactor: Post-PBS-Script [@MickLesk](https://github.com/MickLesk) ([#7213](https://github.com/community-scripts/ProxmoxVE/pull/7213))
 | 
			
		||||
    - Refactor: Post-PMG-Script [@MickLesk](https://github.com/MickLesk) ([#7212](https://github.com/community-scripts/ProxmoxVE/pull/7212))
 | 
			
		||||
 | 
			
		||||
### 🌐 Website
 | 
			
		||||
 | 
			
		||||
  - #### 📝 Script Information
 | 
			
		||||
 | 
			
		||||
    - [website] Update documentation URLs [@tremor021](https://github.com/tremor021) ([#7201](https://github.com/community-scripts/ProxmoxVE/pull/7201))
 | 
			
		||||
 | 
			
		||||
## 2025-08-25
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - Alpine-RustDesk Server [@tremor021](https://github.com/tremor021) ([#7191](https://github.com/community-scripts/ProxmoxVE/pull/7191))
 | 
			
		||||
- Alpine-Redlib ([#7178](https://github.com/community-scripts/ProxmoxVE/pull/7178))
 | 
			
		||||
- healthchecks ([#7177](https://github.com/community-scripts/ProxmoxVE/pull/7177))
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - FileBrowser Quantum: safer update (tmp download + atomic replace + arch autodetect) [@CommanderPaladin](https://github.com/CommanderPaladin) ([#7174](https://github.com/community-scripts/ProxmoxVE/pull/7174))
 | 
			
		||||
    - Immich: bump to v1.139.4 [@vhsdream](https://github.com/vhsdream) ([#7138](https://github.com/community-scripts/ProxmoxVE/pull/7138))
 | 
			
		||||
    - Komodo: Fix compose.env path [@tremor021](https://github.com/tremor021) ([#7202](https://github.com/community-scripts/ProxmoxVE/pull/7202))
 | 
			
		||||
    - Komodo: Fix update procedure and missing env var [@tremor021](https://github.com/tremor021) ([#7198](https://github.com/community-scripts/ProxmoxVE/pull/7198))
 | 
			
		||||
    - SnipeIT: Update nginx config to v8.3 [@tremor021](https://github.com/tremor021) ([#7171](https://github.com/community-scripts/ProxmoxVE/pull/7171))
 | 
			
		||||
    - Lidarr: Fix RELEASE variable fetching [@tremor021](https://github.com/tremor021) ([#7162](https://github.com/community-scripts/ProxmoxVE/pull/7162))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Komodo: Generate admin users password [@tremor021](https://github.com/tremor021) ([#7193](https://github.com/community-scripts/ProxmoxVE/pull/7193))
 | 
			
		||||
    - [core]: uv uses now "update-shell" command [@MickLesk](https://github.com/MickLesk) ([#7172](https://github.com/community-scripts/ProxmoxVE/pull/7172))
 | 
			
		||||
    - [core]: tools.func - better verbose for postgresql [@MickLesk](https://github.com/MickLesk) ([#7173](https://github.com/community-scripts/ProxmoxVE/pull/7173))
 | 
			
		||||
    - n8n: Force update to NodeJS v22 [@tremor021](https://github.com/tremor021) ([#7176](https://github.com/community-scripts/ProxmoxVE/pull/7176))
 | 
			
		||||
 | 
			
		||||
### 🌐 Website
 | 
			
		||||
 | 
			
		||||
  - #### 📝 Script Information
 | 
			
		||||
 | 
			
		||||
    - 2FAuth: Fix website and docs URLs [@tremor021](https://github.com/tremor021) ([#7199](https://github.com/community-scripts/ProxmoxVE/pull/7199))
 | 
			
		||||
 | 
			
		||||
## 2025-08-24
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - Kasm: Fix install log parsing [@tremor021](https://github.com/tremor021) ([#7140](https://github.com/community-scripts/ProxmoxVE/pull/7140))
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - BookLore: Fix Nginx config [@tremor021](https://github.com/tremor021) ([#7155](https://github.com/community-scripts/ProxmoxVE/pull/7155))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Syncthing: Switch to v2 stable repository [@tremor021](https://github.com/tremor021) ([#7150](https://github.com/community-scripts/ProxmoxVE/pull/7150))
 | 
			
		||||
 | 
			
		||||
## 2025-08-23
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										56
									
								
								ct/alpine-redlib.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								ct/alpine-redlib.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,56 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
			
		||||
# Copyright (c) 2021-2025 community-scripts ORG
 | 
			
		||||
# Author: andrej-kocijan (Andrej Kocijan)
 | 
			
		||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
			
		||||
# Source: https://github.com/redlib-org/redlib
 | 
			
		||||
 | 
			
		||||
APP="Alpine-Redlib"
 | 
			
		||||
var_tags="${var_tags:-alpine;frontend}"
 | 
			
		||||
var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-1}"
 | 
			
		||||
var_os="${var_os:-alpine}"
 | 
			
		||||
var_version="${var_version:-3.22}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
variables
 | 
			
		||||
color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_resources
 | 
			
		||||
 | 
			
		||||
  if [[ ! -d /opt/redlib ]]; then
 | 
			
		||||
      msg_error "No ${APP} Installation Found!"
 | 
			
		||||
      exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  msg_info "Updating Alpine Packages"
 | 
			
		||||
  $STD apk -U upgrade
 | 
			
		||||
  msg_ok "Updated Alpine Packages"
 | 
			
		||||
 | 
			
		||||
  msg_info "Stopping ${APP} Service"
 | 
			
		||||
  $STD rc-service redlib stop
 | 
			
		||||
  msg_ok "Stopped ${APP} Service"
 | 
			
		||||
 | 
			
		||||
  fetch_and_deploy_gh_release "redlib" "redlib-org/redlib" "prebuild" "latest" "/opt/redlib" "redlib-x86_64-unknown-linux-musl.tar.gz"
 | 
			
		||||
 | 
			
		||||
  msg_info "Starting ${APP} Service"
 | 
			
		||||
  $STD rc-service redlib start
 | 
			
		||||
  msg_ok "Started ${APP} Service"
 | 
			
		||||
 | 
			
		||||
  msg_ok "Update Successful"
 | 
			
		||||
  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}:5252${CL}"
 | 
			
		||||
							
								
								
									
										74
									
								
								ct/alpine-rustdeskserver.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								ct/alpine-rustdeskserver.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,74 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
			
		||||
# Copyright (c) 2021-2025 community-scripts ORG
 | 
			
		||||
# Author: Slaviša Arežina (tremor021)
 | 
			
		||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
			
		||||
# Source: https://github.com/rustdesk/rustdesk-server
 | 
			
		||||
 | 
			
		||||
APP="Alpine-RustDeskServer"
 | 
			
		||||
var_tags="${var_tags:-alpine;monitoring}"
 | 
			
		||||
var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-3}"
 | 
			
		||||
var_os="${var_os:-alpine}"
 | 
			
		||||
var_version="${var_version:-3.22}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
variables
 | 
			
		||||
color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
  header_info
 | 
			
		||||
  if [[ ! -d /opt/rustdesk-server ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit 1
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  APIRELEASE=$(curl -s https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
  RELEASE=$(curl -s https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
			
		||||
  if [ "${RELEASE}" != "$(cat ~/.rustdesk-server 2>/dev/null)" ] || [ ! -f ~/.rustdesk-server ]; then
 | 
			
		||||
    msg_info "Updating RustDesk Server to v${RELEASE}"
 | 
			
		||||
    $STD apk -U upgrade
 | 
			
		||||
    $STD service rustdesk-server-hbbs stop
 | 
			
		||||
    $STD service rustdesk-server-hbbr stop
 | 
			
		||||
    temp_file1=$(mktemp)
 | 
			
		||||
    curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-amd64.zip" -o "$temp_file1"
 | 
			
		||||
    $STD unzip "$temp_file1"
 | 
			
		||||
    cp -r amd64/* /opt/rustdesk-server/
 | 
			
		||||
    echo "${RELEASE}" >~/.rustdesk-server
 | 
			
		||||
    $STD service rustdesk-server-hbbs start
 | 
			
		||||
    $STD service rustdesk-server-hbbr start
 | 
			
		||||
    rm -rf amd64
 | 
			
		||||
    rm -f $temp_file1
 | 
			
		||||
    msg_ok "Updated RustDesk Server successfully"
 | 
			
		||||
  else
 | 
			
		||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
			
		||||
  fi
 | 
			
		||||
  if [ "${APIRELEASE}" != "$(cat ~/.rustdesk-api)" ] || [ ! -f ~/.rustdesk-api ]; then
 | 
			
		||||
    msg_info "Updating RustDesk API to v${APIRELEASE}"
 | 
			
		||||
    $STD service rustdesk-api stop
 | 
			
		||||
    temp_file2=$(mktemp)
 | 
			
		||||
    curl -fsSL "https://github.com/lejianwen/rustdesk-api/releases/download/v${APIRELEASE}/linux-amd64.tar.gz" -o "$temp_file2"
 | 
			
		||||
    $STD tar zxvf "$temp_file2"
 | 
			
		||||
    cp -r release/* /opt/rustdesk-api
 | 
			
		||||
    echo "${APIRELEASE}" >~/.rustdesk-api
 | 
			
		||||
    $STD service rustdesk-api start
 | 
			
		||||
    rm -rf release
 | 
			
		||||
    rm -f $temp_file2
 | 
			
		||||
    msg_ok "Updated RustDesk API"
 | 
			
		||||
  else
 | 
			
		||||
    msg_ok "No update required. RustDesk API is already at v${APIRELEASE}"
 | 
			
		||||
  fi
 | 
			
		||||
  exit 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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 IP:${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:21114${CL}"
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/alpine-redlib
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/alpine-redlib
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
    ___    __      _                  ____           _____ __  
 | 
			
		||||
   /   |  / /___  (_)___  ___        / __ \___  ____/ / (_) /_ 
 | 
			
		||||
  / /| | / / __ \/ / __ \/ _ \______/ /_/ / _ \/ __  / / / __ \
 | 
			
		||||
 / ___ |/ / /_/ / / / / /  __/_____/ _, _/  __/ /_/ / / / /_/ /
 | 
			
		||||
/_/  |_/_/ .___/_/_/ /_/\___/     /_/ |_|\___/\__,_/_/_/_.___/ 
 | 
			
		||||
        /_/                                                    
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/alpine-rustdeskserver
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/alpine-rustdeskserver
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
    ___    __      _                  ____             __  ____            __   _____                          
 | 
			
		||||
   /   |  / /___  (_)___  ___        / __ \__  _______/ /_/ __ \___  _____/ /__/ ___/___  ______   _____  _____
 | 
			
		||||
  / /| | / / __ \/ / __ \/ _ \______/ /_/ / / / / ___/ __/ / / / _ \/ ___/ //_/\__ \/ _ \/ ___/ | / / _ \/ ___/
 | 
			
		||||
 / ___ |/ / /_/ / / / / /  __/_____/ _, _/ /_/ (__  ) /_/ /_/ /  __(__  ) ,<  ___/ /  __/ /   | |/ /  __/ /    
 | 
			
		||||
/_/  |_/_/ .___/_/_/ /_/\___/     /_/ |_|\__,_/____/\__/_____/\___/____/_/|_|/____/\___/_/    |___/\___/_/     
 | 
			
		||||
        /_/                                                                                                    
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/healthchecks
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/healthchecks
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
    __               ____  __         __              __       
 | 
			
		||||
   / /_  ___  ____ _/ / /_/ /_  _____/ /_  ___  _____/ /_______
 | 
			
		||||
  / __ \/ _ \/ __ `/ / __/ __ \/ ___/ __ \/ _ \/ ___/ //_/ ___/
 | 
			
		||||
 / / / /  __/ /_/ / / /_/ / / / /__/ / / /  __/ /__/ ,< (__  ) 
 | 
			
		||||
/_/ /_/\___/\__,_/_/\__/_/ /_/\___/_/ /_/\___/\___/_/|_/____/  
 | 
			
		||||
                                                               
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/tracktor
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/tracktor
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
   __                  __   __            
 | 
			
		||||
  / /__________ ______/ /__/ /_____  _____
 | 
			
		||||
 / __/ ___/ __ `/ ___/ //_/ __/ __ \/ ___/
 | 
			
		||||
/ /_/ /  / /_/ / /__/ ,< / /_/ /_/ / /    
 | 
			
		||||
\__/_/   \__,_/\___/_/|_|\__/\____/_/     
 | 
			
		||||
                                          
 | 
			
		||||
							
								
								
									
										70
									
								
								ct/healthchecks.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								ct/healthchecks.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,70 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
			
		||||
# Copyright (c) 2021-2025 community-scripts ORG
 | 
			
		||||
# Author: MickLesk (CanbiZ)
 | 
			
		||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
			
		||||
# Source: https://healthchecks.io/
 | 
			
		||||
 | 
			
		||||
APP="healthchecks"
 | 
			
		||||
var_tags="${var_tags:-monitoring}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-5}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
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/healthchecks ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/healthchecks/healthchecks/releases/latest | jq '.tag_name' | sed 's/^"v//;s/"$//')
 | 
			
		||||
  if [[ "${RELEASE}" != "$(cat ~/.healthchecks 2>/dev/null)" ]] || [[ ! -f ~/.healthchecks ]]; then
 | 
			
		||||
    msg_info "Stopping $APP"
 | 
			
		||||
    systemctl stop healthchecks
 | 
			
		||||
    msg_ok "Stopped $APP"
 | 
			
		||||
 | 
			
		||||
    setup_uv
 | 
			
		||||
    fetch_and_deploy_gh_release "healthchecks" "healthchecks/healthchecks"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating $APP to v${RELEASE}"
 | 
			
		||||
    cd /opt/healthchecks
 | 
			
		||||
    mkdir -p /opt/healthchecks/static-collected/
 | 
			
		||||
    $STD uv pip install wheel gunicorn -r requirements.txt --system
 | 
			
		||||
    $STD uv run -- python manage.py makemigrations
 | 
			
		||||
    $STD uv run -- python manage.py migrate --noinput
 | 
			
		||||
    $STD uv run -- python manage.py collectstatic --noinput
 | 
			
		||||
    $STD uv run -- python manage.py compress
 | 
			
		||||
    msg_ok "Updated $APP to v${RELEASE}"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting $APP"
 | 
			
		||||
    systemctl start healthchecks
 | 
			
		||||
    systemctl restart caddy
 | 
			
		||||
    msg_ok "Started $APP"
 | 
			
		||||
 | 
			
		||||
    msg_ok "Update Successful"
 | 
			
		||||
  else
 | 
			
		||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
			
		||||
  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}https://${IP}${CL}"
 | 
			
		||||
@@ -61,7 +61,7 @@ function update_script() {
 | 
			
		||||
    done
 | 
			
		||||
    msg_ok "Image-processing libraries up to date"
 | 
			
		||||
  fi
 | 
			
		||||
  RELEASE="1.139.2"
 | 
			
		||||
  RELEASE="1.139.4"
 | 
			
		||||
  #RELEASE=$(curl -fsSL https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
  if [[ -f ~/.immich && "$RELEASE" == "$(cat ~/.immich)" ]]; then
 | 
			
		||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
			
		||||
@@ -138,14 +138,16 @@ EOF
 | 
			
		||||
  corepack enable
 | 
			
		||||
 | 
			
		||||
  # server build
 | 
			
		||||
  export SHARP_IGNORE_GLOBAL_LIBVIPS=true
 | 
			
		||||
  $STD pnpm --filter immich --frozen-lockfile build
 | 
			
		||||
  unset SHARP_IGNORE_GLOBAL_LIBVIPS
 | 
			
		||||
  export SHARP_FORCE_GLOBAL_LIBVIPS=true
 | 
			
		||||
  $STD pnpm --filter immich --frozen-lockfile --prod --no-optional deploy "$APP_DIR"
 | 
			
		||||
  cp "$APP_DIR"/package.json "$APP_DIR"/bin
 | 
			
		||||
  sed -i 's|^start|./start|' "$APP_DIR"/bin/immich-admin
 | 
			
		||||
 | 
			
		||||
  # openapi & web build
 | 
			
		||||
  cd "$SRC_DIR"
 | 
			
		||||
  export SHARP_FORCE_GLOBAL_LIBVIPS=true
 | 
			
		||||
  $STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install
 | 
			
		||||
  $STD pnpm --filter @immich/sdk --filter immich-web build
 | 
			
		||||
  cp -a web/build "$APP_DIR"/www
 | 
			
		||||
 
 | 
			
		||||
@@ -56,6 +56,9 @@ function update_script() {
 | 
			
		||||
    mv "$BACKUP_FILE" "$COMPOSE_FILE"
 | 
			
		||||
    exit 1
 | 
			
		||||
  fi
 | 
			
		||||
  if ! grep -qxF 'COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups' /opt/komodo/compose.env; then
 | 
			
		||||
    sed -i '/^COMPOSE_KOMODO_IMAGE_TAG=latest$/a COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups' /opt/komodo/compose.env
 | 
			
		||||
  fi
 | 
			
		||||
  $STD docker compose -p komodo -f "$COMPOSE_FILE" --env-file /opt/komodo/compose.env up -d
 | 
			
		||||
  msg_ok "Updated ${APP}"
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
@@ -28,6 +28,10 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if ! command -v jq &>/dev/null; then
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get install -y jq
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/Lidarr/Lidarr/releases/latest | jq -r '.tag_name' | sed 's/^v//')
 | 
			
		||||
  if [[ "${RELEASE}" != "$(cat ~/.lidarr)" ]] || [[ ! -f ~/.lidarr ]]; then
 | 
			
		||||
 
 | 
			
		||||
@@ -27,13 +27,6 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
 | 
			
		||||
    if ! command -v npm >/dev/null 2>&1; then
 | 
			
		||||
      echo "Installing NPM..."
 | 
			
		||||
      $STD apt-get install -y npm
 | 
			
		||||
      echo "Installed NPM..."
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
  if [ ! -f /opt/n8n.env ]; then
 | 
			
		||||
    sed -i 's|^Environment="N8N_SECURE_COOKIE=false"$|EnvironmentFile=/opt/n8n.env|' /etc/systemd/system/n8n.service
 | 
			
		||||
    HOST_IP=$(hostname -I | awk '{print $1}')
 | 
			
		||||
@@ -45,6 +38,7 @@ N8N_PROTOCOL=http
 | 
			
		||||
N8N_HOST=$HOST_IP
 | 
			
		||||
EOF
 | 
			
		||||
  fi
 | 
			
		||||
  NODE_VERSION="22" setup_nodejs
 | 
			
		||||
 | 
			
		||||
  msg_info "Updating ${APP} LXC"
 | 
			
		||||
  $STD npm update -g n8n
 | 
			
		||||
 
 | 
			
		||||
@@ -40,6 +40,7 @@ function update_script() {
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "snipe-it" "snipe/snipe-it" "tarball"
 | 
			
		||||
    [[ "$(php -v 2>/dev/null)" == PHP\ 8.2* ]] && PHP_VERSION="8.3" PHP_MODULE="common,ctype,ldap,fileinfo,iconv,mysql,soap,xsl" PHP_FPM="YES" setup_php
 | 
			
		||||
    sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/snipeit.conf
 | 
			
		||||
    setup_composer
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP} to v${RELEASE}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										72
									
								
								ct/tracktor.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								ct/tracktor.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,72 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
			
		||||
# Copyright (c) 2021-2025 community-scripts ORG
 | 
			
		||||
# Author: CrazyWolf13
 | 
			
		||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
			
		||||
# Source: https://tracktor.bytedge.in/
 | 
			
		||||
 | 
			
		||||
APP="tracktor"
 | 
			
		||||
var_tags="${var_tags:-car;monitoring}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-4096}"
 | 
			
		||||
var_disk="${var_disk:-6}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
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/tracktor ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/javedh-dev/tracktor/releases/latest | jq -r '.tag_name' | sed 's/^v//')
 | 
			
		||||
  if [[ "${RELEASE}" != "$(cat ~/.tracktor 2>/dev/null)" ]] || [[ ! -f ~/.tracktor ]]; then
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop tracktor
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Creating Backup"
 | 
			
		||||
    cp /opt/tracktor/app/backend/.env /opt/tracktor.env
 | 
			
		||||
    msg_ok "Created Backup"
 | 
			
		||||
 | 
			
		||||
    setup_nodejs
 | 
			
		||||
    fetch_and_deploy_gh_release "tracktor" "javedh-dev/tracktor" "tarball" "latest" "/opt/tracktor"
 | 
			
		||||
    
 | 
			
		||||
    msg_info "Updating ${APP}"
 | 
			
		||||
    cd /opt/tracktor
 | 
			
		||||
    $STD npm install
 | 
			
		||||
    $STD npm run build
 | 
			
		||||
    msg_ok "Updated $APP"
 | 
			
		||||
 | 
			
		||||
    msg_info "Restoring Backup"
 | 
			
		||||
    cp /opt/tracktor.env /opt/tracktor/app/backend/.env
 | 
			
		||||
    msg_ok "Restored Backup"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start tracktor
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  else
 | 
			
		||||
    msg_ok "Already up to date"
 | 
			
		||||
  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}"
 | 
			
		||||
@@ -9,8 +9,8 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 80,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "website": "https://docs.2fauth.app/",
 | 
			
		||||
  "documentation": "https://docs.2fauth.app/",
 | 
			
		||||
  "website": "https://2fauth.app/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/2fauth.webp",
 | 
			
		||||
  "config_path": "cat /opt/2fauth/.env",
 | 
			
		||||
  "description": "2FAuth is a web based self-hosted alternative to One Time Passcode (OTP) generators like Google Authenticator, designed for both mobile and desktop. It aims to ease you perform your 2FA authentication steps whatever the device you handle, with a clean and suitable interface.",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8080,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://guacamole.apache.org/doc/gug/",
 | 
			
		||||
  "website": "https://guacamole.apache.org/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/apache-guacamole.webp",
 | 
			
		||||
  "config_path": "/etc/guacamole/guacd.conf",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,10 +9,10 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 3142,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://www.unix-ag.uni-kl.de/~bloch/acng/html/index.html",
 | 
			
		||||
  "website": "https://www.unix-ag.uni-kl.de/~bloch/acng/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/linux.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
  "config_path": "/etc/apt-cacher-ng/acng.conf",
 | 
			
		||||
  "description": "Apt-Cacher-NG is a caching proxy. Specialized for package files from Linux distributors, primarily for Debian (and Debian based) distributions.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -9,8 +9,8 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": null,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "website": null,
 | 
			
		||||
  "documentation": "https://wiki.archlinux.org/title/Main_page",
 | 
			
		||||
  "website": "https://archlinux.org/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/arch-linux.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
  "description": "Arch Linux is a highly customizable, independent Linux distribution that gives users complete control over their system. Known for its rolling release model, Arch Linux is always up-to-date with the latest software. It's favored by experienced users who appreciate its minimalist approach, demanding a hands-on installation and configuration process. This level of control and flexibility makes it a popular choice for those who want to tailor their Linux system to their exact needs.",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 80,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://sabre.io/dav/",
 | 
			
		||||
  "website": "https://sabre.io/baikal/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/baikal.webp",
 | 
			
		||||
  "config_path": "/opt/baikal/config/baikal.yaml",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 4000,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://0xerr0r.github.io/blocky/latest/configuration/",
 | 
			
		||||
  "website": "https://0xerr0r.github.io/blocky/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/blocky.webp",
 | 
			
		||||
  "config_path": "/opt/blocky/config.yml",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,40 +1,40 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "BookStack",
 | 
			
		||||
    "slug": "bookstack",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        12
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-11-05",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": true,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 80,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://www.bookstackapp.com/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/bookstack.webp",
 | 
			
		||||
    "config_path": "/opt/bookstack/.env",
 | 
			
		||||
    "description": "BookStack is a user-friendly documentation platform that offers a simple and intuitive experience. New users should be able to create content with basic word-processing skills. While the platform provides advanced features, they do not interfere with the core simplicity of the user experience.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/bookstack.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 1,
 | 
			
		||||
                "ram": 1024,
 | 
			
		||||
                "hdd": 4,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": "admin@admin.com",
 | 
			
		||||
        "password": "password"
 | 
			
		||||
    },
 | 
			
		||||
    "notes": [
 | 
			
		||||
        {
 | 
			
		||||
            "text": "Bookstack works only with static ip. If you Change the IP of your LXC, you Need to edit the .env File `nano /opt/bookstack/.env`",
 | 
			
		||||
            "type": "warning"
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
  "name": "BookStack",
 | 
			
		||||
  "slug": "bookstack",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    12
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-11-05",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 80,
 | 
			
		||||
  "documentation": "https://www.bookstackapp.com/docs/",
 | 
			
		||||
  "website": "https://www.bookstackapp.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/bookstack.webp",
 | 
			
		||||
  "config_path": "/opt/bookstack/.env",
 | 
			
		||||
  "description": "BookStack is a user-friendly documentation platform that offers a simple and intuitive experience. New users should be able to create content with basic word-processing skills. While the platform provides advanced features, they do not interfere with the core simplicity of the user experience.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/bookstack.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 1,
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": "admin@admin.com",
 | 
			
		||||
    "password": "password"
 | 
			
		||||
  },
 | 
			
		||||
  "notes": [
 | 
			
		||||
    {
 | 
			
		||||
      "text": "Bookstack works only with static ip. If you Change the IP of your LXC, you Need to edit the .env File `nano /opt/bookstack/.env`",
 | 
			
		||||
      "type": "warning"
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 80,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://wiki.casaos.io/en/home",
 | 
			
		||||
  "website": "https://www.casaos.io/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/casaos.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8082,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://athou.github.io/commafeed/documentation/",
 | 
			
		||||
  "website": "https://www.commafeed.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/commafeed.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": null,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://doc.crowdsec.net/",
 | 
			
		||||
  "website": "https://crowdsec.net/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/crowdsec.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,4 @@
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
  "name": "Dashy",
 | 
			
		||||
  "slug": "dashy",
 | 
			
		||||
  "categories": [
 | 
			
		||||
@@ -10,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 4000,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://dashy.to/docs",
 | 
			
		||||
  "website": "https://dashy.to/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/dashy.webp",
 | 
			
		||||
  "config_path": "/opt/dashy/user-data/conf.yml",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 3000,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://forgejo.org/docs/latest/",
 | 
			
		||||
  "website": "https://forgejo.org/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/forgejo.webp",
 | 
			
		||||
  "config_path": "/etc/forgejo/app.ini",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": true,
 | 
			
		||||
  "interface_port": 5000,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://docs.frigate.video/",
 | 
			
		||||
  "website": "https://frigate.video/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/frigate.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 3000,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://docs.gitea.com/",
 | 
			
		||||
  "website": "https://gitea.com",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/gitea.webp",
 | 
			
		||||
  "config_path": "/etc/gitea/app.ini",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "Grist",
 | 
			
		||||
    "slug": "grist",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        12
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-12-27",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": true,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 8484,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://www.getgrist.com/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/grist.webp",
 | 
			
		||||
    "config_path": "/opt/grist/.env",
 | 
			
		||||
    "description": "Grist is a modern, open source spreadsheet that goes beyond the grid",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/grist.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 2,
 | 
			
		||||
                "ram": 3072,
 | 
			
		||||
                "hdd": 6,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": []
 | 
			
		||||
  "name": "Grist",
 | 
			
		||||
  "slug": "grist",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    12
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-12-27",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8484,
 | 
			
		||||
  "documentation": "https://support.getgrist.com/self-managed/#the-essentials",
 | 
			
		||||
  "website": "https://www.getgrist.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/grist.webp",
 | 
			
		||||
  "config_path": "/opt/grist/.env",
 | 
			
		||||
  "description": "Grist is a modern, open source spreadsheet that goes beyond the grid",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/grist.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 2,
 | 
			
		||||
        "ram": 3072,
 | 
			
		||||
        "hdd": 6,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										44
									
								
								frontend/public/json/healthchecks.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								frontend/public/json/healthchecks.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "Healthchecks",
 | 
			
		||||
  "slug": "healthchecks",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    9
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2025-08-25",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "config_path": "/opt/healthchecks/hc/local_settings.py",
 | 
			
		||||
  "interface_port": 3000,
 | 
			
		||||
  "documentation": "https://healthchecks.io/docs/",
 | 
			
		||||
  "website": "https://healthchecks.io/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/healthchecks.webp",
 | 
			
		||||
  "description": "Healthchecks is a cron job monitoring service. It listens for HTTP requests and email messages (\"pings\") from your cron jobs and scheduled tasks (\"checks\"). When a ping does not arrive on time, Healthchecks sends out alerts. Healthchecks comes with a web dashboard, API, 25+ integrations for delivering notifications, monthly email reports, WebAuthn 2FA support, team management features: projects, team members, read-only access.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/healthchecks.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 2,
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 5,
 | 
			
		||||
        "os": "Debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": [
 | 
			
		||||
    {
 | 
			
		||||
      "text": "if you change your LXC-IP, you need to update /etc/caddy/Caddyfile & /opt/healthchecks/hc/local_settings.py",
 | 
			
		||||
      "type": "info"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "text": "Show credentials: `cat ~/healthchecks.creds`",
 | 
			
		||||
      "type": "info"
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 7990,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://github.com/linuxserver/Heimdall/blob/2.x/readme.md",
 | 
			
		||||
  "website": "https://heimdall.site/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/heimdall.webp",
 | 
			
		||||
  "config_path": "/opt/Heimdall/.env",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 1080,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://github.com/heiher/hev-socks5-server/blob/main/README.md",
 | 
			
		||||
  "website": "https://github.com/heiher/hev-socks5-server",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/hev.webp",
 | 
			
		||||
  "config_path": "/opt/hivemq/conf/config.xml",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 7575,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://homarr.dev/docs/getting-started/",
 | 
			
		||||
  "website": "https://homarr.dev/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/homarr.webp",
 | 
			
		||||
  "config_path": "/opt/homarr/.env",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8010,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://github.com/bastienwirtz/homer/blob/main/README.md#table-of-contents",
 | 
			
		||||
  "website": "https://github.com/bastienwirtz/homer",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/homer.webp",
 | 
			
		||||
  "config_path": "/opt/homer/assets/config.yml",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8086,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://docs.influxdata.com/",
 | 
			
		||||
  "website": "https://www.influxdata.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/influxdb.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 26000,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://www.iventoy.com/en/doc_news.html",
 | 
			
		||||
  "website": "https://www.iventoy.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/iventoy.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 5055,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://docs.jellyseerr.dev/",
 | 
			
		||||
  "website": "https://github.com/Fallenbagel/jellyseerr",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/jellyseerr.webp",
 | 
			
		||||
  "config_path": "/etc/jellyseerr/jellyseerr.conf",
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
      "type": "warning"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "text": "Show password: `cat ~/kasm.creds`",
 | 
			
		||||
      "text": "Show credentials: `cat ~/kasm.creds`",
 | 
			
		||||
      "type": "info"
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
 
 | 
			
		||||
@@ -44,7 +44,7 @@
 | 
			
		||||
  },
 | 
			
		||||
  "notes": [
 | 
			
		||||
    {
 | 
			
		||||
      "text": "After the initial installation: Enter your desired admin user and password and then click on Sign Up",
 | 
			
		||||
      "text": "For admin username and password type `cat ~/komodo.creds` inside LXC.",
 | 
			
		||||
      "type": "info"
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 3000,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://mafl.hywax.space/reference/configuration.html",
 | 
			
		||||
  "website": "https://mafl.hywax.space/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mafl.webp",
 | 
			
		||||
  "config_path": "/opt/mafl/data/config.yml",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8283,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://github.com/Luligu/matterbridge/blob/main/README.md",
 | 
			
		||||
  "website": "https://github.com/Luligu/matterbridge",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/matterbridge.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,40 +1,40 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "Mattermost",
 | 
			
		||||
    "slug": "mattermost",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        25
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2025-01-30",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": false,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 8065,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://mattermost.com/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mattermost.webp",
 | 
			
		||||
    "config_path": "/opt/mattermost/config/config.json",
 | 
			
		||||
    "description": "Mattermost is an open source platform for secure collaboration across the entire software development lifecycle. It's written in Go and React and runs as a single Linux binary with MySQL or PostgreSQL. It has a slimilar interface and features to Slack or Discord.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/mattermost.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 1,
 | 
			
		||||
                "ram": 2048,
 | 
			
		||||
                "hdd": 8,
 | 
			
		||||
                "os": "ubuntu",
 | 
			
		||||
                "version": "24.04"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": [
 | 
			
		||||
        {
 | 
			
		||||
            "text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.",
 | 
			
		||||
            "type": "warning"
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
  "name": "Mattermost",
 | 
			
		||||
  "slug": "mattermost",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    25
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2025-01-30",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8065,
 | 
			
		||||
  "documentation": "https://docs.mattermost.com/",
 | 
			
		||||
  "website": "https://mattermost.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mattermost.webp",
 | 
			
		||||
  "config_path": "/opt/mattermost/config/config.json",
 | 
			
		||||
  "description": "Mattermost is an open source platform for secure collaboration across the entire software development lifecycle. It's written in Go and React and runs as a single Linux binary with MySQL or PostgreSQL. It has a slimilar interface and features to Slack or Discord.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/mattermost.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 1,
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 8,
 | 
			
		||||
        "os": "ubuntu",
 | 
			
		||||
        "version": "24.04"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": [
 | 
			
		||||
    {
 | 
			
		||||
      "text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.",
 | 
			
		||||
      "type": "warning"
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "Medusa",
 | 
			
		||||
    "slug": "medusa",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        13
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-05-02",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": true,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 8081,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://pymedusa.com/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/py-medusa.webp",
 | 
			
		||||
    "config_path": "",
 | 
			
		||||
    "description": "Medusa is an automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic: automatic torrent/nzb searching, downloading, and processing at the qualities you want.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/medusa.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 2,
 | 
			
		||||
                "ram": 1024,
 | 
			
		||||
                "hdd": 6,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": []
 | 
			
		||||
  "name": "Medusa",
 | 
			
		||||
  "slug": "medusa",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    13
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-05-02",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8081,
 | 
			
		||||
  "documentation": "https://github.com/pymedusa/Medusa/wiki",
 | 
			
		||||
  "website": "https://pymedusa.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/py-medusa.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
  "description": "Medusa is an automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic: automatic torrent/nzb searching, downloading, and processing at the qualities you want.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/medusa.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 2,
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 6,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8081,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://github.com/alexta69/metube/blob/master/README.md",
 | 
			
		||||
  "website": "https://github.com/alexta69/metube",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/metube.webp",
 | 
			
		||||
  "config_path": "/opt/metube/.env",
 | 
			
		||||
 
 | 
			
		||||
@@ -10,8 +10,8 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": null,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "website": "https://help.mikrotik.com/docs/display/ROS/Cloud+Hosted+Router%2C+CHR",
 | 
			
		||||
  "documentation": "https://help.mikrotik.com/docs/spaces/ROS/pages/18350234/Cloud+Hosted+Router+CHR",
 | 
			
		||||
  "website": "https://mikrotik.com",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mikrotik.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
  "description": "Mikrotik RouterOS CHR is a Linux-based operating system that transforms a computer into a router. It provides a wide range of features for network routing, firewall, bandwidth management, wireless access point, backhaul link, hotspot gateway, VPN server, and many others. RouterOS is a versatile solution that supports various network configurations, including those with multiple WAN links, hotspots, and VPNs. It is highly customizable, allowing administrators to configure and manage their networks according to their specific requirements. With RouterOS, network administrators can monitor and control the performance and security of their networks, ensuring reliable and secure communication for their users. The software is designed to be easy to use and provides a wide range of tools for network management, making it a valuable solution for small and large networks alike.",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "MongoDB",
 | 
			
		||||
    "slug": "mongodb",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        8
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-05-18",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": false,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": null,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://www.mongodb.com/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mongodb.webp",
 | 
			
		||||
    "config_path": "",
 | 
			
		||||
    "description": "MongoDB is a NoSQL database that uses a document-oriented data model, storing data in JSON-like documents with dynamic schemas. This design offers flexibility and scalability, making it ideal for handling large volumes of data. MongoDB supports indexing, replication, and load balancing, ensuring high performance and availability, and can distribute data across multiple servers, making it well-suited for big data applications.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/mongodb.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 1,
 | 
			
		||||
                "ram": 512,
 | 
			
		||||
                "hdd": 4,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": []
 | 
			
		||||
  "name": "MongoDB",
 | 
			
		||||
  "slug": "mongodb",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    8
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-05-18",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 27017,
 | 
			
		||||
  "documentation": "https://www.mongodb.com/docs/manual/",
 | 
			
		||||
  "website": "https://www.mongodb.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mongodb.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
  "description": "MongoDB is a NoSQL database that uses a document-oriented data model, storing data in JSON-like documents with dynamic schemas. This design offers flexibility and scalability, making it ideal for handling large volumes of data. MongoDB supports indexing, replication, and load balancing, ensuring high performance and availability, and can distribute data across multiple servers, making it well-suited for big data applications.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/mongodb.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 1,
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 80,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://docs.nextcloud.com/server/21/admin_manual/contents.html",
 | 
			
		||||
  "website": "https://www.turnkeylinux.org/nextcloud",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/nextcloud.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 81,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://nginxproxymanager.com/guide/",
 | 
			
		||||
  "website": "https://nginxproxymanager.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/nginx-proxy-manager.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 5454,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://notifiarr.wiki/",
 | 
			
		||||
  "website": "https://notifiarr.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/notifiarr.webp",
 | 
			
		||||
  "config_path": "/etc/notifiarr/notifiarr.conf",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 80,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://docs.ntfy.sh/",
 | 
			
		||||
  "website": "https://ntfy.sh/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/ntfy.webp",
 | 
			
		||||
  "config_path": "/etc/ntfy/server.yml",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 1337,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://docs.olivetin.app/",
 | 
			
		||||
  "website": "https://www.olivetin.app/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/olivetin.webp",
 | 
			
		||||
  "config_path": "/etc/OliveTin/config.yaml",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 80,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://docs.openmediavault.org/en/stable/",
 | 
			
		||||
  "website": "https://www.openmediavault.org/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/openmediavault.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": null,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://openwrt.org/docs/start",
 | 
			
		||||
  "website": "https://openwrt.org/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/openwrt.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 80,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://doc.owncloud.com/",
 | 
			
		||||
  "website": "https://www.turnkeylinux.org/owncloud",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/owncloud.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 3000,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://github.com/clusterzx/paperless-ai/wiki/1.-Home",
 | 
			
		||||
  "website": "https://github.com/clusterzx/paperless-ai",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/paperless-ai.webp",
 | 
			
		||||
  "config_path": "/opt/paperless-ai/data/.env",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8080,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://github.com/icereed/paperless-gpt/blob/main/README.md",
 | 
			
		||||
  "website": "https://github.com/icereed/paperless-gpt",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/paperless-ngx-light.webp",
 | 
			
		||||
  "config_path": "/opt/paperless-gpt-data/.env",
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,7 @@
 | 
			
		||||
    },
 | 
			
		||||
    "notes": [
 | 
			
		||||
        {
 | 
			
		||||
            "text": "Show Login Credentials, type `cat ~/paperless.creds` in the LXC console",
 | 
			
		||||
            "text": "Show Login Credentials, type `cat ~/paperless-ngx.creds` in the LXC console",
 | 
			
		||||
            "type": "info"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										52
									
								
								frontend/public/json/pbs4-upgrade.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								frontend/public/json/pbs4-upgrade.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "PBS 4 Upgrade",
 | 
			
		||||
  "slug": "pbs4-upgrade",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    1
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2025-08-26",
 | 
			
		||||
  "type": "pve",
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": null,
 | 
			
		||||
  "documentation": "https://pbs.proxmox.com/wiki/Upgrade_from_3_to_4",
 | 
			
		||||
  "website": "https://www.proxmox.com/en/proxmox-backup-server",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
  "description": "This script guides you through upgrading Proxmox Backup Server from version 3.x (Debian 12 Bookworm) to version 4.0 (Debian 13 Trixie). It adjusts the Debian base sources, configures PBS 4 repositories in deb822 format, updates enterprise/no-subscription/test repos, runs a full system upgrade, and finalizes with a reboot.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "tools/pve/pbs4-upgrade.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": null,
 | 
			
		||||
        "ram": null,
 | 
			
		||||
        "hdd": null,
 | 
			
		||||
        "os": null,
 | 
			
		||||
        "version": null
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": [
 | 
			
		||||
    {
 | 
			
		||||
      "text": "Execute this script directly on the PBS 3.x host as root.",
 | 
			
		||||
      "type": "info"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "text": "Ensure you have a verified backup of /etc/proxmox-backup before starting.",
 | 
			
		||||
      "type": "warning"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "text": "Do not run this on an already upgraded PBS 4.x system.",
 | 
			
		||||
      "type": "warning"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "text": "A reboot is strongly recommended after upgrade to activate the new kernel and services.",
 | 
			
		||||
      "type": "info"
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 3000,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://github.com/Brandawg93/PeaNUT/blob/main/README.md",
 | 
			
		||||
  "website": "https://github.com/Brandawg93/PeaNUT/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/peanut.webp",
 | 
			
		||||
  "config_path": "/etc/peanut/settings.yml",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,40 +1,40 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "PhotoPrism",
 | 
			
		||||
    "slug": "photoprism",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        13
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-05-02",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": true,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 2342,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://photoprism.app/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/photoprism.webp",
 | 
			
		||||
    "config_path": "/opt/photoprism/config/.env",
 | 
			
		||||
    "description": "PhotoPrism is an AI-Powered Photos App for the Decentralized Web. It makes use of the latest technologies to tag and find pictures automatically without getting in your way.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/photoprism.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 2,
 | 
			
		||||
                "ram": 3072,
 | 
			
		||||
                "hdd": 8,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": "admin",
 | 
			
		||||
        "password": "changeme"
 | 
			
		||||
    },
 | 
			
		||||
    "notes": [
 | 
			
		||||
        {
 | 
			
		||||
            "text": "Please note that Ubuntu 22.04 and Debian 12 are supported, while older Linux distributions may not be compatible.",
 | 
			
		||||
            "type": "warning"
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
  "name": "PhotoPrism",
 | 
			
		||||
  "slug": "photoprism",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    13
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-05-02",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 2342,
 | 
			
		||||
  "documentation": "https://docs.photoprism.app/",
 | 
			
		||||
  "website": "https://photoprism.app/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/photoprism.webp",
 | 
			
		||||
  "config_path": "/opt/photoprism/config/.env",
 | 
			
		||||
  "description": "PhotoPrism is an AI-Powered Photos App for the Decentralized Web. It makes use of the latest technologies to tag and find pictures automatically without getting in your way.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/photoprism.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 2,
 | 
			
		||||
        "ram": 3072,
 | 
			
		||||
        "hdd": 8,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": "admin",
 | 
			
		||||
    "password": "changeme"
 | 
			
		||||
  },
 | 
			
		||||
  "notes": [
 | 
			
		||||
    {
 | 
			
		||||
      "text": "Please note that Ubuntu 22.04 and Debian 12 are supported, while older Linux distributions may not be compatible.",
 | 
			
		||||
      "type": "warning"
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": null,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://github.com/leiweibau/Pi.Alert/blob/main/README.md",
 | 
			
		||||
  "website": "https://github.com/leiweibau/Pi.Alert/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/pi-alert.webp",
 | 
			
		||||
  "config_path": "/opt/pialert/config/pialert.conf",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": null,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://podman.io/docs",
 | 
			
		||||
  "website": "https://podman.io/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/podman.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 5432,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://www.postgresql.org/docs/",
 | 
			
		||||
  "website": "https://www.postgresql.org/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/postgresql.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 9696,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://wiki.servarr.com/prowlarr",
 | 
			
		||||
  "website": "https://github.com/Prowlarr/Prowlarr",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/prowlarr.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 7878,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://wiki.servarr.com/radarr",
 | 
			
		||||
  "website": "https://radarr.video/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/radarr.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 6500,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://github.com/rogerfar/rdt-client/blob/main/README.md",
 | 
			
		||||
  "website": "https://github.com/rogerfar/rdt-client",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/real-debrid.webp",
 | 
			
		||||
  "config_path": "/opt/rdtc/appsettings.json",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "Recyclarr",
 | 
			
		||||
    "slug": "recyclarr",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        14
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-11-15",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": true,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": null,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://recyclarr.dev/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/recyclarr.webp",
 | 
			
		||||
    "config_path": "",
 | 
			
		||||
    "description": "Recyclarr is an automation tool that integrates with media management software like Sonarr and Radarr. It helps users manage and organize their media libraries by automatically searching for and adding content from indexers, based on user-defined criteria. It streamlines the process of maintaining and updating media collections without manual intervention.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/recyclarr.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 1,
 | 
			
		||||
                "ram": 512,
 | 
			
		||||
                "hdd": 2,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": []
 | 
			
		||||
  "name": "Recyclarr",
 | 
			
		||||
  "slug": "recyclarr",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    14
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-11-15",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": null,
 | 
			
		||||
  "documentation": "https://recyclarr.dev/wiki/",
 | 
			
		||||
  "website": "https://recyclarr.dev/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/recyclarr.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
  "description": "Recyclarr is an automation tool that integrates with media management software like Sonarr and Radarr. It helps users manage and organize their media libraries by automatically searching for and adding content from indexers, based on user-defined criteria. It streamlines the process of maintaining and updating media collections without manual intervention.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/recyclarr.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 1,
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 2,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": null,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://redis.io/docs/latest/",
 | 
			
		||||
  "website": "https://redis.io/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/redis.webp",
 | 
			
		||||
  "config_path": "Debian /etc/redis/redis.conf | Alpine: /etc/redis.conf",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										35
									
								
								frontend/public/json/redlib.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								frontend/public/json/redlib.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "Redlib",
 | 
			
		||||
  "slug": "redlib",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    10
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2025-08-25",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 5252,
 | 
			
		||||
  "documentation": "https://github.com/redlib-org/redlib/blob/main/README.md",
 | 
			
		||||
  "website": "https://github.com/redlib-org/redlib",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/redlib.webp",
 | 
			
		||||
  "config_path": "/opt/redlib/redlib.conf",
 | 
			
		||||
  "description": "An alternative private front-end to Reddit. Redlib hopes to provide an easier way to browse Reddit, without the ads, trackers, and bloat.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/alpine-redlib.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 1,
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 1,
 | 
			
		||||
        "os": "alpine",
 | 
			
		||||
        "version": "3.22"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 80,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://runtipi.io/docs/introduction",
 | 
			
		||||
  "website": "https://runtipi.io/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/runtipi.webp",
 | 
			
		||||
  "config_path": "opt/runtipi/state/settings.json",
 | 
			
		||||
 
 | 
			
		||||
@@ -25,6 +25,17 @@
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "alpine",
 | 
			
		||||
      "script": "ct/alpine-rustdeskserver.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 1,
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 2,
 | 
			
		||||
        "os": "alpine",
 | 
			
		||||
        "version": "3.22"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										35
									
								
								frontend/public/json/searxng.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								frontend/public/json/searxng.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "SearXNG",
 | 
			
		||||
  "slug": "searxng",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    0
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2025-08-26",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8888,
 | 
			
		||||
  "documentation": "https://docs.searxng.org/",
 | 
			
		||||
  "website": "https://github.com/searxng/searxng",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/searxng.webp",
 | 
			
		||||
  "config_path": "/etc/searxng/settings.yml",
 | 
			
		||||
  "description": "SearXNG is a free internet metasearch engine which aggregates results from up to 215 search services. Users are neither tracked nor profiled. Additionally, SearXNG can be used over Tor for online anonymity.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/searxng.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 2,
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 7,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8080,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://docs.shinobi.video/",
 | 
			
		||||
  "website": "https://shinobi.video/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/shinobi.webp",
 | 
			
		||||
  "config_path": "/opt/Shinobi/conf.json",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": null,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://oss.oetiker.ch/smokeping/doc/index.en.html",
 | 
			
		||||
  "website": "https://oss.oetiker.ch/smokeping/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/smokeping.webp",
 | 
			
		||||
  "config_path": "/etc/smokeping/config.d/Targets",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "Sonarr",
 | 
			
		||||
    "slug": "sonarr",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        14
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-05-02",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": true,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 8989,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://sonarr.tv/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/sonarr.webp",
 | 
			
		||||
    "config_path": "",
 | 
			
		||||
    "description": "Sonarr is a personal video recorder (PVR) software designed for Usenet and BitTorrent users. It allows users to manage and organize their TV show collection with ease. Sonarr integrates with popular Usenet and BitTorrent clients, such as NZBget and Transmission, to automate the downloading and organizing of TV show files. The software provides a web-based interface for managing and organizing TV shows, making it easy to search and find titles, seasons, and episodes. Sonarr also supports metadata management, including TV show posters and information, making it easy for users to keep their TV show collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing TV show collections, making it a valuable tool for TV show enthusiasts who want to keep their collection organized and up-to-date. With Sonarr, users can enjoy their TV show collection from anywhere, making it a powerful tool for managing and sharing TV show files.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/sonarr.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 2,
 | 
			
		||||
                "ram": 1024,
 | 
			
		||||
                "hdd": 4,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": []
 | 
			
		||||
  "name": "Sonarr",
 | 
			
		||||
  "slug": "sonarr",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    14
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-05-02",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8989,
 | 
			
		||||
  "documentation": "https://wiki.servarr.com/sonarr",
 | 
			
		||||
  "website": "https://sonarr.tv/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/sonarr.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
  "description": "Sonarr is a personal video recorder (PVR) software designed for Usenet and BitTorrent users. It allows users to manage and organize their TV show collection with ease. Sonarr integrates with popular Usenet and BitTorrent clients, such as NZBget and Transmission, to automate the downloading and organizing of TV show files. The software provides a web-based interface for managing and organizing TV shows, making it easy to search and find titles, seasons, and episodes. Sonarr also supports metadata management, including TV show posters and information, making it easy for users to keep their TV show collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing TV show collections, making it a valuable tool for TV show enthusiasts who want to keep their collection organized and up-to-date. With Sonarr, users can enjoy their TV show collection from anywhere, making it a powerful tool for managing and sharing TV show files.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/sonarr.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 2,
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8080,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "website": "https://github.com/Stirling-Tools/Stirling-PDF",
 | 
			
		||||
  "website": "https://docs.stirlingpdf.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/stirling-pdf.webp",
 | 
			
		||||
  "config_path": "/opt/Stirling-PDF/.env",
 | 
			
		||||
  "description": "Stirling-PDF is a powerful locally hosted web based PDF manipulation tool that allows you to perform various operations on PDF files, such as splitting merging, converting, reorganizing, adding images, rotating, compressing, and more.",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,31 +1,31 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "Syncthing",
 | 
			
		||||
    "slug": "syncthing",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        12
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-05-02",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": false,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 8384,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://syncthing.net/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/syncthing.webp",
 | 
			
		||||
    "config_path": "/root/.local/state/syncthing/config.xml - Alpine: /var/lib/syncthing/.local/state/syncthing/config.xml",
 | 
			
		||||
    "description": "Syncthing is an open-source file syncing tool that allows users to keep their files in sync across multiple devices by using peer-to-peer synchronization. It doesn't rely on any central server, so all data transfers are directly between devices.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/syncthing.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 2,
 | 
			
		||||
                "ram": 2048,
 | 
			
		||||
                "hdd": 8,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
  "name": "Syncthing",
 | 
			
		||||
  "slug": "syncthing",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    12
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-05-02",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8384,
 | 
			
		||||
  "documentation": "https://docs.syncthing.net/",
 | 
			
		||||
  "website": "https://syncthing.net/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/syncthing.webp",
 | 
			
		||||
  "config_path": "/root/.local/state/syncthing/config.xml - Alpine: /var/lib/syncthing/.local/state/syncthing/config.xml",
 | 
			
		||||
  "description": "Syncthing is an open-source file syncing tool that allows users to keep their files in sync across multiple devices by using peer-to-peer synchronization. It doesn't rely on any central server, so all data transfers are directly between devices.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/syncthing.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 2,
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 8,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "alpine",
 | 
			
		||||
      "script": "ct/alpine-syncthing.sh",
 | 
			
		||||
@@ -38,9 +38,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": []
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8002,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://docs.tandoor.dev/",
 | 
			
		||||
  "website": "https://tandoor.dev/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tandoor-recipes.webp",
 | 
			
		||||
  "config_path": "/opt/tandoor/.env",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "Tautulli",
 | 
			
		||||
    "slug": "tautulli",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        13
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-05-02",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": false,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 8181,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://tautulli.com/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tautulli.webp",
 | 
			
		||||
    "config_path": "",
 | 
			
		||||
    "description": "Tautulli allows you to monitor and track your Plex Media Server usage, such as viewing statistics and analysis of your media library. It can be used to monitor user activity, get notifications about new media added to your library, and even generate reports on your media usage.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/tautulli.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 2,
 | 
			
		||||
                "ram": 1024,
 | 
			
		||||
                "hdd": 4,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": []
 | 
			
		||||
  "name": "Tautulli",
 | 
			
		||||
  "slug": "tautulli",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    13
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-05-02",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8181,
 | 
			
		||||
  "documentation": "https://github.com/Tautulli/Tautulli/wiki",
 | 
			
		||||
  "website": "https://tautulli.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tautulli.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
  "description": "Tautulli allows you to monitor and track your Plex Media Server usage, such as viewing statistics and analysis of your media library. It can be used to monitor user activity, get notifications about new media added to your library, and even generate reports on your media usage.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/tautulli.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 2,
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8265,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://docs.tdarr.io/docs/welcome/what",
 | 
			
		||||
  "website": "https://tdarr.io/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tdarr.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 34400,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://github.com/xteve-project/xTeVe-Documentation/blob/master/en/configuration.md",
 | 
			
		||||
  "website": "https://github.com/Threadfin/Threadfin",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/threadfin.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 12345,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://tianji.dev/docs/intro",
 | 
			
		||||
  "website": "https://tianji.msgbyte.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tianji.webp",
 | 
			
		||||
  "config_path": "/opt/tianji/src/server/.env",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										40
									
								
								frontend/public/json/tracktor.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								frontend/public/json/tracktor.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "Tracktor",
 | 
			
		||||
  "slug": "tracktor",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    9
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2025-08-26",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 3000,
 | 
			
		||||
  "documentation": "https://tracktor.bytedge.in/introduction.html",
 | 
			
		||||
  "config_path": "/opt/tracktor/app/server/.env",
 | 
			
		||||
  "website": "https://tracktor.bytedge.in/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tracktor.webp",
 | 
			
		||||
  "description": "Tracktor is an open-source web application for comprehensive vehicle management.\nEasily track fuel consumption, maintenance, insurance, and regulatory documents for all your vehicles in one place.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/tracktor.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 1,
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 6,
 | 
			
		||||
        "os": "Debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": [
 | 
			
		||||
    {
 | 
			
		||||
      "text": "Please check and update the '/opt/tracktor/app/backend/.env' file if using behind reverse proxy.",
 | 
			
		||||
      "type": "info"
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 3002,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://github.com/chrisvel/tududi#-getting-started",
 | 
			
		||||
  "config_path": "/opt/tududi/backend/.env",
 | 
			
		||||
  "website": "https://tududi.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tududi.webp",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,40 +1,40 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "Unbound",
 | 
			
		||||
    "slug": "unbound",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        5
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-12-02",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": true,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 5335,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://www.nlnetlabs.nl/projects/unbound/about/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/unbound.webp",
 | 
			
		||||
    "config_path": "/etc/unbound/unbound.conf.d/unbound.conf",
 | 
			
		||||
    "description": "Unbound is a validating, recursive, caching DNS resolver. It is designed to be fast and lean and incorporates modern features based on open standards.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/unbound.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 1,
 | 
			
		||||
                "ram": 512,
 | 
			
		||||
                "hdd": 2,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": [
 | 
			
		||||
        {
 | 
			
		||||
            "text": "Unbound Configuration Path: `/etc/unbound/unbound.conf.d/unbound.conf`",
 | 
			
		||||
            "type": "info"
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
  "name": "Unbound",
 | 
			
		||||
  "slug": "unbound",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    5
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-12-02",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 5335,
 | 
			
		||||
  "documentation": "https://unbound.docs.nlnetlabs.nl/en/latest/",
 | 
			
		||||
  "website": "https://www.nlnetlabs.nl/projects/unbound/about/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/unbound.webp",
 | 
			
		||||
  "config_path": "/etc/unbound/unbound.conf.d/unbound.conf",
 | 
			
		||||
  "description": "Unbound is a validating, recursive, caching DNS resolver. It is designed to be fast and lean and incorporates modern features based on open standards.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/unbound.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 1,
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 2,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": [
 | 
			
		||||
    {
 | 
			
		||||
      "text": "Unbound Configuration Path: `/etc/unbound/unbound.conf.d/unbound.conf`",
 | 
			
		||||
      "type": "info"
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": true,
 | 
			
		||||
  "interface_port": 8888,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://docs.unmanic.app/docs/",
 | 
			
		||||
  "website": "https://docs.unmanic.app/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/unmanic.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,18 +1,258 @@
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Threadfin/Threadfin",
 | 
			
		||||
    "version": "1.2.36",
 | 
			
		||||
    "date": "2025-08-26T20:40:14Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "influxdata/influxdb",
 | 
			
		||||
    "version": "v3.4.0",
 | 
			
		||||
    "date": "2025-08-26T20:10:23Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "msgbyte/tianji",
 | 
			
		||||
    "version": "v1.24.23",
 | 
			
		||||
    "date": "2025-08-26T18:02:18Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "netbox-community/netbox",
 | 
			
		||||
    "version": "v4.3.7",
 | 
			
		||||
    "date": "2025-08-26T17:54:25Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "jenkinsci/jenkins",
 | 
			
		||||
    "version": "jenkins-2.525",
 | 
			
		||||
    "date": "2025-08-26T14:28:44Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "meilisearch/meilisearch",
 | 
			
		||||
    "version": "latest",
 | 
			
		||||
    "date": "2025-08-26T14:14:42Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "traefik/traefik",
 | 
			
		||||
    "version": "v2.11.29",
 | 
			
		||||
    "date": "2025-08-26T13:14:55Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "element-hq/synapse",
 | 
			
		||||
    "version": "v1.137.0",
 | 
			
		||||
    "date": "2025-08-26T09:51:47Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "MediaBrowser/Emby.Releases",
 | 
			
		||||
    "version": "4.9.1.2",
 | 
			
		||||
    "date": "2025-06-26T22:08:00Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "evcc-io/evcc",
 | 
			
		||||
    "version": "0.207.5",
 | 
			
		||||
    "date": "2025-08-26T06:57:07Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "morpheus65535/bazarr",
 | 
			
		||||
    "version": "v1.5.3-beta.10",
 | 
			
		||||
    "date": "2025-07-15T06:07:03Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Jackett/Jackett",
 | 
			
		||||
    "version": "v0.22.2349",
 | 
			
		||||
    "date": "2025-08-26T05:58:15Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "henrygd/beszel",
 | 
			
		||||
    "version": "v0.12.4",
 | 
			
		||||
    "date": "2025-08-26T01:45:02Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "documenso/documenso",
 | 
			
		||||
    "version": "v1.12.2-rc.6",
 | 
			
		||||
    "date": "2025-08-26T01:17:43Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "hyperion-project/hyperion.ng",
 | 
			
		||||
    "version": "2.1.1",
 | 
			
		||||
    "date": "2025-06-14T17:45:06Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "jeedom/core",
 | 
			
		||||
    "version": "4.4.19",
 | 
			
		||||
    "date": "2025-08-26T00:27:08Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "steveiliop56/tinyauth",
 | 
			
		||||
    "version": "v3.6.2",
 | 
			
		||||
    "date": "2025-07-17T12:08:03Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "coder/code-server",
 | 
			
		||||
    "version": "v4.103.2",
 | 
			
		||||
    "date": "2025-08-25T23:30:54Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "keycloak/keycloak",
 | 
			
		||||
    "version": "26.3.3",
 | 
			
		||||
    "date": "2025-08-20T10:12:51Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "advplyr/audiobookshelf",
 | 
			
		||||
    "version": "v2.29.0",
 | 
			
		||||
    "date": "2025-08-25T22:43:20Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "booklore-app/booklore",
 | 
			
		||||
    "version": "v0.38.2",
 | 
			
		||||
    "date": "2025-08-25T22:41:41Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "esphome/esphome",
 | 
			
		||||
    "version": "2025.8.1",
 | 
			
		||||
    "date": "2025-08-25T20:48:19Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Brandawg93/PeaNUT",
 | 
			
		||||
    "version": "v5.13.0",
 | 
			
		||||
    "date": "2025-08-25T19:19:51Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "immich-app/immich",
 | 
			
		||||
    "version": "v1.139.4",
 | 
			
		||||
    "date": "2025-08-25T18:31:13Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "ollama/ollama",
 | 
			
		||||
    "version": "v0.11.7",
 | 
			
		||||
    "date": "2025-08-25T18:04:05Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "mealie-recipes/mealie",
 | 
			
		||||
    "version": "v3.1.2",
 | 
			
		||||
    "date": "2025-08-25T18:00:52Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "linkwarden/linkwarden",
 | 
			
		||||
    "version": "v2.11.8",
 | 
			
		||||
    "date": "2025-08-25T16:27:12Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "rcourtman/Pulse",
 | 
			
		||||
    "version": "v4.7.6",
 | 
			
		||||
    "date": "2025-08-23T22:49:00Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Checkmk/checkmk",
 | 
			
		||||
    "version": "v2.3.0p36",
 | 
			
		||||
    "date": "2025-08-25T15:32:14Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "wazuh/wazuh",
 | 
			
		||||
    "version": "coverity-w35-4.13.0",
 | 
			
		||||
    "date": "2025-08-25T15:17:33Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "n8n-io/n8n",
 | 
			
		||||
    "version": "n8n@1.107.4",
 | 
			
		||||
    "date": "2025-08-20T12:23:06Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "crowdsecurity/crowdsec",
 | 
			
		||||
    "version": "v1.6.11",
 | 
			
		||||
    "date": "2025-07-22T12:11:38Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "sabnzbd/sabnzbd",
 | 
			
		||||
    "version": "4.5.3",
 | 
			
		||||
    "date": "2025-08-25T13:59:56Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "zabbix/zabbix",
 | 
			
		||||
    "version": "7.4.2",
 | 
			
		||||
    "date": "2025-08-25T12:38:14Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "gotson/komga",
 | 
			
		||||
    "version": "1.23.2",
 | 
			
		||||
    "date": "2025-08-25T09:39:42Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "emqx/emqx",
 | 
			
		||||
    "version": "e5.10.1-beta.2",
 | 
			
		||||
    "date": "2025-08-25T08:51:40Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "firefly-iii/firefly-iii",
 | 
			
		||||
    "version": "v6.3.2",
 | 
			
		||||
    "date": "2025-08-19T04:08:36Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "FlareSolverr/FlareSolverr",
 | 
			
		||||
    "version": "v3.4.0",
 | 
			
		||||
    "date": "2025-08-25T03:22:00Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "plexguide/Huntarr.io",
 | 
			
		||||
    "version": "8.2.10",
 | 
			
		||||
    "date": "2025-08-25T01:26:55Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "gtsteffaniak/filebrowser",
 | 
			
		||||
    "version": "v0.8.2-beta",
 | 
			
		||||
    "date": "2025-08-25T00:26:03Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "crafty-controller/crafty-4",
 | 
			
		||||
    "version": "v4.5.1",
 | 
			
		||||
    "date": "2025-08-24T23:58:52Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Ombi-app/Ombi",
 | 
			
		||||
    "version": "v4.47.1",
 | 
			
		||||
    "date": "2025-01-05T21:14:23Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "pocket-id/pocket-id",
 | 
			
		||||
    "version": "v1.9.1",
 | 
			
		||||
    "date": "2025-08-24T21:27:58Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "moghtech/komodo",
 | 
			
		||||
    "version": "v1.19.1",
 | 
			
		||||
    "date": "2025-08-24T20:16:32Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "runtipi/runtipi",
 | 
			
		||||
    "version": "nightly",
 | 
			
		||||
    "date": "2025-08-24T18:27:58Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "wavelog/wavelog",
 | 
			
		||||
    "version": "2.1",
 | 
			
		||||
    "date": "2025-08-24T15:42:19Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Radarr/Radarr",
 | 
			
		||||
    "version": "v5.26.2.10099",
 | 
			
		||||
    "date": "2025-06-11T20:10:39Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Prowlarr/Prowlarr",
 | 
			
		||||
    "version": "v2.0.5.5160",
 | 
			
		||||
    "date": "2025-08-23T21:23:11Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Ombi-app/Ombi",
 | 
			
		||||
    "version": "v4.47.1",
 | 
			
		||||
    "date": "2025-01-05T21:14:23Z"
 | 
			
		||||
    "name": "fuma-nama/fumadocs",
 | 
			
		||||
    "version": "fumadocs-openapi@9.2.3",
 | 
			
		||||
    "date": "2025-08-24T12:48:14Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Lidarr/Lidarr",
 | 
			
		||||
    "version": "v2.12.4.4658",
 | 
			
		||||
    "date": "2025-06-09T17:27:45Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "janeczku/calibre-web",
 | 
			
		||||
    "version": "0.6.25",
 | 
			
		||||
    "date": "2025-08-24T08:51:55Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "YunoHost/yunohost",
 | 
			
		||||
@@ -24,31 +264,6 @@
 | 
			
		||||
    "version": "v0.21.0",
 | 
			
		||||
    "date": "2025-08-23T18:33:53Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "pocket-id/pocket-id",
 | 
			
		||||
    "version": "v1.8.0",
 | 
			
		||||
    "date": "2025-08-23T17:08:01Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "plexguide/Huntarr.io",
 | 
			
		||||
    "version": "8.2.7",
 | 
			
		||||
    "date": "2025-08-23T16:55:46Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "immich-app/immich",
 | 
			
		||||
    "version": "v1.139.3",
 | 
			
		||||
    "date": "2025-08-23T16:37:46Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "booklore-app/booklore",
 | 
			
		||||
    "version": "v0.38.0",
 | 
			
		||||
    "date": "2025-08-23T14:36:32Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "firefly-iii/firefly-iii",
 | 
			
		||||
    "version": "v6.3.2",
 | 
			
		||||
    "date": "2025-08-19T04:08:36Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "prometheus/prometheus",
 | 
			
		||||
    "version": "v0.306.0-rc.0",
 | 
			
		||||
@@ -64,51 +279,21 @@
 | 
			
		||||
    "version": "v0.29.3",
 | 
			
		||||
    "date": "2025-08-23T06:37:44Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Jackett/Jackett",
 | 
			
		||||
    "version": "v0.22.2325",
 | 
			
		||||
    "date": "2025-08-23T05:51:50Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "caddyserver/caddy",
 | 
			
		||||
    "version": "v2.10.2",
 | 
			
		||||
    "date": "2025-08-23T03:10:31Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "jeedom/core",
 | 
			
		||||
    "version": "4.4.19",
 | 
			
		||||
    "date": "2025-08-23T00:27:09Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "steveiliop56/tinyauth",
 | 
			
		||||
    "version": "v3.6.2",
 | 
			
		||||
    "date": "2025-07-17T12:08:03Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "paperless-ngx/paperless-ngx",
 | 
			
		||||
    "version": "v2.18.2",
 | 
			
		||||
    "date": "2025-08-22T23:56:41Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "gtsteffaniak/filebrowser",
 | 
			
		||||
    "version": "v0.8.1-beta",
 | 
			
		||||
    "date": "2025-08-22T21:18:11Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "homarr-labs/homarr",
 | 
			
		||||
    "version": "v1.34.0",
 | 
			
		||||
    "date": "2025-08-22T19:16:24Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "keycloak/keycloak",
 | 
			
		||||
    "version": "26.3.3",
 | 
			
		||||
    "date": "2025-08-20T10:12:51Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "msgbyte/tianji",
 | 
			
		||||
    "version": "v1.24.20",
 | 
			
		||||
    "date": "2025-08-22T18:03:58Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "tailscale/tailscale",
 | 
			
		||||
    "version": "v1.86.5",
 | 
			
		||||
@@ -124,36 +309,16 @@
 | 
			
		||||
    "version": "version/2025.8.1",
 | 
			
		||||
    "date": "2025-08-22T14:55:30Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "MediaBrowser/Emby.Releases",
 | 
			
		||||
    "version": "4.9.1.2",
 | 
			
		||||
    "date": "2025-06-26T22:08:00Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "open-webui/open-webui",
 | 
			
		||||
    "version": "v0.6.25",
 | 
			
		||||
    "date": "2025-08-22T13:22:43Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "wazuh/wazuh",
 | 
			
		||||
    "version": "v4.10.3",
 | 
			
		||||
    "date": "2025-08-19T18:51:00Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "crowdsecurity/crowdsec",
 | 
			
		||||
    "version": "v1.6.11",
 | 
			
		||||
    "date": "2025-07-22T12:11:38Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "theonedev/onedev",
 | 
			
		||||
    "version": "v12.0.7",
 | 
			
		||||
    "date": "2025-08-22T10:00:28Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "fuma-nama/fumadocs",
 | 
			
		||||
    "version": "fumadocs-openapi@9.2.2",
 | 
			
		||||
    "date": "2025-08-22T09:35:27Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "syncthing/syncthing",
 | 
			
		||||
    "version": "v2.0.3",
 | 
			
		||||
@@ -199,11 +364,6 @@
 | 
			
		||||
    "version": "v0.36.0",
 | 
			
		||||
    "date": "2025-07-14T18:59:57Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "runtipi/runtipi",
 | 
			
		||||
    "version": "nightly",
 | 
			
		||||
    "date": "2025-08-21T19:17:27Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "HabitRPG/habitica",
 | 
			
		||||
    "version": "v5.39.0",
 | 
			
		||||
@@ -219,11 +379,6 @@
 | 
			
		||||
    "version": "v1.5.0",
 | 
			
		||||
    "date": "2025-08-21T17:33:22Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "evcc-io/evcc",
 | 
			
		||||
    "version": "0.207.4",
 | 
			
		||||
    "date": "2025-08-21T17:20:43Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "kyantech/Palmr",
 | 
			
		||||
    "version": "v3.2.0-beta",
 | 
			
		||||
@@ -244,46 +399,16 @@
 | 
			
		||||
    "version": "10.0.19",
 | 
			
		||||
    "date": "2025-07-16T09:45:14Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "emqx/emqx",
 | 
			
		||||
    "version": "e6.0.0-M2.202508-rc.1",
 | 
			
		||||
    "date": "2025-08-20T18:02:55Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "semaphoreui/semaphore",
 | 
			
		||||
    "version": "v2.16.18",
 | 
			
		||||
    "date": "2025-08-21T08:19:58Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "morpheus65535/bazarr",
 | 
			
		||||
    "version": "v1.5.3-beta.10",
 | 
			
		||||
    "date": "2025-07-15T06:07:03Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "ollama/ollama",
 | 
			
		||||
    "version": "v0.11.6",
 | 
			
		||||
    "date": "2025-08-20T21:00:13Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "jenkinsci/jenkins",
 | 
			
		||||
    "version": "jenkins-2.516.2",
 | 
			
		||||
    "date": "2025-08-20T17:15:26Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Checkmk/checkmk",
 | 
			
		||||
    "version": "v2.4.0p10",
 | 
			
		||||
    "date": "2025-08-20T14:05:06Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "AdguardTeam/AdGuardHome",
 | 
			
		||||
    "version": "v0.107.65",
 | 
			
		||||
    "date": "2025-08-20T14:02:28Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "n8n-io/n8n",
 | 
			
		||||
    "version": "n8n@1.107.4",
 | 
			
		||||
    "date": "2025-08-20T12:23:06Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "cockpit-project/cockpit",
 | 
			
		||||
    "version": "345",
 | 
			
		||||
@@ -304,11 +429,6 @@
 | 
			
		||||
    "version": "v2.1.2.0-2.1.2.0_beta_2025-08-20",
 | 
			
		||||
    "date": "2025-08-20T08:15:46Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "esphome/esphome",
 | 
			
		||||
    "version": "2025.8.0",
 | 
			
		||||
    "date": "2025-08-20T07:58:12Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Luligu/matterbridge",
 | 
			
		||||
    "version": "3.2.3",
 | 
			
		||||
@@ -319,21 +439,11 @@
 | 
			
		||||
    "version": "v5.23.2",
 | 
			
		||||
    "date": "2025-08-19T21:24:45Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "mealie-recipes/mealie",
 | 
			
		||||
    "version": "v3.1.1",
 | 
			
		||||
    "date": "2025-08-19T20:23:43Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "cross-seed/cross-seed",
 | 
			
		||||
    "version": "v6.13.2",
 | 
			
		||||
    "date": "2025-08-19T18:18:40Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Threadfin/Threadfin",
 | 
			
		||||
    "version": "1.3.0",
 | 
			
		||||
    "date": "2025-08-19T17:37:44Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "dgtlmoon/changedetection.io",
 | 
			
		||||
    "version": "0.50.10",
 | 
			
		||||
@@ -344,26 +454,11 @@
 | 
			
		||||
    "version": "v5.8.0",
 | 
			
		||||
    "date": "2025-08-19T16:46:00Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "sabnzbd/sabnzbd",
 | 
			
		||||
    "version": "4.5.2",
 | 
			
		||||
    "date": "2025-07-09T19:08:28Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "fallenbagel/jellyseerr",
 | 
			
		||||
    "version": "preview-dns-cache-manager",
 | 
			
		||||
    "date": "2025-08-19T11:57:00Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "element-hq/synapse",
 | 
			
		||||
    "version": "v1.136.0",
 | 
			
		||||
    "date": "2025-08-12T14:26:27Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "zabbix/zabbix",
 | 
			
		||||
    "version": "7.2.12",
 | 
			
		||||
    "date": "2025-08-19T11:16:17Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "chrisvel/tududi",
 | 
			
		||||
    "version": "v0.80",
 | 
			
		||||
@@ -399,11 +494,6 @@
 | 
			
		||||
    "version": "v25.2",
 | 
			
		||||
    "date": "2025-07-04T08:21:42Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "meilisearch/meilisearch",
 | 
			
		||||
    "version": "prototype-arroy-becomes-hannoy-with-sharding-0",
 | 
			
		||||
    "date": "2025-08-18T14:48:37Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "VictoriaMetrics/VictoriaMetrics",
 | 
			
		||||
    "version": "pmm-6401-v1.124.0",
 | 
			
		||||
@@ -414,11 +504,6 @@
 | 
			
		||||
    "version": "@jupyter-notebook/ui-components@7.5.0-alpha.2",
 | 
			
		||||
    "date": "2025-08-18T07:39:41Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "moghtech/komodo",
 | 
			
		||||
    "version": "v1.19.0",
 | 
			
		||||
    "date": "2025-08-18T01:22:47Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "lldap/lldap",
 | 
			
		||||
    "version": "v0.6.2",
 | 
			
		||||
@@ -444,16 +529,6 @@
 | 
			
		||||
    "version": "3.3.0",
 | 
			
		||||
    "date": "2025-08-17T19:57:11Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Radarr/Radarr",
 | 
			
		||||
    "version": "v5.26.2.10099",
 | 
			
		||||
    "date": "2025-06-11T20:10:39Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Lidarr/Lidarr",
 | 
			
		||||
    "version": "v2.12.4.4658",
 | 
			
		||||
    "date": "2025-06-09T17:27:45Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "mylar3/mylar3",
 | 
			
		||||
    "version": "v0.8.3",
 | 
			
		||||
@@ -469,16 +544,6 @@
 | 
			
		||||
    "version": "v1.2.10",
 | 
			
		||||
    "date": "2025-08-16T11:45:23Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "documenso/documenso",
 | 
			
		||||
    "version": "v1.12.2-rc.4",
 | 
			
		||||
    "date": "2025-08-16T09:16:29Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "coder/code-server",
 | 
			
		||||
    "version": "v4.103.1",
 | 
			
		||||
    "date": "2025-08-16T01:59:28Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "mongodb/mongo",
 | 
			
		||||
    "version": "r8.2.0",
 | 
			
		||||
@@ -489,11 +554,6 @@
 | 
			
		||||
    "version": "v0.9.90",
 | 
			
		||||
    "date": "2025-08-15T19:14:52Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "netbox-community/netbox",
 | 
			
		||||
    "version": "v4.3.6",
 | 
			
		||||
    "date": "2025-08-12T17:16:42Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "intri-in/manage-my-damn-life-nextjs",
 | 
			
		||||
    "version": "v0.8.0-release",
 | 
			
		||||
@@ -504,11 +564,6 @@
 | 
			
		||||
    "version": "v1.7.2",
 | 
			
		||||
    "date": "2025-08-14T19:07:57Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "linkwarden/linkwarden",
 | 
			
		||||
    "version": "v2.11.7",
 | 
			
		||||
    "date": "2025-08-14T17:14:33Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "jellyfin/jellyfin",
 | 
			
		||||
    "version": "v10.10.7",
 | 
			
		||||
@@ -554,11 +609,6 @@
 | 
			
		||||
    "version": "v2.5.308",
 | 
			
		||||
    "date": "2025-08-13T07:09:29Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Brandawg93/PeaNUT",
 | 
			
		||||
    "version": "v5.12.0",
 | 
			
		||||
    "date": "2025-08-12T15:09:35Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "bluenviron/mediamtx",
 | 
			
		||||
    "version": "v1.14.0",
 | 
			
		||||
@@ -599,11 +649,6 @@
 | 
			
		||||
    "version": "0.23.2",
 | 
			
		||||
    "date": "2025-08-10T23:35:07Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "advplyr/audiobookshelf",
 | 
			
		||||
    "version": "v2.28.0",
 | 
			
		||||
    "date": "2025-08-10T23:09:55Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "ioBroker/ioBroker",
 | 
			
		||||
    "version": "1012-08-09",
 | 
			
		||||
@@ -664,11 +709,6 @@
 | 
			
		||||
    "version": "v11.1.0",
 | 
			
		||||
    "date": "2025-08-07T14:57:29Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "influxdata/influxdb",
 | 
			
		||||
    "version": "v1.12.2rc2",
 | 
			
		||||
    "date": "2025-08-06T23:12:18Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Athou/commafeed",
 | 
			
		||||
    "version": "5.11.0",
 | 
			
		||||
@@ -734,11 +774,6 @@
 | 
			
		||||
    "version": "10.1.44",
 | 
			
		||||
    "date": "2025-08-04T13:17:59Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "henrygd/beszel",
 | 
			
		||||
    "version": "v0.12.3",
 | 
			
		||||
    "date": "2025-08-04T02:21:16Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "benjaminjonard/koillection",
 | 
			
		||||
    "version": "1.6.18",
 | 
			
		||||
@@ -799,21 +834,11 @@
 | 
			
		||||
    "version": "2025.07.1",
 | 
			
		||||
    "date": "2025-08-01T14:40:28Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "gotson/komga",
 | 
			
		||||
    "version": "1.23.1",
 | 
			
		||||
    "date": "2025-08-01T04:30:24Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Suwayomi/Suwayomi-Server",
 | 
			
		||||
    "version": "v2.1.1867",
 | 
			
		||||
    "date": "2025-07-31T18:08:43Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "hyperion-project/hyperion.ng",
 | 
			
		||||
    "version": "2.1.1",
 | 
			
		||||
    "date": "2025-06-14T17:45:06Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "leiweibau/Pi.Alert",
 | 
			
		||||
    "version": "v2025-07-30",
 | 
			
		||||
@@ -884,11 +909,6 @@
 | 
			
		||||
    "version": "RELEASE.2025-07-23T15-54-02Z",
 | 
			
		||||
    "date": "2025-07-23T20:35:39Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "traefik/traefik",
 | 
			
		||||
    "version": "v3.5.0",
 | 
			
		||||
    "date": "2025-07-23T14:06:54Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "TasmoAdmin/TasmoAdmin",
 | 
			
		||||
    "version": "v4.3.1",
 | 
			
		||||
@@ -904,11 +924,6 @@
 | 
			
		||||
    "version": "v3.2.5r2",
 | 
			
		||||
    "date": "2025-07-21T12:52:26Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "wavelog/wavelog",
 | 
			
		||||
    "version": "2.0.7",
 | 
			
		||||
    "date": "2025-07-17T15:33:14Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "icereed/paperless-gpt",
 | 
			
		||||
    "version": "v0.22.0",
 | 
			
		||||
@@ -1064,11 +1079,6 @@
 | 
			
		||||
    "version": "2.402",
 | 
			
		||||
    "date": "2025-06-17T05:20:42Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "crafty-controller/crafty-4",
 | 
			
		||||
    "version": "v4.4.11",
 | 
			
		||||
    "date": "2025-06-15T21:41:02Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "TriliumNext/Notes",
 | 
			
		||||
    "version": "v0.95.0",
 | 
			
		||||
@@ -1079,11 +1089,6 @@
 | 
			
		||||
    "version": "v2.0.0.4645",
 | 
			
		||||
    "date": "2017-03-07T18:56:06Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "FlareSolverr/FlareSolverr",
 | 
			
		||||
    "version": "v3.3.25",
 | 
			
		||||
    "date": "2025-06-14T02:52:44Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "OctoPrint/OctoPrint",
 | 
			
		||||
    "version": "1.11.2",
 | 
			
		||||
@@ -1374,11 +1379,6 @@
 | 
			
		||||
    "version": "v1.7.3",
 | 
			
		||||
    "date": "2024-11-27T21:26:11Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "janeczku/calibre-web",
 | 
			
		||||
    "version": "0.6.24",
 | 
			
		||||
    "date": "2024-11-16T06:47:56Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "swizzin/swizzin",
 | 
			
		||||
    "version": "stable",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "Vikunja",
 | 
			
		||||
    "slug": "vikunja",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        12
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-11-05",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": true,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 3456,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://vikunja.io/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/vikunja.webp",
 | 
			
		||||
    "config_path": "/etc/vikunja/config.yml",
 | 
			
		||||
    "description": "Vikunja is a powerful self-hosted todo app. It allows you to create and manage to-do lists. You can plan tasks, set priorities and collaborate with others. The best part is that your data is safe with you and you can customize the app to your liking. It's like a personal assistant that helps you stay organized.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/vikunja.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 1,
 | 
			
		||||
                "ram": 1024,
 | 
			
		||||
                "hdd": 4,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": []
 | 
			
		||||
  "name": "Vikunja",
 | 
			
		||||
  "slug": "vikunja",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    12
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-11-05",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 3456,
 | 
			
		||||
  "documentation": "https://vikunja.io/docs/",
 | 
			
		||||
  "website": "https://vikunja.io/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/vikunja.webp",
 | 
			
		||||
  "config_path": "/etc/vikunja/config.yml",
 | 
			
		||||
  "description": "Vikunja is a powerful self-hosted todo app. It allows you to create and manage to-do lists. You can plan tasks, set priorities and collaborate with others. The best part is that your data is safe with you and you can customize the app to your liking. It's like a personal assistant that helps you stay organized.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/vikunja.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 1,
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8088,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://github.com/matze/wastebin/blob/a297749b932ed9ff32569f3af7ee8e4a5b499834/README.md",
 | 
			
		||||
  "website": "https://github.com/matze/wastebin",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/wastebin.webp",
 | 
			
		||||
  "config_path": "/opt/wastebin-data/.env",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "WatchYourLAN",
 | 
			
		||||
    "slug": "watchyourlan",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        4
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-05-02",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": true,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 8840,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://github.com/aceberg/WatchYourLAN",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/watchyourlan.webp",
 | 
			
		||||
    "config_path": "/data/config.yaml",
 | 
			
		||||
    "description": "WatchYourLAN is a lightweight network IP scanner with web GUI.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/watchyourlan.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 1,
 | 
			
		||||
                "ram": 512,
 | 
			
		||||
                "hdd": 2,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": []
 | 
			
		||||
  "name": "WatchYourLAN",
 | 
			
		||||
  "slug": "watchyourlan",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    4
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-05-02",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8840,
 | 
			
		||||
  "documentation": "https://github.com/aceberg/WatchYourLAN/blob/main/README.md",
 | 
			
		||||
  "website": "https://github.com/aceberg/WatchYourLAN",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/watchyourlan.webp",
 | 
			
		||||
  "config_path": "/data/config.yaml",
 | 
			
		||||
  "description": "WatchYourLAN is a lightweight network IP scanner with web GUI.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/watchyourlan.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 1,
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 2,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 10000,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://webmin.com/docs/",
 | 
			
		||||
  "website": "https://webmin.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/webmin.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "Whisparr",
 | 
			
		||||
    "slug": "whisparr",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        14
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-05-02",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": false,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 6969,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://github.com/Whisparr/Whisparr",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/whisparr.webp",
 | 
			
		||||
    "config_path": "",
 | 
			
		||||
    "description": "Whisparr is an adult movie collection manager for Usenet and BitTorrent users.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/whisparr.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 2,
 | 
			
		||||
                "ram": 1024,
 | 
			
		||||
                "hdd": 4,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": []
 | 
			
		||||
  "name": "Whisparr",
 | 
			
		||||
  "slug": "whisparr",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    14
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-05-02",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 6969,
 | 
			
		||||
  "documentation": "https://wiki.servarr.com/en/whisparr",
 | 
			
		||||
  "website": "https://github.com/Whisparr/Whisparr",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/whisparr.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
  "description": "Whisparr is an adult movie collection manager for Usenet and BitTorrent users.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/whisparr.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 2,
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 80,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "documentation": "https://doc.yunohost.org/",
 | 
			
		||||
  "website": "https://yunohost.org/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/yunohost.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										98
									
								
								install/alpine-redlib-install.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								install/alpine-redlib-install.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,98 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
# Copyright (c) 2021-2025 community-scripts ORG
 | 
			
		||||
# Author: andrej-kocijan (Andrej Kocijan)
 | 
			
		||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
			
		||||
# Source: https://github.com/redlib-org/redlib
 | 
			
		||||
 | 
			
		||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
 | 
			
		||||
color
 | 
			
		||||
verb_ip6
 | 
			
		||||
catch_errors
 | 
			
		||||
setting_up_container
 | 
			
		||||
network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
fetch_and_deploy_gh_release "redlib" "redlib-org/redlib" "prebuild" "latest" "/opt/redlib" "redlib-x86_64-unknown-linux-musl.tar.gz"
 | 
			
		||||
 | 
			
		||||
msg_info "Configuring Redlib"
 | 
			
		||||
cat <<EOF >/opt/redlib/redlib.conf
 | 
			
		||||
############################################
 | 
			
		||||
# Redlib Instance Configuration File
 | 
			
		||||
# Uncomment and edit values as needed
 | 
			
		||||
############################################
 | 
			
		||||
 | 
			
		||||
## Instance settings
 | 
			
		||||
ADDRESS=0.0.0.0
 | 
			
		||||
PORT=5252                           # Integer (0-65535) - Internal port
 | 
			
		||||
#REDLIB_SFW_ONLY=off                # ["on", "off"] - Filter all NSFW content
 | 
			
		||||
#REDLIB_BANNER=                     # String - Displayed on instance info page
 | 
			
		||||
#REDLIB_ROBOTS_DISABLE_INDEXING=off # ["on", "off"] - Disable search engine indexing
 | 
			
		||||
#REDLIB_PUSHSHIFT_FRONTEND=undelete.pullpush.io # Pushshift frontend for removed links
 | 
			
		||||
#REDLIB_ENABLE_RSS=off              # ["on", "off"] - Enable RSS feed generation
 | 
			
		||||
#REDLIB_FULL_URL=                   # String - Needed for proper RSS URLs
 | 
			
		||||
 | 
			
		||||
## Default user settings
 | 
			
		||||
#REDLIB_DEFAULT_THEME=system        # Theme (system, light, dark, black, dracula, nord, laserwave, violet, gold, rosebox, gruvboxdark, gruvboxlight, tokyoNight, icebergDark, doomone, libredditBlack, libredditDark, libredditLight)
 | 
			
		||||
#REDLIB_DEFAULT_FRONT_PAGE=default  # ["default", "popular", "all"]
 | 
			
		||||
#REDLIB_DEFAULT_LAYOUT=card         # ["card", "clean", "compact"]
 | 
			
		||||
#REDLIB_DEFAULT_WIDE=off            # ["on", "off"]
 | 
			
		||||
#REDLIB_DEFAULT_POST_SORT=hot       # ["hot", "new", "top", "rising", "controversial"]
 | 
			
		||||
#REDLIB_DEFAULT_COMMENT_SORT=confidence # ["confidence", "top", "new", "controversial", "old"]
 | 
			
		||||
#REDLIB_DEFAULT_BLUR_SPOILER=off    # ["on", "off"]
 | 
			
		||||
#REDLIB_DEFAULT_SHOW_NSFW=off       # ["on", "off"]
 | 
			
		||||
#REDLIB_DEFAULT_BLUR_NSFW=off       # ["on", "off"]
 | 
			
		||||
#REDLIB_DEFAULT_USE_HLS=off         # ["on", "off"]
 | 
			
		||||
#REDLIB_DEFAULT_HIDE_HLS_NOTIFICATION=off # ["on", "off"]
 | 
			
		||||
#REDLIB_DEFAULT_AUTOPLAY_VIDEOS=off # ["on", "off"]
 | 
			
		||||
#REDLIB_DEFAULT_SUBSCRIPTIONS=      # Example: sub1+sub2+sub3
 | 
			
		||||
#REDLIB_DEFAULT_HIDE_AWARDS=off     # ["on", "off"]
 | 
			
		||||
#REDLIB_DEFAULT_DISABLE_VISIT_REDDIT_CONFIRMATION=off # ["on", "off"]
 | 
			
		||||
#REDLIB_DEFAULT_HIDE_SCORE=off      # ["on", "off"]
 | 
			
		||||
#REDLIB_DEFAULT_HIDE_SIDEBAR_AND_SUMMARY=off # ["on", "off"]
 | 
			
		||||
#REDLIB_DEFAULT_FIXED_NAVBAR=on     # ["on", "off"]
 | 
			
		||||
#REDLIB_DEFAULT_REMOVE_DEFAULT_FEEDS=off # ["on", "off"]
 | 
			
		||||
EOF
 | 
			
		||||
msg_ok "Configured Redlib"
 | 
			
		||||
 | 
			
		||||
msg_info "Creating Redlib Service"
 | 
			
		||||
cat <<EOF >/etc/init.d/redlib
 | 
			
		||||
#!/sbin/openrc-run
 | 
			
		||||
 | 
			
		||||
name="Redlib"
 | 
			
		||||
description="Redlib Service"
 | 
			
		||||
command="/opt/redlib/redlib"
 | 
			
		||||
pidfile="/run/redlib.pid"
 | 
			
		||||
supervisor="supervise-daemon"
 | 
			
		||||
command_background="yes"
 | 
			
		||||
 | 
			
		||||
depend() {
 | 
			
		||||
    need net
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start_pre() {
 | 
			
		||||
 | 
			
		||||
    set -a
 | 
			
		||||
    . /opt/redlib/redlib.conf
 | 
			
		||||
    set +a
 | 
			
		||||
 | 
			
		||||
    : ${ADDRESS:=0.0.0.0}
 | 
			
		||||
    : ${PORT:=5252}
 | 
			
		||||
 | 
			
		||||
    command_args="-a ${ADDRESS} -p ${PORT}"
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
$STD chmod +x /etc/init.d/redlib
 | 
			
		||||
$STD rc-update add redlib default
 | 
			
		||||
msg_ok "Created Redlib Service"
 | 
			
		||||
 | 
			
		||||
msg_info "Starting Redlib Service"
 | 
			
		||||
$STD rc-service redlib start
 | 
			
		||||
msg_ok "Started Redlib Service"
 | 
			
		||||
 | 
			
		||||
motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apk cache clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
							
								
								
									
										122
									
								
								install/alpine-rustdeskserver-install.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								install/alpine-rustdeskserver-install.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,122 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
# Copyright (c) 2021-2025 community-scripts ORG
 | 
			
		||||
# Author: Slaviša Arežina (tremor021)
 | 
			
		||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
			
		||||
# Source: https://github.com/rustdesk/rustdesk-server
 | 
			
		||||
 | 
			
		||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
 | 
			
		||||
color
 | 
			
		||||
verb_ip6
 | 
			
		||||
catch_errors
 | 
			
		||||
setting_up_container
 | 
			
		||||
network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
RELEASE=$(curl -s https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
			
		||||
msg_info "Installing RustDesk Server v${RELEASE}"
 | 
			
		||||
temp_file1=$(mktemp)
 | 
			
		||||
curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-amd64.zip" -o "$temp_file1"
 | 
			
		||||
$STD unzip "$temp_file1"
 | 
			
		||||
mv amd64 /opt/rustdesk-server
 | 
			
		||||
mkdir -p /root/.config/rustdesk
 | 
			
		||||
cd /opt/rustdesk-server
 | 
			
		||||
./rustdesk-utils genkeypair > /tmp/rustdesk_keys.txt
 | 
			
		||||
grep "Public Key" /tmp/rustdesk_keys.txt | awk '{print $3}' > /root/.config/rustdesk/id_ed25519.pub
 | 
			
		||||
grep "Secret Key" /tmp/rustdesk_keys.txt | awk '{print $3}' > /root/.config/rustdesk/id_ed25519
 | 
			
		||||
chmod 600 /root/.config/rustdesk/id_ed25519
 | 
			
		||||
chmod 644 /root/.config/rustdesk/id_ed25519.pub
 | 
			
		||||
rm /tmp/rustdesk_keys.txt
 | 
			
		||||
echo "${RELEASE}" >~/.rustdesk-server
 | 
			
		||||
msg_ok "Installed RustDesk Server v${RELEASE}"
 | 
			
		||||
 | 
			
		||||
APIRELEASE=$(curl -s https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
msg_info "Installing RustDesk API v${APIRELEASE}"
 | 
			
		||||
temp_file2=$(mktemp)
 | 
			
		||||
curl -fsSL "https://github.com/lejianwen/rustdesk-api/releases/download/v${APIRELEASE}/linux-amd64.tar.gz" -o "$temp_file2"
 | 
			
		||||
$STD tar zxvf "$temp_file2"
 | 
			
		||||
mv release /opt/rustdesk-api
 | 
			
		||||
cd /opt/rustdesk-api
 | 
			
		||||
ADMINPASS=$(head -c 16 /dev/urandom | xxd -p -c 16)
 | 
			
		||||
$STD ./apimain reset-admin-pwd "$ADMINPASS"
 | 
			
		||||
{
 | 
			
		||||
  echo "RustDesk WebUI"
 | 
			
		||||
  echo ""
 | 
			
		||||
  echo "Username: admin"
 | 
			
		||||
  echo "Password: $ADMINPASS"
 | 
			
		||||
} >>~/rustdesk.creds
 | 
			
		||||
echo "${APIRELEASE}" >~/.rustdesk-api
 | 
			
		||||
msg_ok "Installed RustDesk API v${APIRELEASE}"
 | 
			
		||||
 | 
			
		||||
msg_info "Enabling RustDesk Server Services"
 | 
			
		||||
cat <<EOF >/etc/init.d/rustdesk-server-hbbs
 | 
			
		||||
#!/sbin/openrc-run
 | 
			
		||||
description="RustDesk HBBS Service"
 | 
			
		||||
directory="/opt/rustdesk-server"
 | 
			
		||||
command="/opt/rustdesk-server/hbbs"
 | 
			
		||||
command_args=""
 | 
			
		||||
command_background="true"
 | 
			
		||||
command_user="root"
 | 
			
		||||
pidfile="/var/run/rustdesk-server-hbbs.pid"
 | 
			
		||||
output_log="/var/log/rustdesk-hbbs.log"
 | 
			
		||||
error_log="/var/log/rustdesk-hbbs.err"
 | 
			
		||||
 | 
			
		||||
depend() {
 | 
			
		||||
    use net
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
cat <<EOF >/etc/init.d/rustdesk-server-hbbr
 | 
			
		||||
#!/sbin/openrc-run
 | 
			
		||||
description="RustDesk HBBR Service"
 | 
			
		||||
directory="/opt/rustdesk-server"
 | 
			
		||||
command="/opt/rustdesk-server/hbbr"
 | 
			
		||||
command_args=""
 | 
			
		||||
command_background="true"
 | 
			
		||||
command_user="root"
 | 
			
		||||
pidfile="/var/run/rustdesk-server-hbbr.pid"
 | 
			
		||||
output_log="/var/log/rustdesk-hbbr.log"
 | 
			
		||||
error_log="/var/log/rustdesk-hbbr.err"
 | 
			
		||||
 | 
			
		||||
depend() {
 | 
			
		||||
    use net
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
cat <<EOF >/etc/init.d/rustdesk-api
 | 
			
		||||
#!/sbin/openrc-run
 | 
			
		||||
description="RustDesk API Service"
 | 
			
		||||
directory="/opt/rustdesk-api"
 | 
			
		||||
command="/opt/rustdesk-api/apimain"
 | 
			
		||||
command_args=""
 | 
			
		||||
command_background="true"
 | 
			
		||||
command_user="root"
 | 
			
		||||
pidfile="/var/run/rustdesk-api.pid"
 | 
			
		||||
output_log="/var/log/rustdesk-api.log"
 | 
			
		||||
error_log="/var/log/rustdesk-api.err"
 | 
			
		||||
 | 
			
		||||
depend() {
 | 
			
		||||
    use net
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
chmod +x /etc/init.d/rustdesk-server-hbbs
 | 
			
		||||
chmod +x /etc/init.d/rustdesk-server-hbbr
 | 
			
		||||
chmod +x /etc/init.d/rustdesk-api
 | 
			
		||||
$STD rc-update add rustdesk-server-hbbs default
 | 
			
		||||
$STD rc-update add rustdesk-server-hbbr default
 | 
			
		||||
$STD rc-update add rustdesk-api default
 | 
			
		||||
msg_ok "Enabled RustDesk Server Services"
 | 
			
		||||
 | 
			
		||||
msg_info "Starting RustDesk Server"
 | 
			
		||||
$STD service rustdesk-server-hbbs start
 | 
			
		||||
$STD service rustdesk-server-hbbr start
 | 
			
		||||
$STD service rustdesk-api start
 | 
			
		||||
msg_ok "Started RustDesk Server"
 | 
			
		||||
 | 
			
		||||
motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
rm -f "$temp_file1" "$temp_file2"
 | 
			
		||||
$STD apk cache clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
@@ -51,6 +51,7 @@ cat <<EOF >/opt/booklore_storage/.env
 | 
			
		||||
DATABASE_URL=jdbc:mariadb://localhost:3306/$DB_NAME
 | 
			
		||||
DATABASE_USERNAME=$DB_USER
 | 
			
		||||
DATABASE_PASSWORD=$DB_PASS
 | 
			
		||||
BOOKLORE_PORT=6060 
 | 
			
		||||
 | 
			
		||||
BOOKLORE_DATA_PATH=/opt/booklore_storage/data
 | 
			
		||||
BOOKLORE_BOOKS_PATH=/opt/booklore_storage/books
 | 
			
		||||
@@ -75,6 +76,7 @@ msg_info "Configure Nginx"
 | 
			
		||||
rm -rf /usr/share/nginx/html
 | 
			
		||||
ln -s /opt/booklore/booklore-ui/dist/booklore/browser /usr/share/nginx/html
 | 
			
		||||
cp /opt/booklore/nginx.conf /etc/nginx/nginx.conf
 | 
			
		||||
sed -i "s/listen \${BOOKLORE_PORT};/listen 6060;/" /etc/nginx/nginx.conf
 | 
			
		||||
systemctl restart nginx
 | 
			
		||||
msg_ok "Configured Nginx"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										136
									
								
								install/healthchecks-install.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								install/healthchecks-install.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,136 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
# Copyright (c) 2021-2025 community-scripts ORG
 | 
			
		||||
# Author: MickLesk (Canbiz)
 | 
			
		||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
			
		||||
# Source: https://healthchecks.io/
 | 
			
		||||
 | 
			
		||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
 | 
			
		||||
color
 | 
			
		||||
verb_ip6
 | 
			
		||||
catch_errors
 | 
			
		||||
setting_up_container
 | 
			
		||||
network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
  gcc \
 | 
			
		||||
  libpq-dev \
 | 
			
		||||
  libcurl4-openssl-dev \
 | 
			
		||||
  libssl-dev \
 | 
			
		||||
  caddy
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
setup_uv
 | 
			
		||||
PG_VERSION=16 setup_postgresql
 | 
			
		||||
 | 
			
		||||
msg_info "Setup Database"
 | 
			
		||||
DB_NAME=healthchecks_db
 | 
			
		||||
DB_USER=hc_user
 | 
			
		||||
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)
 | 
			
		||||
SECRET_KEY="$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)"
 | 
			
		||||
ADMIN_EMAIL="admin@helper-scripts.local"
 | 
			
		||||
ADMIN_PASSWORD="$DB_PASS"
 | 
			
		||||
 | 
			
		||||
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
 | 
			
		||||
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;"
 | 
			
		||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
 | 
			
		||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
 | 
			
		||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'"
 | 
			
		||||
{
 | 
			
		||||
  echo "healthchecks-Credentials"
 | 
			
		||||
  echo "healthchecks Database User: $DB_USER"
 | 
			
		||||
  echo "healthchecks Database Password: $DB_PASS"
 | 
			
		||||
  echo "healthchecks Database Name: $DB_NAME"
 | 
			
		||||
  echo "healthchecks Admin Email: $ADMIN_EMAIL"
 | 
			
		||||
  echo "healthchecks Admin Password: $ADMIN_PASSWORD"
 | 
			
		||||
} >>~/healthchecks.creds
 | 
			
		||||
msg_ok "Set up Database"
 | 
			
		||||
 | 
			
		||||
fetch_and_deploy_gh_release "healthchecks" "healthchecks/healthchecks"
 | 
			
		||||
 | 
			
		||||
msg_info "Setup healthchecks"
 | 
			
		||||
cd /opt/healthchecks
 | 
			
		||||
mkdir -p /opt/healthchecks/static-collected/
 | 
			
		||||
$STD uv pip install wheel gunicorn -r requirements.txt --system
 | 
			
		||||
 | 
			
		||||
LOCAL_IP=$(hostname -I | awk '{print $1}')
 | 
			
		||||
cat <<EOF >/opt/healthchecks/hc/local_settings.py
 | 
			
		||||
DEBUG = False
 | 
			
		||||
 | 
			
		||||
ALLOWED_HOSTS = ["${LOCAL_IP}", "127.0.0.1", "localhost"]
 | 
			
		||||
CSRF_TRUSTED_ORIGINS = ["http://${LOCAL_IP}", "https://${LOCAL_IP}"]
 | 
			
		||||
 | 
			
		||||
SECRET_KEY = "${SECRET_KEY}"
 | 
			
		||||
 | 
			
		||||
SITE_ROOT = "http://${LOCAL_IP}:8000"
 | 
			
		||||
SITE_NAME = "MyChecks"
 | 
			
		||||
DEFAULT_FROM_EMAIL = "healthchecks@${LOCAL_IP}"
 | 
			
		||||
 | 
			
		||||
STATIC_ROOT = "/opt/healthchecks/static-collected"
 | 
			
		||||
COMPRESS_OFFLINE = True
 | 
			
		||||
 | 
			
		||||
DATABASES = {
 | 
			
		||||
    'default': {
 | 
			
		||||
        'ENGINE': 'django.db.backends.postgresql',
 | 
			
		||||
        'NAME': '${DB_NAME}',
 | 
			
		||||
        'USER': '${DB_USER}',
 | 
			
		||||
        'PASSWORD': '${DB_PASS}',
 | 
			
		||||
        'HOST': '127.0.0.1',
 | 
			
		||||
        'PORT': '5432',
 | 
			
		||||
        'TEST': {'CHARSET': 'UTF8'}
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
$STD uv run -- python manage.py makemigrations
 | 
			
		||||
$STD uv run -- python manage.py migrate --noinput
 | 
			
		||||
$STD uv run -- python manage.py collectstatic --noinput
 | 
			
		||||
$STD uv run -- python manage.py compress
 | 
			
		||||
 | 
			
		||||
cat <<EOF | $STD uv run -- python manage.py shell
 | 
			
		||||
from django.contrib.auth import get_user_model
 | 
			
		||||
User = get_user_model()
 | 
			
		||||
if not User.objects.filter(email="${ADMIN_EMAIL}").exists():
 | 
			
		||||
    User.objects.create_superuser("${ADMIN_EMAIL}", "${ADMIN_EMAIL}", "${ADMIN_PASSWORD}")
 | 
			
		||||
EOF
 | 
			
		||||
msg_ok "Installed healthchecks"
 | 
			
		||||
 | 
			
		||||
msg_info "Configuring Caddy"
 | 
			
		||||
cat <<EOF >/etc/caddy/Caddyfile
 | 
			
		||||
{
 | 
			
		||||
    email admin@example.com
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
${LOCAL_IP} {
 | 
			
		||||
    reverse_proxy 127.0.0.1:8000
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
msg_ok "Configured Caddy"
 | 
			
		||||
 | 
			
		||||
msg_info "Creating Service"
 | 
			
		||||
cat <<EOF >/etc/systemd/system/healthchecks.service
 | 
			
		||||
[Unit]
 | 
			
		||||
Description=Healthchecks Service
 | 
			
		||||
After=network.target postgresql.service
 | 
			
		||||
 | 
			
		||||
[Service]
 | 
			
		||||
WorkingDirectory=/opt/healthchecks/
 | 
			
		||||
ExecStart=/usr/local/bin/uv run -- gunicorn hc.wsgi:application --bind 127.0.0.1:8000
 | 
			
		||||
Restart=always
 | 
			
		||||
 | 
			
		||||
[Install]
 | 
			
		||||
WantedBy=multi-user.target
 | 
			
		||||
EOF
 | 
			
		||||
systemctl enable -q --now healthchecks caddy
 | 
			
		||||
systemctl reload caddy
 | 
			
		||||
msg_ok "Created Service"
 | 
			
		||||
 | 
			
		||||
motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
@@ -280,7 +280,7 @@ GEO_DIR="${INSTALL_DIR}/geodata"
 | 
			
		||||
mkdir -p "$INSTALL_DIR"
 | 
			
		||||
mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${INSTALL_DIR}"/cache}
 | 
			
		||||
 | 
			
		||||
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.139.2" "$SRC_DIR"
 | 
			
		||||
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.139.4" "$SRC_DIR"
 | 
			
		||||
 | 
			
		||||
msg_info "Installing ${APPLICATION} (more patience please)"
 | 
			
		||||
 | 
			
		||||
@@ -290,14 +290,16 @@ export CI=1
 | 
			
		||||
corepack enable
 | 
			
		||||
 | 
			
		||||
# server build
 | 
			
		||||
export SHARP_IGNORE_GLOBAL_LIBVIPS=true
 | 
			
		||||
$STD pnpm --filter immich --frozen-lockfile build
 | 
			
		||||
unset SHARP_IGNORE_GLOBAL_LIBVIPS
 | 
			
		||||
export SHARP_FORCE_GLOBAL_LIBVIPS=true
 | 
			
		||||
$STD pnpm --filter immich --frozen-lockfile --prod --no-optional deploy "$APP_DIR"
 | 
			
		||||
cp "$APP_DIR"/package.json "$APP_DIR"/bin
 | 
			
		||||
sed -i 's|^start|./start|' "$APP_DIR"/bin/immich-admin
 | 
			
		||||
 | 
			
		||||
# openapi & web build
 | 
			
		||||
cd "$SRC_DIR"
 | 
			
		||||
export SHARP_FORCE_GLOBAL_LIBVIPS=true
 | 
			
		||||
$STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install
 | 
			
		||||
$STD pnpm --filter @immich/sdk --filter immich-web build
 | 
			
		||||
cp -a web/build "$APP_DIR"/www
 | 
			
		||||
 
 | 
			
		||||
@@ -16,22 +16,22 @@ update_os
 | 
			
		||||
msg_info "Installing Kasm Workspaces"
 | 
			
		||||
KASM_VERSION=$(curl -fsSL 'https://www.kasmweb.com/downloads' | grep -o 'https://kasm-static-content.s3.amazonaws.com/kasm_release_[^"]*\.tar\.gz' | head -n 1 | sed -E 's/.*release_(.*)\.tar\.gz/\1/')
 | 
			
		||||
curl -fsSL -o "/opt/kasm_release_${KASM_VERSION}.tar.gz" "https://kasm-static-content.s3.amazonaws.com/kasm_release_${KASM_VERSION}.tar.gz"
 | 
			
		||||
 | 
			
		||||
cd /opt
 | 
			
		||||
tar -xf "kasm_release_${KASM_VERSION}.tar.gz"
 | 
			
		||||
chmod +x /opt/kasm_release/install.sh
 | 
			
		||||
printf 'y\ny\ny\n4\n' | bash /opt/kasm_release/install.sh > ~/kasm-install.output 2>&1
 | 
			
		||||
cat ~/kasm-install.output | grep -A 20 -i "credentials\|login\|password\|admin" | sed '1i Kasm-Workspaces-Credentials' >~/kasm.creds
 | 
			
		||||
 | 
			
		||||
awk '
 | 
			
		||||
  /^Kasm UI Login Credentials$/ {capture=1}
 | 
			
		||||
  capture {print}
 | 
			
		||||
  /^Service Registration Token$/ {in_token=1}
 | 
			
		||||
  in_token && /^-+$/ {dash_count++}
 | 
			
		||||
  in_token && dash_count==2 {exit}
 | 
			
		||||
' ~/kasm-install.output > ~/kasm.creds
 | 
			
		||||
msg_ok "Installed Kasm Workspaces"
 | 
			
		||||
 | 
			
		||||
motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Displaying Kasm Credentials"
 | 
			
		||||
cat ~/kasm.creds
 | 
			
		||||
msg_ok "Kasm Credentials displayed"
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
rm -f /opt/kasm_release_${KASM_VERSION}.tar.gz
 | 
			
		||||
rm -f ~/kasm-install.output
 | 
			
		||||
 
 | 
			
		||||
@@ -62,15 +62,23 @@ curl -fsSL "https://raw.githubusercontent.com/moghtech/komodo/main/compose/$DB_C
 | 
			
		||||
msg_info "Setup Komodo Environment"
 | 
			
		||||
curl -fsSL "https://raw.githubusercontent.com/moghtech/komodo/main/compose/compose.env" -o "/opt/komodo/compose.env"
 | 
			
		||||
DB_PASSWORD=$(openssl rand -base64 16 | tr -d '/+=')
 | 
			
		||||
ADMIN_PASSWORD=$(openssl rand -base64 8 | tr -d '/+=')
 | 
			
		||||
PASSKEY=$(openssl rand -base64 24 | tr -d '/+=')
 | 
			
		||||
WEBHOOK_SECRET=$(openssl rand -base64 24 | tr -d '/+=')
 | 
			
		||||
JWT_SECRET=$(openssl rand -base64 24 | tr -d '/+=')
 | 
			
		||||
 | 
			
		||||
sed -i "s/^KOMODO_DB_USERNAME=.*/KOMODO_DB_USERNAME=komodo_admin/" /opt/komodo/compose.env
 | 
			
		||||
sed -i "s/^KOMODO_DB_PASSWORD=.*/KOMODO_DB_PASSWORD=${DB_PASSWORD}/" /opt/komodo/compose.env
 | 
			
		||||
sed -i "s/^KOMODO_INIT_ADMIN_PASSWORD=changeme/KOMODO_INIT_ADMIN_PASSWORD=${ADMIN_PASSWORD}/" /opt/komodo/compose.env
 | 
			
		||||
sed -i "s/^KOMODO_PASSKEY=.*/KOMODO_PASSKEY=${PASSKEY}/" /opt/komodo/compose.env
 | 
			
		||||
sed -i "s/^KOMODO_WEBHOOK_SECRET=.*/KOMODO_WEBHOOK_SECRET=${WEBHOOK_SECRET}/" /opt/komodo/compose.env
 | 
			
		||||
sed -i "s/^KOMODO_JWT_SECRET=.*/KOMODO_JWT_SECRET=${JWT_SECRET}/" /opt/komodo/compose.env
 | 
			
		||||
{
 | 
			
		||||
  echo "Komodo Credentials"
 | 
			
		||||
  echo ""
 | 
			
		||||
  echo "Admin User    : admin"
 | 
			
		||||
  echo "Admin Password: $ADMIN_PASSWORD"
 | 
			
		||||
} >>~/komodo.creds
 | 
			
		||||
msg_ok "Setup Komodo Environment"
 | 
			
		||||
 | 
			
		||||
msg_info "Initialize Komodo"
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user