Compare commits

...

11 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
8d058f78d5 Update CHANGELOG.md (#8237)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-10 00:13:18 +00:00
community-scripts-pr-app[bot]
4515070a97 Update versions.json (#8236)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-10 02:12:48 +02:00
community-scripts-pr-app[bot]
8c6b5c3534 Update CHANGELOG.md (#8230)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-09 17:43:52 +00:00
CanbiZ
d07affa368 bump various scripts to deb 13 (#8227) 2025-10-09 19:43:23 +02:00
community-scripts-pr-app[bot]
b7511fa41f Update CHANGELOG.md (#8229)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-09 17:19:29 +00:00
Slaviša Arežina
0f11893fd2 Fix tinyauth (#8225) 2025-10-09 19:19:03 +02:00
community-scripts-pr-app[bot]
1045d75f3e Update versions.json (#8219)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-09 14:06:15 +02:00
community-scripts-pr-app[bot]
23b9f54f0f Update CHANGELOG.md (#8218)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-09 07:42:02 +00:00
community-scripts-pr-app[bot]
9884f2a9f9 Update CHANGELOG.md (#8217)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-09 07:41:45 +00:00
community-scripts-pr-app[bot]
e7b2b86648 Update date in json (#8216)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-10-09 07:41:40 +00:00
push-app-to-main[bot]
ec1391c233 New Script: rwMarkable (#8215)
* 'Add new script'

* Update rwmarkable.sh

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-10-09 09:41:14 +02:00
85 changed files with 887 additions and 599 deletions

View File

@@ -10,8 +10,24 @@
> [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-10-10
## 2025-10-09
### 🆕 New Scripts
- New Script: rwMarkable ([#8215](https://github.com/community-scripts/ProxmoxVE/pull/8215))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Alpine-Tinyauth: Fixes for v4 release [@tremor021](https://github.com/tremor021) ([#8225](https://github.com/community-scripts/ProxmoxVE/pull/8225))
- #### ✨ New Features
- Bump U-T Scripts to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#8227](https://github.com/community-scripts/ProxmoxVE/pull/8227))
## 2025-10-08
### 🚀 Updated Scripts

6
ct/headers/rwmarkable Normal file
View File

@@ -0,0 +1,6 @@
__ ___ __ __ __
______ __/ |/ /___ ______/ /______ _/ /_ / /__
/ ___/ | /| / / /|_/ / __ `/ ___/ //_/ __ `/ __ \/ / _ \
/ / | |/ |/ / / / / /_/ / / / ,< / /_/ / /_/ / / __/
/_/ |__/|__/_/ /_/\__,_/_/ /_/|_|\__,_/_.___/_/\___/

74
ct/rwmarkable.sh Normal file
View File

@@ -0,0 +1,74 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: vhsdream
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/fccview/rwMarkable
APP="rwMarkable"
var_tags="${var_tags:-tasks;notes}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-6}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/rwmarkable ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "rwMarkable" "fccview/rwMarkable"; then
msg_info "Stopping ${APP}"
systemctl stop rwmarkable
msg_ok "Stopped ${APP}"
msg_info "Backing up configuration & data"
cd /opt/rwmarkable
cp ./.env /opt/app.env
$STD tar -cf /opt/data_config.tar ./data ./config
msg_ok "Backed up configuration & data"
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "rwMarkable" "fccview/rwMarkable" "tarball" "latest" "/opt/rwmarkable"
msg_info "Updating app"
cd /opt/rwmarkable
$STD yarn --frozen-lockfile
$STD yarn next telemetry disable
$STD yarn build
msg_ok "Updated app"
msg_info "Restoring configuration & data"
mv /opt/app.env /opt/rwmarkable/.env
$STD tar -xf /opt/data_config.tar
msg_ok "Restored configuration & data"
msg_info "Restarting ${APP} service"
systemctl start rwmarkable
msg_ok "Restarted ${APP} service"
rm /opt/data_config.tar
msg_ok "Updated Successfully"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -34,9 +34,9 @@ function update_script() {
fi
if check_for_gh_release "tandoor" "TandoorRecipes/recipes"; then
msg_info "Stopping $APP"
msg_info "Stopping Service"
systemctl stop tandoor
msg_ok "Stopped $APP"
msg_ok "Stopped Service"
msg_info "Creating Backup"
mv /opt/tandoor /opt/tandoor.bak
@@ -46,7 +46,7 @@ function update_script() {
PYTHON_VERSION="3.13" setup_uv
fetch_and_deploy_gh_release "tandoor" "TandoorRecipes/recipes" "tarball" "latest" "/opt/tandoor"
msg_info "Updating $APP"
msg_info "Updating Tandoor"
cp -r /opt/tandoor.bak/{config,api,mediafiles,staticfiles} /opt/tandoor/
mv /opt/tandoor.bak/.env /opt/tandoor/.env
cd /opt/tandoor
@@ -64,17 +64,17 @@ EOF
cd /opt/tandoor
$STD /opt/tandoor/.venv/bin/python manage.py migrate
$STD /opt/tandoor/.venv/bin/python manage.py collectstatic --no-input
msg_ok "Updated $APP"
msg_ok "Updated Trandoor"
msg_info "Starting $APP"
msg_info "Starting Service"
systemctl start tandoor
systemctl reload nginx
msg_ok "Started $APP"
msg_ok "Started Service"
msg_info "Cleaning Up"
rm -rf /opt/tandoor.bak
msg_ok "Cleanup Completed"
msg_ok "Update Successful"
msg_ok "Update Successfully!"
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -20,18 +20,18 @@ color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
header_info
check_container_storage
check_container_resources
if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating TasmoAdmin"
$STD apt update
$STD apt -y upgrade
msg_ok "Updated TasmoAdmin"
exit
}
start
@@ -41,4 +41,4 @@ description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9999${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9999${CL}"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -20,43 +20,46 @@ color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/tasmocompiler ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping $APP"
systemctl stop tasmocompiler
msg_ok "Stopped $APP"
msg_info "Updating $APP to v${RELEASE}"
cd /opt
rm -rf /opt/tasmocompiler
RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz")
tar xzf v${RELEASE}.tar.gz
mv tasmocompiler-${RELEASE}/ /opt/tasmocompiler/
cd /opt/tasmocompiler
$STD yarn install
export NODE_OPTIONS=--openssl-legacy-provider
$STD npm i
$STD yarn build
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
systemctl start tasmocompiler
msg_ok "Started $APP"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_info "Cleaning up"
rm -r "/opt/v${RELEASE}.tar.gz"
msg_ok "Cleaned"
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/tasmocompiler ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping Service"
systemctl stop tasmocompiler
msg_ok "Stopped Service"
msg_info "Updating TasmoCompiler"
cd /opt
rm -rf /opt/tasmocompiler
RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz")
tar xzf v${RELEASE}.tar.gz
mv tasmocompiler-${RELEASE}/ /opt/tasmocompiler/
cd /opt/tasmocompiler
$STD yarn install
export NODE_OPTIONS=--openssl-legacy-provider
$STD npm i
$STD yarn build
msg_ok "Updated TasmoCompiler"
msg_info "Starting Service"
systemctl start tasmocompiler
msg_ok "Started Service"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_info "Cleaning up"
rm -r "/opt/v${RELEASE}.tar.gz"
msg_ok "Cleaned"
msg_ok "Update Successfully!"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
}
start

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -20,18 +20,19 @@ color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/Tautulli/ ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/Tautulli/ ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating Tautulli"
$STD apt update
$STD apt upgrade -y
msg_ok "Updated Tautulli"
msg_ok "Updated Successfully!"
exit
}
start
@@ -41,4 +42,4 @@ description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8181${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8181${CL}"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -27,9 +27,9 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_info "Updating Tdarr"
$STD apt update
$STD apt upgrade -y
rm -rf /opt/tdarr/Tdarr_Updater
cd /opt/tdarr
RELEASE=$(curl -fsSL https://f000.backblazeb2.com/file/tdarrs/versions.json | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep linux_x64 | head -n 1)
@@ -37,12 +37,12 @@ function update_script() {
$STD unzip Tdarr_Updater.zip
chmod +x Tdarr_Updater
$STD ./Tdarr_Updater
msg_ok "Updated $APP LXC"
msg_ok "Updated Tdarr"
msg_info "Cleaning up"
rm -rf /opt/tdarr/Tdarr_Updater.zip
msg_ok "Cleaned"
msg_ok "$APP has been successfully updated!"
msg_ok "Cleaned up"
msg_ok "Updated Successfully!"
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -34,19 +34,18 @@ function update_script() {
systemctl stop teamspeak-server
msg_ok "Stopped Service"
msg_info "Updating ${APP}"
msg_info "Updating Teamspeak Server"
curl -fsSL "https://files.teamspeak-services.com/releases/server/${RELEASE}/teamspeak3-server_linux_amd64-${RELEASE}.tar.bz2" -o ts3server.tar.bz2
tar -xf ./ts3server.tar.bz2
cp -ru teamspeak3-server_linux_amd64/* /opt/teamspeak-server/
rm -f ~/ts3server.tar.bz*
echo "${RELEASE}" >~/.teamspeak-server
msg_ok "Updated $APP"
msg_ok "Updated Teamspeak Server"
msg_info "Starting Service"
systemctl start teamspeak-server
msg_ok "Started Service"
msg_ok "Updated Successfully"
msg_ok "Updated Successfully!"
else
msg_ok "Already up to date"
fi

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -30,16 +30,16 @@ function update_script() {
RELEASE=$(curl -fsSL https://technitium.com/dns/ | grep -oP 'Version \K[\d.]+')
if [[ ! -f ~/.technitium || "${RELEASE}" != "$(cat ~/.technitium)" ]]; then
msg_info "Updating ${APP}"
msg_info "Updating Technitium DNS"
curl -fsSL "https://download.technitium.com/dns/DnsServerPortable.tar.gz" -o /opt/DnsServerPortable.tar.gz
$STD tar zxvf /opt/DnsServerPortable.tar.gz -C /opt/technitium/dns/
msg_ok "Updated Successfully"
msg_ok "Updated Technitium DNS"
msg_info "Cleaning up"
rm -f /opt/DnsServerPortable.tar.gz
msg_ok "Cleaned up"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}."
msg_ok "No update required. Technitium DNS is already at v${RELEASE}."
fi
exit
}

View File

@@ -11,7 +11,8 @@ var_cpu="${var_cpu:-2}"
var_disk="${var_disk:-8}"
var_ram="${var_ram:-1024}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "${APP}"
variables
@@ -28,23 +29,23 @@ function update_script() {
fi
if check_for_gh_release "teddycloud" "toniebox-reverse-engineering/teddycloud"; then
msg_info "Stopping ${APP}"
msg_info "Stopping Service"
systemctl stop teddycloud
msg_ok "Stopped ${APP}"
msg_ok "Stopped Service"
msg_info "Creating backup"
mv /opt/teddycloud /opt/teddycloud_bak
msg_ok "Backup created"
fetch_and_deploy_gh_release "teddycloud" "toniebox-reverse-engineering/teddycloud" "prebuild" "latest" "/opt/teddycloud" "teddycloud.amd64.release*.zip"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "teddycloud" "toniebox-reverse-engineering/teddycloud" "prebuild" "latest" "/opt/teddycloud" "teddycloud.amd64.release*.zip"
msg_info "Restoring data"
cp -R /opt/teddycloud_bak/certs /opt/teddycloud_bak/config /opt/teddycloud_bak/data /opt/teddycloud
msg_ok "Data restored"
msg_info "Starting ${APP}"
msg_info "Starting Service"
systemctl start teddycloud
msg_ok "Started ${APP}"
msg_ok "Started Service"
msg_info "Cleaning up"
rm -rf /opt/teddycloud_bak

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -28,19 +28,19 @@ function update_script() {
exit
fi
msg_info "Stopping $APP"
msg_info "Stopping Service"
systemctl stop telegraf
msg_ok "Stopped $APP"
msg_ok "Stopped Service"
msg_info "Updating $APP"
$STD apt-get update
$STD apt-get upgrade telegraf -y
msg_ok "Updated $APP"
msg_info "Updating Telegraf"
$STD apt update
$STD apt upgrade telegraf -y
msg_ok "Updated Telegraf"
msg_info "Starting $APP"
msg_info "Starting Service"
systemctl start telegraf
msg_ok "Started $APP"
msg_ok "Updated Successfully"
msg_ok "Started Service"
msg_ok "Updated Successfully!"
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -29,16 +29,16 @@ function update_script() {
fi
if check_for_gh_release "threadfin" "threadfin/threadfin"; then
msg_info "Stopping $APP"
msg_info "Stopping Service"
systemctl stop threadfin
msg_ok "Stopped $APP"
msg_ok "Stopped Service"
fetch_and_deploy_gh_release "threadfin" "threadfin/threadfin" "singlefile" "latest" "/opt/threadfin" "Threadfin_linux_amd64"
msg_info "Starting $APP"
msg_info "Starting Service"
systemctl start threadfin
msg_ok "Started $APP"
msg_ok "Updated Successfully"
msg_ok "Started Service"
msg_ok "Updated Successfully!"
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-12}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -29,9 +29,9 @@ function update_script() {
fi
if check_for_gh_release "traccar" "traccar/traccar"; then
msg_info "Stopping service"
msg_info "Stopping Service"
systemctl stop traccar
msg_ok "Service stopped"
msg_ok "Stopped Service"
msg_info "Creating backup"
mv /opt/traccar/conf/traccar.xml /opt
@@ -39,8 +39,7 @@ function update_script() {
[[ -d /opt/traccar/media ]] && mv /opt/traccar/media /opt
msg_ok "Backup created"
rm -rf /opt/traccar
fetch_and_deploy_gh_release "traccar" "traccar/traccar" "prebuild" "latest" "/opt/traccar" "traccar-linux-64*.zip"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "traccar" "traccar/traccar" "prebuild" "latest" "/opt/traccar" "traccar-linux-64*.zip"
msg_info "Perform Update"
cd /opt/traccar
@@ -53,12 +52,15 @@ function update_script() {
[[ -d /opt/media ]] && mv /opt/media /opt/traccar
msg_ok "Data restored"
msg_info "Starting ${APP}"
msg_info "Starting Service"
systemctl start traccar
msg_ok "Started ${APP}"
msg_ok "Started Service"
msg_info "Cleaning up"
[ -f README.txt ] || [ -f traccar.run ] && rm -f README.txt traccar.run
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned up"
msg_ok "Updated Successfully"
fi

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -29,16 +29,16 @@ function update_script() {
fi
if check_for_gh_release "traefik" "traefik/traefik"; then
msg_info "Stopping service"
msg_info "Stopping Service"
systemctl stop traefik
msg_ok "Service stopped"
msg_ok "Stopped Service"
fetch_and_deploy_gh_release "traefik" "traefik/traefik" "prebuild" "latest" "/usr/bin" "traefik_v*_linux_amd64.tar.gz"
msg_info "Starting ${APP}"
msg_info "Starting Service"
systemctl start traefik
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
msg_ok "Started Service"
msg_ok "Updated Successfully!"
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -20,18 +20,18 @@ color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/transmission-daemon/settings.json ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated ${APP} LXC"
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/transmission-daemon/settings.json ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating Transmission"
$STD apt update
$STD apt -y upgrade
msg_ok "Updated Transmission"
exit
}
start
@@ -41,4 +41,4 @@ description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9091/transmission${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9091/transmission${CL}"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -39,10 +39,10 @@ function update_script() {
exit 1
fi
msg_info "Stopping ${APP}"
msg_info "Stopping Service"
systemctl stop trilium
sleep 1
msg_ok "Stopped ${APP}"
msg_ok "Stopped Service"
msg_info "Backing up Database"
mkdir -p /opt/trilium_backup
@@ -59,13 +59,15 @@ function update_script() {
msg_info "Cleaning up"
rm -rf /opt/trilium_backup
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"
msg_info "Starting ${APP}"
msg_info "Starting Service"
systemctl start trilium
sleep 1
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
msg_ok "Started Service"
msg_ok "Updated Successfully!"
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -44,7 +44,7 @@ function update_script() {
fetch_and_deploy_gh_release "tududi" "chrisvel/tududi" "tarball" "latest" "/opt/tududi"
msg_info "Updating ${APP}"
msg_info "Updating Tududi"
cd /opt/tududi
$STD npm install
export NODE_ENV=production
@@ -57,12 +57,12 @@ function update_script() {
-e 's|npm run start|bash /opt/tududi/backend/cmd/start.sh|' \
/etc/systemd/system/tududi.service
systemctl daemon-reload
msg_ok "Updated $APP"
msg_ok "Updated Tududi"
msg_info "Starting Service"
systemctl start tududi
msg_ok "Started Service"
msg_ok "Updated Successfully"
msg_ok "Updated Successfully!"
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -28,9 +28,9 @@ function update_script() {
exit
fi
if check_for_gh_release "typesense" "typesense/typesense"; then
msg_info "Updating ${APP} LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_info "Updating Typesense"
$STD apt update
$STD apt -y upgrade
msg_ok "Updated Successfully"
fi
exit

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -32,10 +32,10 @@ function update_script() {
systemctl stop uhf-server
msg_ok "Stopped Service"
msg_info "Updating ${APP} LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated ${APP} LXC"
msg_info "Updating LXC"
$STD apt update
$STD apt -y upgrade
msg_ok "Updated LXC"
fetch_and_deploy_gh_release "comskip" "swapplications/comskip" "prebuild" "latest" "/opt/comskip" "comskip-x64-*.zip"
fetch_and_deploy_gh_release "uhf-server" "swapplications/uhf-server-dist" "prebuild" "latest" "/opt/uhf-server" "UHF.Server-linux-x64-*.zip"
@@ -45,8 +45,9 @@ function update_script() {
msg_ok "Started Service"
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"
msg_ok "Updated Successfully"
fi

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-12}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -29,22 +29,22 @@ function update_script() {
fi
if check_for_gh_release "umami" "umami-software/umami"; then
msg_info "Stopping ${APP}"
msg_info "Stopping Service"
systemctl stop umami
msg_ok "Stopped $APP"
msg_ok "Stopped Service"
fetch_and_deploy_gh_release "umami" "umami-software/umami" "tarball"
msg_info "Updating ${APP}"
msg_info "Updating Umami"
cd /opt/umami
$STD yarn install
$STD yarn run build
msg_ok "Updated ${APP}"
msg_ok "Updated Umami"
msg_info "Starting ${APP}"
msg_info "Starting Service"
systemctl start umami
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
msg_ok "Started Service"
msg_ok "Updated Successfully!"
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -20,18 +20,18 @@ color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /etc/unbound ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
header_info
check_container_storage
check_container_resources
if [[ ! -d /etc/unbound ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating Unbound"
$STD apt update
$STD apt -y upgrade
msg_ok "Updated Unbound"
exit
}
start
@@ -41,4 +41,4 @@ description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5335${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5335${CL}"

View File

@@ -20,18 +20,18 @@ color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /usr/lib/unifi ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP}"
$STD apt-get update --allow-releaseinfo-change
$STD apt-get install -y unifi
msg_ok "Updated Successfully"
header_info
check_container_storage
check_container_resources
if [[ ! -d /usr/lib/unifi ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP}"
$STD apt update --allow-releaseinfo-change
$STD apt install -y unifi
msg_ok "Updated Successfully"
exit
}
start
@@ -41,4 +41,4 @@ description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8443${CL}"
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8443${CL}"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-0}"
header_info "$APP"
@@ -29,7 +29,7 @@ function update_script() {
fi
msg_info "Updating $APP LXC"
$STD pip3 install -U unmanic
$STD apt-get -y upgrade
$STD apt -y upgrade
msg_ok "Updated $APP LXC"
exit
}
@@ -41,4 +41,4 @@ description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8888${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8888${CL}"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -31,22 +31,22 @@ function update_script() {
NODE_VERSION="22" setup_nodejs
if check_for_gh_release "uptime-kuma" "louislam/uptime-kuma"; then
msg_info "Stopping ${APP}"
msg_info "Stopping Service"
systemctl stop uptime-kuma
msg_ok "Stopped ${APP}"
msg_ok "Stopped Service"
fetch_and_deploy_gh_release "uptime-kuma" "louislam/uptime-kuma" "tarball"
msg_info "Updating ${APP}"
msg_info "Updating Uptime Kuma"
cd /opt/uptime-kuma
$STD npm install --omit dev
$STD npm run download-dist
msg_ok "Updated ${APP}"
msg_ok "Updated Uptime Kuma"
msg_info "Starting ${APP}"
msg_info "Starting Service"
systemctl start uptime-kuma
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
msg_ok "Started Service"
msg_ok "Updated Successfully!"
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-16}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-0}"
header_info "$APP"
@@ -20,28 +20,28 @@ color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /var/urbackup ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated Successfully"
header_info
check_container_storage
check_container_resources
if [[ ! -d /var/urbackup ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt update
$STD apt -y upgrade
msg_ok "Updated Successfully"
exit
}
start
build_container
description
pct set $CTID -features fuse=1,nesting=1
pct reboot $CTID
pct set "$CTID" -features fuse=1,nesting=1
pct reboot "$CTID"
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following IP:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}${IP}:55414${CL}"
echo -e "${TAB}${GATEWAY}${BGN}${IP}:55414${CL}"

View File

@@ -0,0 +1,35 @@
{
"name": "rwMarkable",
"slug": "rwmarkable",
"categories": [
12
],
"date_created": "2025-10-09",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://github.com/fccview/rwMarkable/blob/main/README.md",
"website": "https://github.com/fccview/rwMarkable",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/rwmarkable.webp",
"config_path": "/opt/rwmarkable/.env",
"description": "A simple, self-hosted app for your checklists and notes. Tired of bloated, cloud-based to-do apps? rwMarkable is a lightweight alternative for managing your personal checklists and notes. It's built with Next.js 14, is easy to deploy, and keeps all your data on your own server.",
"install_methods": [
{
"type": "default",
"script": "ct/rwmarkable.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 6,
"os": "debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -23,7 +23,7 @@
"ram": 4096,
"hdd": 10,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -1,35 +1,35 @@
{
"name": "TasmoAdmin",
"slug": "tasmoadmin",
"categories": [
16
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": 9999,
"documentation": null,
"website": "https://github.com/TasmoAdmin/TasmoAdmin#readme",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tasmoadmin.webp",
"config_path": "",
"description": "TasmoAdmin is an administrative platform for devices flashed with Tasmota.",
"install_methods": [
{
"type": "default",
"script": "ct/tasmoadmin.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 2,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
"name": "TasmoAdmin",
"slug": "tasmoadmin",
"categories": [
16
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": 9999,
"documentation": null,
"website": "https://github.com/TasmoAdmin/TasmoAdmin#readme",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tasmoadmin.webp",
"config_path": "",
"description": "TasmoAdmin is an administrative platform for devices flashed with Tasmota.",
"install_methods": [
{
"type": "default",
"script": "ct/tasmoadmin.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 2,
"os": "debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -23,7 +23,7 @@
"ram": 2048,
"hdd": 10,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 1024,
"hdd": 4,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 2048,
"hdd": 4,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 512,
"hdd": 2,
"os": "debian",
"version": "12"
"version": "13"
}
},
{

View File

@@ -23,7 +23,7 @@
"ram": 512,
"hdd": 2,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 1024,
"hdd": 8,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 1024,
"hdd": 4,
"os": "Debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 1024,
"hdd": 4,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 4096,
"hdd": 12,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 1024,
"hdd": 2,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 512,
"hdd": 2,
"os": "debian",
"version": "12"
"version": "13"
}
},
{

View File

@@ -23,7 +23,7 @@
"ram": 2048,
"hdd": 8,
"os": "debian",
"version": "12"
"version": "13"
}
},
{

View File

@@ -23,7 +23,7 @@
"ram": 512,
"hdd": 2,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 2048,
"hdd": 4,
"os": "Debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 1024,
"hdd": 4,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 2048,
"hdd": 8,
"os": "Debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 2048,
"hdd": 12,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 512,
"hdd": 2,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 512,
"hdd": 2,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 2048,
"hdd": 8,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 2048,
"hdd": 4,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -23,7 +23,7 @@
"ram": 1024,
"hdd": 4,
"os": "debian",
"version": "12"
"version": "13"
}
}
],

View File

@@ -1,40 +1,40 @@
{
"name": "UrBackup Server",
"slug": "urbackupserver",
"categories": [
7
],
"date_created": "2025-01-18",
"type": "ct",
"updateable": true,
"privileged": true,
"interface_port": 55414,
"documentation": "https://www.urbackup.org/documentation.html",
"website": "https://www.urbackup.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/urbackup.webp",
"config_path": "",
"description": "URBackup is an open-source backup software designed for creating reliable and efficient backups of both files and system images. It supports client-server architecture, allowing you to back up multiple computers to a central server. It offers features such as incremental backups, real-time file backup, and scheduling, ensuring minimal data loss and quick recovery",
"install_methods": [
{
"type": "default",
"script": "ct/urbackupserver.sh",
"resources": {
"cpu": 1,
"ram": 1024,
"hdd": 16,
"os": "debian",
"version": "12"
}
"name": "UrBackup Server",
"slug": "urbackupserver",
"categories": [
7
],
"date_created": "2025-01-18",
"type": "ct",
"updateable": true,
"privileged": true,
"interface_port": 55414,
"documentation": "https://www.urbackup.org/documentation.html",
"website": "https://www.urbackup.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/urbackup.webp",
"config_path": "",
"description": "URBackup is an open-source backup software designed for creating reliable and efficient backups of both files and system images. It supports client-server architecture, allowing you to back up multiple computers to a central server. It offers features such as incremental backups, real-time file backup, and scheduling, ensuring minimal data loss and quick recovery",
"install_methods": [
{
"type": "default",
"script": "ct/urbackupserver.sh",
"resources": {
"cpu": 1,
"ram": 1024,
"hdd": 16,
"os": "debian",
"version": "13"
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "You probably want to drastically extend the storage space to fit whatever clients you want to back up",
"type": "info"
}
]
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "You probably want to drastically extend the storage space to fit whatever clients you want to back up",
"type": "info"
}
]
}

View File

@@ -1,8 +1,143 @@
[
{
"name": "rcourtman/Pulse",
"version": "v4.22.0",
"date": "2025-10-09T08:23:58Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.50.17",
"date": "2025-10-08T22:19:52Z"
"version": "0.50.19",
"date": "2025-10-09T23:19:31Z"
},
{
"name": "BerriAI/litellm",
"version": "v1.77.7.dev10",
"date": "2025-10-09T22:25:13Z"
},
{
"name": "gelbphoenix/autocaliweb",
"version": "v0.10.3",
"date": "2025-10-09T21:55:26Z"
},
{
"name": "raydak-labs/configarr",
"version": "v1.17.0",
"date": "2025-10-09T19:15:06Z"
},
{
"name": "Ombi-app/Ombi",
"version": "v4.47.1",
"date": "2025-01-05T21:14:23Z"
},
{
"name": "FlareSolverr/FlareSolverr",
"version": "v3.4.2",
"date": "2025-10-09T19:05:48Z"
},
{
"name": "henrygd/beszel",
"version": "v0.13.2",
"date": "2025-10-09T18:33:46Z"
},
{
"name": "esphome/esphome",
"version": "2025.9.3",
"date": "2025-10-01T11:30:07Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.80",
"date": "2025-09-30T20:25:16Z"
},
{
"name": "azukaar/Cosmos-Server",
"version": "v0.18.4",
"date": "2025-04-05T19:12:57Z"
},
{
"name": "ollama/ollama",
"version": "v0.12.4-rc7",
"date": "2025-10-09T02:13:38Z"
},
{
"name": "mattermost/mattermost",
"version": "server/public/v0.1.20",
"date": "2025-10-09T17:22:46Z"
},
{
"name": "ErsatzTV/ErsatzTV",
"version": "v25.7.1",
"date": "2025-10-09T15:42:11Z"
},
{
"name": "silverbulletmd/silverbullet",
"version": "2.1.9",
"date": "2025-10-09T13:57:14Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.27.8",
"date": "2025-10-09T13:49:59Z"
},
{
"name": "tobychui/zoraxy",
"version": "v3.2.7",
"date": "2025-10-09T12:50:53Z"
},
{
"name": "glpi-project/glpi",
"version": "11.0.1",
"date": "2025-10-09T12:34:15Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.4",
"date": "2025-10-09T10:27:01Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w41-4.14.0",
"date": "2025-10-03T18:56:57Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.4.2",
"date": "2025-10-07T08:11:58Z"
},
{
"name": "meilisearch/meilisearch",
"version": "prototype-v1.22.2-compaction-task-3",
"date": "2025-10-09T08:20:58Z"
},
{
"name": "theonedev/onedev",
"version": "v13.0.8",
"date": "2025-10-09T06:36:42Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.95",
"date": "2025-10-09T05:58:58Z"
},
{
"name": "documenso/documenso",
"version": "v1.12.10",
"date": "2025-10-09T04:32:35Z"
},
{
"name": "rogerfar/rdt-client",
"version": "v2.0.118",
"date": "2025-10-09T03:33:01Z"
},
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-10-09T00:27:04Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.0.0",
"date": "2025-10-08T16:12:11Z"
},
{
"name": "rabbitmq/rabbitmq-server",
@@ -14,46 +149,26 @@
"version": "v0.38.1",
"date": "2025-10-08T21:34:07Z"
},
{
"name": "BerriAI/litellm",
"version": "v1.77.1.rc.5",
"date": "2025-10-08T20:54:40Z"
},
{
"name": "pelican-dev/panel",
"version": "v1.0.0-beta26",
"date": "2025-10-08T20:12:11Z"
},
{
"name": "azukaar/Cosmos-Server",
"version": "v0.18.4",
"date": "2025-04-05T19:12:57Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.27.7",
"date": "2025-10-08T18:44:23Z"
},
{
"name": "autobrr/autobrr",
"version": "v1.68.0",
"date": "2025-10-08T18:33:12Z"
},
{
"name": "rcourtman/Pulse",
"version": "v4.21.0",
"date": "2025-10-03T22:38:32Z"
"name": "keycloak/keycloak",
"version": "26.0.16",
"date": "2025-10-08T04:44:28Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.67",
"date": "2025-09-29T14:45:57Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.0.0",
"date": "2025-10-08T16:12:11Z"
},
{
"name": "advplyr/audiobookshelf",
"version": "v2.30.0",
@@ -79,16 +194,6 @@
"version": "v2025.10.3",
"date": "2025-10-08T15:29:15Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.4.2",
"date": "2025-10-07T08:11:58Z"
},
{
"name": "meilisearch/meilisearch",
"version": "prototype-v1.22.2-compaction-task-2",
"date": "2025-10-08T13:45:38Z"
},
{
"name": "FlowiseAI/Flowise",
"version": "flowise@3.0.8",
@@ -134,21 +239,6 @@
"version": "2.3.1",
"date": "2025-10-08T05:58:37Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.90",
"date": "2025-10-08T05:52:50Z"
},
{
"name": "keycloak/keycloak",
"version": "26.0.16",
"date": "2025-10-08T04:44:28Z"
},
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-10-08T00:27:04Z"
},
{
"name": "booklore-app/booklore",
"version": "v1.5.1",
@@ -174,11 +264,6 @@
"version": "nightly",
"date": "2025-10-07T18:00:49Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.80",
"date": "2025-09-30T20:25:16Z"
},
{
"name": "coder/code-server",
"version": "v4.104.3",
@@ -219,26 +304,11 @@
"version": "0.209.1",
"date": "2025-10-07T11:29:11Z"
},
{
"name": "mattermost/mattermost",
"version": "mattermost-redux@10.12.0",
"date": "2025-09-18T20:15:19Z"
},
{
"name": "pocket-id/pocket-id",
"version": "v1.13.1",
"date": "2025-10-07T06:32:50Z"
},
{
"name": "documenso/documenso",
"version": "v1.12.9",
"date": "2025-10-07T06:07:11Z"
},
{
"name": "rogerfar/rdt-client",
"version": "v2.0.117",
"date": "2025-10-07T02:21:37Z"
},
{
"name": "inventree/InvenTree",
"version": "1.0.5",
@@ -254,11 +324,6 @@
"version": "v1.0.0-1",
"date": "2025-10-06T23:16:32Z"
},
{
"name": "Ombi-app/Ombi",
"version": "v4.47.1",
"date": "2025-01-05T21:14:23Z"
},
{
"name": "Radarr/Radarr",
"version": "v5.28.0.10274",
@@ -314,11 +379,6 @@
"version": "v1.19.5",
"date": "2025-09-27T20:59:46Z"
},
{
"name": "henrygd/beszel",
"version": "v0.13.1",
"date": "2025-10-06T01:27:46Z"
},
{
"name": "hyperion-project/hyperion.ng",
"version": "2.1.1",
@@ -369,31 +429,16 @@
"version": "2.520",
"date": "2025-10-05T00:51:34Z"
},
{
"name": "ollama/ollama",
"version": "v0.12.4-rc6",
"date": "2025-10-04T18:46:45Z"
},
{
"name": "gtsteffaniak/filebrowser",
"version": "v0.8.8-beta",
"date": "2025-10-04T15:56:29Z"
},
{
"name": "silverbulletmd/silverbullet",
"version": "2.1.7",
"date": "2025-10-04T13:41:43Z"
},
{
"name": "globaleaks/globaleaks-whistleblowing-software",
"version": "v5.0.84",
"date": "2025-10-04T08:06:12Z"
},
{
"name": "ErsatzTV/ErsatzTV",
"version": "v25.7.0",
"date": "2025-10-04T00:36:45Z"
},
{
"name": "Luligu/matterbridge",
"version": "3.3.0",
@@ -404,11 +449,6 @@
"version": "v1.40.0",
"date": "2025-10-03T19:14:46Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w41-4.14.0",
"date": "2025-10-03T18:56:57Z"
},
{
"name": "home-assistant/core",
"version": "2025.10.1",
@@ -429,11 +469,6 @@
"version": "v2.40.0",
"date": "2025-10-03T12:56:38Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.3",
"date": "2025-09-01T09:47:06Z"
},
{
"name": "redis/redis",
"version": "8.2.2",
@@ -449,11 +484,6 @@
"version": "v0.9.95",
"date": "2025-10-02T16:07:18Z"
},
{
"name": "theonedev/onedev",
"version": "v13.0.7",
"date": "2025-10-02T14:33:22Z"
},
{
"name": "cockpit-project/cockpit",
"version": "348",
@@ -489,16 +519,6 @@
"version": "2.6.2",
"date": "2025-10-01T17:51:09Z"
},
{
"name": "glpi-project/glpi",
"version": "11.0.0",
"date": "2025-10-01T12:00:01Z"
},
{
"name": "esphome/esphome",
"version": "2025.9.3",
"date": "2025-10-01T11:30:07Z"
},
{
"name": "Kozea/Radicale",
"version": "v3.5.7.pypi",
@@ -609,11 +629,6 @@
"version": "v0.10.1",
"date": "2025-09-28T08:55:44Z"
},
{
"name": "raydak-labs/configarr",
"version": "v1.16.0",
"date": "2025-09-27T16:19:27Z"
},
{
"name": "kimai/kimai",
"version": "2.40.0",
@@ -679,11 +694,6 @@
"version": "v14.0.0-dev",
"date": "2025-09-25T13:19:45Z"
},
{
"name": "gelbphoenix/autocaliweb",
"version": "v0.10.2",
"date": "2025-09-24T18:23:36Z"
},
{
"name": "rclone/rclone",
"version": "v1.71.1",
@@ -819,11 +829,6 @@
"version": "v4.3.0.1",
"date": "2025-09-17T08:50:39Z"
},
{
"name": "tobychui/zoraxy",
"version": "v3.2.5r2",
"date": "2025-07-21T12:52:26Z"
},
{
"name": "Checkmk/checkmk",
"version": "v2.4.0p12",
@@ -849,11 +854,6 @@
"version": "3.2.0",
"date": "2025-09-15T18:03:08Z"
},
{
"name": "FlareSolverr/FlareSolverr",
"version": "v3.4.1",
"date": "2025-09-15T18:01:24Z"
},
{
"name": "ellite/Wallos",
"version": "v4.3.0",

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
$STD apt install -y \
apt-transport-https \
alsa-utils \
libxext-dev \
@@ -29,7 +29,7 @@ cd /opt/agentdvr/agent
curl -fsSL "$RELEASE" -o $(basename "$RELEASE")
$STD unzip Agent_Linux64*.zip
chmod +x ./Agent
echo $RELEASE > ~/.agentdvr
echo $RELEASE >~/.agentdvr
msg_ok "Installed AgentDVR"
msg_info "Creating Service"
@@ -56,6 +56,7 @@ customize
msg_info "Cleaning up"
rm -rf Agent_Linux64*.zip
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -42,6 +42,7 @@ msg_info "Creating Tinyauth Service"
SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | head -c 32)
cat <<EOF >/opt/tinyauth/.env
DATABASE_PATH=/opt/tinyauth/database.db
SECRET=${SECRET}
USERS=${USER}
APP_URL=${app_url}
@@ -53,26 +54,17 @@ cat <<'EOF' >/etc/init.d/tinyauth
#!/sbin/openrc-run
description="Tinyauth Service"
set -a
ENV_FILE="/opt/tinyauth/.env"
[ -f "$ENV_FILE" ] && . "$ENV_FILE"
set +a
command="/opt/tinyauth/tinyauth"
directory="/opt/tinyauth"
command_user="root"
command_background="true"
pidfile="/var/run/tinyauth.pid"
start_pre() {
if [ -f "/opt/tinyauth/.env" ]; then
while IFS= read -r line || [ -n "$line" ]; do
[ -z "$line" ] && continue
case "$line" in
'#'*)
continue
;;
esac
export "$line"
done < "/opt/tinyauth/.env"
fi
}
depend() {
use net
}

View File

@@ -0,0 +1,66 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: vhsdream
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/fccview/rwMarkable
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
fetch_and_deploy_gh_release "rwMarkable" "fccview/rwMarkable" "tarball" "latest" "/opt/rwmarkable"
msg_info "Installing ${APPLICATION}"
cd /opt/rwmarkable
$STD yarn --frozen-lockfile
$STD yarn next telemetry disable
$STD yarn build
mkdir -p data/{users,checklists,notes}
cat <<EOF >/opt/rwmarkable/.env
NODE_ENV=production
# HTTPS=true
# --- SSO with OIDC (optional)
# SSO_MODE=oidc
# OIDC_ISSUER=<your-oidc-issuer-url>
# OIDC_CLIENT_ID=<oidc-client-id>
# APP_URL=<https://app.domain.tld>
# SSO_FALLBACK_LOCAL=true # Allow both SSO and normal login
# OIDC_CLIENT_SECRET=your_client_secret # Enable confidential client mode with client authentication
# OIDC_ADMIN_GROUPS=admins # Map provider groups to admin role
EOF
msg_ok "Installed ${APPLICATION}"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/rwmarkable.service
[Unit]
Description=rwMarkable server
After=network.target
[Service]
WorkingDirectory=/opt/rwmarkable
EnvironmentFile=/opt/rwmarkable/.env
ExecStart=yarn start
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now rwmarkable
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y --no-install-recommends \
$STD apt install -y \
build-essential \
python3 \
libpq-dev \
@@ -140,6 +140,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y git
$STD apt install -y git
msg_ok "Installed Dependencies"
PHP_VERSION="8.4" PHP_APACHE="YES" setup_php
@@ -51,6 +51,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -15,13 +15,10 @@ update_os
msg_info "Installing Dependencies. Patience"
$STD apt-get install -y \
git
git \
python3-venv
msg_ok "Installed Dependencies"
msg_info "Setup Python3"
$STD apt-get install -y python3-venv
msg_ok "Setup Python3"
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
msg_info "Setup Platformio"
@@ -70,6 +67,7 @@ customize
msg_info "Cleaning up"
rm -f /tmp/v${RELEASE}.tar.gz
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,17 +14,14 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y git
$STD apt-get install -y pip
msg_ok "Installed Dependencies"
msg_info "Setup Python3"
$STD apt-get install -y \
$STD apt install -y \
git \
pip \
python3 \
python3-dev \
python3-pip
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Setup Python3"
msg_ok "Installed Dependencies"
msg_info "Installing Tautulli"
cd /opt
@@ -59,6 +56,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y handbrake-cli
$STD apt install -y handbrake-cli
msg_ok "Installed Dependencies"
msg_info "Installing Tdarr"
@@ -27,20 +27,34 @@ chmod +x Tdarr_Updater
$STD ./Tdarr_Updater
msg_ok "Installed Tdarr"
msg_info "Setting Up Hardware Acceleration"
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
sg_info "Setting Up Hardware Acceleration"
$STD apt -y install \
va-driver-all \
ocl-icd-libopencl1 \
vainfo \
intel-gpu-tools \
mesa-va-drivers \
mesa-vdpau-drivers \
intel-media-va-driver
if [[ "$CTTYPE" == "0" ]]; then
chgrp video /dev/dri
chmod 755 /dev/dri
chmod 660 /dev/dri/*
$STD adduser $(id -u -n) video
$STD adduser $(id -u -n) render
sed -i -e 's/^sgx:x:104:$/render:x:104:root/' -e 's/^render:x:106:root$/sgx:x:106:/' /etc/group
VIDEO_GID=$(getent group video | cut -d: -f3)
RENDER_GID=$(getent group render | cut -d: -f3)
if [[ -n "$VIDEO_GID" && -n "$RENDER_GID" ]]; then
sed -i "s/^video:x:[0-9]*:/video:x:$VIDEO_GID:/" /etc/group
sed -i "s/^render:x:[0-9]*:/render:x:$RENDER_GID:/" /etc/group
fi
else
sed -i -e 's/^sgx:x:104:$/render:x:104:/' -e 's/^render:x:106:$/sgx:x:106:/' /etc/group
VIDEO_GID=$(getent group video | cut -d: -f3)
RENDER_GID=$(getent group render | cut -d: -f3)
fi
msg_ok "Set Up Hardware Acceleration"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/tdarr-server.service
[Unit]
Description=Tdarr Server Daemon
@@ -90,6 +104,7 @@ customize
msg_info "Cleaning up"
rm -rf /opt/tdarr/Tdarr_Updater.zip
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -51,6 +51,7 @@ customize
msg_info "Cleaning up"
rm -f ~/ts3server.tar.bz*
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -17,8 +17,8 @@ msg_info "Installing ASP.NET Core Runtime"
curl -fsSL "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb" -o "packages-microsoft-prod.deb"
$STD dpkg -i packages-microsoft-prod.deb
rm -rf packages-microsoft-prod.deb
$STD apt-get update
$STD apt-get install -y aspnetcore-runtime-8.0
$STD apt update
$STD apt install -y aspnetcore-runtime-8.0
msg_ok "Installed ASP.NET Core Runtime"
RELEASE=$(curl -fsSL https://technitium.com/dns/ | grep -oP 'Version \K[\d.]+')
@@ -26,7 +26,7 @@ msg_info "Installing Technitium DNS"
mkdir -p /opt/technitium/dns
curl -fsSL "https://download.technitium.com/dns/DnsServerPortable.tar.gz" -o /opt/DnsServerPortable.tar.gz
$STD tar zxvf /opt/DnsServerPortable.tar.gz -C /opt/technitium/dns/
echo "${RELEASE}" > ~/.technitium
echo "${RELEASE}" >~/.technitium
msg_ok "Installed Technitium DNS"
msg_info "Creating service"
@@ -39,6 +39,7 @@ customize
msg_info "Cleaning up"
rm -f /opt/DnsServerPortable.tar.gz
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
$STD apt install -y \
libubsan1 \
ffmpeg \
ca-certificates
@@ -45,6 +45,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -15,25 +15,31 @@ update_os
msg_info "Adding Telegraf key and repository"
curl -fsSL -O https://repos.influxdata.com/influxdata-archive.key
gpg --show-keys --with-fingerprint --with-colons ./influxdata-archive.key 2>&1 \
| grep -q '^fpr:\+24C975CBA61A024EE1B631787C3D57159FC2F927:$' \
&& cat influxdata-archive.key \
| gpg --dearmor \
| tee /etc/apt/keyrings/influxdata-archive.gpg > /dev/null \
&& echo 'deb [signed-by=/etc/apt/keyrings/influxdata-archive.gpg] https://repos.influxdata.com/debian stable main' \
| tee /etc/apt/sources.list.d/influxdata.list > /dev/null
gpg --show-keys --with-fingerprint --with-colons ./influxdata-archive.key 2>&1 |
grep -q '^fpr:\+24C975CBA61A024EE1B631787C3D57159FC2F927:$' &&
cat influxdata-archive.key |
gpg --dearmor |
tee /etc/apt/keyrings/influxdata-archive.gpg >/dev/null
cat <<EOF | sudo tee /etc/apt/sources.list.d/influxdata.sources >/dev/null
Types: deb
URIs: https://repos.influxdata.com/debian
Suites: stable
Components: main
Signed-By: /etc/apt/keyrings/influxdata-archive.gpg
EOF
msg_ok "Added Telegraf Repository"
msg_info "Installing Telegraf"
$STD apt-get update
$STD apt-get install telegraf -y
$STD apt update
$STD apt install telegraf -y
msg_ok "Installed Telegraf"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
rm /influxdata-archive.key
msg_ok "Cleaned"

View File

@@ -19,6 +19,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
$STD apt install -y \
ffmpeg \
vlc
msg_ok "Installed Dependencies"
@@ -45,6 +45,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -15,7 +15,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
$STD apt install -y \
python3 \
cmake \
g++ \
@@ -25,8 +25,8 @@ $STD apt-get install -y \
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/msgbyte/tianji/master/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
PG_VERSION="16" setup_postgresql
PYTHON_VERSION="3.12" setup_uv
PG_VERSION="17" setup_postgresql
PYTHON_VERSION="3.13" setup_uv
msg_info "Setting up PostgreSQL"
DB_NAME=tianji_db
@@ -97,6 +97,7 @@ msg_info "Cleaning up"
rm -rf /opt/tianji/src/client
rm -rf /opt/tianji/website
rm -rf /opt/tianji/reporter
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -29,6 +29,7 @@ customize
msg_info "Cleaning up"
[ -f README.txt ] || [ -f traccar.run ] && rm -f README.txt traccar.run
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y apt-transport-https
$STD apt install -y apt-transport-https
msg_ok "Installed Dependencies"
fetch_and_deploy_gh_release "traefik" "traefik/traefik" "prebuild" "latest" "/usr/bin" "traefik_v*_linux_amd64.tar.gz"
@@ -97,6 +97,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Transmission"
$STD apt-get install -y transmission-daemon
$STD apt install -y transmission-daemon
systemctl stop transmission-daemon
sed -i '{s/"rpc-whitelist-enabled": true/"rpc-whitelist-enabled": false/g; s/"rpc-host-whitelist-enabled": true,/"rpc-host-whitelist-enabled": false,/g}' /etc/transmission-daemon/settings.json
systemctl start transmission-daemon
@@ -24,6 +24,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -39,6 +39,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
$STD apt install -y \
sqlite3 \
yq
msg_ok "Installed Dependencies"
@@ -72,6 +72,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -27,6 +27,7 @@ customize
msg_info "Cleaning up"
rm -rf /opt/typesense-server-${RELEASE}-amd64.deb
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -53,6 +53,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,7 +14,7 @@ network_check
update_os
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
PG_VERSION="16" setup_postgresql
PG_VERSION="17" setup_postgresql
fetch_and_deploy_gh_release "umami" "umami-software/umami" "tarball"
msg_info "Setting up postgresql"
@@ -65,6 +65,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,10 +14,16 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD curl -fsSL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb
$STD dpkg -i packages-microsoft-prod.deb
$STD apt-get update
$STD apt-get install -y \
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
cat <<EOF | sudo tee /etc/apt/sources.list.d/microsoft-prod.sources >/dev/null
Types: deb
URIs: https://packages.microsoft.com/debian/13/prod/
Suites: trixie
Components: main
Signed-By: /usr/share/keyrings/microsoft-prod.gpg
EOF
$STD apt update
$STD apt install -y \
dotnet-sdk-8.0 \
aspnetcore-runtime-8.0
msg_ok "Installed Dependencies"
@@ -117,6 +123,7 @@ customize
msg_info "Cleaning up"
rm -f $temp_file
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Unbound"
$STD apt-get install -y \
$STD apt install -y \
unbound \
unbound-host
msg_info "Installed Unbound"
@@ -82,6 +82,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,14 +14,21 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y apt-transport-https
$STD apt install -y apt-transport-https
msg_ok "Installed Dependencies"
msg_info "Installing Eclipse Temurin JRE"
curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/adoptium.gpg] https://packages.adoptium.net/artifactory/deb bookworm main" >/etc/apt/sources.list.d/adoptium.list
$STD apt-get update
$STD apt-get install -y temurin-17-jre
curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor -o /usr/share/keyrings/adoptium.gpg
cat <<EOF | sudo tee /etc/apt/sources.list.d/adoptium.sources >/dev/null
Types: deb
URIs: https://packages.adoptium.net/artifactory/deb
Suites: trixie
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/adoptium.gpg
EOF
$STD apt update
$STD apt install -y temurin-17-jre
msg_ok "Installed Eclipse Temurin JRE"
if ! grep -q -m1 'avx[^ ]*' /proc/cpuinfo; then
@@ -31,30 +38,50 @@ if ! grep -q -m1 'avx[^ ]*' /proc/cpuinfo; then
curl -fsSL "https://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u3_amd64.deb" -o "libssl1.1_1.1.1w-0+deb11u3_amd64.deb"
$STD dpkg -i libssl1.1_1.1.1w-0+deb11u3_amd64.deb
fi
curl -fsSL "https://www.mongodb.org/static/pgp/server-4.4.asc" | gpg --dearmor >/usr/share/keyrings/mongodb-server-4.4.gpg
echo "deb [signed-by=/usr/share/keyrings/mongodb-server-4.4.gpg] https://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" >/etc/apt/sources.list.d/mongodb-org-4.4.list
$STD apt-get update
$STD apt-get install -y mongodb-org
curl -fsSL "https://www.mongodb.org/static/pgp/server-4.4.asc" | gpg --dearmor -o /usr/share/keyrings/mongodb-server-4.4.gpg
cat <<EOF | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.sources >/dev/null
Types: deb
URIs: https://repo.mongodb.org/apt/debian
Suites: buster/mongodb-org/4.4
Components: main
Signed-By: /usr/share/keyrings/mongodb-server-4.4.gpg
EOF
$STD apt update
$STD apt install -y mongodb-org
else
msg_info "Installing MongoDB 7.0"
curl -fsSL "https://www.mongodb.org/static/pgp/server-7.0.asc" | gpg --dearmor >/usr/share/keyrings/mongodb-server-7.0.gpg
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" >/etc/apt/sources.list.d/mongodb-org-7.0.list
$STD apt-get update
$STD apt-get install -y mongodb-org
curl -fsSL "https://www.mongodb.org/static/pgp/server-7.0.asc" | gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
cat <<EOF | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.sources >/dev/null
Types: deb
URIs: http://repo.mongodb.org/apt/debian
Suites: trixie/mongodb-org/7.0
Components: main
Signed-By: /usr/share/keyrings/mongodb-server-7.0.gpg
EOF
$STD apt update
$STD apt install -y mongodb-org
fi
msg_ok "Installed MongoDB"
msg_info "Installing UniFi Network Server"
curl -fsSL "https://dl.ui.com/unifi/unifi-repo.gpg" -o "/etc/apt/trusted.gpg.d/unifi-repo.gpg"
echo "deb [ arch=amd64 signed-by=/etc/apt/trusted.gpg.d/unifi-repo.gpg] https://www.ui.com/downloads/unifi/debian stable ubiquiti" >/etc/apt/sources.list.d/100-ubnt-unifi.list
$STD apt-get update
$STD apt-get install -y unifi
curl -fsSL "https://dl.ui.com/unifi/unifi-repo.gpg" -o "/usr/share/keyrings/unifi-repo.gpg"
cat <<EOF | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.sources >/dev/null
Types: deb
URIs: https://www.ui.com/downloads/unifi/debian
Suites: stable
Components: ubiquiti
Architectures: amd64
Signed-By: /usr/share/keyrings/unifi-repo.gpg
EOF
$STD apt update
$STD apt install -y unifi
msg_ok "Installed UniFi Network Server"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,27 +14,40 @@ network_check
update_os
msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y ffmpeg
$STD apt-get install -y python3-pip
$STD apt install -y \
ffmpeg \
python3-pip
msg_ok "Installed Dependencies"
msg_info "Setting Up Hardware Acceleration"
$STD apt -y install \
va-driver-all \
ocl-icd-libopencl1 \
vainfo \
intel-gpu-tools \
mesa-va-drivers \
mesa-vdpau-drivers \
intel-media-va-driver
if [[ "$CTTYPE" == "0" ]]; then
msg_info "Setting Up Hardware Acceleration"
$STD apt-get -y install \
va-driver-all \
ocl-icd-libopencl1 \
intel-opencl-icd
chgrp video /dev/dri
chmod 755 /dev/dri
chmod 660 /dev/dri/*
$STD adduser $(id -u -n) video
$STD adduser $(id -u -n) render
msg_ok "Set Up Hardware Acceleration"
VIDEO_GID=$(getent group video | cut -d: -f3)
RENDER_GID=$(getent group render | cut -d: -f3)
if [[ -n "$VIDEO_GID" && -n "$RENDER_GID" ]]; then
sed -i "s/^video:x:[0-9]*:/video:x:$VIDEO_GID:/" /etc/group
sed -i "s/^render:x:[0-9]*:/render:x:$RENDER_GID:/" /etc/group
fi
else
VIDEO_GID=$(getent group video | cut -d: -f3)
RENDER_GID=$(getent group render | cut -d: -f3)
fi
msg_ok "Set Up Hardware Acceleration"
msg_info "Installing Unmanic"
$STD pip3 install unmanic
sed -i -e 's/^sgx:x:104:$/render:x:104:root/' -e 's/^render:x:106:root$/sgx:x:106:/' /etc/group
msg_ok "Installed Unmanic"
msg_info "Creating Service"
@@ -61,6 +74,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -44,6 +44,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,21 +14,27 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
coreutils
$STD apt install -y coreutils
msg_ok "Installed Dependencies"
msg_info "Installing UrBackup Server"
curl -fsSL https://download.opensuse.org/repositories/home:uroni/Debian_12/Release.key | gpg --dearmor >/etc/apt/trusted.gpg.d/home_uroni.gpg
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/home_uroni.gpg] http://download.opensuse.org/repositories/home:/uroni/Debian_12/ /' >/etc/apt/sources.list.d/home:uroni.list
$STD apt-get update -y
apt-get install -y -qq urbackup-server
curl -fsSL https://download.opensuse.org/repositories/home:uroni/Debian_12/Release.key | gpg --dearmor -o /usr/share/keyrings/home-uroni.gpg
cat <<EOF | sudo tee /etc/apt/sources.list.d/home-uroni.sources >/dev/null
Types: deb
URIs: http://download.opensuse.org/repositories/home:/uroni/Debian_12/
Suites: ./
Components:
Signed-By: /usr/share/keyrings/home-uroni.gpg
EOF
$STD apt update
$STD apt install -y urbackup-server
msg_ok "Installed UrBackup Server"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"