mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 02:12:49 +00:00 
			
		
		
		
	Compare commits
	
		
			14 Commits
		
	
	
		
			2025-04-06
			...
			2025-04-07
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					9a906d35e2 | ||
| 
						 | 
					97674cfae7 | ||
| 
						 | 
					89ae467364 | ||
| 
						 | 
					42a7c00bca | ||
| 
						 | 
					d28368b596 | ||
| 
						 | 
					9786bfb55e | ||
| 
						 | 
					26ea046ba2 | ||
| 
						 | 
					061c7ebd2e | ||
| 
						 | 
					5313bb0103 | ||
| 
						 | 
					86577a0d0d | ||
| 
						 | 
					4ae0352304 | ||
| 
						 | 
					0c202066f5 | ||
| 
						 | 
					9bac1398b2 | ||
| 
						 | 
					251f3c411d | 
							
								
								
									
										29
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -14,6 +14,35 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
 | 
				
			|||||||
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
 | 
					All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-04-07
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Breaking: Hoarder > Karakeep [@MickLesk](https://github.com/MickLesk) ([#3699](https://github.com/community-scripts/ProxmoxVE/pull/3699))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Actual: Increase RAM and add heap-space var for nodejs [@MickLesk](https://github.com/MickLesk) ([#3713](https://github.com/community-scripts/ProxmoxVE/pull/3713))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Alpine-MariaDB: Fix Install Service startup [@MickLesk](https://github.com/MickLesk) ([#3701](https://github.com/community-scripts/ProxmoxVE/pull/3701))
 | 
				
			||||||
 | 
					    - Zitadel: Fix release tarball crawling [@tremor021](https://github.com/tremor021) ([#3716](https://github.com/community-scripts/ProxmoxVE/pull/3716))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Kimai: bump php to 8.4 [@MickLesk](https://github.com/MickLesk) ([#3724](https://github.com/community-scripts/ProxmoxVE/pull/3724))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: Zabbix, get always latest version [@MickLesk](https://github.com/MickLesk) ([#3720](https://github.com/community-scripts/ProxmoxVE/pull/3720))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Changed the category of Channels DVR and NextPVR [@johnsturgeon](https://github.com/johnsturgeon) ([#3729](https://github.com/community-scripts/ProxmoxVE/pull/3729))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 2025-04-06
 | 
					## 2025-04-06
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🚀 Updated Scripts
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,8 +8,8 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
 | 
				
			|||||||
APP="Actual Budget"
 | 
					APP="Actual Budget"
 | 
				
			||||||
var_tags="finance"
 | 
					var_tags="finance"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="8192"
 | 
				
			||||||
var_disk="4"
 | 
					var_disk="7"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
var_unprivileged="1"
 | 
					var_unprivileged="1"
 | 
				
			||||||
@@ -84,6 +84,7 @@ ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt
 | 
				
			|||||||
EOF
 | 
					EOF
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    cd /opt/actualbudget || exit
 | 
					    cd /opt/actualbudget || exit
 | 
				
			||||||
 | 
					    export NODE_OPTIONS="--max_old_space_size=4096"
 | 
				
			||||||
    $STD yarn install
 | 
					    $STD yarn install
 | 
				
			||||||
    $STD yarn run build:server
 | 
					    $STD yarn run build:server
 | 
				
			||||||
    #$STD yarn workspaces focus @actual-app/sync-server --production
 | 
					    #$STD yarn workspaces focus @actual-app/sync-server --production
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6
									
								
								ct/headers/karakeep
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/karakeep
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    __                    __                 
 | 
				
			||||||
 | 
					   / /______ __________ _/ /_____  ___  ____ 
 | 
				
			||||||
 | 
					  / //_/ __ `/ ___/ __ `/ //_/ _ \/ _ \/ __ \
 | 
				
			||||||
 | 
					 / ,< / /_/ / /  / /_/ / ,< /  __/  __/ /_/ /
 | 
				
			||||||
 | 
					/_/|_|\__,_/_/   \__,_/_/|_|\___/\___/ .___/ 
 | 
				
			||||||
 | 
					                                    /_/      
 | 
				
			||||||
@@ -40,23 +40,23 @@ function update_script() {
 | 
				
			|||||||
    if [[ "${PREV_RELEASE}" < 0.23.0 ]]; then
 | 
					    if [[ "${PREV_RELEASE}" < 0.23.0 ]]; then
 | 
				
			||||||
      $STD apt-get install -y graphicsmagick ghostscript
 | 
					      $STD apt-get install -y graphicsmagick ghostscript
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    cd /opt
 | 
					    cd /opt || exit
 | 
				
			||||||
    if [[ -f /opt/hoarder/.env ]] && [[ ! -f /etc/hoarder/hoarder.env ]]; then
 | 
					    if [[ -f /opt/hoarder/.env ]] && [[ ! -f /etc/hoarder/hoarder.env ]]; then
 | 
				
			||||||
      mkdir -p /etc/hoarder
 | 
					      mkdir -p /etc/hoarder
 | 
				
			||||||
      mv /opt/hoarder/.env /etc/hoarder/hoarder.env
 | 
					      mv /opt/hoarder/.env /etc/hoarder/hoarder.env
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    rm -rf /opt/hoarder
 | 
					    rm -rf /opt/hoarder
 | 
				
			||||||
    curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip")
 | 
					    curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
 | 
				
			||||||
    unzip -q v${RELEASE}.zip
 | 
					    unzip -q v"${RELEASE}".zip
 | 
				
			||||||
    mv hoarder-${RELEASE} /opt/hoarder
 | 
					    mv karakeep-"${RELEASE}" /opt/hoarder
 | 
				
			||||||
    cd /opt/hoarder/apps/web
 | 
					    cd /opt/hoarder/apps/web || exit
 | 
				
			||||||
    $STD pnpm install --frozen-lockfile
 | 
					    $STD pnpm install --frozen-lockfile
 | 
				
			||||||
    $STD pnpm exec next build --experimental-build-mode compile
 | 
					    $STD pnpm exec next build --experimental-build-mode compile
 | 
				
			||||||
    cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web
 | 
					    cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web
 | 
				
			||||||
    cd /opt/hoarder/apps/workers
 | 
					    cd /opt/hoarder/apps/workers || exit
 | 
				
			||||||
    $STD pnpm install --frozen-lockfile
 | 
					    $STD pnpm install --frozen-lockfile
 | 
				
			||||||
    export DATA_DIR=/opt/hoarder_data
 | 
					    export DATA_DIR=/opt/hoarder_data
 | 
				
			||||||
    cd /opt/hoarder/packages/db
 | 
					    cd /opt/hoarder/packages/db || exit
 | 
				
			||||||
    $STD pnpm migrate
 | 
					    $STD pnpm migrate
 | 
				
			||||||
    sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /etc/hoarder/hoarder.env
 | 
					    sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /etc/hoarder/hoarder.env
 | 
				
			||||||
    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
					    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
				
			||||||
@@ -65,7 +65,7 @@ function update_script() {
 | 
				
			|||||||
    systemctl start hoarder-browser hoarder-workers hoarder-web
 | 
					    systemctl start hoarder-browser hoarder-workers hoarder-web
 | 
				
			||||||
    msg_ok "Started Services"
 | 
					    msg_ok "Started Services"
 | 
				
			||||||
    msg_info "Cleaning up"
 | 
					    msg_info "Cleaning up"
 | 
				
			||||||
    rm -R /opt/v${RELEASE}.zip
 | 
					    rm -R /opt/v"${RELEASE}".zip
 | 
				
			||||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
    msg_ok "Cleaned"
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										85
									
								
								ct/karakeep.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								ct/karakeep.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,85 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
 | 
					# Author: MickLesk (Canbiz) & vhsdream
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://karakeep.app/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					APP="karakeep"
 | 
				
			||||||
 | 
					var_tags="bookmark"
 | 
				
			||||||
 | 
					var_cpu="2"
 | 
				
			||||||
 | 
					var_ram="4096"
 | 
				
			||||||
 | 
					var_disk="10"
 | 
				
			||||||
 | 
					var_os="debian"
 | 
				
			||||||
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					  header_info
 | 
				
			||||||
 | 
					  check_container_storage
 | 
				
			||||||
 | 
					  check_container_resources
 | 
				
			||||||
 | 
					  if [[ ! -d /opt/karakeep ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
 | 
					  PREV_RELEASE=$(cat /opt/${APP}_version.txt)
 | 
				
			||||||
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "${PREV_RELEASE}" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping Services"
 | 
				
			||||||
 | 
					    systemctl stop karakeep-web karakeep-workers karakeep-browser
 | 
				
			||||||
 | 
					    msg_ok "Stopped Services"
 | 
				
			||||||
 | 
					    msg_info "Updating ${APP} to v${RELEASE}"
 | 
				
			||||||
 | 
					    if [[ $(corepack -v) < "0.31.0" ]]; then
 | 
				
			||||||
 | 
					      $STD npm install -g corepack@0.31.0
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if [[ "${PREV_RELEASE}" < 0.23.0 ]]; then
 | 
				
			||||||
 | 
					      $STD apt-get install -y graphicsmagick ghostscript
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    cd /opt || exit
 | 
				
			||||||
 | 
					    if [[ -f /opt/karakeep/.env ]] && [[ ! -f /etc/karakeep/karakeep.env ]]; then
 | 
				
			||||||
 | 
					      mkdir -p /etc/karakeep
 | 
				
			||||||
 | 
					      mv /opt/karakeep/.env /etc/karakeep/karakeep.env
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    rm -rf /opt/karakeep
 | 
				
			||||||
 | 
					    curl -fsSL "https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
 | 
				
			||||||
 | 
					    unzip -q "v${RELEASE}.zip"
 | 
				
			||||||
 | 
					    mv karakeep-"${RELEASE}" /opt/karakeep
 | 
				
			||||||
 | 
					    cd /opt/karakeep/apps/web || exit
 | 
				
			||||||
 | 
					    $STD pnpm install --frozen-lockfile
 | 
				
			||||||
 | 
					    $STD pnpm exec next build --experimental-build-mode compile
 | 
				
			||||||
 | 
					    cp -r /opt/karakeep/apps/web/.next/standalone/apps/web/server.js /opt/karakeep/apps/web
 | 
				
			||||||
 | 
					    cd /opt/karakeep/apps/workers || exit
 | 
				
			||||||
 | 
					    $STD pnpm install --frozen-lockfile
 | 
				
			||||||
 | 
					    export DATA_DIR=/opt/karakeep_data
 | 
				
			||||||
 | 
					    cd /opt/karakeep/packages/db || exit
 | 
				
			||||||
 | 
					    $STD pnpm migrate
 | 
				
			||||||
 | 
					    sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /etc/karakeep/karakeep.env
 | 
				
			||||||
 | 
					    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting Services"
 | 
				
			||||||
 | 
					    systemctl start karakeep-browser karakeep-workers karakeep-web
 | 
				
			||||||
 | 
					    msg_ok "Started Services"
 | 
				
			||||||
 | 
					    msg_info "Cleaning up"
 | 
				
			||||||
 | 
					    rm -R /opt/v"${RELEASE}".zip
 | 
				
			||||||
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required.  ${APP} is already at ${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}http://${IP}:3000${CL}"
 | 
				
			||||||
							
								
								
									
										129
									
								
								ct/kimai.sh
									
									
									
									
									
								
							
							
						
						
									
										129
									
								
								ct/kimai.sh
									
									
									
									
									
								
							@@ -20,64 +20,79 @@ color
 | 
				
			|||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
    header_info
 | 
					  header_info
 | 
				
			||||||
    check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
    check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
    if [[ ! -d /opt/kimai ]]; then
 | 
					  if [[ ! -d /opt/kimai ]]; then
 | 
				
			||||||
        msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
        exit
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					 | 
				
			||||||
    BACKUP_DIR="/opt/kimai_backup"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					 | 
				
			||||||
        msg_info "Stopping Apache2"
 | 
					 | 
				
			||||||
        systemctl stop apache2
 | 
					 | 
				
			||||||
        msg_ok "Stopped Apache2"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        msg_info "Backing up Kimai configuration and var directory"
 | 
					 | 
				
			||||||
        mkdir -p "$BACKUP_DIR"
 | 
					 | 
				
			||||||
        [ -d /opt/kimai/var ] && cp -r /opt/kimai/var "$BACKUP_DIR/"
 | 
					 | 
				
			||||||
        [ -f /opt/kimai/.env ] && cp /opt/kimai/.env "$BACKUP_DIR/"
 | 
					 | 
				
			||||||
        [ -f /opt/kimai/config/packages/local.yaml ] && cp /opt/kimai/config/packages/local.yaml "$BACKUP_DIR/"
 | 
					 | 
				
			||||||
        msg_ok "Backup completed"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        msg_info "Updating ${APP} to ${RELEASE}"
 | 
					 | 
				
			||||||
        rm -rf /opt/kimai
 | 
					 | 
				
			||||||
        curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip")
 | 
					 | 
				
			||||||
        unzip -q ${RELEASE}.zip
 | 
					 | 
				
			||||||
        mv kimai-${RELEASE} /opt/kimai
 | 
					 | 
				
			||||||
        [ -d "$BACKUP_DIR/var" ] && cp -r "$BACKUP_DIR/var" /opt/kimai/
 | 
					 | 
				
			||||||
        [ -f "$BACKUP_DIR/.env" ] && cp "$BACKUP_DIR/.env" /opt/kimai/
 | 
					 | 
				
			||||||
        [ -f "$BACKUP_DIR/local.yaml" ] && cp "$BACKUP_DIR/local.yaml" /opt/kimai/config/packages/
 | 
					 | 
				
			||||||
        rm -rf "$BACKUP_DIR"
 | 
					 | 
				
			||||||
        cd /opt/kimai
 | 
					 | 
				
			||||||
        $STD composer install --no-dev --optimize-autoloader
 | 
					 | 
				
			||||||
        $STD bin/console kimai:update
 | 
					 | 
				
			||||||
        echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					 | 
				
			||||||
        msg_ok "Updated ${APP} to ${RELEASE}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        msg_info "Starting Apache2"
 | 
					 | 
				
			||||||
        systemctl start apache2
 | 
					 | 
				
			||||||
        msg_ok "Started Apache2"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        msg_info "Setup Permissions"
 | 
					 | 
				
			||||||
        chown -R :www-data /opt/*
 | 
					 | 
				
			||||||
        chmod -R g+r /opt/*
 | 
					 | 
				
			||||||
        chmod -R g+rw /opt/*
 | 
					 | 
				
			||||||
        chown -R www-data:www-data /opt/*
 | 
					 | 
				
			||||||
        chmod -R 777 /opt/*
 | 
					 | 
				
			||||||
        msg_ok "Setup Permissions"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        msg_info "Cleaning Up"
 | 
					 | 
				
			||||||
        rm -rf ${RELEASE}.zip
 | 
					 | 
				
			||||||
        rm -rf "$BACKUP_DIR"
 | 
					 | 
				
			||||||
        msg_ok "Cleaned"
 | 
					 | 
				
			||||||
        msg_ok "Updated Successfully"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2)
 | 
				
			||||||
 | 
					  if [[ "$CURRENT_PHP" != "8.4" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Migrating PHP $CURRENT_PHP to 8.4"
 | 
				
			||||||
 | 
					    $STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
 | 
				
			||||||
 | 
					    $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
 | 
				
			||||||
 | 
					    $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
 | 
				
			||||||
 | 
					    $STD apt-get update
 | 
				
			||||||
 | 
					    $STD apt-get remove -y php"${CURRENT_PHP//./}"*
 | 
				
			||||||
 | 
					    $STD apt-get install -y \
 | 
				
			||||||
 | 
					      php8.4 \
 | 
				
			||||||
 | 
					      php8.4-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl} \
 | 
				
			||||||
 | 
					      libapache2-mod-php8.4
 | 
				
			||||||
 | 
					    msg_ok "Migrated PHP $CURRENT_PHP to 8.4"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
				
			||||||
 | 
					  BACKUP_DIR="/opt/kimai_backup"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping Apache2"
 | 
				
			||||||
 | 
					    systemctl stop apache2
 | 
				
			||||||
 | 
					    msg_ok "Stopped Apache2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Backing up Kimai configuration and var directory"
 | 
				
			||||||
 | 
					    mkdir -p "$BACKUP_DIR"
 | 
				
			||||||
 | 
					    [ -d /opt/kimai/var ] && cp -r /opt/kimai/var "$BACKUP_DIR/"
 | 
				
			||||||
 | 
					    [ -f /opt/kimai/.env ] && cp /opt/kimai/.env "$BACKUP_DIR/"
 | 
				
			||||||
 | 
					    [ -f /opt/kimai/config/packages/local.yaml ] && cp /opt/kimai/config/packages/local.yaml "$BACKUP_DIR/"
 | 
				
			||||||
 | 
					    msg_ok "Backup completed"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Updating ${APP} to ${RELEASE}"
 | 
				
			||||||
 | 
					    rm -rf /opt/kimai
 | 
				
			||||||
 | 
					    curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip")
 | 
				
			||||||
 | 
					    unzip -q "${RELEASE}".zip
 | 
				
			||||||
 | 
					    mv kimai-"${RELEASE}" /opt/kimai
 | 
				
			||||||
 | 
					    [ -d "$BACKUP_DIR/var" ] && cp -r "$BACKUP_DIR/var" /opt/kimai/
 | 
				
			||||||
 | 
					    [ -f "$BACKUP_DIR/.env" ] && cp "$BACKUP_DIR/.env" /opt/kimai/
 | 
				
			||||||
 | 
					    [ -f "$BACKUP_DIR/local.yaml" ] && cp "$BACKUP_DIR/local.yaml" /opt/kimai/config/packages/
 | 
				
			||||||
 | 
					    rm -rf "$BACKUP_DIR"
 | 
				
			||||||
 | 
					    cd /opt/kimai || exit
 | 
				
			||||||
 | 
					    $STD composer install --no-dev --optimize-autoloader
 | 
				
			||||||
 | 
					    $STD bin/console kimai:update
 | 
				
			||||||
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
 | 
					    msg_ok "Updated ${APP} to ${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting Apache2"
 | 
				
			||||||
 | 
					    systemctl start apache2
 | 
				
			||||||
 | 
					    msg_ok "Started Apache2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Setup Permissions"
 | 
				
			||||||
 | 
					    chown -R :www-data /opt/*
 | 
				
			||||||
 | 
					    chmod -R g+r /opt/*
 | 
				
			||||||
 | 
					    chmod -R g+rw /opt/*
 | 
				
			||||||
 | 
					    chown -R www-data:www-data /opt/*
 | 
				
			||||||
 | 
					    chmod -R 777 /opt/*
 | 
				
			||||||
 | 
					    msg_ok "Setup Permissions"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Cleaning Up"
 | 
				
			||||||
 | 
					    rm -rf "${RELEASE}".zip
 | 
				
			||||||
 | 
					    rm -rf "$BACKUP_DIR"
 | 
				
			||||||
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										73
									
								
								ct/zabbix.sh
									
									
									
									
									
								
							
							
						
						
									
										73
									
								
								ct/zabbix.sh
									
									
									
									
									
								
							@@ -1,7 +1,7 @@
 | 
				
			|||||||
#!/usr/bin/env bash
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
					source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
# Copyright (c) 2021-2025 tteck
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: MickLesk (CanbiZ)
 | 
				
			||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# Source: https://www.zabbix.com/
 | 
					# Source: https://www.zabbix.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -20,40 +20,43 @@ color
 | 
				
			|||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
    header_info
 | 
					  header_info
 | 
				
			||||||
    check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
    check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
    if [[ ! -f /etc/zabbix/zabbix_server.conf ]]; then
 | 
					  if [[ ! -f /etc/zabbix/zabbix_server.conf ]]; then
 | 
				
			||||||
        msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
        exit
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    msg_info "Stopping ${APP} Services"
 | 
					 | 
				
			||||||
    systemctl stop zabbix-server zabbix-agent2
 | 
					 | 
				
			||||||
    msg_ok "Stopped ${APP} Services"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_info "Updating $APP LXC"
 | 
					 | 
				
			||||||
    mkdir -p /opt/zabbix-backup/
 | 
					 | 
				
			||||||
    cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
 | 
					 | 
				
			||||||
    cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/
 | 
					 | 
				
			||||||
    cp -R /usr/share/zabbix/ /opt/zabbix-backup/
 | 
					 | 
				
			||||||
    #cp -R /usr/share/zabbix-* /opt/zabbix-backup/ Remove temporary
 | 
					 | 
				
			||||||
    rm -Rf /etc/apt/sources.list.d/zabbix.list
 | 
					 | 
				
			||||||
    cd /tmp
 | 
					 | 
				
			||||||
    curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -o $(basename "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb")
 | 
					 | 
				
			||||||
    $STD dpkg -i zabbix-release_latest+debian12_all.deb
 | 
					 | 
				
			||||||
    $STD apt-get update
 | 
					 | 
				
			||||||
    $STD apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-*
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_info "Starting ${APP} Services"
 | 
					 | 
				
			||||||
    systemctl start zabbix-server zabbix-agent2
 | 
					 | 
				
			||||||
    systemctl restart apache2
 | 
					 | 
				
			||||||
    msg_ok "Started ${APP} Services"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_info "Cleaning Up"
 | 
					 | 
				
			||||||
    rm -rf /tmp/zabbix-release_latest+debian12_all.deb
 | 
					 | 
				
			||||||
    msg_ok "Cleaned"
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  msg_info "Stopping ${APP} Services"
 | 
				
			||||||
 | 
					  systemctl stop zabbix-server zabbix-agent2
 | 
				
			||||||
 | 
					  msg_ok "Stopped ${APP} Services"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_info "Updating $APP LXC"
 | 
				
			||||||
 | 
					  mkdir -p /opt/zabbix-backup/
 | 
				
			||||||
 | 
					  cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
 | 
				
			||||||
 | 
					  cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/
 | 
				
			||||||
 | 
					  cp -R /usr/share/zabbix/ /opt/zabbix-backup/
 | 
				
			||||||
 | 
					  #cp -R /usr/share/zabbix-* /opt/zabbix-backup/ Remove temporary
 | 
				
			||||||
 | 
					  rm -Rf /etc/apt/sources.list.d/zabbix.list
 | 
				
			||||||
 | 
					  cd /tmp || exit
 | 
				
			||||||
 | 
					  curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ |
 | 
				
			||||||
 | 
					    grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 |
 | 
				
			||||||
 | 
					    xargs -I{} echo "https://repo.zabbix.com/zabbix/{}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb")" \
 | 
				
			||||||
 | 
					    -o /tmp/zabbix-release_latest+debian12_all.deb
 | 
				
			||||||
 | 
					  $STD dpkg -i zabbix-release_latest+debian12_all.deb
 | 
				
			||||||
 | 
					  $STD apt-get update
 | 
				
			||||||
 | 
					  $STD apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_info "Starting ${APP} Services"
 | 
				
			||||||
 | 
					  systemctl start zabbix-server zabbix-agent2
 | 
				
			||||||
 | 
					  systemctl restart apache2
 | 
				
			||||||
 | 
					  msg_ok "Started ${APP} Services"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_info "Cleaning Up"
 | 
				
			||||||
 | 
					  rm -rf /tmp/zabbix-release_latest+debian12_all.deb
 | 
				
			||||||
 | 
					  msg_ok "Cleaned"
 | 
				
			||||||
 | 
					  msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,39 +20,39 @@ color
 | 
				
			|||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
    header_info
 | 
					  header_info
 | 
				
			||||||
    check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
    check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
    if [[ ! -f /etc/systemd/system/zitadel.service ]]; then
 | 
					  if [[ ! -f /etc/systemd/system/zitadel.service ]]; then
 | 
				
			||||||
        msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
        exit
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    RELEASE=$(curl -fsSL https://github.com/zitadel/zitadel/releases/latest | grep location: | cut -d '/' -f 8 | tr -d '\r')
 | 
					 | 
				
			||||||
    if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt | grep -oP '\d+\.\d+\.\d+')" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
					 | 
				
			||||||
        msg_info "Stopping $APP"
 | 
					 | 
				
			||||||
        systemctl stop zitadel
 | 
					 | 
				
			||||||
        msg_ok "Stopped $APP"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        msg_info "Updating $APP to ${RELEASE}"
 | 
					 | 
				
			||||||
        cd /tmp || exit
 | 
					 | 
				
			||||||
        curl -fsSL https://github.com/zitadel/zitadel/releases/download/"$RELEASE"/zitadel-linux-amd64.tar.gz | tar -xz
 | 
					 | 
				
			||||||
        mv zitadel-linux-amd64/zitadel /usr/local/bin
 | 
					 | 
				
			||||||
        $STD zitadel setup --masterkeyFile /opt/zitadel/.masterkey --config /opt/zitadel/config.yaml --init-projections=true
 | 
					 | 
				
			||||||
        echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					 | 
				
			||||||
        msg_ok "Updated $APP to ${RELEASE}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        msg_info "Starting $APP"
 | 
					 | 
				
			||||||
        systemctl start zitadel
 | 
					 | 
				
			||||||
        msg_ok "Started $APP"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        msg_info "Cleaning Up"
 | 
					 | 
				
			||||||
        rm -rf /tmp/zitadel-linux-amd64
 | 
					 | 
				
			||||||
        msg_ok "Cleanup Completed"
 | 
					 | 
				
			||||||
        msg_ok "Update Successful"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  RELEASE=$(curl -fsSL https://api.github.com/repos/zitadel/zitadel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
 | 
					  if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt | grep -oP '\d+\.\d+\.\d+')" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
 | 
					    systemctl stop zitadel
 | 
				
			||||||
 | 
					    msg_ok "Stopped $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Updating $APP to ${RELEASE}"
 | 
				
			||||||
 | 
					    cd /tmp || exit
 | 
				
			||||||
 | 
					    curl -fsSL "https://github.com/zitadel/zitadel/releases/download/v$RELEASE/zitadel-linux-amd64.tar.gz" | tar -xz
 | 
				
			||||||
 | 
					    mv zitadel-linux-amd64/zitadel /usr/local/bin
 | 
				
			||||||
 | 
					    $STD zitadel setup --masterkeyFile /opt/zitadel/.masterkey --config /opt/zitadel/config.yaml --init-projections=true
 | 
				
			||||||
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP to ${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
 | 
					    systemctl start zitadel
 | 
				
			||||||
 | 
					    msg_ok "Started $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Cleaning Up"
 | 
				
			||||||
 | 
					    rm -rf /tmp/zitadel-linux-amd64
 | 
				
			||||||
 | 
					    msg_ok "Cleanup Completed"
 | 
				
			||||||
 | 
					    msg_ok "Update Successful"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,8 +19,8 @@
 | 
				
			|||||||
            "script": "ct/actualbudget.sh",
 | 
					            "script": "ct/actualbudget.sh",
 | 
				
			||||||
            "resources": {
 | 
					            "resources": {
 | 
				
			||||||
                "cpu": 2,
 | 
					                "cpu": 2,
 | 
				
			||||||
                "ram": 2048,
 | 
					                "ram": 8192,
 | 
				
			||||||
                "hdd": 4,
 | 
					                "hdd": 7,
 | 
				
			||||||
                "os": "debian",
 | 
					                "os": "debian",
 | 
				
			||||||
                "version": "12"
 | 
					                "version": "12"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Channels DVR Server",
 | 
					    "name": "Channels DVR Server",
 | 
				
			||||||
    "slug": "channels",
 | 
					    "slug": "channels",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        15
 | 
					        13
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
@@ -36,4 +36,4 @@
 | 
				
			|||||||
            "type": "warning"
 | 
					            "type": "warning"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,34 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "name": "Hoarder",
 | 
					 | 
				
			||||||
  "slug": "hoarder",
 | 
					 | 
				
			||||||
  "categories": [
 | 
					 | 
				
			||||||
        12
 | 
					 | 
				
			||||||
  ],
 | 
					 | 
				
			||||||
  "date_created": "2024-12-02",
 | 
					 | 
				
			||||||
  "type": "ct",
 | 
					 | 
				
			||||||
  "updateable": true,
 | 
					 | 
				
			||||||
  "privileged": false,
 | 
					 | 
				
			||||||
  "interface_port": 3000,
 | 
					 | 
				
			||||||
  "documentation": "https://docs.hoarder.app/",
 | 
					 | 
				
			||||||
  "website": "https://hoarder.app/",
 | 
					 | 
				
			||||||
  "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/hoarder.svg",
 | 
					 | 
				
			||||||
  "description": "Hoarder is an AI-powered bookmarking tool that helps you save and organize your digital content. It automatically tags your links, notes, and images, making them easy to find later. With features like auto-fetching, lists, and full-text search, Hoarder is the perfect tool for anyone who wants to keep track of their digital life.",
 | 
					 | 
				
			||||||
  "install_methods": [
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "type": "default",
 | 
					 | 
				
			||||||
      "script": "ct/hoarder.sh",
 | 
					 | 
				
			||||||
      "resources": {
 | 
					 | 
				
			||||||
        "cpu": 2,
 | 
					 | 
				
			||||||
        "ram": 4096,
 | 
					 | 
				
			||||||
        "hdd": 10,
 | 
					 | 
				
			||||||
        "os": "debian",
 | 
					 | 
				
			||||||
        "version": "12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  ],
 | 
					 | 
				
			||||||
  "default_credentials": {
 | 
					 | 
				
			||||||
    "username": null,
 | 
					 | 
				
			||||||
    "password": null
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "notes": []
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										34
									
								
								frontend/public/json/karakeep.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								frontend/public/json/karakeep.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "name": "karakeep",
 | 
				
			||||||
 | 
					  "slug": "karakeep",
 | 
				
			||||||
 | 
					  "categories": [
 | 
				
			||||||
 | 
					    12
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "date_created": "2025-04-07",
 | 
				
			||||||
 | 
					  "type": "ct",
 | 
				
			||||||
 | 
					  "updateable": true,
 | 
				
			||||||
 | 
					  "privileged": false,
 | 
				
			||||||
 | 
					  "interface_port": 3000,
 | 
				
			||||||
 | 
					  "documentation": "https://docs.karakeep.app/",
 | 
				
			||||||
 | 
					  "website": "https://karakeep.app/",
 | 
				
			||||||
 | 
					  "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/karakeep.svg",
 | 
				
			||||||
 | 
					  "description": "karakeep (formerly: hoarder) is an AI-powered bookmarking tool that helps you save and organize your digital content. It automatically tags your links, notes, and images, making them easy to find later. With features like auto-fetching, lists, and full-text search, karakeep is the perfect tool for anyone who wants to keep track of their digital life.",
 | 
				
			||||||
 | 
					  "install_methods": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "type": "default",
 | 
				
			||||||
 | 
					      "script": "ct/karakeep.sh",
 | 
				
			||||||
 | 
					      "resources": {
 | 
				
			||||||
 | 
					        "cpu": 2,
 | 
				
			||||||
 | 
					        "ram": 4096,
 | 
				
			||||||
 | 
					        "hdd": 10,
 | 
				
			||||||
 | 
					        "os": "debian",
 | 
				
			||||||
 | 
					        "version": "12"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "default_credentials": {
 | 
				
			||||||
 | 
					    "username": null,
 | 
				
			||||||
 | 
					    "password": null
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "notes": []
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
  "name": "NextPVR",
 | 
					  "name": "NextPVR",
 | 
				
			||||||
  "slug": "nextpvr",
 | 
					  "slug": "nextpvr",
 | 
				
			||||||
  "categories": [
 | 
					  "categories": [
 | 
				
			||||||
        15
 | 
					        13
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  "date_created": "2024-11-20",
 | 
					  "date_created": "2024-11-20",
 | 
				
			||||||
  "type": "ct",
 | 
					  "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,49 +1,174 @@
 | 
				
			|||||||
[
 | 
					[
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "karakeep-app/karakeep",
 | 
					    "name": "Graylog2/graylog2-server",
 | 
				
			||||||
    "version": "ios/v1.6.9-1",
 | 
					    "version": "6.2.0-beta.4",
 | 
				
			||||||
    "date": "2025-04-06T10:51:57Z"
 | 
					    "date": "2025-04-07T11:28:13Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "VictoriaMetrics/VictoriaMetrics",
 | 
				
			||||||
 | 
					    "version": "pmm-6401-v1.115.0",
 | 
				
			||||||
 | 
					    "date": "2025-04-07T11:15:53Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "semaphoreui/semaphore",
 | 
				
			||||||
 | 
					    "version": "v2.13.10",
 | 
				
			||||||
 | 
					    "date": "2025-04-07T11:05:41Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "fhem/fhem-mirror",
 | 
				
			||||||
 | 
					    "version": "6.2",
 | 
				
			||||||
 | 
					    "date": "2025-04-07T10:34:55Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "syncthing/syncthing",
 | 
				
			||||||
 | 
					    "version": "v1.29.4",
 | 
				
			||||||
 | 
					    "date": "2025-04-01T08:45:07Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "fallenbagel/jellyseerr",
 | 
					    "name": "fallenbagel/jellyseerr",
 | 
				
			||||||
    "version": "preview-back-to-axios",
 | 
					    "version": "preview-back-to-axios",
 | 
				
			||||||
    "date": "2025-04-06T10:39:06Z"
 | 
					    "date": "2025-04-07T09:23:08Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "zwave-js/zwave-js-ui",
 | 
				
			||||||
 | 
					    "version": "v10.1.5",
 | 
				
			||||||
 | 
					    "date": "2025-04-07T09:19:35Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "Checkmk/checkmk",
 | 
				
			||||||
 | 
					    "version": "v2.4.0b4-rc1",
 | 
				
			||||||
 | 
					    "date": "2025-04-07T09:13:56Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "redis/redis",
 | 
				
			||||||
 | 
					    "version": "8.0-rc1-int2",
 | 
				
			||||||
 | 
					    "date": "2025-04-02T19:05:08Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "zabbix/zabbix",
 | 
				
			||||||
 | 
					    "version": "7.4.0beta1",
 | 
				
			||||||
 | 
					    "date": "2025-04-07T08:14:13Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "StarFleetCPTN/GoMFT",
 | 
				
			||||||
 | 
					    "version": "v0.2.5",
 | 
				
			||||||
 | 
					    "date": "2025-04-07T07:43:29Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "nzbgetcom/nzbget",
 | 
				
			||||||
 | 
					    "version": "v24.8",
 | 
				
			||||||
 | 
					    "date": "2025-03-18T07:33:51Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "mattermost/mattermost",
 | 
				
			||||||
 | 
					    "version": "server/public/v0.1.11",
 | 
				
			||||||
 | 
					    "date": "2025-03-28T14:04:31Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "morpheus65535/bazarr",
 | 
				
			||||||
 | 
					    "version": "v1.5.1",
 | 
				
			||||||
 | 
					    "date": "2025-01-01T16:15:52Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "Jackett/Jackett",
 | 
				
			||||||
 | 
					    "version": "v0.22.1740",
 | 
				
			||||||
 | 
					    "date": "2025-04-07T05:56:22Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "prometheus/prometheus",
 | 
				
			||||||
 | 
					    "version": "v0.303.0-rc.1",
 | 
				
			||||||
 | 
					    "date": "2025-04-07T04:39:38Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "open-webui/open-webui",
 | 
				
			||||||
 | 
					    "version": "v0.6.2",
 | 
				
			||||||
 | 
					    "date": "2025-04-07T03:41:23Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "firefly-iii/firefly-iii",
 | 
				
			||||||
 | 
					    "version": "v6.2.10",
 | 
				
			||||||
 | 
					    "date": "2025-03-22T13:02:26Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "Luligu/matterbridge",
 | 
				
			||||||
 | 
					    "version": "2.2.7",
 | 
				
			||||||
 | 
					    "date": "2025-04-06T20:00:53Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "Dolibarr/dolibarr",
 | 
				
			||||||
 | 
					    "version": "21.0.1",
 | 
				
			||||||
 | 
					    "date": "2025-04-06T19:22:59Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "pelican-dev/wings",
 | 
				
			||||||
 | 
					    "version": "v1.0.0-beta11",
 | 
				
			||||||
 | 
					    "date": "2025-04-06T18:52:35Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "stonith404/pingvin-share",
 | 
				
			||||||
 | 
					    "version": "v1.11.1",
 | 
				
			||||||
 | 
					    "date": "2025-04-06T18:39:42Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "wavelog/wavelog",
 | 
				
			||||||
 | 
					    "version": "2.0.3",
 | 
				
			||||||
 | 
					    "date": "2025-04-06T17:35:41Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "TandoorRecipes/recipes",
 | 
				
			||||||
 | 
					    "version": "1.5.34",
 | 
				
			||||||
 | 
					    "date": "2025-03-27T16:17:38Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "runtipi/runtipi",
 | 
				
			||||||
 | 
					    "version": "v3.10.0",
 | 
				
			||||||
 | 
					    "date": "2025-03-15T14:38:16Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "stackblitz-labs/bolt.diy",
 | 
				
			||||||
 | 
					    "version": "v0.0.7-hf1",
 | 
				
			||||||
 | 
					    "date": "2025-03-10T20:49:39Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "msgbyte/tianji",
 | 
				
			||||||
 | 
					    "version": "v1.19.7",
 | 
				
			||||||
 | 
					    "date": "2025-04-06T14:22:44Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "Prowlarr/Prowlarr",
 | 
				
			||||||
 | 
					    "version": "v1.32.2.4987",
 | 
				
			||||||
 | 
					    "date": "2025-03-16T09:41:37Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "Radarr/Radarr",
 | 
				
			||||||
 | 
					    "version": "v5.21.1.9799",
 | 
				
			||||||
 | 
					    "date": "2025-03-24T15:52:12Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "karakeep-app/karakeep",
 | 
				
			||||||
 | 
					    "version": "extension/v1.2.4",
 | 
				
			||||||
 | 
					    "date": "2025-04-06T11:56:18Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "TechnitiumSoftware/DnsServer",
 | 
				
			||||||
 | 
					    "version": "v13.5.0",
 | 
				
			||||||
 | 
					    "date": "2025-04-06T11:24:50Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "TriliumNext/Notes",
 | 
					    "name": "TriliumNext/Notes",
 | 
				
			||||||
    "version": "v0.92.6",
 | 
					    "version": "v0.92.6",
 | 
				
			||||||
    "date": "2025-04-06T10:38:54Z"
 | 
					    "date": "2025-04-06T10:38:54Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "fhem/fhem-mirror",
 | 
					 | 
				
			||||||
    "version": "6.2",
 | 
					 | 
				
			||||||
    "date": "2025-04-06T10:31:42Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "kimai/kimai",
 | 
					    "name": "kimai/kimai",
 | 
				
			||||||
    "version": "2.32.0",
 | 
					    "version": "2.32.0",
 | 
				
			||||||
    "date": "2025-04-06T09:43:51Z"
 | 
					    "date": "2025-04-06T09:43:51Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "semaphoreui/semaphore",
 | 
					 | 
				
			||||||
    "version": "v2.13.8-beta2",
 | 
					 | 
				
			||||||
    "date": "2025-04-06T06:36:42Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "Jackett/Jackett",
 | 
					 | 
				
			||||||
    "version": "v0.22.1733",
 | 
					 | 
				
			||||||
    "date": "2025-04-06T06:00:36Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "inventree/InvenTree",
 | 
					    "name": "inventree/InvenTree",
 | 
				
			||||||
    "version": "0.17.10",
 | 
					    "version": "0.17.10",
 | 
				
			||||||
    "date": "2025-04-06T05:31:49Z"
 | 
					    "date": "2025-04-06T05:31:49Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "firefly-iii/firefly-iii",
 | 
					 | 
				
			||||||
    "version": "v6.2.10",
 | 
					 | 
				
			||||||
    "date": "2025-03-22T13:02:26Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "ollama/ollama",
 | 
					    "name": "ollama/ollama",
 | 
				
			||||||
    "version": "v0.6.5-rc0",
 | 
					    "version": "v0.6.5-rc0",
 | 
				
			||||||
@@ -69,21 +194,11 @@
 | 
				
			|||||||
    "version": "v1.0.2",
 | 
					    "version": "v1.0.2",
 | 
				
			||||||
    "date": "2025-04-05T17:40:25Z"
 | 
					    "date": "2025-04-05T17:40:25Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "open-webui/open-webui",
 | 
					 | 
				
			||||||
    "version": "v0.6.1",
 | 
					 | 
				
			||||||
    "date": "2025-04-05T17:15:47Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "keycloak/keycloak",
 | 
					    "name": "keycloak/keycloak",
 | 
				
			||||||
    "version": "26.1.4",
 | 
					    "version": "26.1.4",
 | 
				
			||||||
    "date": "2025-03-13T15:41:42Z"
 | 
					    "date": "2025-03-13T15:41:42Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "stonith404/pingvin-share",
 | 
					 | 
				
			||||||
    "version": "v1.11.0",
 | 
					 | 
				
			||||||
    "date": "2025-04-05T14:56:47Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "bastienwirtz/homer",
 | 
					    "name": "bastienwirtz/homer",
 | 
				
			||||||
    "version": "v25.04.1",
 | 
					    "version": "v25.04.1",
 | 
				
			||||||
@@ -134,31 +249,16 @@
 | 
				
			|||||||
    "version": "5.7.0",
 | 
					    "version": "5.7.0",
 | 
				
			||||||
    "date": "2025-04-04T18:10:16Z"
 | 
					    "date": "2025-04-04T18:10:16Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "syncthing/syncthing",
 | 
					 | 
				
			||||||
    "version": "v1.29.4",
 | 
					 | 
				
			||||||
    "date": "2025-04-01T08:45:07Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "icereed/paperless-gpt",
 | 
					    "name": "icereed/paperless-gpt",
 | 
				
			||||||
    "version": "v0.14.4",
 | 
					    "version": "v0.14.4",
 | 
				
			||||||
    "date": "2025-04-04T14:18:53Z"
 | 
					    "date": "2025-04-04T14:18:53Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "nzbgetcom/nzbget",
 | 
					 | 
				
			||||||
    "version": "v24.8",
 | 
					 | 
				
			||||||
    "date": "2025-03-18T07:33:51Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "apache/tomcat",
 | 
					    "name": "apache/tomcat",
 | 
				
			||||||
    "version": "9.0.104",
 | 
					    "version": "9.0.104",
 | 
				
			||||||
    "date": "2025-04-04T12:58:11Z"
 | 
					    "date": "2025-04-04T12:58:11Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "Dolibarr/dolibarr",
 | 
					 | 
				
			||||||
    "version": "21.0.1",
 | 
					 | 
				
			||||||
    "date": "2025-04-04T12:56:35Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "sabnzbd/sabnzbd",
 | 
					    "name": "sabnzbd/sabnzbd",
 | 
				
			||||||
    "version": "4.5.0",
 | 
					    "version": "4.5.0",
 | 
				
			||||||
@@ -169,11 +269,6 @@
 | 
				
			|||||||
    "version": "0.49.12",
 | 
					    "version": "0.49.12",
 | 
				
			||||||
    "date": "2025-04-04T07:31:08Z"
 | 
					    "date": "2025-04-04T07:31:08Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "morpheus65535/bazarr",
 | 
					 | 
				
			||||||
    "version": "v1.5.1",
 | 
					 | 
				
			||||||
    "date": "2025-01-01T16:15:52Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "wazuh/wazuh",
 | 
					    "name": "wazuh/wazuh",
 | 
				
			||||||
    "version": "coverity-w14-4.12.0",
 | 
					    "version": "coverity-w14-4.12.0",
 | 
				
			||||||
@@ -189,21 +284,11 @@
 | 
				
			|||||||
    "version": "1.10.3",
 | 
					    "version": "1.10.3",
 | 
				
			||||||
    "date": "2024-11-05T09:20:50Z"
 | 
					    "date": "2024-11-05T09:20:50Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "Graylog2/graylog2-server",
 | 
					 | 
				
			||||||
    "version": "6.0.14",
 | 
					 | 
				
			||||||
    "date": "2025-04-03T07:52:24Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "jupyter/notebook",
 | 
					    "name": "jupyter/notebook",
 | 
				
			||||||
    "version": "@jupyter-notebook/ui-components@7.4.0-rc.0",
 | 
					    "version": "@jupyter-notebook/ui-components@7.4.0-rc.0",
 | 
				
			||||||
    "date": "2025-04-03T06:49:38Z"
 | 
					    "date": "2025-04-03T06:49:38Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "mattermost/mattermost",
 | 
					 | 
				
			||||||
    "version": "server/public/v0.1.11",
 | 
					 | 
				
			||||||
    "date": "2025-03-28T14:04:31Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "rabbitmq/rabbitmq-server",
 | 
					    "name": "rabbitmq/rabbitmq-server",
 | 
				
			||||||
    "version": "v4.0.8",
 | 
					    "version": "v4.0.8",
 | 
				
			||||||
@@ -214,11 +299,6 @@
 | 
				
			|||||||
    "version": "v5.35.1",
 | 
					    "version": "v5.35.1",
 | 
				
			||||||
    "date": "2025-04-02T21:49:00Z"
 | 
					    "date": "2025-04-02T21:49:00Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "redis/redis",
 | 
					 | 
				
			||||||
    "version": "8.0-rc1-int2",
 | 
					 | 
				
			||||||
    "date": "2025-04-02T19:05:08Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "zitadel/zitadel",
 | 
					    "name": "zitadel/zitadel",
 | 
				
			||||||
    "version": "v2.63.9",
 | 
					    "version": "v2.63.9",
 | 
				
			||||||
@@ -239,26 +319,11 @@
 | 
				
			|||||||
    "version": "jenkins-2.503",
 | 
					    "version": "jenkins-2.503",
 | 
				
			||||||
    "date": "2025-04-02T15:12:13Z"
 | 
					    "date": "2025-04-02T15:12:13Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "Checkmk/checkmk",
 | 
					 | 
				
			||||||
    "version": "v2.4.0b3",
 | 
					 | 
				
			||||||
    "date": "2025-04-02T14:39:56Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "hargata/lubelog",
 | 
					    "name": "hargata/lubelog",
 | 
				
			||||||
    "version": "v1.4.6",
 | 
					    "version": "v1.4.6",
 | 
				
			||||||
    "date": "2025-04-02T14:07:12Z"
 | 
					    "date": "2025-04-02T14:07:12Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "zwave-js/zwave-js-ui",
 | 
					 | 
				
			||||||
    "version": "v10.1.4",
 | 
					 | 
				
			||||||
    "date": "2025-04-02T09:38:52Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "runtipi/runtipi",
 | 
					 | 
				
			||||||
    "version": "v3.10.0",
 | 
					 | 
				
			||||||
    "date": "2025-03-15T14:38:16Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "immich-app/immich",
 | 
					    "name": "immich-app/immich",
 | 
				
			||||||
    "version": "v1.131.3",
 | 
					    "version": "v1.131.3",
 | 
				
			||||||
@@ -269,11 +334,6 @@
 | 
				
			|||||||
    "version": "v2.31.0",
 | 
					    "version": "v2.31.0",
 | 
				
			||||||
    "date": "2025-04-01T18:12:45Z"
 | 
					    "date": "2025-04-01T18:12:45Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "msgbyte/tianji",
 | 
					 | 
				
			||||||
    "version": "v1.19.6",
 | 
					 | 
				
			||||||
    "date": "2025-04-01T17:26:31Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "influxdata/influxdb",
 | 
					    "name": "influxdata/influxdb",
 | 
				
			||||||
    "version": "v3.0.0-0.beta.3",
 | 
					    "version": "v3.0.0-0.beta.3",
 | 
				
			||||||
@@ -284,11 +344,6 @@
 | 
				
			|||||||
    "version": "v1.127.1",
 | 
					    "version": "v1.127.1",
 | 
				
			||||||
    "date": "2025-03-26T21:44:28Z"
 | 
					    "date": "2025-03-26T21:44:28Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "Luligu/matterbridge",
 | 
					 | 
				
			||||||
    "version": "2.2.6",
 | 
					 | 
				
			||||||
    "date": "2025-04-01T14:01:36Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "theonedev/onedev",
 | 
					    "name": "theonedev/onedev",
 | 
				
			||||||
    "version": "v11.8.6",
 | 
					    "version": "v11.8.6",
 | 
				
			||||||
@@ -349,11 +404,6 @@
 | 
				
			|||||||
    "version": "4.8.11.0",
 | 
					    "version": "4.8.11.0",
 | 
				
			||||||
    "date": "2025-03-10T06:39:11Z"
 | 
					    "date": "2025-03-10T06:39:11Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "StarFleetCPTN/GoMFT",
 | 
					 | 
				
			||||||
    "version": "v0.2.4",
 | 
					 | 
				
			||||||
    "date": "2025-03-30T19:46:08Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "louislam/dockge",
 | 
					    "name": "louislam/dockge",
 | 
				
			||||||
    "version": "1.5.0",
 | 
					    "version": "1.5.0",
 | 
				
			||||||
@@ -379,11 +429,6 @@
 | 
				
			|||||||
    "version": "v0.26.6",
 | 
					    "version": "v0.26.6",
 | 
				
			||||||
    "date": "2025-03-30T08:02:19Z"
 | 
					    "date": "2025-03-30T08:02:19Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "Prowlarr/Prowlarr",
 | 
					 | 
				
			||||||
    "version": "v1.32.2.4987",
 | 
					 | 
				
			||||||
    "date": "2025-03-16T09:41:37Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "Readarr/Readarr",
 | 
					    "name": "Readarr/Readarr",
 | 
				
			||||||
    "version": "v2.0.0.4645",
 | 
					    "version": "v2.0.0.4645",
 | 
				
			||||||
@@ -394,11 +439,6 @@
 | 
				
			|||||||
    "version": "v2.10.3.4602",
 | 
					    "version": "v2.10.3.4602",
 | 
				
			||||||
    "date": "2025-03-23T11:00:37Z"
 | 
					    "date": "2025-03-23T11:00:37Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "Radarr/Radarr",
 | 
					 | 
				
			||||||
    "version": "v5.21.1.9799",
 | 
					 | 
				
			||||||
    "date": "2025-03-24T15:52:12Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "aceberg/WatchYourLAN",
 | 
					    "name": "aceberg/WatchYourLAN",
 | 
				
			||||||
    "version": "2.1.2-alpine",
 | 
					    "version": "2.1.2-alpine",
 | 
				
			||||||
@@ -499,21 +539,11 @@
 | 
				
			|||||||
    "version": "2025.2",
 | 
					    "version": "2025.2",
 | 
				
			||||||
    "date": "2025-03-27T19:21:13Z"
 | 
					    "date": "2025-03-27T19:21:13Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "TandoorRecipes/recipes",
 | 
					 | 
				
			||||||
    "version": "1.5.34",
 | 
					 | 
				
			||||||
    "date": "2025-03-27T16:17:38Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "tailscale/tailscale",
 | 
					    "name": "tailscale/tailscale",
 | 
				
			||||||
    "version": "v1.82.0",
 | 
					    "version": "v1.82.0",
 | 
				
			||||||
    "date": "2025-03-27T13:08:18Z"
 | 
					    "date": "2025-03-27T13:08:18Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "zabbix/zabbix",
 | 
					 | 
				
			||||||
    "version": "7.2.5",
 | 
					 | 
				
			||||||
    "date": "2025-03-27T11:06:48Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "evcc-io/evcc",
 | 
					    "name": "evcc-io/evcc",
 | 
				
			||||||
    "version": "0.202.1",
 | 
					    "version": "0.202.1",
 | 
				
			||||||
@@ -529,11 +559,6 @@
 | 
				
			|||||||
    "version": "v2.1.0.112-2.1.0.112_canary_2025-03-26",
 | 
					    "version": "v2.1.0.112-2.1.0.112_canary_2025-03-26",
 | 
				
			||||||
    "date": "2025-03-26T21:04:38Z"
 | 
					    "date": "2025-03-26T21:04:38Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "prometheus/prometheus",
 | 
					 | 
				
			||||||
    "version": "v0.303.0-rc.0",
 | 
					 | 
				
			||||||
    "date": "2025-03-26T12:48:46Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "forgejo/forgejo",
 | 
					    "name": "forgejo/forgejo",
 | 
				
			||||||
    "version": "v12.0.0-dev",
 | 
					    "version": "v12.0.0-dev",
 | 
				
			||||||
@@ -574,11 +599,6 @@
 | 
				
			|||||||
    "version": "v1.6.8",
 | 
					    "version": "v1.6.8",
 | 
				
			||||||
    "date": "2025-03-25T13:33:10Z"
 | 
					    "date": "2025-03-25T13:33:10Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "VictoriaMetrics/VictoriaMetrics",
 | 
					 | 
				
			||||||
    "version": "pmm-6401-v1.114.0",
 | 
					 | 
				
			||||||
    "date": "2025-03-25T07:58:34Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "caddyserver/caddy",
 | 
					    "name": "caddyserver/caddy",
 | 
				
			||||||
    "version": "v2.9.1",
 | 
					    "version": "v2.9.1",
 | 
				
			||||||
@@ -599,11 +619,6 @@
 | 
				
			|||||||
    "version": "v0.9.0",
 | 
					    "version": "v0.9.0",
 | 
				
			||||||
    "date": "2025-03-24T18:25:37Z"
 | 
					    "date": "2025-03-24T18:25:37Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "wavelog/wavelog",
 | 
					 | 
				
			||||||
    "version": "2.0.2",
 | 
					 | 
				
			||||||
    "date": "2025-03-24T12:02:08Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "requarks/wiki",
 | 
					    "name": "requarks/wiki",
 | 
				
			||||||
    "version": "v2.5.307",
 | 
					    "version": "v2.5.307",
 | 
				
			||||||
@@ -699,11 +714,6 @@
 | 
				
			|||||||
    "version": "v1.60.0",
 | 
					    "version": "v1.60.0",
 | 
				
			||||||
    "date": "2025-03-16T18:39:49Z"
 | 
					    "date": "2025-03-16T18:39:49Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "pelican-dev/wings",
 | 
					 | 
				
			||||||
    "version": "v1.0.0-beta10",
 | 
					 | 
				
			||||||
    "date": "2025-03-15T20:24:34Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "pelican-dev/panel",
 | 
					    "name": "pelican-dev/panel",
 | 
				
			||||||
    "version": "v1.0.0-beta18",
 | 
					    "version": "v1.0.0-beta18",
 | 
				
			||||||
@@ -769,11 +779,6 @@
 | 
				
			|||||||
    "version": "v0.8.2",
 | 
					    "version": "v0.8.2",
 | 
				
			||||||
    "date": "2025-03-11T05:20:22Z"
 | 
					    "date": "2025-03-11T05:20:22Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "stackblitz-labs/bolt.diy",
 | 
					 | 
				
			||||||
    "version": "v0.0.7-hf1",
 | 
					 | 
				
			||||||
    "date": "2025-03-10T20:49:39Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "AlexxIT/go2rtc",
 | 
					    "name": "AlexxIT/go2rtc",
 | 
				
			||||||
    "version": "v1.9.9",
 | 
					    "version": "v1.9.9",
 | 
				
			||||||
@@ -879,11 +884,6 @@
 | 
				
			|||||||
    "version": "v1.1.05",
 | 
					    "version": "v1.1.05",
 | 
				
			||||||
    "date": "2025-02-24T11:53:12Z"
 | 
					    "date": "2025-02-24T11:53:12Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "TechnitiumSoftware/DnsServer",
 | 
					 | 
				
			||||||
    "version": "v13.4.3",
 | 
					 | 
				
			||||||
    "date": "2025-02-23T11:08:26Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "prometheus-pve/prometheus-pve-exporter",
 | 
					    "name": "prometheus-pve/prometheus-pve-exporter",
 | 
				
			||||||
    "version": "v3.5.2",
 | 
					    "version": "v3.5.2",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -55,6 +55,7 @@ ACTUAL_HTTPS_KEY=/opt/actualbudget/selfhost.key
 | 
				
			|||||||
ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt
 | 
					ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
cd /opt/actualbudget || exit
 | 
					cd /opt/actualbudget || exit
 | 
				
			||||||
 | 
					export NODE_OPTIONS="--max_old_space_size=4096"
 | 
				
			||||||
$STD yarn install
 | 
					$STD yarn install
 | 
				
			||||||
$STD yarn run build:server
 | 
					$STD yarn run build:server
 | 
				
			||||||
$STD openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout selfhost.key -out selfhost.crt <<EOF
 | 
					$STD openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout selfhost.key -out selfhost.crt <<EOF
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,41 +15,40 @@ update_os
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Dependencies"
 | 
					msg_info "Installing Dependencies"
 | 
				
			||||||
$STD apk add \
 | 
					$STD apk add \
 | 
				
			||||||
    gpg \
 | 
					  gpg \
 | 
				
			||||||
    sudo
 | 
					  sudo
 | 
				
			||||||
msg_ok "Installed Dependencies"
 | 
					msg_ok "Installed Dependencies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing MariaDB"
 | 
					msg_info "Installing MariaDB"
 | 
				
			||||||
$STD apk add --no-cache mariadb mariadb-client
 | 
					$STD apk add --no-cache mariadb mariadb-client
 | 
				
			||||||
$STD rc-update add mariadb default
 | 
					$STD rc-update add mariadb default
 | 
				
			||||||
$STD rc-service mariadb start
 | 
					 | 
				
			||||||
msg_ok "Installed MariaDB"
 | 
					msg_ok "Installed MariaDB"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Configuring MariaDB"
 | 
					msg_info "Configuring MariaDB"
 | 
				
			||||||
mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql >/dev/null 2>&1
 | 
					mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql >/dev/null 2>&1
 | 
				
			||||||
$STD rc-service mariadb restart
 | 
					$STD rc-service mariadb start
 | 
				
			||||||
msg_ok "MariaDB Configured"
 | 
					msg_ok "MariaDB Configured"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
read -r -p "Would you like to install Adminer with lighthttpd? <y/N>: " prompt
 | 
					read -r -p "Would you like to install Adminer with lighthttpd? <y/N>: " prompt
 | 
				
			||||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
 | 
					if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
 | 
				
			||||||
    msg_info "Installing Adminer"
 | 
					  msg_info "Installing Adminer"
 | 
				
			||||||
    $STD apk add --no-cache lighttpd php php-cgi php-mysqli php-mbstring php-zip php-gd php-json php-curl jq
 | 
					  $STD apk add --no-cache lighttpd php php-cgi php-mysqli php-mbstring php-zip php-gd php-json php-curl jq
 | 
				
			||||||
    sed -i 's|server.modules += ( "mod_cgi" )|server.modules += ( "mod_cgi", "mod_fastcgi" )|' /etc/lighttpd/lighttpd.conf
 | 
					  sed -i 's|server.modules += ( "mod_cgi" )|server.modules += ( "mod_cgi", "mod_fastcgi" )|' /etc/lighttpd/lighttpd.conf
 | 
				
			||||||
    echo 'fastcgi.server += ( ".php" => (( "bin-path" => "/usr/bin/php-cgi", "socket" => "/var/run/php-cgi.sock" )))' >>/etc/lighttpd/lighttpd.conf
 | 
					  echo 'fastcgi.server += ( ".php" => (( "bin-path" => "/usr/bin/php-cgi", "socket" => "/var/run/php-cgi.sock" )))' >>/etc/lighttpd/lighttpd.conf
 | 
				
			||||||
    ADMINER_VERSION=$(curl -s https://api.github.com/repos/vrana/adminer/releases/latest | jq -r '.tag_name' | sed 's/v//')
 | 
					  ADMINER_VERSION=$(curl -fsSL https://api.github.com/repos/vrana/adminer/releases/latest | jq -r '.tag_name' | sed 's/v//')
 | 
				
			||||||
    wget -q -O /var/www/adminer.php "https://github.com/vrana/adminer/releases/download/v${ADMINER_VERSION}/adminer-${ADMINER_VERSION}.php"
 | 
					  curl -fsSL "https://github.com/vrana/adminer/releases/download/v${ADMINER_VERSION}/adminer-${ADMINER_VERSION}.php" -o /var/www/adminer.php
 | 
				
			||||||
    chown lighttpd:lighttpd /var/www/adminer.php
 | 
					  chown lighttpd:lighttpd /var/www/adminer.php
 | 
				
			||||||
    chmod 755 /var/www/adminer.php
 | 
					  chmod 755 /var/www/adminer.php
 | 
				
			||||||
    msg_ok "Adminer Installed"
 | 
					  msg_ok "Adminer Installed"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting Lighttpd"
 | 
					  msg_info "Starting Lighttpd"
 | 
				
			||||||
    $STD rc-update add lighttpd default
 | 
					  $STD rc-update add lighttpd default
 | 
				
			||||||
    $STD rc-service lighttpd restart
 | 
					  $STD rc-service lighttpd restart
 | 
				
			||||||
    msg_ok "Lighttpd Started"
 | 
					  msg_ok "Lighttpd Started"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    echo -e "Adminer is available at: ${BL}http://$(hostname -I | awk '{print $1}')/adminer${CL}"
 | 
					  echo -e "Adminer is available at: ${BL}http://$(hostname -I | awk '{print $1}')/adminer${CL}"
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
    echo -e "Skipped Adminer Installation..."
 | 
					  echo -e "Skipped Adminer Installation..."
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
motd_ssh
 | 
					motd_ssh
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,9 @@
 | 
				
			|||||||
#!/usr/bin/env bash
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Copyright (c) 2021-2025 tteck
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
# Author: MickLesk (Canbiz) & vhsdream
 | 
					# Author: MickLesk (Canbiz) & vhsdream
 | 
				
			||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# Source: https://hoarder.app/
 | 
					# Source: https://karakeep.app/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
 | 
					source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
@@ -34,8 +34,8 @@ chmod +x /usr/bin/yt-dlp
 | 
				
			|||||||
msg_ok "Installed Additional Tools"
 | 
					msg_ok "Installed Additional Tools"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Meilisearch"
 | 
					msg_info "Installing Meilisearch"
 | 
				
			||||||
cd /tmp
 | 
					cd /tmp || exit
 | 
				
			||||||
curl -fsSL "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb" -o $(basename "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb")
 | 
					curl -fsSL "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb" -o "meilisearch.deb"
 | 
				
			||||||
$STD dpkg -i meilisearch.deb
 | 
					$STD dpkg -i meilisearch.deb
 | 
				
			||||||
curl -fsSL "https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml" -o "/etc/meilisearch.toml"
 | 
					curl -fsSL "https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml" -o "/etc/meilisearch.toml"
 | 
				
			||||||
MASTER_KEY=$(openssl rand -base64 12)
 | 
					MASTER_KEY=$(openssl rand -base64 12)
 | 
				
			||||||
@@ -58,30 +58,30 @@ $STD apt-get install -y nodejs
 | 
				
			|||||||
$STD npm install -g corepack@0.31.0
 | 
					$STD npm install -g corepack@0.31.0
 | 
				
			||||||
msg_ok "Installed Node.js"
 | 
					msg_ok "Installed Node.js"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Hoarder"
 | 
					msg_info "Installing karakeep"
 | 
				
			||||||
cd /opt
 | 
					cd /opt || exit
 | 
				
			||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip")
 | 
					curl -fsSL "https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
 | 
				
			||||||
unzip -q v${RELEASE}.zip
 | 
					unzip -q "v${RELEASE}.zip"
 | 
				
			||||||
mv hoarder-${RELEASE} /opt/hoarder
 | 
					mv karakeep-"${RELEASE}" /opt/karakeep
 | 
				
			||||||
cd /opt/hoarder
 | 
					cd /opt/karakeep || exit
 | 
				
			||||||
corepack enable
 | 
					corepack enable
 | 
				
			||||||
export PUPPETEER_SKIP_DOWNLOAD="true"
 | 
					export PUPPETEER_SKIP_DOWNLOAD="true"
 | 
				
			||||||
export NEXT_TELEMETRY_DISABLED=1
 | 
					export NEXT_TELEMETRY_DISABLED=1
 | 
				
			||||||
export CI="true"
 | 
					export CI="true"
 | 
				
			||||||
cd /opt/hoarder/apps/web
 | 
					cd /opt/karakeep/apps/web || exit
 | 
				
			||||||
$STD pnpm install --frozen-lockfile
 | 
					$STD pnpm install --frozen-lockfile
 | 
				
			||||||
$STD pnpm exec next build --experimental-build-mode compile
 | 
					$STD pnpm exec next build --experimental-build-mode compile
 | 
				
			||||||
cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web
 | 
					cp -r /opt/karakeep/apps/web/.next/standalone/apps/web/server.js /opt/karakeep/apps/web
 | 
				
			||||||
cd /opt/hoarder/apps/workers
 | 
					cd /opt/karakeep/apps/workers || exit
 | 
				
			||||||
$STD pnpm install --frozen-lockfile
 | 
					$STD pnpm install --frozen-lockfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export DATA_DIR=/opt/hoarder_data
 | 
					export DATA_DIR=/opt/karakeep_data
 | 
				
			||||||
HOARDER_SECRET=$(openssl rand -base64 36 | cut -c1-24)
 | 
					karakeep_SECRET=$(openssl rand -base64 36 | cut -c1-24)
 | 
				
			||||||
mkdir -p /etc/hoarder
 | 
					mkdir -p /etc/karakeep
 | 
				
			||||||
cat <<EOF >/etc/hoarder/hoarder.env
 | 
					cat <<EOF >/etc/karakeep/karakeep.env
 | 
				
			||||||
SERVER_VERSION=$RELEASE
 | 
					SERVER_VERSION=$RELEASE
 | 
				
			||||||
NEXTAUTH_SECRET="$HOARDER_SECRET"
 | 
					NEXTAUTH_SECRET="$karakeep_SECRET"
 | 
				
			||||||
NEXTAUTH_URL="http://localhost:3000"
 | 
					NEXTAUTH_URL="http://localhost:3000"
 | 
				
			||||||
DATA_DIR="$DATA_DIR"
 | 
					DATA_DIR="$DATA_DIR"
 | 
				
			||||||
MEILI_ADDR="http://127.0.0.1:7700"
 | 
					MEILI_ADDR="http://127.0.0.1:7700"
 | 
				
			||||||
@@ -99,11 +99,11 @@ BROWSER_WEB_URL="http://127.0.0.1:9222"
 | 
				
			|||||||
# INFERENCE_IMAGE_MODEL="gpt-4o-mini" 
 | 
					# INFERENCE_IMAGE_MODEL="gpt-4o-mini" 
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
 | 
					echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
 | 
				
			||||||
msg_ok "Installed Hoarder"
 | 
					msg_ok "Installed karakeep"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Running Database Migration"
 | 
					msg_info "Running Database Migration"
 | 
				
			||||||
mkdir -p ${DATA_DIR}
 | 
					mkdir -p ${DATA_DIR}
 | 
				
			||||||
cd /opt/hoarder/packages/db
 | 
					cd /opt/karakeep/packages/db || exit
 | 
				
			||||||
$STD pnpm migrate
 | 
					$STD pnpm migrate
 | 
				
			||||||
msg_ok "Database Migration Completed"
 | 
					msg_ok "Database Migration Completed"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -121,25 +121,25 @@ Restart=always
 | 
				
			|||||||
WantedBy=multi-user.target
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cat <<EOF >/etc/systemd/system/hoarder-web.service
 | 
					cat <<EOF >/etc/systemd/system/karakeep-web.service
 | 
				
			||||||
[Unit]
 | 
					[Unit]
 | 
				
			||||||
Description=Hoarder Web
 | 
					Description=karakeep Web
 | 
				
			||||||
Wants=network.target hoarder-workers.service
 | 
					Wants=network.target karakeep-workers.service
 | 
				
			||||||
After=network.target hoarder-workers.service
 | 
					After=network.target karakeep-workers.service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Service]
 | 
					[Service]
 | 
				
			||||||
ExecStart=pnpm start
 | 
					ExecStart=pnpm start
 | 
				
			||||||
WorkingDirectory=/opt/hoarder/apps/web
 | 
					WorkingDirectory=/opt/karakeep/apps/web
 | 
				
			||||||
EnvironmentFile=/etc/hoarder/hoarder.env
 | 
					EnvironmentFile=/etc/karakeep/karakeep.env
 | 
				
			||||||
Restart=always
 | 
					Restart=always
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Install]
 | 
					[Install]
 | 
				
			||||||
WantedBy=multi-user.target
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cat <<EOF >/etc/systemd/system/hoarder-browser.service
 | 
					cat <<EOF >/etc/systemd/system/karakeep-browser.service
 | 
				
			||||||
[Unit]
 | 
					[Unit]
 | 
				
			||||||
Description=Hoarder Headless Browser
 | 
					Description=karakeep Headless Browser
 | 
				
			||||||
After=network.target
 | 
					After=network.target
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Service]
 | 
					[Service]
 | 
				
			||||||
@@ -151,16 +151,16 @@ Restart=always
 | 
				
			|||||||
WantedBy=multi-user.target
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cat <<EOF >/etc/systemd/system/hoarder-workers.service
 | 
					cat <<EOF >/etc/systemd/system/karakeep-workers.service
 | 
				
			||||||
[Unit]
 | 
					[Unit]
 | 
				
			||||||
Description=Hoarder Workers
 | 
					Description=karakeep Workers
 | 
				
			||||||
Wants=network.target hoarder-browser.service meilisearch.service
 | 
					Wants=network.target karakeep-browser.service meilisearch.service
 | 
				
			||||||
After=network.target hoarder-browser.service meilisearch.service
 | 
					After=network.target karakeep-browser.service meilisearch.service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Service]
 | 
					[Service]
 | 
				
			||||||
ExecStart=pnpm start:prod
 | 
					ExecStart=pnpm start:prod
 | 
				
			||||||
WorkingDirectory=/opt/hoarder/apps/workers
 | 
					WorkingDirectory=/opt/karakeep/apps/workers
 | 
				
			||||||
EnvironmentFile=/etc/hoarder/hoarder.env
 | 
					EnvironmentFile=/etc/karakeep/karakeep.env
 | 
				
			||||||
Restart=always
 | 
					Restart=always
 | 
				
			||||||
TimeoutStopSec=5
 | 
					TimeoutStopSec=5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -168,7 +168,7 @@ TimeoutStopSec=5
 | 
				
			|||||||
WantedBy=multi-user.target
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
systemctl enable -q --now meilisearch hoarder-browser hoarder-workers hoarder-web
 | 
					systemctl enable -q --now meilisearch karakeep-browser karakeep-workers karakeep-web
 | 
				
			||||||
msg_ok "Created Services"
 | 
					msg_ok "Created Services"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
motd_ssh
 | 
					motd_ssh
 | 
				
			||||||
@@ -176,7 +176,7 @@ customize
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
msg_info "Cleaning up"
 | 
					msg_info "Cleaning up"
 | 
				
			||||||
rm -rf /tmp/meilisearch.deb
 | 
					rm -rf /tmp/meilisearch.deb
 | 
				
			||||||
rm -f /opt/v${RELEASE}.zip
 | 
					rm -f /opt/v"${RELEASE}".zip
 | 
				
			||||||
$STD apt-get autoremove -y
 | 
					$STD apt-get autoremove -y
 | 
				
			||||||
$STD apt-get autoclean -y
 | 
					$STD apt-get autoclean -y
 | 
				
			||||||
msg_ok "Cleaned"
 | 
					msg_ok "Cleaned"
 | 
				
			||||||
@@ -24,21 +24,20 @@ $STD apt-get install -y \
 | 
				
			|||||||
  lsb-release
 | 
					  lsb-release
 | 
				
			||||||
msg_ok "Installed Dependencies"
 | 
					msg_ok "Installed Dependencies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Setup PHP8.4 Repository"
 | 
					msg_info "Adding PHP8.4 Repository"
 | 
				
			||||||
$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
 | 
					$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
 | 
				
			||||||
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
 | 
					$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
 | 
				
			||||||
$STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
 | 
					$STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
 | 
				
			||||||
$STD apt-get update
 | 
					$STD apt-get update
 | 
				
			||||||
msg_ok "Setup PHP8.4 Repository"
 | 
					msg_ok "Added PHP8.4 Repository"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Setup PHP"
 | 
					msg_info "Installing PHP"
 | 
				
			||||||
$STD apt-get remove -y php8.2*
 | 
					$STD apt-get remove -y php8.2*
 | 
				
			||||||
#$STD apt-get remove -y php8.3*
 | 
					 | 
				
			||||||
$STD apt-get install -y \
 | 
					$STD apt-get install -y \
 | 
				
			||||||
  php8.3 \
 | 
					  php8.4 \
 | 
				
			||||||
  php8.3-{mbstring,gd,intl,common,mysql,zip,xml} \
 | 
					  php8.4-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl} \
 | 
				
			||||||
  libapache2-mod-php8.3
 | 
					  libapache2-mod-php8.4
 | 
				
			||||||
msg_info "Setup PHP"
 | 
					msg_ok "Installed PHP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Setting up database"
 | 
					msg_info "Setting up database"
 | 
				
			||||||
DB_NAME=kimai_db
 | 
					DB_NAME=kimai_db
 | 
				
			||||||
@@ -59,9 +58,9 @@ msg_ok "Set up database"
 | 
				
			|||||||
msg_info "Installing Kimai (Patience)"
 | 
					msg_info "Installing Kimai (Patience)"
 | 
				
			||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
				
			||||||
curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip")
 | 
					curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip")
 | 
				
			||||||
unzip -q ${RELEASE}.zip
 | 
					unzip -q "${RELEASE}".zip
 | 
				
			||||||
mv kimai-${RELEASE} /opt/kimai
 | 
					mv kimai-"${RELEASE}" /opt/kimai
 | 
				
			||||||
cd /opt/kimai
 | 
					cd /opt/kimai || exit
 | 
				
			||||||
echo "export COMPOSER_ALLOW_SUPERUSER=1" >>~/.bashrc
 | 
					echo "export COMPOSER_ALLOW_SUPERUSER=1" >>~/.bashrc
 | 
				
			||||||
source ~/.bashrc
 | 
					source ~/.bashrc
 | 
				
			||||||
$STD composer install --no-dev --optimize-autoloader --no-interaction
 | 
					$STD composer install --no-dev --optimize-autoloader --no-interaction
 | 
				
			||||||
@@ -130,7 +129,7 @@ motd_ssh
 | 
				
			|||||||
customize
 | 
					customize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Cleaning up"
 | 
					msg_info "Cleaning up"
 | 
				
			||||||
rm -rf ${RELEASE}.zip
 | 
					rm -rf "${RELEASE}".zip
 | 
				
			||||||
$STD apt-get -y autoremove
 | 
					$STD apt-get -y autoremove
 | 
				
			||||||
$STD apt-get -y autoclean
 | 
					$STD apt-get -y autoclean
 | 
				
			||||||
msg_ok "Cleaned"
 | 
					msg_ok "Cleaned"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
#!/usr/bin/env bash
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Copyright (c) 2021-2025 tteck
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: MickLesk (CanbiZ)
 | 
				
			||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# Source: https://www.zabbix.com/
 | 
					# Source: https://www.zabbix.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -14,8 +14,11 @@ network_check
 | 
				
			|||||||
update_os
 | 
					update_os
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Zabbix"
 | 
					msg_info "Installing Zabbix"
 | 
				
			||||||
cd /tmp
 | 
					cd /tmp || exit
 | 
				
			||||||
curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -o $(basename "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb")
 | 
					curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ |
 | 
				
			||||||
 | 
					  grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 |
 | 
				
			||||||
 | 
					  xargs -I{} echo "https://repo.zabbix.com/zabbix/{}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb")" \
 | 
				
			||||||
 | 
					  -o /tmp/zabbix-release_latest+debian12_all.deb
 | 
				
			||||||
$STD dpkg -i /tmp/zabbix-release_latest+debian12_all.deb
 | 
					$STD dpkg -i /tmp/zabbix-release_latest+debian12_all.deb
 | 
				
			||||||
$STD apt-get update
 | 
					$STD apt-get update
 | 
				
			||||||
$STD apt-get install -y zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-apache-conf zabbix-sql-scripts
 | 
					$STD apt-get install -y zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-apache-conf zabbix-sql-scripts
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -39,8 +39,8 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME OWNER $DB_ADMIN_USER;"
 | 
				
			|||||||
msg_ok "Installed PostgreSQL"
 | 
					msg_ok "Installed PostgreSQL"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Zitadel"
 | 
					msg_info "Installing Zitadel"
 | 
				
			||||||
RELEASE=$(curl -fsSL https://github.com/zitadel/zitadel/releases/latest | grep location: | cut -d '/' -f 8 | tr -d '\r')
 | 
					RELEASE=$(curl -fsSL https://api.github.com/repos/zitadel/zitadel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
curl -fsSL https://github.com/zitadel/zitadel/releases/download/$RELEASE/zitadel-linux-amd64.tar.gz | tar -xz
 | 
					curl -fsSL "https://github.com/zitadel/zitadel/releases/download/v$RELEASE/zitadel-linux-amd64.tar.gz" | tar -xz
 | 
				
			||||||
mv zitadel-linux-amd64/zitadel /usr/local/bin
 | 
					mv zitadel-linux-amd64/zitadel /usr/local/bin
 | 
				
			||||||
msg_ok "Installed Zitadel"
 | 
					msg_ok "Installed Zitadel"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user