Refactor/core qol adoption (#17655)

* Scripts: close every msg_info block with msg_ok

Past-tense msg_info calls that should have been msg_ok, notices that opened a block before a prompt, and blocks without a closing msg_ok. These already left a stale spinner; with core's block stack they would resume it after every later msg_ok.

* Generate passwords with random_password

openssl rand -base64 | tr -dc | head -c returned fewer characters than asked for, and the unfiltered | cut variants put / and + into passwords that end up in DSNs and sed expressions. Secrets an app decodes as base64 are unchanged. Requires community-scripts/core#61.

* Keep data directories through CLEAN_INSTALL instead of copying them

create_backup copied uploads, storage and similar directories twice per update and needed their size again in free space. CLEAN_INSTALL_KEEP moves them aside instead. Only directories the upstream release does not ship, in scripts that restored right after the fetch. Requires community-scripts/core#61.

* Drop the 300s uv timeout overrides

setup_uv exports UV_HTTP_TIMEOUT=600 now; the scripts' 300 only lowered it. Requires community-scripts/core#61.
This commit is contained in:
CanbiZ (MickLesk)
2026-10-03 08:19:10 +02:00
committed by GitHub
parent 45599d63ec
commit 7f57d0998c
169 changed files with 224 additions and 275 deletions
-1
View File
@@ -70,7 +70,6 @@ if [[ "$LXC_STATUS" != "running" ]]; then
msg_info "Container $CTID is not running. Starting it now..."
pct start "$CTID"
while [[ "$(pct status "$CTID" | awk '{print $2}')" != "running" ]]; do
msg_info "Waiting for the container to start..."
sleep 2
done
msg_ok "Container $CTID is now running."
+1 -2
View File
@@ -56,8 +56,7 @@ while read -r line; do
((${#ITEM} + OFFSET > MSG_MAX_LENGTH)) && MSG_MAX_LENGTH=$((${#ITEM} + OFFSET))
CTID_MENU+=("$TAG" "$ITEM" "OFF")
done < <(pct list | awk 'NR>1')
stop_spinner
msg_ok "Loaded container list"
CTID=""
while [[ -z "${CTID}" ]]; do
CTID=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Containers on $NODE" --radiolist \
+1 -1
View File
@@ -96,7 +96,7 @@ TEMPLATE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "All Templat
# Setup script environment
NAME=$(echo "$TEMPLATE" | grep -oE '^[^-]+-[^-]+')
PASS="$(openssl rand -base64 8)"
PASS="$(random_password 16)"
# Get valid Container ID
CTID=$(pvesh get /cluster/nextid)
+2 -2
View File
@@ -86,8 +86,8 @@ function install() {
# Generate secrets and config values
local ENCRYPTION_KEY JWT_SECRET PROJ_DIR BUILDS_DIR
ENCRYPTION_KEY=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | head -c32)
JWT_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | head -c32)
ENCRYPTION_KEY=$(random_password 32)
JWT_SECRET=$(random_password 32)
PROJ_DIR="/etc/arcane/projects"
BUILDS_DIR="/etc/arcane/builds"
+1 -1
View File
@@ -89,7 +89,7 @@ function install() {
fetch_and_deploy_gh_release "cronmaster" "fccview/cronmaster" "prebuild" "latest" "$INSTALL_PATH" "cronmaster_*_prebuild.tar.gz"
local AUTH_PASS
AUTH_PASS="$(openssl rand -base64 18 | cut -c1-13)"
AUTH_PASS="$(random_password 13)"
msg_info "Creating configuration"
cat <<EOF >"$CONFIG_PATH"
+2 -2
View File
@@ -137,7 +137,7 @@ function install() {
echo ""
else
# Generate new password
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16)
DB_PASS=$(random_password 16)
# Check if user exists, create if not
if sudo -u postgres psql -tAc "SELECT 1 FROM pg_roles WHERE rolname='${DB_USER}'" 2>/dev/null | grep -q 1; then
@@ -187,7 +187,7 @@ function install() {
# Generate JWT Secret
local JWT_SECRET
JWT_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | head -c32)
JWT_SECRET=$(random_password 32)
# Force fresh download by removing version cache
rm -f "$HOME/.jellystat"
+4 -4
View File
@@ -189,10 +189,10 @@ function install() {
msg_info "Configuring environment"
curl -fsSL "https://raw.githubusercontent.com/moghtech/komodo/main/compose/compose.env" -o "$COMPOSE_ENV"
DB_PASSWORD=$(openssl rand -base64 16 | tr -d '/+=')
ADMIN_PASSWORD=$(openssl rand -base64 8 | tr -d '/+=')
WEBHOOK_SECRET=$(openssl rand -base64 24 | tr -d '/+=')
JWT_SECRET=$(openssl rand -base64 24 | tr -d '/+=')
DB_PASSWORD=$(random_password 21)
ADMIN_PASSWORD=$(random_password 16)
WEBHOOK_SECRET=$(random_password 32)
JWT_SECRET=$(random_password 32)
sed -i "s/^KOMODO_DATABASE_USERNAME=.*/KOMODO_DATABASE_USERNAME=komodo_admin/" "$COMPOSE_ENV"
sed -i "s/^KOMODO_DATABASE_PASSWORD=.*/KOMODO_DATABASE_PASSWORD=${DB_PASSWORD}/" "$COMPOSE_ENV"
+2 -1
View File
@@ -141,6 +141,7 @@ function install_phpmyadmin() {
mkdir -p "$INSTALL_DIR"
tar xf "$tarball" --strip-components=1 -C "$INSTALL_DIR"
rm -f "$tarball"
msg_ok "Downloaded phpMyAdmin ${LATEST_VERSION}"
}
function configure_phpmyadmin() {
@@ -210,12 +211,12 @@ function uninstall_phpmyadmin() {
$STD rc-service lighttpd stop
$STD rc-service php-fpm stop
fi
msg_ok "Stopped Webserver"
msg_info "Removing phpMyAdmin directory"
rm -rf "$INSTALL_DIR"
if [[ "$OS" == "Alpine" ]]; then
msg_info "Removing Lighttpd config"
rm -f /etc/lighttpd/lighttpd.conf
$STD rc-service php-fpm restart
$STD rc-service lighttpd restart
+1 -2
View File
@@ -654,12 +654,11 @@ for container in $CHOICE; do
log_write "Container $container ($service): FAILED — no backup found for restore"
exit 235
fi
msg_info "Restoring from: $BACKUP_ENTRY"
pct restore $container "$BACKUP_ENTRY" --storage $LXC_STORAGE --force >/dev/null 2>&1
restorestatus=$?
if [ $restorestatus -eq 0 ]; then
pct start $container
msg_ok "Container $container successfully restored from backup"
msg_ok "Container $container restored from ${BACKUP_ENTRY}"
log_result "$container" "$service" "RESTORED" "Update failed (exit $exit_code) — restored from backup"
log_write "Container $container ($service): RESTORED from $BACKUP_ENTRY"
else