cleanup and new script

This commit is contained in:
CanbiZ
2025-10-28 13:18:37 +01:00
parent 1c14bbe7c7
commit 3467f91992
15 changed files with 206 additions and 1314 deletions

View File

@@ -1,65 +0,0 @@
#!/usr/bin/env bash
source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func)
# Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster)
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
# Source: https://alpinelinux.org/
APP="Alpine-Garage"
var_tags="${var_tags:-alpine;object-storage}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-3}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.22}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
if [[ ! -f /usr/local/bin/garage ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
GITEA_RELEASE=$(curl -fsSL https://api.github.com/repos/deuxfleurs-org/garage/tags | jq -r '.[0].name')
if [[ "${GITEA_RELEASE}" != "$(cat ~/.garage 2>/dev/null)" ]] || [[ ! -f ~/.garage ]]; then
msg_info "Stopping Service"
rc-service garage stop || true
msg_ok "Stopped Service"
msg_info "Backing Up Data"
cp /usr/local/bin/garage /usr/local/bin/garage.old 2>/dev/null || true
cp /etc/garage.toml /etc/garage.toml.bak 2>/dev/null || true
msg_ok "Backed Up Data"
msg_info "Updating Garage"
curl -fsSL "https://garagehq.deuxfleurs.fr/_releases/${GITEA_RELEASE}/x86_64-unknown-linux-musl/garage" -o /usr/local/bin/garage
chmod +x /usr/local/bin/garage
echo "${GITEA_RELEASE}" > ~/.garage
msg_ok "Updated Garage"
msg_info "Starting Service"
rc-service garage start || rc-service garage restart
msg_ok "Started Service"
msg_ok "Update Successfully!"
else
msg_ok "No update required. Garage is already at ${GITEA_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}${CL}"

View File

@@ -1,143 +0,0 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: ekke85
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/Dispatcharr/Dispatcharr
APP="Dispatcharr"
APP_NAME=${APP,,}
var_tags="${var_tags:-media;arr}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
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/dispatcharr" ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
setup_uv
NODE_VERSION="24" setup_nodejs
if check_for_gh_release "Dispatcharr" "Dispatcharr/Dispatcharr"; then
msg_info "Stopping Services"
systemctl stop dispatcharr-celery
systemctl stop dispatcharr-celerybeat
systemctl stop dispatcharr-daphne
systemctl stop dispatcharr
msg_ok "Stopped Services"
msg_info "Creating Backup"
BACKUP_FILE="/opt/dispatcharr_backup_$(date +%F_%H-%M-%S).tar.gz"
if [[ -f /opt/dispatcharr/.env ]]; then
cp /opt/dispatcharr/.env /tmp/dispatcharr.env.backup
fi
if [[ -f /opt/dispatcharr/start-gunicorn.sh ]]; then
cp /opt/dispatcharr/start-gunicorn.sh /tmp/start-gunicorn.sh.backup
fi
if [[ -f /opt/dispatcharr/start-celery.sh ]]; then
cp /opt/dispatcharr/start-celery.sh /tmp/start-celery.sh.backup
fi
if [[ -f /opt/dispatcharr/start-celerybeat.sh ]]; then
cp /opt/dispatcharr/start-celerybeat.sh /tmp/start-celerybeat.sh.backup
fi
if [[ -f /opt/dispatcharr/start-daphne.sh ]]; then
cp /opt/dispatcharr/start-daphne.sh /tmp/start-daphne.sh.backup
fi
if [[ -f /opt/dispatcharr/.env ]]; then
set -o allexport
source /opt/dispatcharr/.env
set +o allexport
if [[ -n "$POSTGRES_DB" ]] && [[ -n "$POSTGRES_USER" ]] && [[ -n "$POSTGRES_PASSWORD" ]]; then
PGPASSWORD=$POSTGRES_PASSWORD pg_dump -U $POSTGRES_USER -h ${POSTGRES_HOST:-localhost} $POSTGRES_DB >/tmp/dispatcharr_db_$(date +%F).sql
msg_info "Database backup created"
fi
fi
$STD tar -czf "$BACKUP_FILE" -C /opt dispatcharr /tmp/dispatcharr_db_*.sql 2>/dev/null || true
msg_ok "Backup created: $BACKUP_FILE"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "dispatcharr" "Dispatcharr/Dispatcharr"
msg_info "Updating Dispatcharr Backend"
if [[ -f /tmp/dispatcharr.env.backup ]]; then
mv /tmp/dispatcharr.env.backup /opt/dispatcharr/.env
msg_info "Restored environment configuration"
fi
# Restore service scripts
if [[ -f /tmp/start-gunicorn.sh.backup ]]; then
mv /tmp/start-gunicorn.sh.backup /opt/dispatcharr/start-gunicorn.sh
fi
if [[ -f /tmp/start-celery.sh.backup ]]; then
mv /tmp/start-celery.sh.backup /opt/dispatcharr/start-celery.sh
fi
if [[ -f /tmp/start-celerybeat.sh.backup ]]; then
mv /tmp/start-celerybeat.sh.backup /opt/dispatcharr/start-celerybeat.sh
fi
if [[ -f /tmp/start-daphne.sh.backup ]]; then
mv /tmp/start-daphne.sh.backup /opt/dispatcharr/start-daphne.sh
fi
cd /opt/dispatcharr || exit
rm -rf .venv
$STD uv venv
$STD uv pip install -r requirements.txt --index-strategy unsafe-best-match
$STD uv pip install gunicorn gevent celery redis daphne
msg_ok "Updated Dispatcharr Backend"
msg_info "Building Frontend"
cd /opt/dispatcharr/frontend || exit
$STD npm install --legacy-peer-deps
$STD npm run build
msg_ok "Built Frontend"
msg_info "Running Django Migrations"
cd /opt/dispatcharr || exit
if [[ -f .env ]]; then
set -o allexport
source .env
set +o allexport
fi
$STD uv run python manage.py migrate --noinput
$STD uv run python manage.py collectstatic --noinput
msg_ok "Migrations Complete"
msg_info "Starting Services"
systemctl start dispatcharr
systemctl start dispatcharr-celery
systemctl start dispatcharr-celerybeat
systemctl start dispatcharr-daphne
msg_ok "Started Services"
msg_info "Cleaning up"
rm -f /tmp/dispatcharr_db_*.sql
msg_ok "Cleanup completed"
msg_ok "Update 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}${CL}"

View File

@@ -1,65 +0,0 @@
#!/usr/bin/env bash
source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
# Source: https://garagehq.deuxfleurs.fr/
APP="Garage"
var_tags="${var_tags:-object-storage}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-3}"
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 [[ ! -f /usr/local/bin/garage ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
GITEA_RELEASE=$(curl -fsSL https://api.github.com/repos/deuxfleurs-org/garage/tags | jq -r '.[0].name')
if [[ "${GITEA_RELEASE}" != "$(cat ~/.garage 2>/dev/null)" ]] || [[ ! -f ~/.garage ]]; then
msg_info "Stopping Service"
systemctl stop garage
msg_ok "Stopped Service"
msg_info "Backing Up Data"
cp /usr/local/bin/garage /usr/local/bin/garage.old 2>/dev/null || true
cp /etc/garage.toml /etc/garage.toml.bak 2>/dev/null || true
msg_ok "Backed Up Data"
msg_info "Updating Garage"
curl -fsSL "https://garagehq.deuxfleurs.fr/_releases/${GITEA_RELEASE}/x86_64-unknown-linux-musl/garage" -o /usr/local/bin/garage
chmod +x /usr/local/bin/garage
echo "${GITEA_RELEASE}" > ~/.garage
msg_ok "Updated Garage"
msg_info "Starting Service"
systemctl start garage
msg_ok "Started Service"
msg_ok "Update Successfully!"
else
msg_ok "No update required. Garage is already at ${GITEA_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}${CL}"

View File

@@ -1,44 +0,0 @@
#!/usr/bin/env bash
source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func)
# Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster)
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
# Source: https://www.debian.org/
APP="Hanko"
var_tags="${var_tags:-os}"
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_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
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"
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}:8000${CL}"

View File

@@ -1,79 +0,0 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/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/PatchMon/PatchMon
APP="PatchMon"
APP_NAME=${APP,,}
var_tags="${var_tags:-monitoring}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
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/patchmon" ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
NODE_VERSION="24" setup_nodejs
if check_for_gh_release "PatchMon" "PatchMon/PatchMon"; then
msg_info "Stopping $APP"
systemctl stop patchmon-server
msg_ok "Stopped $APP"
msg_info "Creating Backup"
cp /opt/patchmon/backend/.env /opt/backend.env
cp /opt/patchmon/frontend/.env /opt/frontend.env
msg_ok "Backup Created"
rm -rf /opt/patchmon
fetch_and_deploy_gh_release "PatchMon" "PatchMon/PatchMon" "tarball" "latest" "/opt/patchmon"
msg_info "Updating ${APP}"
cd /opt/patchmon
export NODE_ENV=production
$STD npm install --no-audit --no-fund --no-save --ignore-scripts
cd /opt/patchmon/backend
$STD npm install --no-audit --no-fund --no-save --ignore-scripts
cd /opt/patchmon/frontend
$STD npm install --include=dev --no-audit --no-fund --no-save --ignore-scripts
$STD npm run build
cd /opt/patchmon/backend
mv /opt/backend.env /opt/patchmon/backend/.env
mv /opt/frontend.env /opt/patchmon/frontend/.env
$STD npx prisma migrate deploy
$STD npx prisma generate
msg_ok "Updated ${APP}"
msg_info "Starting $APP"
systemctl start patchmon-server
msg_ok "Started $APP"
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}${CL}"

54
ct/reitti.sh Normal file
View File

@@ -0,0 +1,54 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: madelyn (DysfunctionalProgramming)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/dedicatedcode/reitti
APP="Reitti"
var_tags="${var_tags:-location-tracker}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
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 [[ ! -f /opt/reitti/reitti.jar ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "reitti" "dedicatedcode/reitti"; then
msg_info "Stopping Service"
systemctl stop reitti
msg_ok "Stopped Service"
rm -f /opt/reitti/reitti.jar
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "reitti" "dedicatedcode/reitti" "singlefile" "latest" "/opt/reitti" "reitti-app.jar"
mv /opt/reitti/reitti-*.jar /opt/reitti/reitti.jar
msg_info "Starting Service"
systemctl start reitti
msg_ok "Started Service"
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}:25600${CL}"