From 0bb4509cd70ca715bf77a92192c3013e065d781d Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 09:04:00 +0200 Subject: [PATCH 001/274] Pulse (#4728) * 'Add new script' * Update pulse.sh --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com> --- ct/headers/pulse | 6 ++ ct/pulse.sh | 79 +++++++++++++++++++++++++ frontend/public/json/pulse.json | 40 +++++++++++++ install/pulse-install.sh | 100 ++++++++++++++++++++++++++++++++ 4 files changed, 225 insertions(+) create mode 100644 ct/headers/pulse create mode 100644 ct/pulse.sh create mode 100644 frontend/public/json/pulse.json create mode 100644 install/pulse-install.sh diff --git a/ct/headers/pulse b/ct/headers/pulse new file mode 100644 index 000000000..3d3b702f1 --- /dev/null +++ b/ct/headers/pulse @@ -0,0 +1,6 @@ + ____ __ + / __ \__ __/ /_______ + / /_/ / / / / / ___/ _ \ + / ____/ /_/ / (__ ) __/ +/_/ \__,_/_/____/\___/ + diff --git a/ct/pulse.sh b/ct/pulse.sh new file mode 100644 index 000000000..580899850 --- /dev/null +++ b/ct/pulse.sh @@ -0,0 +1,79 @@ +#!/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: rcourtman +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/rcourtman/Pulse + +APP="Pulse" +var_tags="${var_tags:-monitoring,proxmox}" +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 /opt/pulse-proxmox ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/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 pulse-monitor + msg_ok "Stopped ${APP}" + + msg_info "Updating Pulse" + if [[ -f /opt/pulse-proxmox/.env ]]; then + cp /opt/pulse-proxmox/.env /tmp/.env.backup.pulse + fi + temp_file=$(mktemp) + mkdir -p /opt/pulse-proxmox + rm -rf /opt/pulse-proxmox/* + curl -fsSL "https://github.com/rcourtman/Pulse/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" + tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox + if [[ -f /tmp/.env.backup.pulse ]]; then + mv /tmp/.env.backup.pulse /opt/pulse-proxmox/.env + fi + cd /opt/pulse-proxmox + $STD npm install --unsafe-perm + cd /opt/pulse-proxmox/server + $STD npm install --unsafe-perm + cd /opt/pulse-proxmox + $STD npm run build:css + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Updated Pulse to ${RELEASE}" + + msg_info "Setting permissions for /opt/pulse-proxmox..." + chown -R pulse:pulse "/opt/pulse-proxmox" + find "/opt/pulse-proxmox" -type d -exec chmod 755 {} \; + find "/opt/pulse-proxmox" -type f -exec chmod 644 {} \; + chmod 600 /opt/pulse-proxmox/.env + msg_ok "Set permissions." + + msg_info "Starting ${APP}" + systemctl start pulse-monitor + msg_ok "Started ${APP}" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}." + fi +} + +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}(:your_port)${CL}" diff --git a/frontend/public/json/pulse.json b/frontend/public/json/pulse.json new file mode 100644 index 000000000..09da31d71 --- /dev/null +++ b/frontend/public/json/pulse.json @@ -0,0 +1,40 @@ +{ + "name": "Pulse", + "slug": "pulse", + "categories": [ + 9 + ], + "date_created": "2025-05-22", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 7655, + "documentation": null, + "website": "https://github.com/rcourtman/Pulse", + "logo": "https://raw.githubusercontent.com/rcourtman/Pulse/main/src/public/logos/pulse-logo-256x256.png", + "config_path": "/opt/pulse-proxmox/.env", + "description": "A lightweight monitoring application for Proxmox VE that displays real-time status for VMs and containers via a simple web interface.", + "install_methods": [ + { + "type": "default", + "script": "ct/pulse.sh", + "resources": { + "cpu": 2, + "ram": 2048, + "hdd": 4, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Create Proxmox-API-Token first: `https: //github.com/rcourtman/Pulse?tab=readme-ov-file#creating-a-proxmox-api-token`", + "type": "Info" + } + ] +} diff --git a/install/pulse-install.sh b/install/pulse-install.sh new file mode 100644 index 000000000..091af1bd9 --- /dev/null +++ b/install/pulse-install.sh @@ -0,0 +1,100 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: rcourtman +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/rcourtman/Pulse + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" + +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y \ + diffutils +msg_ok "Installed Core Dependencies" + +msg_info "Creating dedicated user pulse..." +if useradd -r -m -d /opt/pulse-home -s /bin/bash pulse; then + msg_ok "User created." +else + msg_error "User creation failed." + exit 1 +fi + +NODE_VERSION="20" install_node_and_modules + +msg_info "Setup Pulse" +RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +temp_file=$(mktemp) +mkdir -p /opt/pulse-proxmox +curl -fsSL "https://github.com/rcourtman/Pulse/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" +tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox +cd /opt/pulse-proxmox +$STD npm install --unsafe-perm +cd /opt/pulse-proxmox/server +$STD npm install --unsafe-perm +cd /opt/pulse-proxmox +$STD npm run build:css +echo "${RELEASE}" >/opt/${APPLICATION}_version.txt +msg_ok "Installed Pulse" + +read -rp "${TAB3}Proxmox Host (z. B. https://proxmox.example.com:8006): " PROXMOX_HOST +read -rp "${TAB3}Proxmox Token ID (z. B. user@pam!mytoken): " PROXMOX_TOKEN_ID +read -rp "${TAB3}Proxmox Token Secret: " PROXMOX_TOKEN_SECRET +read -rp "${TAB3}Port (default: 7655): " PORT +PORT="${PORT:-7655}" + +msg_info "Creating .env file" +cat </opt/pulse-proxmox/.env +PROXMOX_HOST=${PROXMOX_HOST} +PROXMOX_TOKEN_ID=${PROXMOX_TOKEN_ID} +PROXMOX_TOKEN_SECRET=${PROXMOX_TOKEN_SECRET} +PORT=${PORT} +EOF +msg_ok "Created .env file" + +msg_info "Setting permissions for /opt/pulse-proxmox..." +chown -R pulse:pulse "/opt/pulse-proxmox" +find "/opt/pulse-proxmox" -type d -exec chmod 755 {} \; +find "/opt/pulse-proxmox" -type f -exec chmod 644 {} \; +chmod 600 /opt/pulse-proxmox/.env +msg_ok "Set permissions." + +msg_info "Creating Service" +cat </etc/systemd/system/pulse-monitor.service +[Unit] +Description=Pulse Monitoring Application +After=network.target + +[Service] +Type=simple +User=pulse +Group=pulse +WorkingDirectory=/opt/pulse-proxmox +EnvironmentFile=/opt/pulse-proxmox/.env +ExecStart=/usr/bin/npm run start +Restart=on-failure +RestartSec=5 +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now pulse-monitor +msg_ok "Created Service" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -f "$temp_file" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From 92ff5a98817b81a9b0a23a549d85d8ff43243844 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 08:04:41 +0100 Subject: [PATCH 002/274] Update date in json (#4738) Co-authored-by: GitHub Actions --- frontend/public/json/pulse.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/pulse.json b/frontend/public/json/pulse.json index 09da31d71..88f365b06 100644 --- a/frontend/public/json/pulse.json +++ b/frontend/public/json/pulse.json @@ -4,7 +4,7 @@ "categories": [ 9 ], - "date_created": "2025-05-22", + "date_created": "2025-05-27", "type": "ct", "updateable": true, "privileged": false, From 53bdedfc087368dfbc45f8f6144ea7ebdf016ac5 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 08:06:20 +0100 Subject: [PATCH 003/274] Update CHANGELOG.md (#4739) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 11c46f286..86afd424f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-05-27 +### 🆕 New Scripts + + - Pulse ([#4728](https://github.com/community-scripts/ProxmoxVE/pull/4728)) + ## 2025-05-26 ### 🆕 New Scripts From 82228189a7a86a7ddb81553e76f38d9e9ae0c9ae Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Tue, 27 May 2025 10:06:35 +0200 Subject: [PATCH 004/274] Update pulse.json (#4740) --- frontend/public/json/pulse.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/public/json/pulse.json b/frontend/public/json/pulse.json index 88f365b06..bbfcfecdd 100644 --- a/frontend/public/json/pulse.json +++ b/frontend/public/json/pulse.json @@ -19,8 +19,8 @@ "type": "default", "script": "ct/pulse.sh", "resources": { - "cpu": 2, - "ram": 2048, + "cpu": 1, + "ram": 1024, "hdd": 4, "os": "debian", "version": "12" From 97073be5e2d7b6c08d1004cdd4097152313028c7 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 27 May 2025 10:45:16 +0200 Subject: [PATCH 005/274] lldap: fix update-check (#4742) --- ct/lldap.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ct/lldap.sh b/ct/lldap.sh index 13b9ad476..6e1f9bf0a 100644 --- a/ct/lldap.sh +++ b/ct/lldap.sh @@ -23,7 +23,7 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -f /etc/systemd/system/lldap.service ]]; then + if [[ ! -f /lib/systemd/system/lldap.service ]]; then msg_error "No ${APP} Installation Found!" exit fi @@ -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}:17170${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:17170${CL}" From e6805db9f55eb95372cd178a416523ec638b514b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 09:45:51 +0100 Subject: [PATCH 006/274] Update CHANGELOG.md (#4743) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86afd424f..8cacd105a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,12 @@ All LXC instances created using this repository come pre-installed with Midnight - Pulse ([#4728](https://github.com/community-scripts/ProxmoxVE/pull/4728)) +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - lldap: fix update-check [@MickLesk](https://github.com/MickLesk) ([#4742](https://github.com/community-scripts/ProxmoxVE/pull/4742)) + ## 2025-05-26 ### 🆕 New Scripts From 72db97b226ed33c38962d4b729609131d28225e5 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 27 May 2025 13:48:34 +0200 Subject: [PATCH 007/274] Big NodeJS Update: Use Helper Function on all Install-Scripts (#4744) * Big NodeJS Update: Use Helper Function on all Install-Scripts * add jq in node_function * add more --- install/adventurelog-install.sh | 20 +++----------- install/archivebox-install.sh | 11 +------- install/bytestash-install.sh | 16 +----------- install/changedetection-install.sh | 11 +------- install/cronicle-install.sh | 15 +---------- install/cross-seed-install.sh | 15 +---------- install/cryptpad-install.sh | 12 +-------- install/dashy-install.sh | 15 +---------- install/docmost-install.sh | 17 +++--------- install/elementsynapse-install.sh | 15 ++--------- install/excalidraw-install.sh | 13 +-------- install/flowiseai-install.sh | 12 +-------- install/frigate-install.sh | 8 +----- install/ghost-install.sh | 14 ++-------- install/gomft-install.sh | 25 +++--------------- install/grist-install.sh | 10 +------ install/habitica-install.sh | 18 +++---------- install/homepage-install.sh | 12 +-------- install/iobroker-install.sh | 11 +------- install/karakeep-install.sh | 8 +----- install/koillection-install.sh | 14 +++------- install/mafl-install.sh | 14 +--------- install/magicmirror-install.sh | 15 +---------- install/meilisearch-install.sh | 12 +-------- install/memos-install.sh | 27 ++----------------- install/meshcentral-install.sh | 12 +-------- install/metube-install.sh | 12 +-------- install/monica-install.sh | 36 ++++++++++--------------- install/myspeed-install.sh | 12 +-------- install/n8n-install.sh | 14 ++-------- install/node-red-install.sh | 14 ++-------- install/nodebb-install.sh | 42 +++++++++--------------------- install/openwebui-install.sh | 12 +-------- install/outline-install.sh | 29 +++++++-------------- install/overseerr-install.sh | 18 ++----------- install/pairdrop-install.sh | 14 ++-------- install/paperless-gpt-install.sh | 24 ++--------------- install/part-db-install.sh | 16 +++--------- install/peanut-install.sh | 12 +-------- install/pf2etools-install.sh | 12 +-------- install/pingvin-install.sh | 19 +++----------- install/ps5-mqtt-install.sh | 15 ++--------- install/revealjs-install.sh | 15 +---------- install/seelf-install.sh | 25 +++--------------- install/shinobi-install.sh | 12 +-------- install/tandoor-install.sh | 13 +-------- install/tasmocompiler-install.sh | 10 +------ install/the-lounge-install.sh | 14 +--------- install/tianji-install.sh | 13 ++------- install/umami-install.sh | 28 +++++++------------- install/uptimekuma-install.sh | 12 +-------- install/watcharr-install.sh | 23 +++------------- install/web-check-install.sh | 13 +-------- install/wger-install.sh | 13 +-------- install/wikijs-install.sh | 20 ++------------ install/zigbee2mqtt-install.sh | 18 ++----------- install/zipline-install.sh | 28 +++++++------------- misc/tools.func | 9 +++++++ 58 files changed, 148 insertions(+), 791 deletions(-) diff --git a/install/adventurelog-install.sh b/install/adventurelog-install.sh index 94c62541a..4b6c0c552 100644 --- a/install/adventurelog-install.sh +++ b/install/adventurelog-install.sh @@ -24,25 +24,11 @@ $STD apt-get install -y \ python3-pip msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Setting up PostgreSQL Repository" -curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg -echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >/etc/apt/sources.list.d/pgdg.list -msg_ok "Set up PostgreSQL Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g pnpm -msg_ok "Installed Node.js" +NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules +PG_VERSION="16" install_postgresql msg_info "Install/Set up PostgreSQL Database" -$STD apt-get install -y postgresql-16 postgresql-16-postgis +$STD apt-get install -y postgresql-16-postgis DB_NAME="adventurelog_db" DB_USER="adventurelog_user" DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" diff --git a/install/archivebox-install.sh b/install/archivebox-install.sh index 00ac1c8d6..d1700cab2 100644 --- a/install/archivebox-install.sh +++ b/install/archivebox-install.sh @@ -33,16 +33,7 @@ $STD apt-get install -y \ python3-regex msg_ok "Installed Python Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing Playwright" $STD pip install playwright diff --git a/install/bytestash-install.sh b/install/bytestash-install.sh index e668982ca..535ae685b 100644 --- a/install/bytestash-install.sh +++ b/install/bytestash-install.sh @@ -13,21 +13,7 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y \ - gnupg -msg_ok "Installed Dependencies" - -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing ByteStash" JWT_SECRET=$(openssl rand -base64 32 | tr -d '/+=') diff --git a/install/changedetection-install.sh b/install/changedetection-install.sh index 2f8c65285..cd590815a 100644 --- a/install/changedetection-install.sh +++ b/install/changedetection-install.sh @@ -52,16 +52,7 @@ $STD apt-get install -y \ rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED msg_ok "Setup Python3" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing Change Detection" mkdir /opt/changedetection diff --git a/install/cronicle-install.sh b/install/cronicle-install.sh index ac5c0ab61..5cb697f9d 100644 --- a/install/cronicle-install.sh +++ b/install/cronicle-install.sh @@ -13,20 +13,7 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gnupg -msg_ok "Installed Dependencies" - -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing Cronicle Primary Server" LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4) diff --git a/install/cross-seed-install.sh b/install/cross-seed-install.sh index 6413cf661..a4dd77f0c 100644 --- a/install/cross-seed-install.sh +++ b/install/cross-seed-install.sh @@ -13,20 +13,7 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gnupg -msg_ok "Installed Dependencies" - -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_23.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Setup Node.js Repository" - -msg_info "Setting up Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Setup Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Setup Cross-Seed" $STD npm install cross-seed@latest -g diff --git a/install/cryptpad-install.sh b/install/cryptpad-install.sh index 81bd24c4c..74b7f8074 100644 --- a/install/cryptpad-install.sh +++ b/install/cryptpad-install.sh @@ -15,20 +15,10 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gnupg \ git msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Setup Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Setup Node.js" +NODE_VERSION="22" install_node_and_modules read -p "${TAB3}Install OnlyOffice components instead of CKEditor? (Y/N): " onlyoffice diff --git a/install/dashy-install.sh b/install/dashy-install.sh index 2796d1abd..1d6b779e9 100644 --- a/install/dashy-install.sh +++ b/install/dashy-install.sh @@ -13,20 +13,7 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules RELEASE=$(curl -fsSL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') msg_info "Installing Dashy ${RELEASE} (Patience)" diff --git a/install/docmost-install.sh b/install/docmost-install.sh index 3c6cee72d..d1ee705f7 100644 --- a/install/docmost-install.sh +++ b/install/docmost-install.sh @@ -15,23 +15,12 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gpg \ redis \ - make \ - postgresql + make msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g pnpm@10.4.0 -msg_ok "Installed Node.js" +NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" install_node_and_modules +PG_VERSION="16" install_postgresql msg_info "Setting up PostgreSQL" DB_NAME="docmost_db" diff --git a/install/elementsynapse-install.sh b/install/elementsynapse-install.sh index 285419c20..edad49544 100644 --- a/install/elementsynapse-install.sh +++ b/install/elementsynapse-install.sh @@ -17,21 +17,10 @@ msg_info "Installing Dependencies" $STD apt-get install -y \ lsb-release \ apt-transport-https \ - debconf-utils \ - gpg + debconf-utils msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g yarn -msg_ok "Installed Node.js" +NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules read -p "${TAB3}Please enter the name for your server: " servername diff --git a/install/excalidraw-install.sh b/install/excalidraw-install.sh index 461d8259b..f5a35e591 100644 --- a/install/excalidraw-install.sh +++ b/install/excalidraw-install.sh @@ -15,21 +15,10 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gnupg \ xdg-utils msg_ok "Installed Dependencies" -msg_info "Setup Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Setup Node.js Repository" - -msg_info "Setup Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g yarn -msg_ok "Setup Node.js" +NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules msg_info "Setup Excalidraw" temp_file=$(mktemp) diff --git a/install/flowiseai-install.sh b/install/flowiseai-install.sh index a0ebe92a5..04a38e4d0 100644 --- a/install/flowiseai-install.sh +++ b/install/flowiseai-install.sh @@ -13,17 +13,7 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - -msg_info "Installing Node.js" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing FlowiseAI (Patience)" $STD npm install -g flowise \ diff --git a/install/frigate-install.sh b/install/frigate-install.sh index b3dd21c5f..1133e3e74 100644 --- a/install/frigate-install.sh +++ b/install/frigate-install.sh @@ -23,13 +23,7 @@ $STD apt-get install -y {python3,python3-dev,python3-setuptools,python3-distutil $STD pip install --upgrade pip msg_ok "Setup Python3" -msg_info "Installing Node.js" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing go2rtc" mkdir -p /usr/local/go2rtc/bin diff --git a/install/ghost-install.sh b/install/ghost-install.sh index a69e5f44e..92c887d25 100644 --- a/install/ghost-install.sh +++ b/install/ghost-install.sh @@ -17,8 +17,7 @@ msg_info "Installing Dependencies" $STD apt-get install -y \ nginx \ mariadb-server \ - ca-certificates \ - gnupg + ca-certificates msg_ok "Installed Dependencies" msg_info "Configuring Database" @@ -37,16 +36,7 @@ mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRI } >>~/ghost.creds msg_ok "Configured MySQL" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Setup Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Setup Node.js" +NODE_VERSION="20" install_node_and_modules msg_info "Installing Ghost CLI" $STD npm install ghost-cli@latest -g diff --git a/install/gomft-install.sh b/install/gomft-install.sh index 878365376..5b5692d89 100644 --- a/install/gomft-install.sh +++ b/install/gomft-install.sh @@ -19,30 +19,11 @@ $STD apt-get install -y \ rclone \ tzdata \ ca-certificates \ - build-essential \ - gnupg + build-essential msg_ok "Installed Dependencies" -msg_info "Setting up Golang" -set +o pipefail -temp_file=$(mktemp) -golang_tarball=$(curl -s https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -wget -q https://golang.org/dl/"$golang_tarball" -O "$temp_file" -tar -C /usr/local -xzf "$temp_file" -ln -sf /usr/local/go/bin/go /usr/local/bin/go -set -o pipefail -msg_ok "Setup Golang" - -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +install_go +NODE_VERSION="22" install_node_and_modules msg_info "Setup ${APPLICATION} (Patience)" temp_file=$(mktemp) diff --git a/install/grist-install.sh b/install/grist-install.sh index 079a4242a..8453f0fa2 100644 --- a/install/grist-install.sh +++ b/install/grist-install.sh @@ -16,20 +16,12 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ make \ - gnupg \ ca-certificates \ unzip \ python3.11-venv msg_ok "Installed Dependencies" -msg_info "Installing Node.js" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g yarn -msg_ok "Installed Node.js" +NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules msg_info "Installing Grist" RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') diff --git a/install/habitica-install.sh b/install/habitica-install.sh index 3b35a99f7..c204a9e11 100644 --- a/install/habitica-install.sh +++ b/install/habitica-install.sh @@ -15,24 +15,14 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - libkrb5-dev \ - gnupg \ - build-essential \ - git + libkrb5-dev \ + build-essential \ + git curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb" -o $(basename "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb") $STD dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Setup Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Setup Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Setup ${APPLICATION}" temp_file=$(mktemp) diff --git a/install/homepage-install.sh b/install/homepage-install.sh index 526fc4ada..be1adec26 100644 --- a/install/homepage-install.sh +++ b/install/homepage-install.sh @@ -17,17 +17,7 @@ msg_info "Installing Dependencies" $STD apt-get install -y gpg jq msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g pnpm -msg_ok "Installed Node.js" +NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules LOCAL_IP=$(hostname -I | awk '{print $1}') RELEASE=$(curl -fsSL https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') diff --git a/install/iobroker-install.sh b/install/iobroker-install.sh index 018f4a7c2..e3f88f5ea 100644 --- a/install/iobroker-install.sh +++ b/install/iobroker-install.sh @@ -18,16 +18,7 @@ $STD apt-get install -y ca-certificates $STD apt-get install -y gnupg msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing ioBroker (Patience)" $STD bash <(curl -fsSL https://iobroker.net/install.sh) diff --git a/install/karakeep-install.sh b/install/karakeep-install.sh index a6c22a699..f0fd956cb 100644 --- a/install/karakeep-install.sh +++ b/install/karakeep-install.sh @@ -49,14 +49,8 @@ sed -i \ /etc/meilisearch.toml msg_ok "Installed Meilisearch" -msg_info "Installing Node.js" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -$STD apt-get update -$STD apt-get install -y nodejs +NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules $STD npm install -g corepack@0.31.0 -msg_ok "Installed Node.js" msg_info "Installing karakeep" cd /opt diff --git a/install/koillection-install.sh b/install/koillection-install.sh index 6ca2f0cc2..6c57ce413 100644 --- a/install/koillection-install.sh +++ b/install/koillection-install.sh @@ -15,11 +15,13 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gnupg2 postgresql \ apache2 \ lsb-release msg_ok "Installed Dependencies" +NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules +PG_VERSION="16" install_postgresql + msg_info "Setup PHP8.4 Repository" $STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb @@ -49,16 +51,6 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMP } >>~/koillection.creds msg_ok "Set up PostgreSQL" -msg_info "Setting up Node.js/Yarn" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g npm@latest -$STD npm install -g yarn -msg_ok "Installed Node.js/Yarn" - msg_info "Installing Koillection" RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt diff --git a/install/mafl-install.sh b/install/mafl-install.sh index f4c959635..beda1033c 100644 --- a/install/mafl-install.sh +++ b/install/mafl-install.sh @@ -18,21 +18,9 @@ $STD apt-get install -y make $STD apt-get install -y g++ $STD apt-get install -y gcc $STD apt-get install -y ca-certificates -$STD apt-get install -y gnupg msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g npm@latest -$STD npm install -g yarn -msg_ok "Installed Node.js" +NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing Mafl v${RELEASE}" diff --git a/install/magicmirror-install.sh b/install/magicmirror-install.sh index 59d582352..f58109361 100644 --- a/install/magicmirror-install.sh +++ b/install/magicmirror-install.sh @@ -13,20 +13,7 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gnupg -msg_ok "Installed Dependencies" - -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Setup MagicMirror" temp_file=$(mktemp) diff --git a/install/meilisearch-install.sh b/install/meilisearch-install.sh index a25a20360..88e358789 100644 --- a/install/meilisearch-install.sh +++ b/install/meilisearch-install.sh @@ -40,17 +40,7 @@ msg_ok "Setup ${APPLICATION}" read -r -p "${TAB3}Do you want add meilisearch-ui? [y/n]: " prompt if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then - msg_info "Setting up Node.js Repository" - mkdir -p /etc/apt/keyrings - curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg - echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list - msg_ok "Set up Node.js Repository" - - msg_info "Installing Node.js" - $STD apt-get update - $STD apt-get install -y nodejs - $STD npm install -g pnpm - msg_ok "Installed Node.js" + NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules msg_info "Setup ${APPLICATION}-ui" tmp_file=$(mktemp) diff --git a/install/memos-install.sh b/install/memos-install.sh index 9f2b3e136..34c896d96 100644 --- a/install/memos-install.sh +++ b/install/memos-install.sh @@ -21,31 +21,8 @@ $STD apt-get install -y \ tzdata msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" - -msg_info "Installing pnpm" -$STD npm install -g pnpm -msg_ok "Installed pnpm" - -msg_info "Installing Golang" -set +o pipefail -temp_file=$(mktemp) -golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" -tar -C /usr/local -xzf "$temp_file" -ln -sf /usr/local/go/bin/go /usr/local/bin/go -rm -f "$temp_file" -set -o pipefail -msg_ok "Installed Golang" +NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules +install_go msg_info "Installing Memos (Patience)" mkdir -p /opt/memos_data diff --git a/install/meshcentral-install.sh b/install/meshcentral-install.sh index e5f94063d..8ddc72c5a 100644 --- a/install/meshcentral-install.sh +++ b/install/meshcentral-install.sh @@ -15,19 +15,9 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y ca-certificates -$STD apt-get install -y gnupg msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing MeshCentral" mkdir /opt/meshcentral diff --git a/install/metube-install.sh b/install/metube-install.sh index 68428941e..34910d449 100644 --- a/install/metube-install.sh +++ b/install/metube-install.sh @@ -25,7 +25,6 @@ $STD apt-get install -y --no-install-recommends \ ffmpeg \ git \ make \ - gnupg \ ca-certificates msg_ok "Installed Dependencies" @@ -37,16 +36,7 @@ $STD apt-get install -y \ python3-venv msg_ok "Setup Python3" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing MeTube" $STD git clone https://github.com/alexta69/metube /opt/metube diff --git a/install/monica-install.sh b/install/monica-install.sh index 66de5dc76..c0911dbda 100644 --- a/install/monica-install.sh +++ b/install/monica-install.sh @@ -15,13 +15,15 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gnupg2 mariadb-server \ - apache2 \ - libapache2-mod-php \ - php-{bcmath,curl,dom,gd,gmp,iconv,intl,json,mbstring,mysqli,opcache,pdo-mysql,redis,tokenizer,xml,zip} \ - composer + mariadb-server \ + apache2 \ + libapache2-mod-php \ + php-{bcmath,curl,dom,gd,gmp,iconv,intl,json,mbstring,mysqli,opcache,pdo-mysql,redis,tokenizer,xml,zip} \ + composer msg_ok "Installed Dependencies" +NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules + msg_info "Setting up MariaDB" DB_NAME=monica DB_USER=monica @@ -30,23 +32,13 @@ $STD mysql -u root -e "CREATE DATABASE $DB_NAME;" $STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" $STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { - echo "monica-Credentials" - echo "monica Database User: $DB_USER" - echo "monica Database Password: $DB_PASS" - echo "monica Database Name: $DB_NAME" + echo "monica-Credentials" + echo "monica Database User: $DB_USER" + echo "monica Database Password: $DB_PASS" + echo "monica Database Name: $DB_NAME" } >>~/monica.creds msg_ok "Set up MariaDB" -msg_info "Setting up Node.js/Yarn" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g npm@latest -$STD npm install -g yarn -msg_ok "Installed Node.js/Yarn" - msg_info "Installing monica" RELEASE=$(curl -fsSL https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt @@ -57,9 +49,9 @@ cd /opt/monica cp /opt/monica/.env.example /opt/monica/.env HASH_SALT=$(openssl rand -base64 32) sed -i -e "s|^DB_USERNAME=.*|DB_USERNAME=${DB_USER}|" \ - -e "s|^DB_PASSWORD=.*|DB_PASSWORD=${DB_PASS}|" \ - -e "s|^HASH_SALT=.*|HASH_SALT=${HASH_SALT}|" \ - /opt/monica/.env + -e "s|^DB_PASSWORD=.*|DB_PASSWORD=${DB_PASS}|" \ + -e "s|^HASH_SALT=.*|HASH_SALT=${HASH_SALT}|" \ + /opt/monica/.env $STD composer install --no-dev -o --no-interaction $STD yarn install $STD yarn run production diff --git a/install/myspeed-install.sh b/install/myspeed-install.sh index c44042106..d85274b70 100644 --- a/install/myspeed-install.sh +++ b/install/myspeed-install.sh @@ -16,20 +16,10 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ build-essential \ - gpg \ ca-certificates msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing MySpeed" RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5) diff --git a/install/n8n-install.sh b/install/n8n-install.sh index b8cebc097..d36516a76 100644 --- a/install/n8n-install.sh +++ b/install/n8n-install.sh @@ -15,20 +15,10 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - ca-certificates \ - gnupg + ca-certificates msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing n8n (Patience)" $STD npm install --global patch-package diff --git a/install/node-red-install.sh b/install/node-red-install.sh index ec8ca6575..6588f1b78 100644 --- a/install/node-red-install.sh +++ b/install/node-red-install.sh @@ -16,20 +16,10 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ git \ - ca-certificates \ - gnupg + ca-certificates msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing Node-Red" $STD npm install -g --unsafe-perm node-red diff --git a/install/nodebb-install.sh b/install/nodebb-install.sh index 823cc9331..3dae80732 100644 --- a/install/nodebb-install.sh +++ b/install/nodebb-install.sh @@ -15,32 +15,14 @@ update_os msg_info "Installing Dependencies (Patience)" $STD apt-get install -y \ - build-essential \ - redis-server \ - expect \ - gnupg \ - ca-certificates + build-essential \ + redis-server \ + expect \ + ca-certificates msg_ok "Installed Dependencies" -msg_info "Setting up Node.js & MongoDB Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list - -curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | gpg --dearmor -o /etc/apt/keyrings/mongodb-server-8.0.gpg -echo "deb [arch=amd64,arm64 signed-by=/etc/apt/keyrings/mongodb-server-8.0.gpg] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" >/etc/apt/sources.list.d/mongodb-org-8.0.list -$STD apt-get update -msg_ok "Set up Repositories" - -msg_info "Installing Node.js" -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" - -msg_info "Installing MongoDB" -$STD apt-get install -y mongodb-org -systemctl enable -q --now mongod -sleep 10 # MongoDB needs some secounds to start, if not sleep it collide with following mongosh -msg_ok "Installed MongoDB" +install_mongodb +NODE_VERSION="22" install_node_and_modules msg_info "Configure MongoDB" MONGO_ADMIN_USER="admin" @@ -50,12 +32,12 @@ NODEBB_PWD="$(openssl rand -base64 18 | cut -c1-13)" MONGO_CONNECTION_STRING="mongodb://${NODEBB_USER}:${NODEBB_PWD}@localhost:27017/nodebb" NODEBB_SECRET=$(uuidgen) { - echo "NodeBB-Credentials" - echo "Mongo Database User: $MONGO_ADMIN_USER" - echo "Mongo Database Password: $MONGO_ADMIN_PWD" - echo "NodeBB User: $NODEBB_USER" - echo "NodeBB Password: $NODEBB_PWD" - echo "NodeBB Secret: $NODEBB_SECRET" + echo "NodeBB-Credentials" + echo "Mongo Database User: $MONGO_ADMIN_USER" + echo "Mongo Database Password: $MONGO_ADMIN_PWD" + echo "NodeBB User: $NODEBB_USER" + echo "NodeBB Password: $NODEBB_PWD" + echo "NodeBB Secret: $NODEBB_SECRET" } >>~/nodebb.creds $STD mongosh </etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing Open WebUI (Patience)" $STD git clone https://github.com/open-webui/open-webui.git /opt/open-webui diff --git a/install/outline-install.sh b/install/outline-install.sh index 541b2e1d1..ed856e3e4 100644 --- a/install/outline-install.sh +++ b/install/outline-install.sh @@ -21,25 +21,10 @@ $STD apt-get install -y \ redis msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" +NODE_VERSION="20" NODE_MODULE="yarn@latest" install_node_and_modules +PG_VERSION="16" install_postgresql -msg_info "Setting up PostgreSQL Repository" -curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg -echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >/etc/apt/sources.list.d/pgdg.list -msg_ok "Set up PostgreSQL Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g yarn -msg_ok "Installed Node.js" - -msg_info "Install/Set up PostgreSQL Database" -$STD apt-get install -y postgresql-16 +msg_info "Set up PostgreSQL Database" DB_NAME="outline" DB_USER="outline" DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" @@ -48,7 +33,13 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCO $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';" $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';" $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';" -msg_ok "Set up PostgreSQL" +{ + echo "Outline-Credentials" + echo "Outline Database User: $DB_USER" + echo "Outline Database Password: $DB_PASS" + echo "Outline Database Name: $DB_NAME" +} >>~/outline.creds +msg_ok "Set up PostgreSQL Database" msg_info "Setup Outline (Patience)" SECRET_KEY="$(openssl rand -hex 32)" diff --git a/install/overseerr-install.sh b/install/overseerr-install.sh index 98ebb9890..f2701c4f2 100644 --- a/install/overseerr-install.sh +++ b/install/overseerr-install.sh @@ -16,24 +16,10 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ git \ - ca-certificates \ - gnupg + ca-certificates msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" - -msg_info "Installing Yarn" -$STD npm install -g yarn -msg_ok "Installed Yarn" +NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules msg_info "Installing Overseerr (Patience)" git clone -q https://github.com/sct/overseerr.git /opt/overseerr diff --git a/install/pairdrop-install.sh b/install/pairdrop-install.sh index a5d41f926..8c7724134 100644 --- a/install/pairdrop-install.sh +++ b/install/pairdrop-install.sh @@ -15,20 +15,10 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - git \ - gpg + git msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing PairDrop" git clone -q https://github.com/schlagmichdoch/PairDrop.git /opt/pairdrop diff --git a/install/paperless-gpt-install.sh b/install/paperless-gpt-install.sh index 7ccb1c456..43b994229 100644 --- a/install/paperless-gpt-install.sh +++ b/install/paperless-gpt-install.sh @@ -16,7 +16,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ gcc \ - gnupg \ ca-certificates \ musl-dev \ mupdf \ @@ -24,27 +23,8 @@ $STD apt-get install -y \ musl-tools msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" - -msg_info "Installing Golang" -set +o pipefail -temp_file=$(mktemp) -golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" -tar -C /usr/local -xzf "$temp_file" -ln -sf /usr/local/go/bin/go /usr/local/bin/go -rm -f "$temp_file" -set -o pipefail -msg_ok "Installed Golang" +NODE_VERSION="22" install_node_and_modules +install_go msg_info "Setup Paperless-GPT" temp_file=$(mktemp) diff --git a/install/part-db-install.sh b/install/part-db-install.sh index 9cd883bb9..a865c670a 100644 --- a/install/part-db-install.sh +++ b/install/part-db-install.sh @@ -21,10 +21,12 @@ $STD apt-get install -y \ lsb-release \ php-{opcache,curl,gd,mbstring,xml,bcmath,intl,zip,xsl,pgsql} \ libapache2-mod-php \ - composer \ - postgresql + composer msg_ok "Installed Dependencies" +NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules +PG_VERSION="16" install_postgresql + msg_info "Setting up PHP" PHPVER=$(php -r 'echo PHP_MAJOR_VERSION . "." . PHP_MINOR_VERSION . "\n";') sed -i "s@post_max_size = 8M@post_max_size = 100M@g" /etc/php/${PHPVER}/apache2/php.ini @@ -45,16 +47,6 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMP } >>~/partdb.creds msg_ok "Set up PostgreSQL" -msg_info "Setting up Node.js/Yarn" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g npm@latest -$STD npm install -g yarn -msg_ok "Installed Node.js/Yarn" - msg_info "Installing Part-DB (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/Part-DB/Part-DB-server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') diff --git a/install/peanut-install.sh b/install/peanut-install.sh index 950ba7b05..f2f806467 100644 --- a/install/peanut-install.sh +++ b/install/peanut-install.sh @@ -14,17 +14,7 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - -msg_info "Installing Node.js" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing NUT" $STD apt-get install -y nut-client diff --git a/install/pf2etools-install.sh b/install/pf2etools-install.sh index 13c5f0283..072d933c4 100644 --- a/install/pf2etools-install.sh +++ b/install/pf2etools-install.sh @@ -16,21 +16,11 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ apache2 \ - gpg \ ca-certificates \ git msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Setup Pf2eTools" cd /opt diff --git a/install/pingvin-install.sh b/install/pingvin-install.sh index 77e4298ad..77a2c521f 100644 --- a/install/pingvin-install.sh +++ b/install/pingvin-install.sh @@ -16,26 +16,14 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - git \ - gnupg + git msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install pm2 -g -msg_ok "Installed Node.js" +NODE_VERSION="22" NODE_MODULE="pm2" install_node_and_modules msg_info "Installing Pingvin Share (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/stonith404/pingvin-share/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip echo "${RELEASE}" >"/opt/pingvin_version.txt" @@ -49,10 +37,9 @@ sed -i '/"admin.config.smtp.allow-unauthorized-certificates":\|admin.config.smtp $STD npm install $STD npm run build $STD pm2 start --name="pingvin-share-frontend" npm -- run start -# create and enable pm2-root systemd script $STD pm2 startup systemd -# save running pm2 processes so pingvin-share can survive reboots $STD pm2 save +echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" msg_ok "Installed Pingvin Share" motd_ssh diff --git a/install/ps5-mqtt-install.sh b/install/ps5-mqtt-install.sh index 496f3d9c7..6aa49e2ac 100644 --- a/install/ps5-mqtt-install.sh +++ b/install/ps5-mqtt-install.sh @@ -16,21 +16,10 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ jq \ - ca-certificates \ - gnupg + ca-certificates msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm i -g playactor -msg_ok "Installed Node.js" +NODE_VERSION="22" NODE_MODULE="playactor" install_node_and_modules msg_info "Installing PS5-MQTT" RELEASE=$(curl -fsSL https://api.github.com/repos/FunkeyFlo/ps5-mqtt/releases/latest | jq -r '.tag_name') diff --git a/install/revealjs-install.sh b/install/revealjs-install.sh index e234bcc00..3db939c3b 100644 --- a/install/revealjs-install.sh +++ b/install/revealjs-install.sh @@ -13,20 +13,7 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gnupg -msg_ok "Installed Dependencies" - -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Setup Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Setup Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Setup ${APPLICATION}" temp_file=$(mktemp) diff --git a/install/seelf-install.sh b/install/seelf-install.sh index f38c5d930..b90b890e1 100644 --- a/install/seelf-install.sh +++ b/install/seelf-install.sh @@ -16,30 +16,11 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ make \ - gcc \ - gpg + gcc msg_ok "Installed Dependencies" -msg_info "Installing Golang" -set +o pipefail -temp_file=$(mktemp) -golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" -tar -C /usr/local -xzf "$temp_file" -ln -sf /usr/local/go/bin/go /usr/local/bin/go -set -o pipefail -msg_ok "Installed Golang" - -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +install_go +NODE_VERSION="22" install_node_and_modules msg_info "Setting up seelf. Patience" RELEASE=$(curl -fsSL https://api.github.com/repos/YuukanOO/seelf/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') diff --git a/install/shinobi-install.sh b/install/shinobi-install.sh index 41100cd91..de28fdb71 100644 --- a/install/shinobi-install.sh +++ b/install/shinobi-install.sh @@ -17,19 +17,9 @@ msg_info "Installing Dependencies" $STD apt-get install -y make zip net-tools git $STD apt-get install -y gcc g++ cmake $STD apt-get install -y ca-certificates -$STD apt-get install -y gnupg msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing FFMPEG" $STD apt-get install -y ffmpeg diff --git a/install/tandoor-install.sh b/install/tandoor-install.sh index 5a5ee3347..3673e3013 100644 --- a/install/tandoor-install.sh +++ b/install/tandoor-install.sh @@ -24,7 +24,6 @@ $STD apt-get install -y --no-install-recommends \ libsasl2-dev \ libldap2-dev \ libssl-dev \ - gpg \ git \ make \ pkg-config \ @@ -43,17 +42,7 @@ $STD apt-get install -y \ rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED msg_ok "Setup Python3" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g yarn -msg_ok "Installed Node.js" +NODE_VERSION="20" NODE_MODULE="yarn@latest" install_node_and_modules msg_info "Installing Tandoor (Patience)" $STD git clone https://github.com/TandoorRecipes/recipes -b master /opt/tandoor diff --git a/install/tasmocompiler-install.sh b/install/tasmocompiler-install.sh index 2ff43218c..1ba241f0b 100644 --- a/install/tasmocompiler-install.sh +++ b/install/tasmocompiler-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies. Patience" $STD apt-get install -y \ - gnupg \ git msg_ok "Installed Dependencies" @@ -23,14 +22,7 @@ msg_info "Setup Python3" $STD apt-get install -y python3-venv msg_ok "Setup Python3" -msg_info "Setup Node.js & yarn" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g yarn -msg_ok "Setup Node.js & yarn" +NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules msg_info "Setup Platformio" curl -fsSL -o get-platformio.py https://raw.githubusercontent.com/platformio/platformio-core-installer/master/get-platformio.py diff --git a/install/the-lounge-install.sh b/install/the-lounge-install.sh index 4fe52a7e5..1a35349e2 100644 --- a/install/the-lounge-install.sh +++ b/install/the-lounge-install.sh @@ -15,22 +15,10 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gpg \ build-essential msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install --global yarn -$STD npm install --global node-gyp -msg_ok "Installed Node.js" +NODE_VERSION="22" NODE_MODULE="yarn@latest,node-gyp" install_node_and_modules msg_info "Installing The Lounge" cd /opt diff --git a/install/tianji-install.sh b/install/tianji-install.sh index ab12e2621..26251272e 100644 --- a/install/tianji-install.sh +++ b/install/tianji-install.sh @@ -16,26 +16,17 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - postgresql \ python3 \ cmake \ g++ \ build-essential \ git \ make \ - gnupg \ ca-certificates msg_ok "Installed Dependencies" -msg_info "Installing Node.js" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g pnpm@9.7.1 -export NODE_OPTIONS="--max_old_space_size=4096" -msg_ok "Installed Node.js" +NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/msgbyte/tianji/master/package.json | jq -r '.packageManager | split("@")[1]')" install_node_and_modules +PG_VERSION="16" install_postgresql msg_info "Setting up PostgreSQL" DB_NAME=tianji_db diff --git a/install/umami-install.sh b/install/umami-install.sh index 5733f0467..e9fa625f0 100644 --- a/install/umami-install.sh +++ b/install/umami-install.sh @@ -15,21 +15,10 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y git -$STD apt-get install -y gpg -$STD apt-get install -y postgresql msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g yarn -msg_ok "Installed Node.js" +NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules +PG_VERSION="16" install_postgresql msg_info "Setting up postgresql" DB_NAME=umamidb @@ -41,12 +30,13 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCO $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';" $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';" $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'" -echo "" >~/umami.creds -echo "Umami Database Credentials" >>~/umami.creds -echo "" >>~/umami.creds -echo -e "umami Database User: \e[32m$DB_USER\e[0m" >>~/umami.creds -echo -e "umami Database Password: \e[32m$DB_PASS\e[0m" >>~/umami.creds -echo -e "umami Database Name: \e[32m$DB_NAME\e[0m" >>~/umami.creds +{ + echo "Umami-Credentials" + echo "Umami Database User: $DB_USER" + echo "Umami Database Password: $DB_PASS" + echo "Umami Database Name: $DB_NAME" + echo "Umami Secret Key: $SECRET_KEY" +} >>~/umami.creds msg_ok "Set up postgresql" msg_info "Installing Umami (Patience)" diff --git a/install/uptimekuma-install.sh b/install/uptimekuma-install.sh index a869d165e..91da064b5 100644 --- a/install/uptimekuma-install.sh +++ b/install/uptimekuma-install.sh @@ -16,19 +16,9 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y git $STD apt-get install -y ca-certificates -$STD apt-get install -y gnupg msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" +NODE_VERSION="22" install_node_and_modules msg_info "Installing Uptime Kuma" $STD git clone https://github.com/louislam/uptime-kuma.git diff --git a/install/watcharr-install.sh b/install/watcharr-install.sh index 4a85cffba..ae8219211 100644 --- a/install/watcharr-install.sh +++ b/install/watcharr-install.sh @@ -15,28 +15,11 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gcc \ - gnupg + gcc msg_ok "Installed Dependencies" -msg_info "Setup Golang" -set +o pipefail -temp_file=$(mktemp) -golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" -tar -C /usr/local -xzf "$temp_file" -ln -sf /usr/local/go/bin/go /usr/local/bin/go -rm -f "$temp_file" -set -o pipefail -msg_ok "Setup Golang" - -msg_info "Setup Node.js" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Setup Node.js" +install_go +NODE_VERSION="22" install_node_and_modules msg_info "Setup Watcharr" temp_file=$(mktemp) diff --git a/install/web-check-install.sh b/install/web-check-install.sh index c2d1bd5e4..6ad50f6cf 100644 --- a/install/web-check-install.sh +++ b/install/web-check-install.sh @@ -17,7 +17,6 @@ msg_info "Installing Dependencies" export DEBIAN_FRONTEND=noninteractive $STD apt-get -y install --no-install-recommends \ git \ - gnupg \ traceroute \ make \ g++ \ @@ -36,11 +35,7 @@ $STD apt-get -y install --no-install-recommends \ x11-apps msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" +NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules msg_info "Setup Python3" $STD apt-get install -y python3 @@ -57,12 +52,6 @@ $STD apt-get -y install \ lsb-release msg_ok "Installed Chromium" -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g yarn -msg_ok "Installed Node.js" - msg_info "Setting up Chromium" /usr/bin/chromium --no-sandbox --version >/etc/chromium-version chmod 755 /usr/bin/chromium diff --git a/install/wger-install.sh b/install/wger-install.sh index fe0f6c690..a3cbf1940 100644 --- a/install/wger-install.sh +++ b/install/wger-install.sh @@ -16,7 +16,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ git \ - gnupg \ apache2 \ libapache2-mod-wsgi-py3 msg_ok "Installed Dependencies" @@ -26,17 +25,7 @@ $STD apt-get install -y python3-pip rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED msg_ok "Installed Python" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g yarn sass -msg_ok "Installed Node.js" +NODE_VERSION="22" NODE_MODULE="yarn@latest,sass" install_node_and_modules msg_info "Setting up wger" $STD adduser wger --disabled-password --gecos "" diff --git a/install/wikijs-install.sh b/install/wikijs-install.sh index 4b61b102a..873cce8c4 100644 --- a/install/wikijs-install.sh +++ b/install/wikijs-install.sh @@ -19,26 +19,10 @@ $STD apt-get install -y \ gpg msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Setting up PostgreSQL Repository" -curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg -echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >/etc/apt/sources.list.d/pgdg.list -msg_ok "Set up PostgreSQL Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install --global yarn -$STD npm install -g node-gyp -msg_ok "Installed Node.js" +NODE_VERSION="20" NODE_MODULE="yarn@latest,node-gyp" install_node_and_modules +PG_VERSION="17" install_postgresql msg_info "Set up PostgreSQL" -$STD apt-get install -y postgresql-17 DB_NAME="wiki" DB_USER="wikijs_user" DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" diff --git a/install/zigbee2mqtt-install.sh b/install/zigbee2mqtt-install.sh index c3e21c855..578890668 100644 --- a/install/zigbee2mqtt-install.sh +++ b/install/zigbee2mqtt-install.sh @@ -19,24 +19,10 @@ $STD apt-get install -y \ make \ g++ \ gcc \ - ca-certificates \ - gnupg + ca-certificates msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -msg_ok "Installed Node.js" - -msg_info "Installing pnpm" -$STD npm install -g pnpm -msg_ok "Installed pnpm" +NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules msg_info "Setting up Zigbee2MQTT" cd /opt diff --git a/install/zipline-install.sh b/install/zipline-install.sh index 9e4b16497..1289b6db6 100644 --- a/install/zipline-install.sh +++ b/install/zipline-install.sh @@ -16,21 +16,11 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - postgresql \ - gpg + postgresql msg_ok "Installed Dependencies" -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g pnpm -msg_ok "Installed Node.js" +NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules +PG_VERSION="16" install_postgresql msg_info "Setting up PostgreSQL" DB_NAME=ziplinedb @@ -42,11 +32,13 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCO $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';" $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';" $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'" -echo "" >>~/zipline.creds -echo -e "Zipline Database User: $DB_USER" >>~/zipline.creds -echo -e "Zipline Database Password: $DB_PASS" >>~/zipline.creds -echo -e "Zipline Database Name: $DB_NAME" >>~/zipline.creds -echo -e "Zipline Secret: $SECRET_KEY" >>~/zipline.creds +{ + echo "Zipline-Credentials" + echo "Zipline Database User: $DB_USER" + echo "Zipline Database Password: $DB_PASS" + echo "Zipline Database Name: $DB_NAME" + echo "Zipline Secret Key: $SECRET_KEY" +} >>~/zipline.creds msg_ok "Set up PostgreSQL" msg_info "Installing Zipline (Patience)" diff --git a/misc/tools.func b/misc/tools.func index b533ffc31..f1ff7073a 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -32,6 +32,15 @@ install_node_and_modules() { NEED_NODE_INSTALL=true fi + if ! command -v jq &>/dev/null; then + $STD msg_info "Installing jq..." + $STD apt-get update -qq &>/dev/null + $STD apt-get install -y jq &>/dev/null || { + msg_error "Failed to install jq" + return 1 + } + fi + # Install Node.js if required if [[ "$NEED_NODE_INSTALL" == true ]]; then $STD apt-get purge -y nodejs From 5685e7e08877900ec9e642f94dd70817a3b5621b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 12:49:10 +0100 Subject: [PATCH 008/274] Update CHANGELOG.md (#4749) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cacd105a..47f394ab5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,10 @@ All LXC instances created using this repository come pre-installed with Midnight - lldap: fix update-check [@MickLesk](https://github.com/MickLesk) ([#4742](https://github.com/community-scripts/ProxmoxVE/pull/4742)) + - #### ✨ New Features + + - Big NodeJS Update: Use Helper Function on all Install-Scripts [@MickLesk](https://github.com/MickLesk) ([#4744](https://github.com/community-scripts/ProxmoxVE/pull/4744)) + ## 2025-05-26 ### 🆕 New Scripts From 5085547f39ddc327bb7fcb66f90982ef4e291dde Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 14:07:26 +0200 Subject: [PATCH 009/274] Update versions.json (#4751) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 100 ++++++++++++++--------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index b9c981ce4..af6544db8 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,44 @@ [ + { + "name": "mattermost/mattermost", + "version": "v10.5.7", + "date": "2025-05-27T05:34:42Z" + }, + { + "name": "n8n-io/n8n", + "version": "n8n@1.94.1", + "date": "2025-05-27T10:36:43Z" + }, + { + "name": "traefik/traefik", + "version": "v2.11.25", + "date": "2025-05-27T10:25:28Z" + }, + { + "name": "readeck/readeck", + "version": "0.19.0", + "date": "2025-05-27T09:15:55Z" + }, + { + "name": "esphome/esphome", + "version": "2025.5.1", + "date": "2025-05-27T09:01:29Z" + }, + { + "name": "zitadel/zitadel", + "version": "v2.65.10", + "date": "2025-05-27T08:47:06Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1956", + "date": "2025-05-27T05:55:21Z" + }, + { + "name": "semaphoreui/semaphore", + "version": "v2.14.12", + "date": "2025-05-27T03:58:59Z" + }, { "name": "open-webui/open-webui", "version": "v0.6.11", @@ -20,14 +60,9 @@ "date": "2025-05-23T15:10:33Z" }, { - "name": "mattermost/mattermost", - "version": "mattermost-redux@10.8.0", - "date": "2025-05-26T19:17:13Z" - }, - { - "name": "semaphoreui/semaphore", - "version": "v2.14.12", - "date": "2025-05-26T19:08:26Z" + "name": "keycloak/keycloak", + "version": "26.0.12", + "date": "2025-05-15T14:06:52Z" }, { "name": "dgtlmoon/changedetection.io", @@ -44,16 +79,16 @@ "version": "4.8.11.0", "date": "2025-03-10T06:39:11Z" }, + { + "name": "wazuh/wazuh", + "version": "coverity-w22-4.13.0", + "date": "2025-05-26T15:04:48Z" + }, { "name": "nzbgetcom/nzbget", "version": "v25.0", "date": "2025-05-12T09:12:04Z" }, - { - "name": "zitadel/zitadel", - "version": "v3.2.1", - "date": "2025-05-26T14:27:59Z" - }, { "name": "jupyter/notebook", "version": "v7.4.3", @@ -74,11 +109,6 @@ "version": "pmm-6401-v1.118.0", "date": "2025-05-26T13:09:32Z" }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.91.3", - "date": "2025-05-08T12:25:10Z" - }, { "name": "Graylog2/graylog2-server", "version": "6.3.0-beta.3", @@ -104,11 +134,6 @@ "version": "v1.5.2", "date": "2025-05-11T16:40:55Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1951", - "date": "2025-05-26T05:51:18Z" - }, { "name": "stonith404/pingvin-share", "version": "v1.13.0", @@ -136,8 +161,8 @@ }, { "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-05-25T09:44:06Z" + "version": "v4.1.1", + "date": "2025-05-16T17:37:30Z" }, { "name": "Kozea/Radicale", @@ -204,16 +229,6 @@ "version": "v8.1.4", "date": "2025-05-23T12:29:19Z" }, - { - "name": "wazuh/wazuh", - "version": "v4.10.2", - "date": "2025-05-23T11:56:41Z" - }, - { - "name": "keycloak/keycloak", - "version": "26.0.12", - "date": "2025-05-15T14:06:52Z" - }, { "name": "ollama/ollama", "version": "v0.7.1-rc2", @@ -299,11 +314,6 @@ "version": "10.0.18", "date": "2025-02-12T11:07:02Z" }, - { - "name": "esphome/esphome", - "version": "2025.5.0", - "date": "2025-05-21T08:32:53Z" - }, { "name": "inventree/InvenTree", "version": "0.17.12", @@ -584,11 +594,6 @@ "version": "10.1.41", "date": "2025-05-08T12:45:44Z" }, - { - "name": "readeck/readeck", - "version": "0.18.2", - "date": "2025-05-07T19:22:22Z" - }, { "name": "donaldzou/WGDashboard", "version": "v4.2.3", @@ -644,11 +649,6 @@ "version": "3.5.0", "date": "2025-05-05T16:28:24Z" }, - { - "name": "traefik/traefik", - "version": "v3.4.0", - "date": "2025-05-05T13:59:23Z" - }, { "name": "moghtech/komodo", "version": "v1.17.5", From 943fa7b7aa774168d86dddb9c869547a46ae46d3 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 27 May 2025 14:29:50 +0200 Subject: [PATCH 010/274] tools.func: little bugfixes | add rust install | add adminer install (#4750) * tools.func: little bugfixes | add rust install | add adminer install * Update tools.func * fiix mongodb for ubuntu * merge pg_modules function --- misc/tools.func | 171 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 151 insertions(+), 20 deletions(-) diff --git a/misc/tools.func b/misc/tools.func index f1ff7073a..26387d496 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -122,20 +122,22 @@ install_node_and_modules() { } # ------------------------------------------------------------------------------ -# Installs or upgrades PostgreSQL and performs data migration. +# Installs or upgrades PostgreSQL and optional extensions/modules. # # Description: # - Detects existing PostgreSQL version # - Dumps all databases before upgrade # - Adds PGDG repo and installs specified version +# - Installs optional PG_MODULES (e.g. postgis, contrib) # - Restores dumped data post-upgrade # # Variables: # PG_VERSION - Major PostgreSQL version (e.g. 15, 16) (default: 16) +# PG_MODULES - Comma-separated list of extensions (e.g. "postgis,contrib") # ------------------------------------------------------------------------------ - install_postgresql() { local PG_VERSION="${PG_VERSION:-16}" + local PG_MODULES="${PG_MODULES:-}" local CURRENT_PG_VERSION="" local DISTRO local NEED_PG_INSTALL=false @@ -145,10 +147,10 @@ install_postgresql() { CURRENT_PG_VERSION="$(psql -V | awk '{print $3}' | cut -d. -f1)" if [[ "$CURRENT_PG_VERSION" == "$PG_VERSION" ]]; then msg_ok "PostgreSQL $PG_VERSION is already installed" - return + else + msg_info "Detected PostgreSQL $CURRENT_PG_VERSION, preparing upgrade to $PG_VERSION" + NEED_PG_INSTALL=true fi - msg_info "Detected PostgreSQL $CURRENT_PG_VERSION, preparing upgrade to $PG_VERSION" - NEED_PG_INSTALL=true else msg_info "Setup PostgreSQL $PG_VERSION" NEED_PG_INSTALL=true @@ -179,20 +181,34 @@ install_postgresql() { $STD apt-get install -y "postgresql-${PG_VERSION}" "postgresql-client-${PG_VERSION}" if [[ -n "$CURRENT_PG_VERSION" ]]; then - $STD msg_info "Removing old PostgreSQL $CURRENT_PG_VERSION packages" + msg_info "Removing old PostgreSQL $CURRENT_PG_VERSION packages" $STD apt-get purge -y "postgresql-${CURRENT_PG_VERSION}" "postgresql-client-${CURRENT_PG_VERSION}" || true fi - $STD msg_info "Starting PostgreSQL $PG_VERSION" + msg_info "Starting PostgreSQL $PG_VERSION" systemctl enable -q --now postgresql if [[ -n "$CURRENT_PG_VERSION" ]]; then - $STD msg_info "Restoring dumped data" + msg_info "Restoring dumped data" su - postgres -c "psql < /var/lib/postgresql/backup_$(date +%F)_v${CURRENT_PG_VERSION}.sql" fi msg_ok "PostgreSQL $PG_VERSION installed" fi + + # Install optional PostgreSQL modules + if [[ -n "$PG_MODULES" ]]; then + IFS=',' read -ra MODULES <<<"$PG_MODULES" + for module in "${MODULES[@]}"; do + local pkg="postgresql-${PG_VERSION}-${module}" + msg_info "Installing PostgreSQL module: $pkg" + $STD apt-get install -y "$pkg" || { + msg_error "Failed to install $pkg" + continue + } + done + msg_ok "All requested PostgreSQL modules installed" + fi } # ------------------------------------------------------------------------------ @@ -364,8 +380,10 @@ install_php() { CURRENT_PHP="" fi - if [[ "$CURRENT_PHP" != "$PHP_VERSION" ]]; then - $STD msg_info "PHP $CURRENT_PHP detected, migrating to PHP $PHP_VERSION" + if [[ -z "$CURRENT_PHP" ]]; then + msg_info "Setup PHP $PHP_VERSION" + elif [[ "$CURRENT_PHP" != "$PHP_VERSION" ]]; then + msg_info "PHP $CURRENT_PHP detected, migrating to PHP $PHP_VERSION" if [[ ! -f /etc/apt/sources.list.d/php.list ]]; then $STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb @@ -382,6 +400,9 @@ install_php() { for mod in "${MODULES[@]}"; do MODULE_LIST+=" php${PHP_VERSION}-${mod}" done + if [[ "$PHP_FPM" == "YES" ]]; then + MODULE_LIST+=" php${PHP_VERSION}-fpm" + fi if [[ "$PHP_APACHE" == "YES" ]]; then # Optionally disable old Apache PHP module @@ -448,7 +469,7 @@ install_composer() { # Download and install latest composer curl -fsSL https://getcomposer.org/installer -o /tmp/composer-setup.php - php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer &>/dev/null + php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer >/dev/null 2>&1 if [[ $? -ne 0 ]]; then msg_error "Failed to install Composer" @@ -456,7 +477,9 @@ install_composer() { fi chmod +x "$COMPOSER_BIN" - msg_ok "Installed Composer $($COMPOSER_BIN --version | awk '{print $3}')" + composer diagnose >/dev/null 2>&1 + msg_ok "Setup Composer" + #msg_ok "Installed Composer $($COMPOSER_BIN --version | awk '{print $3}')" } # ------------------------------------------------------------------------------ @@ -589,11 +612,21 @@ install_java() { install_mongodb() { local MONGO_VERSION="${MONGO_VERSION:-8.0}" - local DISTRO_CODENAME - DISTRO_CODENAME=$(awk -F= '/VERSION_CODENAME/ { print $2 }' /etc/os-release) + local DISTRO_ID DISTRO_CODENAME MONGO_BASE_URL + DISTRO_ID=$(awk -F= '/^ID=/{ gsub(/"/,"",$2); print $2 }' /etc/os-release) + DISTRO_CODENAME=$(awk -F= '/^VERSION_CODENAME=/{ print $2 }' /etc/os-release) + + case "$DISTRO_ID" in + ubuntu) MONGO_BASE_URL="https://repo.mongodb.org/apt/ubuntu" ;; + debian) MONGO_BASE_URL="https://repo.mongodb.org/apt/debian" ;; + *) + msg_error "Unsupported distribution: $DISTRO_ID" + return 1 + ;; + esac + local REPO_LIST="/etc/apt/sources.list.d/mongodb-org-${MONGO_VERSION}.list" - # Aktuell installierte Major-Version ermitteln local INSTALLED_VERSION="" if command -v mongod >/dev/null; then INSTALLED_VERSION=$(mongod --version | awk '/db version/{print $3}' | cut -d. -f1,2) @@ -607,7 +640,6 @@ install_mongodb() { return 0 fi - # Ältere Version entfernen (nur Packages, nicht Daten!) if [[ -n "$INSTALLED_VERSION" ]]; then msg_info "Replacing MongoDB $INSTALLED_VERSION with $MONGO_VERSION (data will be preserved)" $STD systemctl stop mongod || true @@ -618,15 +650,17 @@ install_mongodb() { msg_info "Installing MongoDB $MONGO_VERSION" fi - # MongoDB Repo hinzufügen curl -fsSL "https://pgp.mongodb.com/server-${MONGO_VERSION}.asc" | gpg --dearmor -o "/etc/apt/trusted.gpg.d/mongodb-${MONGO_VERSION}.gpg" - echo "deb [signed-by=/etc/apt/trusted.gpg.d/mongodb-${MONGO_VERSION}.gpg] https://repo.mongodb.org/apt/debian ${DISTRO_CODENAME}/mongodb-org/${MONGO_VERSION} main" \ + echo "deb [signed-by=/etc/apt/trusted.gpg.d/mongodb-${MONGO_VERSION}.gpg] ${MONGO_BASE_URL} ${DISTRO_CODENAME}/mongodb-org/${MONGO_VERSION} main" \ >"$REPO_LIST" - $STD apt-get update + $STD apt-get update || { + msg_error "APT update failed — invalid MongoDB repo for ${DISTRO_ID}-${DISTRO_CODENAME}?" + return 1 + } + $STD apt-get install -y mongodb-org - # Sicherstellen, dass Datenverzeichnis intakt bleibt mkdir -p /var/lib/mongodb chown -R mongodb:mongodb /var/lib/mongodb @@ -1212,3 +1246,100 @@ create_selfsigned_certs() { -subj "/C=US/O=$app/OU=Domain Control Validated/CN=localhost" $STD msg_ok "Created Self-Signed Certificate" } + +# ------------------------------------------------------------------------------ +# Installs Rust toolchain and optional global crates via cargo. +# +# Description: +# - Installs rustup (if missing) +# - Installs or updates desired Rust toolchain (stable, nightly, or versioned) +# - Installs or updates specified global crates using `cargo install` +# +# Notes: +# - Skips crate install if exact version is already present +# - Updates crate if newer version or different version is requested +# +# Variables: +# RUST_TOOLCHAIN - Rust toolchain to install (default: stable) +# RUST_CRATES - Comma-separated list of crates (e.g. "cargo-edit,wasm-pack@0.12.1") +# ------------------------------------------------------------------------------ + +install_rust_and_crates() { + local RUST_TOOLCHAIN="${RUST_TOOLCHAIN:-stable}" + local RUST_CRATES="${RUST_CRATES:-}" + local CARGO_BIN="${HOME}/.cargo/bin" + + # rustup & toolchain + if ! command -v rustup &>/dev/null; then + msg_info "Installing rustup" + curl -fsSL https://sh.rustup.rs | $STD sh -s -- -y --default-toolchain "$RUST_TOOLCHAIN" + export PATH="$CARGO_BIN:$PATH" + echo 'export PATH="$HOME/.cargo/bin:$PATH"' >>"$HOME/.profile" + msg_ok "Installed rustup with $RUST_TOOLCHAIN" + else + $STD rustup install "$RUST_TOOLCHAIN" + $STD rustup default "$RUST_TOOLCHAIN" + $STD rustup update "$RUST_TOOLCHAIN" + msg_ok "Rust toolchain set to $RUST_TOOLCHAIN" + fi + + # install/update crates + if [[ -n "$RUST_CRATES" ]]; then + IFS=',' read -ra CRATES <<<"$RUST_CRATES" + for crate in "${CRATES[@]}"; do + local NAME VER INSTALLED_VER + if [[ "$crate" == *"@"* ]]; then + NAME="${crate%@*}" + VER="${crate##*@}" + else + NAME="$crate" + VER="" + fi + + INSTALLED_VER=$(cargo install --list 2>/dev/null | awk "/^$NAME v[0-9]/ {print \$2}" | tr -d 'v') + + if [[ -n "$INSTALLED_VER" ]]; then + if [[ -n "$VER" && "$VER" != "$INSTALLED_VER" ]]; then + msg_info "Updating $NAME from $INSTALLED_VER to $VER" + $STD cargo install "$NAME" --version "$VER" --force + elif [[ -z "$VER" ]]; then + msg_info "Updating $NAME to latest" + $STD cargo install "$NAME" --force + else + msg_ok "$NAME@$INSTALLED_VER already up to date" + fi + else + msg_info "Installing $NAME ${VER:+($VER)}" + $STD cargo install "$NAME" ${VER:+--version "$VER"} + fi + done + msg_ok "All requested Rust crates processed" + fi +} + +# ------------------------------------------------------------------------------ +# Installs Adminer (Debian/Ubuntu via APT, Alpine via direct download). +# +# Description: +# - Adds Adminer to Apache or web root +# - Supports Alpine and Debian-based systems +# ------------------------------------------------------------------------------ + +install_adminer() { + if grep -qi alpine /etc/os-release; then + msg_info "Installing Adminer (Alpine)" + mkdir -p /var/www/localhost/htdocs/adminer + if ! curl -fsSL https://github.com/vrana/adminer/releases/latest/download/adminer.php \ + -o /var/www/localhost/htdocs/adminer/index.php; then + msg_error "Failed to download Adminer" + return 1 + fi + msg_ok "Adminer available at /adminer (Alpine)" + else + msg_info "Installing Adminer (Debian/Ubuntu)" + $STD apt-get install -y adminer + $STD a2enconf adminer + $STD systemctl reload apache2 + msg_ok "Adminer available at /adminer (Debian/Ubuntu)" + fi +} From 8708980786d818f60d9273597bb78cdbb2851265 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 13:30:17 +0100 Subject: [PATCH 011/274] Update CHANGELOG.md (#4754) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 47f394ab5..642a54b38 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts + - tools.func: little bugfixes | add rust install | add adminer install [@MickLesk](https://github.com/MickLesk) ([#4750](https://github.com/community-scripts/ProxmoxVE/pull/4750)) + - #### 🐞 Bug Fixes - lldap: fix update-check [@MickLesk](https://github.com/MickLesk) ([#4742](https://github.com/community-scripts/ProxmoxVE/pull/4742)) From 58586cbfc866a087668d1e10d1729c99fb9723b7 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 27 May 2025 15:28:05 +0200 Subject: [PATCH 012/274] merge PostgreSQL to tools.func Installer (#4752) * Update tools.func * Merge PostgreSQL to tools.func Installer --- install/adventurelog-install.sh | 5 ++--- install/authentik-install.sh | 5 ++--- install/baikal-install.sh | 21 +++++++++++---------- install/freshrss-install.sh | 3 ++- install/netbox-install.sh | 3 ++- install/paperless-ngx-install.sh | 3 ++- install/postgresql-install.sh | 16 ++-------------- 7 files changed, 23 insertions(+), 33 deletions(-) diff --git a/install/adventurelog-install.sh b/install/adventurelog-install.sh index 4b6c0c552..d6de98420 100644 --- a/install/adventurelog-install.sh +++ b/install/adventurelog-install.sh @@ -25,10 +25,9 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules -PG_VERSION="16" install_postgresql +PG_VERSION="16" PG_MODULES="postgis" install_postgresql -msg_info "Install/Set up PostgreSQL Database" -$STD apt-get install -y postgresql-16-postgis +msg_info "Set up PostgreSQL Database" DB_NAME="adventurelog_db" DB_USER="adventurelog_user" DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" diff --git a/install/authentik-install.sh b/install/authentik-install.sh index 63b8b3c15..8ed0dacc3 100644 --- a/install/authentik-install.sh +++ b/install/authentik-install.sh @@ -37,7 +37,7 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" setup_uv -PG_VERSION="16" install_postgresql +PG_VERSION="16" PG_MODULES="contrib" install_postgresql NODE_VERSION="22" install_node_and_modules install_go @@ -61,8 +61,7 @@ cat </etc/GeoIP.conf EOF msg_ok "Installed GeoIP" -msg_info "Installing PostgreSQL" -$STD apt-get install -y postgresql-16 postgresql-contrib-16 +msg_info "Setup PostgreSQL Database" DB_NAME="authentik" DB_USER="authentik" DB_PASS="$(openssl rand -base64 18 | cut -c1-13)" diff --git a/install/baikal-install.sh b/install/baikal-install.sh index da5054684..b5c293736 100644 --- a/install/baikal-install.sh +++ b/install/baikal-install.sh @@ -15,25 +15,26 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - postgresql \ - apache2 \ - libapache2-mod-php \ - php-{pgsql,dom} + apache2 \ + libapache2-mod-php \ + php-{pgsql,dom} msg_ok "Installed Dependencies" -msg_info "Setting up PostgreSQL" +PG_VERSION="16" install_postgresql + +msg_info "Setting up PostgreSQL Database" DB_NAME=baikal DB_USER=baikal DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13) $STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';" $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMPLATE template0;" { - echo "Baikal Credentials" - echo "Baikal Database User: $DB_USER" - echo "Baikal Database Password: $DB_PASS" - echo "Baikal Database Name: $DB_NAME" + echo "Baikal Credentials" + echo "Baikal Database User: $DB_USER" + echo "Baikal Database Password: $DB_PASS" + echo "Baikal Database Name: $DB_NAME" } >>~/baikal.creds -msg_ok "Set up PostgreSQL" +msg_ok "Set up PostgreSQL Database" msg_info "Installing Baikal" RELEASE=$(curl -fsSL https://api.github.com/repos/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') diff --git a/install/freshrss-install.sh b/install/freshrss-install.sh index 679737d7a..a151f2cf2 100644 --- a/install/freshrss-install.sh +++ b/install/freshrss-install.sh @@ -15,12 +15,13 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - postgresql \ apache2 \ php-{curl,dom,json,ctype,pgsql,gmp,mbstring,iconv,zip} \ libapache2-mod-php msg_ok "Installed Dependencies" +PG_VERSION="16" install_postgresql + msg_info "Setting up PostgreSQL" DB_NAME=freshrss DB_USER=freshrss diff --git a/install/netbox-install.sh b/install/netbox-install.sh index 165410f12..967a010c4 100644 --- a/install/netbox-install.sh +++ b/install/netbox-install.sh @@ -17,7 +17,6 @@ msg_info "Installing Dependencies" $STD apt-get install -y \ apache2 \ redis-server \ - postgresql \ build-essential \ libxml2-dev \ libxslt1-dev \ @@ -27,6 +26,8 @@ $STD apt-get install -y \ zlib1g-dev msg_ok "Installed Dependencies" +PG_VERSION="16" install_postgresql + msg_info "Installing Python" $STD apt-get install -y \ python3 \ diff --git a/install/paperless-ngx-install.sh b/install/paperless-ngx-install.sh index b1cd99331..e212eb7b0 100644 --- a/install/paperless-ngx-install.sh +++ b/install/paperless-ngx-install.sh @@ -16,7 +16,6 @@ update_os msg_info "Installing Dependencies (Patience)" $STD apt-get install -y \ redis \ - postgresql \ build-essential \ imagemagick \ fonts-liberation \ @@ -37,6 +36,8 @@ $STD apt-get install -y \ libleptonica-dev msg_ok "Installed Dependencies" +PG_VERSION="16" install_postgresql + msg_info "Setup Python3" $STD apt-get install -y \ python3 \ diff --git a/install/postgresql-install.sh b/install/postgresql-install.sh index ce4503bd6..e12462536 100644 --- a/install/postgresql-install.sh +++ b/install/postgresql-install.sh @@ -13,19 +13,7 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gnupg -msg_ok "Installed Dependencies" - -msg_info "Setting up PostgreSQL Repository" -VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)" -echo "deb http://apt.postgresql.org/pub/repos/apt ${VERSION}-pgdg main" >/etc/apt/sources.list.d/pgdg.list -curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor --output /etc/apt/trusted.gpg.d/postgresql.gpg -msg_ok "Setup PostgreSQL Repository" - -msg_info "Installing PostgreSQL" -$STD apt-get update -$STD apt-get install -y postgresql +PG_VERSION="17" install_postgresql cat </etc/postgresql/17/main/pg_hba.conf # PostgreSQL Client Authentication Configuration File @@ -127,7 +115,7 @@ default_text_search_config = 'pg_catalog.english' include_dir = 'conf.d' EOF -sudo systemctl restart postgresql +systemctl restart postgresql msg_ok "Installed PostgreSQL" read -r -p "${TAB3}Would you like to add Adminer? " prompt From db82285b956e3a34aa0817721942ecb5c819d0de Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 14:28:30 +0100 Subject: [PATCH 013/274] Update CHANGELOG.md (#4759) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 642a54b38..406cf0d25 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,10 @@ All LXC instances created using this repository come pre-installed with Midnight - Big NodeJS Update: Use Helper Function on all Install-Scripts [@MickLesk](https://github.com/MickLesk) ([#4744](https://github.com/community-scripts/ProxmoxVE/pull/4744)) + - #### 🔧 Refactor + + - merge PostgreSQL to tools.func Installer [@MickLesk](https://github.com/MickLesk) ([#4752](https://github.com/community-scripts/ProxmoxVE/pull/4752)) + ## 2025-05-26 ### 🆕 New Scripts From 5ccf8a7cd6e01cb719982c9257f1465abc73cfaf Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 14:28:58 +0100 Subject: [PATCH 014/274] Update CHANGELOG.md (#4760) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 406cf0d25..1f61064c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,8 +22,6 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts - - tools.func: little bugfixes | add rust install | add adminer install [@MickLesk](https://github.com/MickLesk) ([#4750](https://github.com/community-scripts/ProxmoxVE/pull/4750)) - - #### 🐞 Bug Fixes - lldap: fix update-check [@MickLesk](https://github.com/MickLesk) ([#4742](https://github.com/community-scripts/ProxmoxVE/pull/4742)) From ac2f0e66aeb8aac5a163f1c7e7c75dbdba0f7a32 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 27 May 2025 15:32:22 +0200 Subject: [PATCH 015/274] merge MariaDB to tools.func Installer (#4753) * merge MariaDB to tools.func Installer * add more mariadb migrations --- install/2fauth-install.sh | 10 ++--- install/apache-guacamole-install.sh | 65 ++++++++++++++-------------- install/bookstack-install.sh | 23 +++++----- install/dolibarr-install.sh | 5 ++- install/firefly-install.sh | 19 ++++---- install/ghost-install.sh | 3 +- install/glpi-install.sh | 21 ++++----- install/kimai-install.sh | 3 +- install/mariadb-install.sh | 7 +-- install/monica-install.sh | 2 +- install/paymenter-install.sh | 28 ++++++------ install/pelican-panel-install.sh | 4 +- install/phpipam-install.sh | 27 ++++++------ install/plant-it-install.sh | 16 +++---- install/projectsend-install.sh | 31 ++++++------- install/pterodactyl-panel-install.sh | 4 +- install/shinobi-install.sh | 2 +- install/snipeit-install.sh | 25 ++++++----- install/wavelog-install.sh | 15 ++++--- install/wordpress-install.sh | 23 +++++----- 20 files changed, 172 insertions(+), 161 deletions(-) diff --git a/install/2fauth-install.sh b/install/2fauth-install.sh index 57bed91fc..43a3feed9 100644 --- a/install/2fauth-install.sh +++ b/install/2fauth-install.sh @@ -14,11 +14,8 @@ network_check update_os msg_info "Installing Dependencies" - $STD apt-get install -y \ - lsb-release \ - gpg - + lsb-release curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg 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 @@ -26,10 +23,11 @@ $STD apt-get update $STD apt-get install -y \ nginx \ composer \ - php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,intl,mbstring,mysql,xml,cli} \ - mariadb-server + php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,intl,mbstring,mysql,xml,cli} msg_ok "Installed Dependencies" +install_mariadb + msg_info "Setting up Database" DB_NAME=2fauth_db DB_USER=2fauth diff --git a/install/apache-guacamole-install.sh b/install/apache-guacamole-install.sh index 54283fdbd..fa5d27cc9 100644 --- a/install/apache-guacamole-install.sh +++ b/install/apache-guacamole-install.sh @@ -14,31 +14,32 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - build-essential \ - jq \ - libcairo2-dev \ - libturbojpeg0 \ - libpng-dev \ - libtool-bin \ - libossp-uuid-dev \ - libvncserver-dev \ - freerdp2-dev \ - libssh2-1-dev \ - libtelnet-dev \ - libwebsockets-dev \ - libpulse-dev \ - libvorbis-dev \ - libwebp-dev \ - libssl-dev \ - libpango1.0-dev \ - libswscale-dev \ - libavcodec-dev \ - libavutil-dev \ - libavformat-dev \ - mariadb-server \ - default-jdk + build-essential \ + jq \ + libcairo2-dev \ + libturbojpeg0 \ + libpng-dev \ + libtool-bin \ + libossp-uuid-dev \ + libvncserver-dev \ + freerdp2-dev \ + libssh2-1-dev \ + libtelnet-dev \ + libwebsockets-dev \ + libpulse-dev \ + libvorbis-dev \ + libwebp-dev \ + libssl-dev \ + libpango1.0-dev \ + libswscale-dev \ + libavcodec-dev \ + libavutil-dev \ + libavformat-dev \ + default-jdk msg_ok "Installed Dependencies" +install_mariadb + msg_info "Setup Apache Tomcat" RELEASE=$(curl -fsSL https://dlcdn.apache.org/tomcat/tomcat-9/ | grep -oP '(?<=href=")v[^"/]+(?=/")' | sed 's/^v//' | sort -V | tail -n1) mkdir -p /opt/apache-guacamole/tomcat9 @@ -79,19 +80,19 @@ mysql -u root -e "CREATE DATABASE $DB_NAME;" mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { - echo "Guacamole-Credentials" - echo "Database User: $DB_USER" - echo "Database Password: $DB_PASS" - echo "Database Name: $DB_NAME" + echo "Guacamole-Credentials" + echo "Database User: $DB_USER" + echo "Database Password: $DB_PASS" + echo "Database Name: $DB_NAME" } >>~/guacamole.creds cd guacamole-auth-jdbc-1.5.5/mysql/schema cat *.sql | mysql -u root ${DB_NAME} { - echo "mysql-hostname: 127.0.0.1" - echo "mysql-port: 3306" - echo "mysql-database: $DB_NAME" - echo "mysql-username: $DB_USER" - echo "mysql-password: $DB_PASS" + echo "mysql-hostname: 127.0.0.1" + echo "mysql-port: 3306" + echo "mysql-database: $DB_NAME" + echo "mysql-username: $DB_USER" + echo "mysql-password: $DB_PASS" } >>/etc/guacamole/guacamole.properties msg_ok "Setup Database" diff --git a/install/bookstack-install.sh b/install/bookstack-install.sh index 4756a0868..7df4d0e8f 100644 --- a/install/bookstack-install.sh +++ b/install/bookstack-install.sh @@ -15,15 +15,16 @@ update_os msg_info "Installing Dependencies (Patience)" $STD apt-get install -y \ - unzip \ - mariadb-server \ - apache2 \ - php8.2-{mbstring,gd,fpm,curl,intl,ldap,tidy,bz2,mysql,zip,xml} \ - composer \ - libapache2-mod-php \ - make + unzip \ + apache2 \ + php8.2-{mbstring,gd,fpm,curl,intl,ldap,tidy,bz2,mysql,zip,xml} \ + composer \ + libapache2-mod-php \ + make msg_ok "Installed Dependencies" +install_mariadb + msg_info "Setting up Database" DB_NAME=bookstack DB_USER=bookstack @@ -32,10 +33,10 @@ $STD sudo mysql -u root -e "CREATE DATABASE $DB_NAME;" $STD sudo mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" $STD sudo mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { - echo "Bookstack-Credentials" - echo "Bookstack Database User: $DB_USER" - echo "Bookstack Database Password: $DB_PASS" - echo "Bookstack Database Name: $DB_NAME" + echo "Bookstack-Credentials" + echo "Bookstack Database User: $DB_USER" + echo "Bookstack Database Password: $DB_PASS" + echo "Bookstack Database Name: $DB_NAME" } >>~/bookstack.creds msg_ok "Set up database" diff --git a/install/dolibarr-install.sh b/install/dolibarr-install.sh index d629ce284..712fc060e 100644 --- a/install/dolibarr-install.sh +++ b/install/dolibarr-install.sh @@ -16,10 +16,11 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ php-imap \ - debconf-utils \ - mariadb-server + debconf-utils msg_ok "Installed Dependencies" +install_mariadb + msg_info "Setting up Database" ROOT_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) $STD sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$ROOT_PASS'); flush privileges;" diff --git a/install/firefly-install.sh b/install/firefly-install.sh index ed9f89a33..917e6d0fc 100644 --- a/install/firefly-install.sh +++ b/install/firefly-install.sh @@ -18,13 +18,14 @@ curl -fsSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/p echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list $STD apt-get update $STD apt-get install -y \ - apache2 \ - libapache2-mod-php8.4 \ - php8.4-{bcmath,cli,intl,curl,zip,gd,xml,mbstring,mysql} \ - mariadb-server \ - composer + apache2 \ + libapache2-mod-php8.4 \ + php8.4-{bcmath,cli,intl,curl,zip,gd,xml,mbstring,mysql} \ + composer msg_ok "Installed Dependencies" +install_mariadb + msg_info "Setting up database" DB_NAME=firefly DB_USER=firefly @@ -34,10 +35,10 @@ mysql -u root -e "CREATE DATABASE $DB_NAME;" mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { - echo "Firefly-Credentials" - echo "Firefly Database User: $DB_USER" - echo "Firefly Database Password: $DB_PASS" - echo "Firefly Database Name: $DB_NAME" + echo "Firefly-Credentials" + echo "Firefly Database User: $DB_USER" + echo "Firefly Database Password: $DB_PASS" + echo "Firefly Database Name: $DB_NAME" } >>~/firefly.creds msg_ok "Set up database" diff --git a/install/ghost-install.sh b/install/ghost-install.sh index 92c887d25..a3160dcec 100644 --- a/install/ghost-install.sh +++ b/install/ghost-install.sh @@ -16,10 +16,11 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ nginx \ - mariadb-server \ ca-certificates msg_ok "Installed Dependencies" +install_mariadb + msg_info "Configuring Database" DB_NAME=ghost DB_USER=ghostuser diff --git a/install/glpi-install.sh b/install/glpi-install.sh index b157100d8..02e2db94f 100644 --- a/install/glpi-install.sh +++ b/install/glpi-install.sh @@ -15,14 +15,15 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - git \ - apache2 \ - php8.2-{apcu,cli,common,curl,gd,imap,ldap,mysql,xmlrpc,xml,mbstring,bcmath,intl,zip,redis,bz2,soap} \ - php-cas \ - libapache2-mod-php \ - mariadb-server + git \ + apache2 \ + php8.2-{apcu,cli,common,curl,gd,imap,ldap,mysql,xmlrpc,xml,mbstring,bcmath,intl,zip,redis,bz2,soap} \ + php-cas \ + libapache2-mod-php msg_ok "Installed Dependencies" +install_mariadb + msg_info "Setting up database" DB_NAME=glpi_db DB_USER=glpi @@ -33,10 +34,10 @@ mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';" mysql -u root -e "GRANT SELECT ON \`mysql\`.\`time_zone_name\` TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { - echo "GLPI Database Credentials" - echo "Database: $DB_NAME" - echo "Username: $DB_USER" - echo "Password: $DB_PASS" + echo "GLPI Database Credentials" + echo "Database: $DB_NAME" + echo "Username: $DB_USER" + echo "Password: $DB_PASS" } >>~/glpi_db.creds msg_ok "Set up database" diff --git a/install/kimai-install.sh b/install/kimai-install.sh index a65789f36..7bef81646 100644 --- a/install/kimai-install.sh +++ b/install/kimai-install.sh @@ -20,10 +20,11 @@ $STD apt-get install -y \ git \ expect \ composer \ - mariadb-server \ lsb-release msg_ok "Installed Dependencies" +install_mariadb + msg_info "Adding PHP8.4 Repository" $STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb diff --git a/install/mariadb-install.sh b/install/mariadb-install.sh index 3aa1444a1..ace993240 100644 --- a/install/mariadb-install.sh +++ b/install/mariadb-install.sh @@ -13,11 +13,12 @@ setting_up_container network_check update_os -msg_info "Installing MariaDB" -$STD apt-get install -y mariadb-server +install_mariadb + +msg_info "Setup MariaDB" sed -i 's/^# *\(port *=.*\)/\1/' /etc/mysql/my.cnf sed -i 's/^bind-address/#bind-address/g' /etc/mysql/mariadb.conf.d/50-server.cnf -msg_ok "Installed MariaDB" +msg_ok "Setup MariaDB" read -r -p "${TAB3}Would you like to add PhpMyAdmin? " prompt if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then diff --git a/install/monica-install.sh b/install/monica-install.sh index c0911dbda..02b015982 100644 --- a/install/monica-install.sh +++ b/install/monica-install.sh @@ -15,13 +15,13 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - mariadb-server \ apache2 \ libapache2-mod-php \ php-{bcmath,curl,dom,gd,gmp,iconv,intl,json,mbstring,mysqli,opcache,pdo-mysql,redis,tokenizer,xml,zip} \ composer msg_ok "Installed Dependencies" +install_mariadb NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules msg_info "Setting up MariaDB" diff --git a/install/paymenter-install.sh b/install/paymenter-install.sh index d2d17f857..cbde29d51 100644 --- a/install/paymenter-install.sh +++ b/install/paymenter-install.sh @@ -15,16 +15,16 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - git \ - software-properties-common \ - apt-transport-https \ - ca-certificates \ - gnupg2 \ - mariadb-server \ - nginx \ - redis-server + git \ + software-properties-common \ + apt-transport-https \ + ca-certificates \ + nginx \ + redis-server msg_ok "Installed Dependencies" +install_mariadb + msg_info "Adding PHP Repository" $STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb @@ -35,8 +35,8 @@ msg_ok "Added PHP Repository" msg_info "Installing PHP" $STD apt-get remove -y php8.2* $STD apt-get install -y \ - php8.3 \ - php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm,redis} + php8.3 \ + php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm,redis} msg_info "Installed PHP" msg_info "Installing Composer" @@ -62,10 +62,10 @@ mysql -u root -e "CREATE DATABASE $DB_NAME;" mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost' WITH GRANT OPTION;" { - echo "Paymenter Database Credentials" - echo "Database: $DB_NAME" - echo "Username: $DB_USER" - echo "Password: $DB_PASS" + echo "Paymenter Database Credentials" + echo "Database: $DB_NAME" + echo "Username: $DB_USER" + echo "Password: $DB_PASS" } >>~/paymenter_db.creds cp .env.example .env $STD composer install --no-dev --optimize-autoloader --no-interaction diff --git a/install/pelican-panel-install.sh b/install/pelican-panel-install.sh index 2ddea5993..169523c6b 100644 --- a/install/pelican-panel-install.sh +++ b/install/pelican-panel-install.sh @@ -16,12 +16,12 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ lsb-release \ - mariadb-server \ - mariadb-client \ apache2 \ composer msg_ok "Installed Dependencies" +install_mariadb + msg_info "Adding PHP8.4 Repository" $STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb diff --git a/install/phpipam-install.sh b/install/phpipam-install.sh index 3950ff88d..e6d4b9ad4 100644 --- a/install/phpipam-install.sh +++ b/install/phpipam-install.sh @@ -15,13 +15,14 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - mariadb-server \ - apache2 \ - libapache2-mod-php \ - php8.2 php8.2-{fpm,curl,cli,mysql,gd,intl,imap,apcu,pspell,tidy,xmlrpc,mbstring,gmp,xml,ldap,common,snmp} \ - php-pear + apache2 \ + libapache2-mod-php \ + php8.2 php8.2-{fpm,curl,cli,mysql,gd,intl,imap,apcu,pspell,tidy,xmlrpc,mbstring,gmp,xml,ldap,common,snmp} \ + php-pear msg_ok "Installed Dependencies" +install_mariadb + msg_info "Setting up MariaDB" DB_NAME=phpipam DB_USER=phpipam @@ -30,10 +31,10 @@ $STD mysql -u root -e "CREATE DATABASE $DB_NAME;" $STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" $STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { - echo "phpIPAM-Credentials" - echo "phpIPAM Database User: $DB_USER" - echo "phpIPAM Database Password: $DB_PASS" - echo "phpIPAM Database Name: $DB_NAME" + echo "phpIPAM-Credentials" + echo "phpIPAM Database User: $DB_USER" + echo "phpIPAM Database Password: $DB_PASS" + echo "phpIPAM Database Name: $DB_NAME" } >>~/phpipam.creds msg_ok "Set up MariaDB" @@ -45,10 +46,10 @@ unzip -q "phpipam-v${RELEASE}.zip" mysql -u root "${DB_NAME}" /opt/${APPLICATION}_version.txt msg_ok "Installed phpIPAM" diff --git a/install/plant-it-install.sh b/install/plant-it-install.sh index 21fda4fad..87df2c51b 100644 --- a/install/plant-it-install.sh +++ b/install/plant-it-install.sh @@ -15,12 +15,12 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gnupg2 \ - mariadb-server \ - redis \ - nginx + redis \ + nginx msg_ok "Installed Dependencies" +install_mariadb + msg_info "Setting up Adoptium Repository" mkdir -p /etc/apt/keyrings curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg @@ -41,10 +41,10 @@ $STD mysql -u root -e "CREATE DATABASE $DB_NAME;" $STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" $STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { - echo "Plant-it Credentials" - echo "Plant-it Database User: $DB_USER" - echo "Plant-it Database Password: $DB_PASS" - echo "Plant-it Database Name: $DB_NAME" + echo "Plant-it Credentials" + echo "Plant-it Database User: $DB_USER" + echo "Plant-it Database Password: $DB_PASS" + echo "Plant-it Database Name: $DB_NAME" } >>~/plant-it.creds msg_ok "Set up MariaDB" diff --git a/install/projectsend-install.sh b/install/projectsend-install.sh index 8dc819b9a..51e5a19b0 100644 --- a/install/projectsend-install.sh +++ b/install/projectsend-install.sh @@ -15,12 +15,13 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - mariadb-server \ - apache2 \ - libapache2-mod-php \ - php8.2-{pdo,mysql,mbstring,gettext,fileinfo,gd,xml,zip} + apache2 \ + libapache2-mod-php \ + php8.2-{pdo,mysql,mbstring,gettext,fileinfo,gd,xml,zip} msg_ok "Installed Dependencies" +install_mariadb + msg_info "Setting up MariaDB" DB_NAME=projectsend DB_USER=projectsend @@ -29,10 +30,10 @@ $STD mysql -u root -e "CREATE DATABASE $DB_NAME;" $STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" $STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { - echo "projectsend-Credentials" - echo "projectsend Database User: $DB_USER" - echo "projectsend Database Password: $DB_PASS" - echo "projectsend Database Name: $DB_NAME" + echo "projectsend-Credentials" + echo "projectsend Database User: $DB_USER" + echo "projectsend Database Password: $DB_PASS" + echo "projectsend Database Name: $DB_NAME" } >>~/projectsend.creds msg_ok "Set up MariaDB" @@ -47,14 +48,14 @@ chown -R www-data:www-data /opt/projectsend chmod -R 775 /opt/projectsend chmod 644 /opt/projectsend/includes/sys.config.php sed -i -e "s/\(define('DB_NAME', \).*/\1'$DB_NAME');/" \ - -e "s/\(define('DB_USER', \).*/\1'$DB_USER');/" \ - -e "s/\(define('DB_PASSWORD', \).*/\1'$DB_PASS');/" \ - /opt/projectsend/includes/sys.config.php + -e "s/\(define('DB_USER', \).*/\1'$DB_USER');/" \ + -e "s/\(define('DB_PASSWORD', \).*/\1'$DB_PASS');/" \ + /opt/projectsend/includes/sys.config.php sed -i -e "s/^\(memory_limit = \).*/\1 256M/" \ - -e "s/^\(post_max_size = \).*/\1 256M/" \ - -e "s/^\(upload_max_filesize = \).*/\1 256M/" \ - -e "s/^\(max_execution_time = \).*/\1 300/" \ - /etc/php/8.2/apache2/php.ini + -e "s/^\(post_max_size = \).*/\1 256M/" \ + -e "s/^\(upload_max_filesize = \).*/\1 256M/" \ + -e "s/^\(max_execution_time = \).*/\1 300/" \ + /etc/php/8.2/apache2/php.ini echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed projectsend" diff --git a/install/pterodactyl-panel-install.sh b/install/pterodactyl-panel-install.sh index 1c3d1650f..1c6068af5 100644 --- a/install/pterodactyl-panel-install.sh +++ b/install/pterodactyl-panel-install.sh @@ -17,12 +17,12 @@ msg_info "Installing Dependencies" $STD apt-get install -y \ lsb-release \ redis \ - mariadb-server \ - mariadb-client \ apache2 \ composer msg_ok "Installed Dependencies" +install_mariadb + msg_info "Adding PHP8.4 Repository" $STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb diff --git a/install/shinobi-install.sh b/install/shinobi-install.sh index de28fdb71..759a86921 100644 --- a/install/shinobi-install.sh +++ b/install/shinobi-install.sh @@ -20,6 +20,7 @@ $STD apt-get install -y ca-certificates msg_ok "Installed Dependencies" NODE_VERSION="22" install_node_and_modules +install_mariadb msg_info "Installing FFMPEG" $STD apt-get install -y ffmpeg @@ -41,7 +42,6 @@ sqluser="root" sqlpass="root" echo "mariadb-server mariadb-server/root_password password $sqlpass" | debconf-set-selections echo "mariadb-server mariadb-server/root_password_again password $sqlpass" | debconf-set-selections -$STD apt-get install -y mariadb-server service mysql start mysql -u "$sqluser" -p"$sqlpass" -e "source sql/user.sql" || true msg_ok "Installed Database" diff --git a/install/snipeit-install.sh b/install/snipeit-install.sh index 8df86daf7..43ea5c5c2 100644 --- a/install/snipeit-install.sh +++ b/install/snipeit-install.sh @@ -15,13 +15,14 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - composer \ - git \ - nginx \ - php8.2-{bcmath,common,ctype,curl,fileinfo,fpm,gd,iconv,intl,mbstring,mysql,soap,xml,xsl,zip,cli} \ - mariadb-server + composer \ + git \ + nginx \ + php8.2-{bcmath,common,ctype,curl,fileinfo,fpm,gd,iconv,intl,mbstring,mysql,soap,xml,xsl,zip,cli} msg_ok "Installed Dependencies" +install_mariadb + msg_info "Setting up database" DB_NAME=snipeit_db DB_USER=snipeit @@ -30,10 +31,10 @@ mysql -u root -e "CREATE DATABASE $DB_NAME;" mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { - echo "SnipeIT-Credentials" - echo "SnipeIT Database User: $DB_USER" - echo "SnipeIT Database Password: $DB_PASS" - echo "SnipeIT Database Name: $DB_NAME" + echo "SnipeIT-Credentials" + echo "SnipeIT Database User: $DB_USER" + echo "SnipeIT Database Password: $DB_PASS" + echo "SnipeIT Database Name: $DB_NAME" } >>~/snipeit.creds msg_ok "Set up database" @@ -48,9 +49,9 @@ cp .env.example .env IPADDRESS=$(hostname -I | awk '{print $1}') sed -i -e "s|^APP_URL=.*|APP_URL=http://$IPADDRESS|" \ - -e "s|^DB_DATABASE=.*|DB_DATABASE=$DB_NAME|" \ - -e "s|^DB_USERNAME=.*|DB_USERNAME=$DB_USER|" \ - -e "s|^DB_PASSWORD=.*|DB_PASSWORD=$DB_PASS|" .env + -e "s|^DB_DATABASE=.*|DB_DATABASE=$DB_NAME|" \ + -e "s|^DB_USERNAME=.*|DB_USERNAME=$DB_USER|" \ + -e "s|^DB_PASSWORD=.*|DB_PASSWORD=$DB_PASS|" .env chown -R www-data: /opt/snipe-it chmod -R 755 /opt/snipe-it diff --git a/install/wavelog-install.sh b/install/wavelog-install.sh index 4ddde5081..8c94f4515 100644 --- a/install/wavelog-install.sh +++ b/install/wavelog-install.sh @@ -15,11 +15,12 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - libapache2-mod-php \ - mariadb-server \ - php8.2-{curl,mbstring,mysql,xml,zip,gd} + libapache2-mod-php \ + php8.2-{curl,mbstring,mysql,xml,zip,gd} msg_ok "Installed Dependencies" +install_mariadb + msg_info "Setting up Database" DB_NAME=wavelog DB_USER=waveloguser @@ -28,10 +29,10 @@ $STD mysql -u root -e "CREATE DATABASE $DB_NAME;" $STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" $STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { - echo "Wavelog-Credentials" - echo "Wavelog Database User: $DB_USER" - echo "Wavelog Database Password: $DB_PASS" - echo "Wavelog Database Name: $DB_NAME" + echo "Wavelog-Credentials" + echo "Wavelog Database User: $DB_USER" + echo "Wavelog Database Password: $DB_PASS" + echo "Wavelog Database Name: $DB_NAME" } >>~/wavelog.creds msg_ok "Set up database" diff --git a/install/wordpress-install.sh b/install/wordpress-install.sh index a6d68779d..1f5e78064 100644 --- a/install/wordpress-install.sh +++ b/install/wordpress-install.sh @@ -15,12 +15,13 @@ update_os msg_info "Installing Dependencies (Patience)" $STD apt-get install -y \ - apache2 \ - php8.2-{bcmath,common,cli,curl,fpm,gd,snmp,imap,mbstring,mysql,xml,zip} \ - libapache2-mod-php \ - mariadb-server + apache2 \ + php8.2-{bcmath,common,cli,curl,fpm,gd,snmp,imap,mbstring,mysql,xml,zip} \ + libapache2-mod-php msg_ok "Installed Dependencies" +install_mariadb + msg_info "Setting up Database" DB_NAME=wordpress_db DB_USER=wordpress @@ -29,10 +30,10 @@ $STD mysql -u root -e "CREATE DATABASE $DB_NAME;" $STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" $STD mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { - echo "WordPress Credentials" - echo "Database User: $DB_USER" - echo "Database Password: $DB_PASS" - echo "Database Name: $DB_NAME" + echo "WordPress Credentials" + echo "Database User: $DB_USER" + echo "Database Password: $DB_PASS" + echo "Database Name: $DB_NAME" } >>~/wordpress.creds msg_ok "Set up Database" @@ -46,9 +47,9 @@ find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \; mv wp-config-sample.php wp-config.php sed -i -e "s|^define( 'DB_NAME', '.*' );|define( 'DB_NAME', '$DB_NAME' );|" \ - -e "s|^define( 'DB_USER', '.*' );|define( 'DB_USER', '$DB_USER' );|" \ - -e "s|^define( 'DB_PASSWORD', '.*' );|define( 'DB_PASSWORD', '$DB_PASS' );|" \ - /var/www/html/wordpress/wp-config.php + -e "s|^define( 'DB_USER', '.*' );|define( 'DB_USER', '$DB_USER' );|" \ + -e "s|^define( 'DB_PASSWORD', '.*' );|define( 'DB_PASSWORD', '$DB_PASS' );|" \ + /var/www/html/wordpress/wp-config.php msg_ok "Installed Wordpress" msg_info "Setup Services" From 93a179c201d63c68c80a16e5b151960933cdab57 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 14:32:47 +0100 Subject: [PATCH 016/274] Update CHANGELOG.md (#4761) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f61064c0..b3d6dbb64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🔧 Refactor + - merge MariaDB to tools.func Installer [@MickLesk](https://github.com/MickLesk) ([#4753](https://github.com/community-scripts/ProxmoxVE/pull/4753)) - merge PostgreSQL to tools.func Installer [@MickLesk](https://github.com/MickLesk) ([#4752](https://github.com/community-scripts/ProxmoxVE/pull/4752)) ## 2025-05-26 From 72c24d5147991953574b04ac27b47750a9d89638 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophile=20Diot?= <57175294+TheophileDiot@users.noreply.github.com> Date: Tue, 27 May 2025 16:09:55 +0200 Subject: [PATCH 017/274] Increase default RAM allocation for BunkerWeb to 8192MB in script and JSON configuration (#4762) --- ct/bunkerweb.sh | 4 ++-- frontend/public/json/bunkerweb.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ct/bunkerweb.sh b/ct/bunkerweb.sh index d2eb88ca8..5383c9ea9 100644 --- a/ct/bunkerweb.sh +++ b/ct/bunkerweb.sh @@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV APP="BunkerWeb" var_tags="${var_tags:-webserver}" var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-4096}" +var_ram="${var_ram:-8192}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" var_version="${var_version:-12}" @@ -55,4 +55,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}/setup${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/setup${CL}" diff --git a/frontend/public/json/bunkerweb.json b/frontend/public/json/bunkerweb.json index 952cbf814..3cb7ca70d 100644 --- a/frontend/public/json/bunkerweb.json +++ b/frontend/public/json/bunkerweb.json @@ -20,7 +20,7 @@ "script": "ct/bunkerweb.sh", "resources": { "cpu": 2, - "ram": 4096, + "ram": 8192, "hdd": 4, "os": "debian", "version": "12" From f09e57c200fa6e12c328bda81ea6012b699d91a2 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 15:10:23 +0100 Subject: [PATCH 018/274] Update CHANGELOG.md (#4763) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b3d6dbb64..f80b6fe2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,12 @@ All LXC instances created using this repository come pre-installed with Midnight - merge MariaDB to tools.func Installer [@MickLesk](https://github.com/MickLesk) ([#4753](https://github.com/community-scripts/ProxmoxVE/pull/4753)) - merge PostgreSQL to tools.func Installer [@MickLesk](https://github.com/MickLesk) ([#4752](https://github.com/community-scripts/ProxmoxVE/pull/4752)) +### 🌐 Website + + - #### 📝 Script Information + + - Increase default RAM allocation for BunkerWeb to 8192MB [@TheophileDiot](https://github.com/TheophileDiot) ([#4762](https://github.com/community-scripts/ProxmoxVE/pull/4762)) + ## 2025-05-26 ### 🆕 New Scripts From 3b67e8dcc149b4c557677b2d1d27698a17dfdfd1 Mon Sep 17 00:00:00 2001 From: Saif <3879349+neyzm@users.noreply.github.com> Date: Tue, 27 May 2025 15:31:24 +0100 Subject: [PATCH 019/274] Alpine-Vaultwarden: Increase min disk requirements to 1GB (#4764) * Increase var_disk size 0.5 > 1 * Update alpine-warden frontend hdd size hdd: 0.5 > 1 --- ct/alpine-vaultwarden.sh | 2 +- frontend/public/json/vaultwarden.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ct/alpine-vaultwarden.sh b/ct/alpine-vaultwarden.sh index 5ccb8f0c8..e9598cf2f 100644 --- a/ct/alpine-vaultwarden.sh +++ b/ct/alpine-vaultwarden.sh @@ -9,7 +9,7 @@ APP="Alpine-Vaultwarden" var_tags="${var_tags:-alpine;vault}" var_cpu="${var_cpu:-1}" var_ram="${var_ram:-256}" -var_disk="${var_disk:-0.5}" +var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.21}" var_unprivileged="${var_unprivileged:-1}" diff --git a/frontend/public/json/vaultwarden.json b/frontend/public/json/vaultwarden.json index 698cb4b2a..9f159dfca 100644 --- a/frontend/public/json/vaultwarden.json +++ b/frontend/public/json/vaultwarden.json @@ -32,7 +32,7 @@ "resources": { "cpu": 1, "ram": 256, - "hdd": 0.5, + "hdd": 1, "os": "alpine", "version": "3.21" } From ed9d8e995dc880662940bb61cb5db8a84ea68640 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 15:31:53 +0100 Subject: [PATCH 020/274] Update CHANGELOG.md (#4765) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f80b6fe2c..d74e2cbc0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts + - Alpine-Vaultwarden: Increase min disk requirements to 1GB [@neyzm](https://github.com/neyzm) ([#4764](https://github.com/community-scripts/ProxmoxVE/pull/4764)) + - #### 🐞 Bug Fixes - lldap: fix update-check [@MickLesk](https://github.com/MickLesk) ([#4742](https://github.com/community-scripts/ProxmoxVE/pull/4742)) From 11a7c2e4102e04b697d2f60afb8a274fa0eb412d Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 17:21:07 +0200 Subject: [PATCH 021/274] 'Add new script' (#4766) Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> --- ct/backrest.sh | 66 ++++++++++++++++++++++++++++++ ct/headers/backrest | 6 +++ frontend/public/json/backrest.json | 40 ++++++++++++++++++ install/backrest-install.sh | 54 ++++++++++++++++++++++++ 4 files changed, 166 insertions(+) create mode 100644 ct/backrest.sh create mode 100644 ct/headers/backrest create mode 100644 frontend/public/json/backrest.json create mode 100644 install/backrest-install.sh diff --git a/ct/backrest.sh b/ct/backrest.sh new file mode 100644 index 000000000..7dc740175 --- /dev/null +++ b/ct/backrest.sh @@ -0,0 +1,66 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: ksad (enirys31) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://garethgeorge.github.io/backrest/ + +APP="Backrest" +var_tags="${var_tags:-backup}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-512}" +var_disk="${var_disk:-8}" +var_os="${var_os:-debian}" +var_version="${var_version:-12}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/backrest ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/garethgeorge/backrest/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 backrest + msg_ok "Stopped ${APP}" + + msg_info "Updating ${APP} to ${RELEASE}" + temp_file=$(mktemp) + rm -f /opt/backrest/bin/backrest + curl -fsSL "https://github.com/garethgeorge/backrest/releases/download/v${RELEASE}/backrest_Linux_x86_64.tar.gz" -o "$temp_file" + tar xzf $temp_file -C /opt/backrest/bin + chmod +x /opt/backrest/bin/backrest + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Updated ${APP} to ${RELEASE}" + + msg_info "Starting ${APP}" + systemctl start backrest + msg_ok "Started ${APP}" + + msg_info "Cleaning up" + rm -f "$temp_file" + msg_ok "Cleaned up" + 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}:9898${CL}" diff --git a/ct/headers/backrest b/ct/headers/backrest new file mode 100644 index 000000000..fd1f7f060 --- /dev/null +++ b/ct/headers/backrest @@ -0,0 +1,6 @@ + ____ __ __ + / __ )____ ______/ /__________ _____/ /_ + / __ / __ `/ ___/ //_/ ___/ _ \/ ___/ __/ + / /_/ / /_/ / /__/ ,< / / / __(__ ) /_ +/_____/\__,_/\___/_/|_/_/ \___/____/\__/ + diff --git a/frontend/public/json/backrest.json b/frontend/public/json/backrest.json new file mode 100644 index 000000000..bd3dc64d9 --- /dev/null +++ b/frontend/public/json/backrest.json @@ -0,0 +1,40 @@ +{ + "name": "Backrest", + "slug": "backrest", + "categories": [ + 7 + ], + "date_created": "2025-05-11", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 9898, + "documentation": "https://garethgeorge.github.io/backrest/introduction/getting-started", + "website": "https://garethgeorge.github.io/backrest", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/backrest.webp", + "config_path": "/opt/backrest/config/config.json", + "description": "Backrest is a web-accessible backup solution built on top of restic and providing a WebUI which wraps the restic CLI and makes it easy to create repos, browse snapshots, and restore files. Additionally, Backrest can run in the background and take an opinionated approach to scheduling snapshots and orchestrating repo health operations.", + "install_methods": [ + { + "type": "default", + "script": "ct/backrest.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 8, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "type": "info", + "text": "`cat ~/.ssh/id_ed25519.pub` to view ssh public key. This key is used to authenticate with sftp targets. You can add this key on the sftp server." + } + ] +} diff --git a/install/backrest-install.sh b/install/backrest-install.sh new file mode 100644 index 000000000..f8cc5a06c --- /dev/null +++ b/install/backrest-install.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: ksad (enirys31) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://garethgeorge.github.io/backrest/ + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Backrest" +RELEASE=$(curl -fsSL https://api.github.com/repos/garethgeorge/backrest/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +temp_file=$(mktemp) +mkdir -p /opt/backrest/{bin,config,data} +curl -fsSL "https://github.com/garethgeorge/backrest/releases/download/v${RELEASE}/backrest_Linux_x86_64.tar.gz" -o "$temp_file" +tar xzf $temp_file -C /opt/backrest/bin +chmod +x /opt/backrest/bin/backrest +echo "${RELEASE}" >/opt/${APPLICATION}_version.txt +msg_ok "Installed Backrest" + +msg_info "Creating Service" +cat </etc/systemd/system/backrest.service +[Unit] +Description=Backrest +After=network.target + +[Service] +Type=simple +User=root +ExecStart=/opt/backrest/bin/backrest +Environment="BACKREST_PORT=9898" +Environment="BACKREST_CONFIG=/opt/backrest/config/config.json" +Environment="BACKREST_DATA=/opt/backrest/data" +Environment="XDG_CACHE_HOME=/opt/backrest/cache" + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now backrest +msg_ok "Created Service" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -f "$temp_file" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From 56c2682601779e949bcfc30e17118a6c121ce064 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 16:21:33 +0100 Subject: [PATCH 022/274] Update CHANGELOG.md (#4768) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d74e2cbc0..63587f60a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🆕 New Scripts - - Pulse ([#4728](https://github.com/community-scripts/ProxmoxVE/pull/4728)) + - Backrest ([#4766](https://github.com/community-scripts/ProxmoxVE/pull/4766)) +- Pulse ([#4728](https://github.com/community-scripts/ProxmoxVE/pull/4728)) ### 🚀 Updated Scripts From 7db94ad73a31265d34c76dd4c2c8ec2f0620acdb Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 16:21:42 +0100 Subject: [PATCH 023/274] Update date in json (#4769) Co-authored-by: GitHub Actions --- frontend/public/json/backrest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/backrest.json b/frontend/public/json/backrest.json index bd3dc64d9..4257f542a 100644 --- a/frontend/public/json/backrest.json +++ b/frontend/public/json/backrest.json @@ -4,7 +4,7 @@ "categories": [ 7 ], - "date_created": "2025-05-11", + "date_created": "2025-05-27", "type": "ct", "updateable": true, "privileged": false, From d9c4ff9867534bacdde16612380d6a7b177f21c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Tue, 27 May 2025 21:13:36 +0200 Subject: [PATCH 024/274] Update alpine-vaultwarden.sh (#4772) --- ct/alpine-vaultwarden.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ct/alpine-vaultwarden.sh b/ct/alpine-vaultwarden.sh index e9598cf2f..a5a2e0b40 100644 --- a/ct/alpine-vaultwarden.sh +++ b/ct/alpine-vaultwarden.sh @@ -66,4 +66,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${APP} should be reachable by going to the following URL. - ${BL}http://${IP}:8000${CL} \n" + ${BL}https://${IP}:8000${CL} \n" From 121bd8e5579c0aacc86495a51719a43ac6341739 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 02:14:57 +0200 Subject: [PATCH 025/274] Update versions.json (#4773) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 150 ++++++++++++++--------------- 1 file changed, 75 insertions(+), 75 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index af6544db8..d5f271d2f 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,79 @@ [ + { + "name": "mongodb/mongo", + "version": "r8.1.0-alpha3", + "date": "2025-05-27T22:33:59Z" + }, + { + "name": "influxdata/influxdb", + "version": "v1.12.1rc1", + "date": "2025-05-27T22:00:09Z" + }, + { + "name": "bluenviron/mediamtx", + "version": "v1.12.3", + "date": "2025-05-27T20:43:10Z" + }, + { + "name": "home-assistant/core", + "version": "2025.5.3", + "date": "2025-05-23T15:10:33Z" + }, + { + "name": "ollama/ollama", + "version": "v0.7.1-rc2", + "date": "2025-05-23T01:53:31Z" + }, + { + "name": "runtipi/runtipi", + "version": "nightly", + "date": "2025-05-25T09:44:06Z" + }, + { + "name": "Threadfin/Threadfin", + "version": "1.2.34", + "date": "2025-05-27T18:18:00Z" + }, + { + "name": "immich-app/immich", + "version": "v1.134.0", + "date": "2025-05-27T17:28:27Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.16", + "date": "2025-05-27T16:27:42Z" + }, + { + "name": "jenkinsci/jenkins", + "version": "jenkins-2.512", + "date": "2025-05-27T16:06:07Z" + }, + { + "name": "neo4j/neo4j", + "version": "5.26.7", + "date": "2025-05-27T14:59:35Z" + }, + { + "name": "redis/redis", + "version": "7.2.9", + "date": "2025-05-27T14:08:53Z" + }, + { + "name": "readeck/readeck", + "version": "0.19.1", + "date": "2025-05-27T13:13:07Z" + }, + { + "name": "traefik/traefik", + "version": "v3.4.1", + "date": "2025-05-27T12:53:58Z" + }, + { + "name": "AdguardTeam/AdGuardHome", + "version": "v0.107.62", + "date": "2025-05-27T12:10:19Z" + }, { "name": "mattermost/mattermost", "version": "v10.5.7", @@ -9,16 +84,6 @@ "version": "n8n@1.94.1", "date": "2025-05-27T10:36:43Z" }, - { - "name": "traefik/traefik", - "version": "v2.11.25", - "date": "2025-05-27T10:25:28Z" - }, - { - "name": "readeck/readeck", - "version": "0.19.0", - "date": "2025-05-27T09:15:55Z" - }, { "name": "esphome/esphome", "version": "2025.5.1", @@ -54,11 +119,6 @@ "version": "1.34.1", "date": "2025-05-26T21:40:54Z" }, - { - "name": "home-assistant/core", - "version": "2025.5.3", - "date": "2025-05-23T15:10:33Z" - }, { "name": "keycloak/keycloak", "version": "26.0.12", @@ -69,11 +129,6 @@ "version": "0.49.18", "date": "2025-05-26T18:36:33Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.15", - "date": "2025-05-25T05:11:31Z" - }, { "name": "MediaBrowser/Emby.Releases", "version": "4.8.11.0", @@ -114,11 +169,6 @@ "version": "6.3.0-beta.3", "date": "2025-05-26T12:40:56Z" }, - { - "name": "AdguardTeam/AdGuardHome", - "version": "v0.107.61", - "date": "2025-04-22T12:42:26Z" - }, { "name": "OliveTin/OliveTin", "version": "2025.5.26", @@ -159,11 +209,6 @@ "version": "v2.11.2.4629", "date": "2025-04-28T11:59:37Z" }, - { - "name": "runtipi/runtipi", - "version": "v4.1.1", - "date": "2025-05-16T17:37:30Z" - }, { "name": "Kozea/Radicale", "version": "v3.5.4", @@ -209,16 +254,6 @@ "version": "v1.21.0", "date": "2025-05-23T19:17:15Z" }, - { - "name": "immich-app/immich", - "version": "v1.133.1", - "date": "2025-05-23T18:14:44Z" - }, - { - "name": "Threadfin/Threadfin", - "version": "1.2.33", - "date": "2025-05-23T15:59:05Z" - }, { "name": "docker/compose", "version": "v2.36.2", @@ -229,11 +264,6 @@ "version": "v8.1.4", "date": "2025-05-23T12:29:19Z" }, - { - "name": "ollama/ollama", - "version": "v0.7.1-rc2", - "date": "2025-05-23T01:53:31Z" - }, { "name": "rogerfar/rdt-client", "version": "v2.0.113", @@ -254,11 +284,6 @@ "version": "mariadb-11.4.7", "date": "2025-05-22T14:22:22Z" }, - { - "name": "neo4j/neo4j", - "version": "4.4.44", - "date": "2025-05-22T13:58:43Z" - }, { "name": "apache/cassandra", "version": "4.0.18-tentative", @@ -289,11 +314,6 @@ "version": "v3.0.4", "date": "2025-05-21T19:03:53Z" }, - { - "name": "mongodb/mongo", - "version": "r8.0.10-rc0", - "date": "2025-05-21T18:22:25Z" - }, { "name": "ipfs/kubo", "version": "v0.35.0", @@ -334,11 +354,6 @@ "version": "3.1.0", "date": "2025-05-20T19:20:03Z" }, - { - "name": "jenkinsci/jenkins", - "version": "jenkins-2.511", - "date": "2025-05-20T15:39:17Z" - }, { "name": "element-hq/synapse", "version": "v1.130.0", @@ -444,11 +459,6 @@ "version": "v4.4.1", "date": "2025-05-16T16:37:51Z" }, - { - "name": "influxdata/influxdb", - "version": "v3.0.3", - "date": "2025-05-16T15:41:16Z" - }, { "name": "wavelog/wavelog", "version": "2.0.4", @@ -534,11 +544,6 @@ "version": "1.11.1", "date": "2025-05-13T13:32:07Z" }, - { - "name": "redis/redis", - "version": "8.0.1", - "date": "2025-05-13T13:31:53Z" - }, { "name": "go-gitea/gitea", "version": "v1.23.8", @@ -619,11 +624,6 @@ "version": "v0.19.0", "date": "2025-05-06T18:05:42Z" }, - { - "name": "bluenviron/mediamtx", - "version": "v1.12.2", - "date": "2025-05-06T15:30:10Z" - }, { "name": "linkwarden/linkwarden", "version": "v2.10.2", From 7079f428ca266b6e32311bbf773ec2d2ab2de04f Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 01:15:36 +0100 Subject: [PATCH 026/274] Update CHANGELOG.md (#4774) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 63587f60a..3978bcc19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-05-28 + ## 2025-05-27 ### 🆕 New Scripts From a7bf2679de5dc09d40bf61c3a01209344135f68f Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 10:30:33 +0200 Subject: [PATCH 027/274] Refactor: Linkwarden + OS Upgrade (#4756) * Refactor: Linkwarden + OS Upgrade * update fetch_and_deploy function * Update linkwarden.sh --- ct/linkwarden.sh | 38 ++++++----------- frontend/public/json/linkwarden.json | 2 +- install/linkwarden-install.sh | 64 ++++++---------------------- misc/tools.func | 3 +- 4 files changed, 29 insertions(+), 78 deletions(-) diff --git a/ct/linkwarden.sh b/ct/linkwarden.sh index 78b26c464..477209413 100644 --- a/ct/linkwarden.sh +++ b/ct/linkwarden.sh @@ -1,17 +1,17 @@ #!/usr/bin/env bash source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2025 tteck -# Author: tteck (tteckster) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://linkwarden.app/ APP="Linkwarden" var_tags="${var_tags:-bookmark}" var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" +var_ram="${var_ram:-4096}" var_disk="${var_disk:-12}" var_os="${var_os:-ubuntu}" -var_version="${var_version:-22.04}" +var_version="${var_version:-24.04}" header_info "$APP" variables @@ -27,48 +27,36 @@ function update_script() { exit fi RELEASE=$(curl -fsSL https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then - NODE_VERSION="22" - NODE_MODULE="yarn@latest" - install_node_and_modules - + if [[ "${RELEASE}" != "$(cat /opt/linkwarden_version.txt)" ]] || [[ ! -f /opt/linkwarden_version.txt ]]; then + NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules msg_info "Stopping ${APP}" systemctl stop linkwarden msg_ok "Stopped ${APP}" - msg_info "Updating Rust" - $STD apt-get install -y build-essential - $STD curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y - source $HOME/.cargo/env - echo 'export PATH=/usr/local/cargo/bin:$PATH' >>/etc/profile - source /etc/profile - $STD cargo install monolith - msg_ok "Updated Rust" + RUST_CRATES="monolith" install_rust_and_crates msg_info "Updating ${APP} to ${RELEASE}" - cd /opt mv /opt/linkwarden/.env /opt/.env rm -rf /opt/linkwarden - RELEASE=$(curl -fsSL https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - curl -fsSL "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip" -o ${RELEASE}.zip - unzip -q ${RELEASE}.zip - mv linkwarden-${RELEASE:1} /opt/linkwarden + fetch_and_deploy_gh_release "linkwarden/linkwarden" cd /opt/linkwarden $STD yarn $STD npx playwright install-deps $STD yarn playwright install - cp /opt/.env /opt/linkwarden/.env + mv /opt/.env /opt/linkwarden/.env $STD yarn prisma:generate $STD yarn web:build $STD yarn prisma:deploy - echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated ${APP} to ${RELEASE}" msg_info "Starting ${APP}" systemctl start linkwarden msg_ok "Started ${APP}" + msg_info "Cleaning up" - rm -rf /opt/${RELEASE}.zip + rm -rf ~/.cargo/registry ~/.cargo/git ~/.cargo/.package-cache ~/.rustup + rm -rf /root/.cache/yarn + rm -rf /opt/linkwarden/.next/cache msg_ok "Cleaned" msg_ok "Updated Successfully" else diff --git a/frontend/public/json/linkwarden.json b/frontend/public/json/linkwarden.json index 54d7d32ab..7fe88de96 100644 --- a/frontend/public/json/linkwarden.json +++ b/frontend/public/json/linkwarden.json @@ -23,7 +23,7 @@ "ram": 2048, "hdd": 12, "os": "ubuntu", - "version": "22.04" + "version": "24.04" } } ], diff --git a/install/linkwarden-install.sh b/install/linkwarden-install.sh index 4a2501428..42821232f 100644 --- a/install/linkwarden-install.sh +++ b/install/linkwarden-install.sh @@ -1,8 +1,7 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2025 tteck -# Author: tteck (tteckster) -# Co-Author: MickLesk (Canbiz) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://linkwarden.app/ @@ -17,25 +16,12 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ make \ - git \ - build-essential \ - cargo + build-essential msg_ok "Installed Dependencies" -NODE_VERSION="22" -NODE_MODULE="yarn@latest" -install_node_and_modules -PG_VERSION="15" -install_postgresql - -msg_info "Installing Rust" -curl -fsSL https://sh.rustup.rs -o rustup-init.sh -$STD bash rustup-init.sh -y --profile minimal -echo 'export PATH="$HOME/.cargo/bin:$PATH"' >>~/.bashrc -export PATH="$HOME/.cargo/bin:$PATH" -rm rustup-init.sh -$STD cargo install monolith -msg_ok "Installed Rust" +NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules +PG_VERSION="16" install_postgresql +RUST_CRATES="monolith" install_rust_and_crates msg_info "Setting up PostgreSQL DB" DB_NAME=linkwardendb @@ -58,50 +44,24 @@ msg_ok "Set up PostgreSQL DB" read -r -p "${TAB3}Would you like to add Adminer? " prompt if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then - msg_info "Installing Adminer" - $STD apt install -y adminer - $STD a2enconf adminer - systemctl reload apache2 - IP=$(hostname -I | awk '{print $1}') - echo "" >>~/linkwarden.creds - echo -e "Adminer Interface: \e[32m$IP/adminer/\e[0m" >>~/linkwarden.creds - echo -e "Adminer System: \e[32mPostgreSQL\e[0m" >>~/linkwarden.creds - echo -e "Adminer Server: \e[32mlocalhost:5432\e[0m" >>~/linkwarden.creds - echo -e "Adminer Username: \e[32m$DB_USER\e[0m" >>~/linkwarden.creds - echo -e "Adminer Password: \e[32m$DB_PASS\e[0m" >>~/linkwarden.creds - echo -e "Adminer Database: \e[32m$DB_NAME\e[0m" >>~/linkwarden.creds - { - echo "" - echo "Adminer-Credentials" - echo "Adminer WebUI: $IP/adminer/" - echo "Adminer Database User: $DB_USER" - echo "Adminer Database Password: $DB_PASS" - echo "Adminer Database Name: $DB_NAME" - } >>~/linkwarden.creds - msg_ok "Installed Adminer" + install_adminer fi msg_info "Installing Linkwarden (Patience)" -cd /opt -RELEASE=$(curl -fsSL https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip" -o ${RELEASE}.zip -unzip -q ${RELEASE}.zip -mv linkwarden-${RELEASE:1} /opt/linkwarden +fetch_and_deploy_gh_release "linkwarden/linkwarden" cd /opt/linkwarden $STD yarn $STD npx playwright install-deps $STD yarn playwright install IP=$(hostname -I | awk '{print $1}') -env_path="/opt/linkwarden/.env" -echo " +cat </opt/linkwarden/.env NEXTAUTH_SECRET=${SECRET_KEY} NEXTAUTH_URL=http://${IP}:3000 DATABASE_URL=postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME} -" >$env_path +EOF $STD yarn prisma:generate $STD yarn web:build $STD yarn prisma:deploy -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed Linkwarden" msg_info "Creating Service" @@ -126,7 +86,9 @@ motd_ssh customize msg_info "Cleaning up" -rm -rf /opt/${RELEASE}.zip +rm -rf ~/.cargo/registry ~/.cargo/git ~/.cargo/.package-cache ~/.rustup +rm -rf /root/.cache/yarn +rm -rf /opt/linkwarden/.next/cache $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" diff --git a/misc/tools.func b/misc/tools.func index 26387d496..be5e92888 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -684,7 +684,8 @@ install_mongodb() { fetch_and_deploy_gh_release() { local repo="$1" - local app=${APP:-$(echo "${APPLICATION,,}" | tr -d ' ')} + local raw_app="${APP:-$APPLICATION}" + local app=$(echo "${raw_app,,}" | tr -d ' ') local api_url="https://api.github.com/repos/$repo/releases/latest" local header=() local attempt=0 From da406b5ce882f76712b263c9ef637c3c32bd688b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 09:30:59 +0100 Subject: [PATCH 028/274] Update CHANGELOG.md (#4777) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3978bcc19..ee47c9f26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-05-28 +### 🚀 Updated Scripts + + - #### 💥 Breaking Changes + + - Refactor: Linkwarden + OS Upgrade [@MickLesk](https://github.com/MickLesk) ([#4756](https://github.com/community-scripts/ProxmoxVE/pull/4756)) + ## 2025-05-27 ### 🆕 New Scripts From 9e2d66266a26ef6acbac470b9141149473dfe565 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 10:46:47 +0200 Subject: [PATCH 029/274] node-red (alpine): remove unneeded service file --- ct/alpine-node-red.sh | 4 ---- install/alpine-node-red-install.sh | 23 ----------------------- 2 files changed, 27 deletions(-) diff --git a/ct/alpine-node-red.sh b/ct/alpine-node-red.sh index 727cb3808..5c2afbec9 100644 --- a/ct/alpine-node-red.sh +++ b/ct/alpine-node-red.sh @@ -32,10 +32,6 @@ function update_script() { $STD npm install -g --unsafe-perm node-red msg_ok "Updated Node-RED" - msg_info "Restarting Node-RED" - $STD rc-service nodered restart - msg_ok "Restarted Node-RED" - exit 0 } diff --git a/install/alpine-node-red-install.sh b/install/alpine-node-red-install.sh index 1feaf293b..81598c2f8 100644 --- a/install/alpine-node-red-install.sh +++ b/install/alpine-node-red-install.sh @@ -35,28 +35,5 @@ chown -R nodered:users /home/nodered chmod 750 /home/nodered msg_ok "Created /home/nodered" -msg_info "Creating Node-RED Service" -service_path="/etc/init.d/nodered" - -echo '#!/sbin/openrc-run -description="Node-RED Service" - -command="/usr/local/bin/node-red" -command_args="--max-old-space-size=128 -v" -command_user="nodered" -pidfile="/var/run/nodered.pid" - -depend() { - use net -}' >$service_path - -chmod +x $service_path -$STD rc-update add nodered default -msg_ok "Created Node-RED Service" - -msg_info "Starting Node-RED" -$STD rc-service nodered start -msg_ok "Started Node-RED" - motd_ssh customize From 010928fee2d58e273ee9f4eca6c7b982c2751303 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 10:54:01 +0200 Subject: [PATCH 030/274] Refactor: Remove gpg / gnupg from script base (#4775) * Refactor: Remove gpg / gnupg from * push more * add more * Update reactive-resume-install.sh * Revert: add unzip --------- Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com> --- install/adventurelog-install.sh | 1 - install/alpine-gitea-install.sh | 11 -------- install/alpine-mariadb-install.sh | 6 ----- install/alpine-node-red-install.sh | 1 - install/alpine-prometheus-install.sh | 5 ---- install/alpine-redis-install.sh | 11 -------- install/alpine-wireguard-install.sh | 6 ----- install/apache-cassandra-install.sh | 1 - install/apache-tomcat-install.sh | 2 -- install/bunkerweb-install.sh | 1 - install/caddy-install.sh | 3 +-- install/evcc-install.sh | 3 +-- install/fhem-install.sh | 1 - install/flaresolverr-install.sh | 1 - install/fluid-calendar-install.sh | 1 - install/frigate-install.sh | 2 +- install/hivemq-install.sh | 4 --- install/homarr-install.sh | 1 - install/homeassistant-core-install.sh | 1 - install/homebridge-install.sh | 1 - install/homepage-install.sh | 2 +- install/hyperion-install.sh | 1 - install/influxdb-install.sh | 1 - install/jellyfin-install.sh | 4 --- install/karakeep-install.sh | 1 - install/kubo-install.sh | 4 --- install/lldap-install.sh | 4 --- install/mattermost-install.sh | 6 +---- install/medusa-install.sh | 1 - install/mqtt-install.sh | 4 --- install/neo4j-install.sh | 1 - install/nginxproxymanager-install.sh | 1 - install/notifiarr-install.sh | 4 --- install/ntfy-install.sh | 1 - install/nzbget-install.sh | 1 - install/omada-install.sh | 22 ++++++++-------- install/omv-install.sh | 4 --- install/openhab-install.sh | 1 - install/openziti-controller-install.sh | 4 --- install/openziti-tunnel-install.sh | 4 --- install/outline-install.sh | 1 - install/paperless-ngx-install.sh | 1 - install/plex-install.sh | 4 --- install/proxmox-backup-server-install.sh | 4 --- install/proxmox-datacenter-manager-install.sh | 8 ++---- install/rabbitmq-install.sh | 1 - install/reactive-resume-install.sh | 26 +++++++------------ install/redis-install.sh | 1 - install/semaphore-install.sh | 3 +-- install/sftpgo-install.sh | 1 - install/spoolman-install.sh | 1 - install/sqlserver2022-install.sh | 1 - install/traefik-install.sh | 1 - install/urbackupserver-install.sh | 1 - install/watchyourlan-install.sh | 2 +- install/wikijs-install.sh | 3 +-- install/zammad-install.sh | 4 +-- misc/alpine-install.func | 2 +- 58 files changed, 32 insertions(+), 167 deletions(-) diff --git a/install/adventurelog-install.sh b/install/adventurelog-install.sh index d6de98420..39279203a 100644 --- a/install/adventurelog-install.sh +++ b/install/adventurelog-install.sh @@ -16,7 +16,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gpg \ gdal-bin \ libgdal-dev \ git \ diff --git a/install/alpine-gitea-install.sh b/install/alpine-gitea-install.sh index 6db3c2249..aafb72adc 100644 --- a/install/alpine-gitea-install.sh +++ b/install/alpine-gitea-install.sh @@ -13,17 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apk add \ - newt \ - curl \ - openssh \ - nano \ - mc \ - gpg - -msg_ok "Installed Dependencies" - msg_info "Installing Gitea" $STD apk add --no-cache gitea msg_ok "Installed Gitea" diff --git a/install/alpine-mariadb-install.sh b/install/alpine-mariadb-install.sh index 89b76318e..baf1e00fd 100644 --- a/install/alpine-mariadb-install.sh +++ b/install/alpine-mariadb-install.sh @@ -13,12 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apk add \ - gpg \ - sudo -msg_ok "Installed Dependencies" - msg_info "Installing MariaDB" $STD apk add --no-cache mariadb mariadb-client $STD rc-update add mariadb default diff --git a/install/alpine-node-red-install.sh b/install/alpine-node-red-install.sh index 81598c2f8..e78b69bde 100644 --- a/install/alpine-node-red-install.sh +++ b/install/alpine-node-red-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies" $STD apk add --no-cache \ - gpg \ git \ nodejs \ npm diff --git a/install/alpine-prometheus-install.sh b/install/alpine-prometheus-install.sh index dec563138..abb2eaf75 100644 --- a/install/alpine-prometheus-install.sh +++ b/install/alpine-prometheus-install.sh @@ -13,11 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apk add \ - gpg -msg_ok "Installed Dependencies" - msg_info "Installing Prometheus" $STD apk add --no-cache prometheus msg_ok "Installed Prometheus" diff --git a/install/alpine-redis-install.sh b/install/alpine-redis-install.sh index 5657e2c7e..c04db58da 100644 --- a/install/alpine-redis-install.sh +++ b/install/alpine-redis-install.sh @@ -13,17 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apk add \ - newt \ - curl \ - openssh \ - nano \ - mc \ - gpg - -msg_ok "Installed Dependencies" - msg_info "Installing Redis" $STD apk add redis $STD sed -i 's/^bind .*/bind 0.0.0.0/' /etc/redis.conf diff --git a/install/alpine-wireguard-install.sh b/install/alpine-wireguard-install.sh index 276d308f2..18f95ba54 100644 --- a/install/alpine-wireguard-install.sh +++ b/install/alpine-wireguard-install.sh @@ -15,12 +15,6 @@ update_os msg_info "Installing Dependencies" $STD apk add \ - newt \ - curl \ - openssh \ - nano \ - mc \ - gpg \ iptables \ openrc msg_ok "Installed Dependencies" diff --git a/install/apache-cassandra-install.sh b/install/apache-cassandra-install.sh index 91f7af54d..4dbf4663d 100644 --- a/install/apache-cassandra-install.sh +++ b/install/apache-cassandra-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y apt-transport-https -$STD apt-get install -y gpg msg_ok "Installed Dependencies" msg_info "Installing Eclipse Temurin (Patience)" diff --git a/install/apache-tomcat-install.sh b/install/apache-tomcat-install.sh index f76e5dd39..a7aaf23f3 100644 --- a/install/apache-tomcat-install.sh +++ b/install/apache-tomcat-install.sh @@ -15,9 +15,7 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gnupg2 \ lsb-release \ - gpg \ apt-transport-https msg_ok "Installed Dependencies" diff --git a/install/bunkerweb-install.sh b/install/bunkerweb-install.sh index 2fa72ca15..ac6c0fc58 100644 --- a/install/bunkerweb-install.sh +++ b/install/bunkerweb-install.sh @@ -14,7 +14,6 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y gpg $STD apt-get install -y apt-transport-https $STD apt-get install -y lsb-release msg_ok "Installed Dependencies" diff --git a/install/caddy-install.sh b/install/caddy-install.sh index 1a035dc6f..b9631fd81 100644 --- a/install/caddy-install.sh +++ b/install/caddy-install.sh @@ -17,8 +17,7 @@ msg_info "Installing Dependencies" $STD apt-get install -y \ debian-keyring \ debian-archive-keyring \ - apt-transport-https \ - gpg + apt-transport-https msg_ok "Installed Dependencies" msg_info "Installing Caddy" diff --git a/install/evcc-install.sh b/install/evcc-install.sh index e1d4ddd09..afca90fa9 100644 --- a/install/evcc-install.sh +++ b/install/evcc-install.sh @@ -16,8 +16,7 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - lsb-release \ - gpg + lsb-release msg_ok "Installed Dependencies" msg_info "Setting up evcc Repository" diff --git a/install/fhem-install.sh b/install/fhem-install.sh index 6e1f321b9..90029e2c1 100644 --- a/install/fhem-install.sh +++ b/install/fhem-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y avahi-daemon -$STD apt-get install -y gnupg2 msg_ok "Installed Dependencies" msg_info "Setting up Fhem Repository" diff --git a/install/flaresolverr-install.sh b/install/flaresolverr-install.sh index a8bf1c0e1..c293545ab 100644 --- a/install/flaresolverr-install.sh +++ b/install/flaresolverr-install.sh @@ -16,7 +16,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y apt-transport-https -$STD apt-get install -y gpg $STD apt-get install -y xvfb msg_ok "Installed Dependencies" diff --git a/install/fluid-calendar-install.sh b/install/fluid-calendar-install.sh index 0b1a54643..e32ab2013 100644 --- a/install/fluid-calendar-install.sh +++ b/install/fluid-calendar-install.sh @@ -16,7 +16,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ zip \ - gnupg \ postgresql-common msg_ok "Installed Dependencies" diff --git a/install/frigate-install.sh b/install/frigate-install.sh index 1133e3e74..f8ce1afa6 100644 --- a/install/frigate-install.sh +++ b/install/frigate-install.sh @@ -15,7 +15,7 @@ network_check update_os msg_info "Installing Dependencies (Patience)" -$STD apt-get install -y {git,gpg,ca-certificates,automake,build-essential,xz-utils,libtool,ccache,pkg-config,libgtk-3-dev,libavcodec-dev,libavformat-dev,libswscale-dev,libv4l-dev,libxvidcore-dev,libx264-dev,libjpeg-dev,libpng-dev,libtiff-dev,gfortran,openexr,libatlas-base-dev,libssl-dev,libtbb2,libtbb-dev,libdc1394-22-dev,libopenexr-dev,libgstreamer-plugins-base1.0-dev,libgstreamer1.0-dev,gcc,gfortran,libopenblas-dev,liblapack-dev,libusb-1.0-0-dev,jq,moreutils} +$STD apt-get install -y {git,ca-certificates,automake,build-essential,xz-utils,libtool,ccache,pkg-config,libgtk-3-dev,libavcodec-dev,libavformat-dev,libswscale-dev,libv4l-dev,libxvidcore-dev,libx264-dev,libjpeg-dev,libpng-dev,libtiff-dev,gfortran,openexr,libatlas-base-dev,libssl-dev,libtbb2,libtbb-dev,libdc1394-22-dev,libopenexr-dev,libgstreamer-plugins-base1.0-dev,libgstreamer1.0-dev,gcc,gfortran,libopenblas-dev,liblapack-dev,libusb-1.0-0-dev,jq,moreutils} msg_ok "Installed Dependencies" msg_info "Setup Python3" diff --git a/install/hivemq-install.sh b/install/hivemq-install.sh index 82110390a..dcfed77b6 100644 --- a/install/hivemq-install.sh +++ b/install/hivemq-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - msg_info "Installing OpenJDK" 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 diff --git a/install/homarr-install.sh b/install/homarr-install.sh index bafc31c89..1116534bd 100644 --- a/install/homarr-install.sh +++ b/install/homarr-install.sh @@ -17,7 +17,6 @@ msg_info "Installing Dependencies" $STD apt-get install -y \ redis-server \ ca-certificates \ - gpg \ make \ g++ \ build-essential \ diff --git a/install/homeassistant-core-install.sh b/install/homeassistant-core-install.sh index 878c5c008..2659509df 100644 --- a/install/homeassistant-core-install.sh +++ b/install/homeassistant-core-install.sh @@ -16,7 +16,6 @@ update_os msg_info "Installing Dependencies (Patience)" $STD apt-get install -y \ git \ - gnupg \ ca-certificates \ bluez \ libtiff6 \ diff --git a/install/homebridge-install.sh b/install/homebridge-install.sh index 59751689e..42fe01b1d 100644 --- a/install/homebridge-install.sh +++ b/install/homebridge-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y avahi-daemon -$STD apt-get install -y gnupg2 msg_ok "Installed Dependencies" msg_info "Setting up Homebridge Repository" diff --git a/install/homepage-install.sh b/install/homepage-install.sh index be1adec26..8f33de2a6 100644 --- a/install/homepage-install.sh +++ b/install/homepage-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y gpg jq +$STD apt-get install -y jq msg_ok "Installed Dependencies" NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules diff --git a/install/hyperion-install.sh b/install/hyperion-install.sh index ab0141bc2..4663c1515 100644 --- a/install/hyperion-install.sh +++ b/install/hyperion-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y lsb-release -$STD apt-get install -y gpg $STD apt-get install -y apt-transport-https $STD apt-get install -y libpython3.11 diff --git a/install/influxdb-install.sh b/install/influxdb-install.sh index 82e35ed88..c7ef0d48c 100644 --- a/install/influxdb-install.sh +++ b/install/influxdb-install.sh @@ -16,7 +16,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y lsb-base $STD apt-get install -y lsb-release -$STD apt-get install -y gnupg2 msg_ok "Installed Dependencies" msg_info "Setting up InfluxDB Repository" diff --git a/install/jellyfin-install.sh b/install/jellyfin-install.sh index fe945e0bc..1c459305f 100644 --- a/install/jellyfin-install.sh +++ b/install/jellyfin-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - msg_info "Setting Up Hardware Acceleration" $STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools} if [[ "$CTTYPE" == "0" ]]; then diff --git a/install/karakeep-install.sh b/install/karakeep-install.sh index f0fd956cb..d7b8bc1b9 100644 --- a/install/karakeep-install.sh +++ b/install/karakeep-install.sh @@ -18,7 +18,6 @@ $STD apt-get install -y \ g++ \ build-essential \ git \ - gnupg \ ca-certificates \ chromium/stable \ chromium-common/stable \ diff --git a/install/kubo-install.sh b/install/kubo-install.sh index 95a015281..3d9ec6dd0 100644 --- a/install/kubo-install.sh +++ b/install/kubo-install.sh @@ -14,10 +14,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - msg_info "Installing IPFS" RELEASE=$(curl -fsSL https://github.com/ipfs/kubo/releases/latest | grep "title>Release" | cut -d " " -f 4) $STD curl -fsSL "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz" -o "kubo_${RELEASE}_linux-amd64.tar.gz" diff --git a/install/lldap-install.sh b/install/lldap-install.sh index 57a17cfbe..91da719fa 100644 --- a/install/lldap-install.sh +++ b/install/lldap-install.sh @@ -14,10 +14,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - msg_info "Installing lldap" source /etc/os-release os=$ID diff --git a/install/mattermost-install.sh b/install/mattermost-install.sh index 6bf04627a..0a2481055 100644 --- a/install/mattermost-install.sh +++ b/install/mattermost-install.sh @@ -13,11 +13,7 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y \ - gpg \ - postgresql -msg_ok "Installed Dependencies" +PG_VERSION="16" install_postgresql msg_info "Setting up PostgreSQL" DB_NAME=mattermost diff --git a/install/medusa-install.sh b/install/medusa-install.sh index 399cf9a51..e46ececb7 100644 --- a/install/medusa-install.sh +++ b/install/medusa-install.sh @@ -16,7 +16,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gpg \ git-core \ mediainfo diff --git a/install/mqtt-install.sh b/install/mqtt-install.sh index f02b103b0..7d1360cd0 100644 --- a/install/mqtt-install.sh +++ b/install/mqtt-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - msg_info "Installing Mosquitto MQTT Broker" source /etc/os-release curl -fsSL http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key >/usr/share/keyrings/mosquitto-repo.gpg.key diff --git a/install/neo4j-install.sh b/install/neo4j-install.sh index df62ac78d..dc253097f 100644 --- a/install/neo4j-install.sh +++ b/install/neo4j-install.sh @@ -16,7 +16,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gnupg2 \ lsb-release msg_ok "Installed Dependencies" diff --git a/install/nginxproxymanager-install.sh b/install/nginxproxymanager-install.sh index 124d16304..ae8c1384b 100644 --- a/install/nginxproxymanager-install.sh +++ b/install/nginxproxymanager-install.sh @@ -16,7 +16,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get update $STD apt-get -y install \ - gnupg \ ca-certificates \ apache2-utils \ logrotate \ diff --git a/install/notifiarr-install.sh b/install/notifiarr-install.sh index f65c60bf7..2450a0480 100644 --- a/install/notifiarr-install.sh +++ b/install/notifiarr-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - msg_info "Installing Notifiarr" $STD groupadd notifiarr $STD useradd -g notifiarr notifiarr diff --git a/install/ntfy-install.sh b/install/ntfy-install.sh index 25bc70874..eb662f9b1 100644 --- a/install/ntfy-install.sh +++ b/install/ntfy-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gpg \ apt-transport-https msg_ok "Installed Dependencies" diff --git a/install/nzbget-install.sh b/install/nzbget-install.sh index 72d23eff8..b467e37d2 100644 --- a/install/nzbget-install.sh +++ b/install/nzbget-install.sh @@ -16,7 +16,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gpg \ par2 cat </etc/apt/sources.list.d/non-free.list diff --git a/install/omada-install.sh b/install/omada-install.sh index 546b6412e..8fddb1938 100644 --- a/install/omada-install.sh +++ b/install/omada-install.sh @@ -14,16 +14,16 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y gnupg jsvc +$STD apt-get install -y jsvc msg_ok "Installed Dependencies" msg_info "Checking CPU Features" if lscpu | grep -q 'avx'; then - MONGODB_VERSION="7.0" - msg_ok "AVX detected: Using MongoDB 7.0" + MONGODB_VERSION="7.0" + msg_ok "AVX detected: Using MongoDB 7.0" else - msg_error "No AVX detected: TP-Link Canceled Support for Old MongoDB for Debian 12\n https://www.tp-link.com/baltic/support/faq/4160/" - exit 0 + msg_error "No AVX detected: TP-Link Canceled Support for Old MongoDB for Debian 12\n https://www.tp-link.com/baltic/support/faq/4160/" + exit 0 fi msg_info "Installing Azul Zulu Java" @@ -36,10 +36,10 @@ msg_ok "Installed Azul Zulu Java" msg_info "Installing libssl (if needed)" if ! dpkg -l | grep -q 'libssl1.1'; then - curl -fsSL "https://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u2_amd64.deb" -o "/tmp/libssl.deb" - $STD dpkg -i /tmp/libssl.deb - rm -f /tmp/libssl.deb - msg_ok "Installed libssl1.1" + curl -fsSL "https://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u2_amd64.deb" -o "/tmp/libssl.deb" + $STD dpkg -i /tmp/libssl.deb + rm -f /tmp/libssl.deb + msg_ok "Installed libssl1.1" fi msg_info "Installing MongoDB $MONGODB_VERSION" @@ -51,8 +51,8 @@ msg_ok "Installed MongoDB $MONGODB_VERSION" msg_info "Installing Omada Controller" OMADA_URL=$(curl -fsSL "https://support.omadanetworks.com/en/download/software/omada-controller/" | - grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | - head -n1) + grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | + head -n1) OMADA_PKG=$(basename "$OMADA_URL") curl -fsSL "$OMADA_URL" -o "$OMADA_PKG" $STD dpkg -i "$OMADA_PKG" diff --git a/install/omv-install.sh b/install/omv-install.sh index d608fc7ac..68d9aa996 100644 --- a/install/omv-install.sh +++ b/install/omv-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - msg_info "Installing OpenMediaVault (Patience)" curl -fsSL "https://packages.openmediavault.org/public/archive.key" | gpg --dearmor >"/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.gpg" cat </etc/apt/sources.list.d/openmediavault.list diff --git a/install/openhab-install.sh b/install/openhab-install.sh index db99d6729..8b6fb4b52 100644 --- a/install/openhab-install.sh +++ b/install/openhab-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gnupg \ ca-certificates \ apt-transport-https msg_ok "Installed Dependencies" diff --git a/install/openziti-controller-install.sh b/install/openziti-controller-install.sh index 78a2c0ad5..ed114f5f0 100644 --- a/install/openziti-controller-install.sh +++ b/install/openziti-controller-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - msg_info "Installing openziti" mkdir -p --mode=0755 /usr/share/keyrings curl -fsSL https://get.openziti.io/tun/package-repos.gpg | gpg --dearmor -o /usr/share/keyrings/openziti.gpg diff --git a/install/openziti-tunnel-install.sh b/install/openziti-tunnel-install.sh index e781fa51e..1be0417b8 100644 --- a/install/openziti-tunnel-install.sh +++ b/install/openziti-tunnel-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - msg_info "Installing openziti" mkdir -p --mode=0755 /usr/share/keyrings curl -sSLf https://get.openziti.io/tun/package-repos.gpg | gpg --dearmor -o /usr/share/keyrings/openziti.gpg diff --git a/install/outline-install.sh b/install/outline-install.sh index ed856e3e4..d733179f4 100644 --- a/install/outline-install.sh +++ b/install/outline-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gnupg \ mkcert \ git \ redis diff --git a/install/paperless-ngx-install.sh b/install/paperless-ngx-install.sh index e212eb7b0..6ef6e09eb 100644 --- a/install/paperless-ngx-install.sh +++ b/install/paperless-ngx-install.sh @@ -20,7 +20,6 @@ $STD apt-get install -y \ imagemagick \ fonts-liberation \ optipng \ - gnupg \ libpq-dev \ libmagic-dev \ mime-support \ diff --git a/install/plex-install.sh b/install/plex-install.sh index f0b8809ff..417697cbf 100644 --- a/install/plex-install.sh +++ b/install/plex-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - msg_info "Setting Up Hardware Acceleration" $STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools} if [[ "$CTTYPE" == "0" ]]; then diff --git a/install/proxmox-backup-server-install.sh b/install/proxmox-backup-server-install.sh index 2641a1ed9..65439f63d 100644 --- a/install/proxmox-backup-server-install.sh +++ b/install/proxmox-backup-server-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - msg_info "Installing Proxmox Backup Server" curl -fsSL "https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg" -o "/etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg" cat <>/etc/apt/sources.list diff --git a/install/proxmox-datacenter-manager-install.sh b/install/proxmox-datacenter-manager-install.sh index ef93be64c..5e6b2e3e5 100644 --- a/install/proxmox-datacenter-manager-install.sh +++ b/install/proxmox-datacenter-manager-install.sh @@ -13,17 +13,13 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - msg_info "Installing Proxmox Datacenter Manager" curl -fsSL https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg | gpg --dearmor -o /etc/apt/keyrings/proxmox-release-bookworm.gpg echo "deb [signed-by=/etc/apt/keyrings/proxmox-release-bookworm.gpg] http://download.proxmox.com/debian/pdm bookworm pdm-test " >/etc/apt/sources.list.d/proxmox-release-bookworm.list $STD apt-get update $STD apt-get install -y \ - proxmox-datacenter-manager \ - proxmox-datacenter-manager-ui + proxmox-datacenter-manager \ + proxmox-datacenter-manager-ui msg_ok "Installed Proxmox Datacenter Manager" motd_ssh diff --git a/install/rabbitmq-install.sh b/install/rabbitmq-install.sh index 513b744ac..488f401b4 100644 --- a/install/rabbitmq-install.sh +++ b/install/rabbitmq-install.sh @@ -17,7 +17,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ lsb-release \ - gnupg \ apt-transport-https \ make msg_ok "Installed Dependencies" diff --git a/install/reactive-resume-install.sh b/install/reactive-resume-install.sh index 0e0a53235..12ae43027 100644 --- a/install/reactive-resume-install.sh +++ b/install/reactive-resume-install.sh @@ -14,21 +14,13 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ - gnupg \ - unzip \ - postgresql-common -msg_ok "Installed Dependencies" - -msg_info "Installing Additional Dependencies" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -echo "YES" | /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh &>/dev/null -$STD apt-get install -y postgresql-16 nodejs cd /tmp curl -fsSL https://dl.min.io/server/minio/release/linux-amd64/minio.deb -o minio.deb $STD dpkg -i minio.deb +msg_ok "Installed Dependencies" + +PG_VERSION="16" PG_MODULES="common" install_postgresql +NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules msg_info "Setting up Database" DB_USER="rxresume" @@ -126,11 +118,11 @@ TOKEN=${CHROME_TOKEN} EOF echo "${RELEASE}" >/opt/${APPLICATION}_version.txt { - echo "${APPLICATION} Credentials" - echo "Database User: $DB_USER" - echo "Database Password: $DB_PASS" - echo "Database Name: $DB_NAME" - echo "Minio Root Password: ${MINIO_PASS}" + echo "${APPLICATION} Credentials" + echo "Database User: $DB_USER" + echo "Database Password: $DB_PASS" + echo "Database Name: $DB_NAME" + echo "Minio Root Password: ${MINIO_PASS}" } >>~/${APPLICATION}.creds msg_ok "Configured applications" diff --git a/install/redis-install.sh b/install/redis-install.sh index 45ea6700c..53d3a0ce6 100644 --- a/install/redis-install.sh +++ b/install/redis-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y apt-transport-https -$STD apt-get install -y gpg $STD apt-get install -y lsb-release msg_ok "Installed Dependencies" diff --git a/install/semaphore-install.sh b/install/semaphore-install.sh index 1bd903436..93a604a78 100644 --- a/install/semaphore-install.sh +++ b/install/semaphore-install.sh @@ -15,8 +15,7 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - git \ - gpg + git curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?fingerprint=on&op=get&search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367" | gpg --dearmour >/usr/share/keyrings/ansible-archive-keyring.gpg cat </etc/apt/sources.list.d/ansible.list diff --git a/install/sftpgo-install.sh b/install/sftpgo-install.sh index 98b70b276..1c62daa5c 100644 --- a/install/sftpgo-install.sh +++ b/install/sftpgo-install.sh @@ -14,7 +14,6 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y gpg $STD apt-get install -y sqlite3 msg_ok "Installed Dependencies" diff --git a/install/spoolman-install.sh b/install/spoolman-install.sh index 0bb841f0c..24a727b3d 100644 --- a/install/spoolman-install.sh +++ b/install/spoolman-install.sh @@ -19,7 +19,6 @@ $STD apt-get install -y \ build-essential \ make \ libpq-dev \ - gpg \ ca-certificates msg_ok "Installed Dependencies" diff --git a/install/sqlserver2022-install.sh b/install/sqlserver2022-install.sh index 8cb13a1fe..0e70df904 100644 --- a/install/sqlserver2022-install.sh +++ b/install/sqlserver2022-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies" $STD apt install -y \ - gpg \ coreutils msg_ok "Installed Dependencies" diff --git a/install/traefik-install.sh b/install/traefik-install.sh index 7cc2b00f4..744331f64 100644 --- a/install/traefik-install.sh +++ b/install/traefik-install.sh @@ -14,7 +14,6 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y gpg $STD apt-get install -y apt-transport-https msg_ok "Installed Dependencies" diff --git a/install/urbackupserver-install.sh b/install/urbackupserver-install.sh index 998fd3309..a0732561f 100644 --- a/install/urbackupserver-install.sh +++ b/install/urbackupserver-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - gnupg \ coreutils msg_ok "Installed Dependencies" diff --git a/install/watchyourlan-install.sh b/install/watchyourlan-install.sh index a307fc63e..31748b508 100644 --- a/install/watchyourlan-install.sh +++ b/install/watchyourlan-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y {gpg,arp-scan,ieee-data,libwww-perl} +$STD apt-get install -y {arp-scan,ieee-data,libwww-perl} msg_ok "Installed Dependencies" msg_info "Installing WatchYourLAN" diff --git a/install/wikijs-install.sh b/install/wikijs-install.sh index 873cce8c4..0b944b1de 100644 --- a/install/wikijs-install.sh +++ b/install/wikijs-install.sh @@ -15,8 +15,7 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - git \ - gpg + git msg_ok "Installed Dependencies" NODE_VERSION="20" NODE_MODULE="yarn@latest,node-gyp" install_node_and_modules diff --git a/install/zammad-install.sh b/install/zammad-install.sh index fe5fefd4d..0018d52c2 100644 --- a/install/zammad-install.sh +++ b/install/zammad-install.sh @@ -16,10 +16,8 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ git \ - gpg \ nginx \ - apt-transport-https \ - gnupg + apt-transport-https msg_ok "Installed Dependencies" msg_info "Setting up Elasticsearch" diff --git a/misc/alpine-install.func b/misc/alpine-install.func index 4c1dd14d4..5053519c4 100644 --- a/misc/alpine-install.func +++ b/misc/alpine-install.func @@ -143,7 +143,7 @@ update_os() { msg_info "Installing core dependencies" $STD apk update - $STD apk add newt curl openssh nano mc ncurses + $STD apk add newt curl openssh nano mc ncurses gpg msg_ok "Core dependencies installed" } From dcfe80e06968f1b90e07665e55ef27b8a9fdf70a Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 09:54:27 +0100 Subject: [PATCH 031/274] Update CHANGELOG.md (#4779) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee47c9f26..5e0589b29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,10 @@ All LXC instances created using this repository come pre-installed with Midnight - Refactor: Linkwarden + OS Upgrade [@MickLesk](https://github.com/MickLesk) ([#4756](https://github.com/community-scripts/ProxmoxVE/pull/4756)) + - #### 🔧 Refactor + + - Refactor: Remove gpg / gnupg from script base [@MickLesk](https://github.com/MickLesk) ([#4775](https://github.com/community-scripts/ProxmoxVE/pull/4775)) + ## 2025-05-27 ### 🆕 New Scripts From c356f77efe8aeeb1a51f4dcaf582f34bd8c039cb Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 11:25:13 +0200 Subject: [PATCH 032/274] Refactor: Remove redundant dependencies & unify unzip usage (#4780) * refactor unzip / remove dep * remove deps from alpine packages * remove gnupg * remove gnupg --- ct/2fauth.sh | 144 +++++++++++++------------- ct/adventurelog.sh | 4 +- ct/alpine-it-tools.sh | 2 +- ct/baikal.sh | 2 +- ct/barcode-buddy.sh | 2 +- ct/bookstack.sh | 2 +- ct/commafeed.sh | 2 +- ct/crafty-controller.sh | 2 +- ct/documenso.sh | 2 +- ct/fileflows.sh | 2 +- ct/fluid-calendar.sh | 6 +- ct/gotify.sh | 2 +- ct/grist.sh | 2 +- ct/hoarder.sh | 2 +- ct/homeassistant-core.sh | 1 - ct/homeassistant.sh | 1 - ct/karakeep.sh | 2 +- ct/kimai.sh | 2 +- ct/koillection.sh | 2 +- ct/lubelogger.sh | 2 +- ct/meilisearch.sh | 2 +- ct/myspeed.sh | 2 +- ct/netbox.sh | 2 +- ct/paperless-ai.sh | 2 +- ct/part-db.sh | 2 +- ct/petio.sh | 26 ++--- ct/pf2etools.sh | 2 +- ct/phpipam.sh | 2 +- ct/pingvin.sh | 2 +- ct/podman-homeassistant.sh | 3 +- ct/privatebin.sh | 2 +- ct/projectsend.sh | 2 +- ct/rdtclient.sh | 62 +++++------ ct/reactive-resume.sh | 4 +- ct/silverbullet.sh | 2 +- ct/slskd.sh | 4 +- ct/spoolman.sh | 2 +- ct/teddycloud.sh | 2 +- ct/tianji.sh | 2 +- ct/wallos.sh | 2 +- ct/wastebin.sh | 86 +++++++-------- ct/wavelog.sh | 2 +- ct/zigbee2mqtt.sh | 2 +- ct/zipline.sh | 2 +- ct/zwave-js-ui.sh | 2 +- install/2fauth-install.sh | 4 +- install/adventurelog-install.sh | 4 +- install/agentdvr-install.sh | 1 - install/alpine-docker-install.sh | 5 - install/alpine-grafana-install.sh | 8 -- install/alpine-install.sh | 6 +- install/alpine-it-tools-install.sh | 9 +- install/alpine-nextcloud-install.sh | 5 - install/alpine-rclone-install.sh | 1 - install/alpine-tinyauth-install.sh | 1 - install/alpine-zigbee2mqtt-install.sh | 8 -- install/apache-couchdb-install.sh | 1 - install/audiobookshelf-install.sh | 4 - install/baikal-install.sh | 2 +- install/barcode-buddy-install.sh | 2 +- install/bazarr-install.sh | 2 +- install/bookstack-install.sh | 3 +- install/changedetection-install.sh | 3 +- install/commafeed-install.sh | 2 +- install/cosmos-install.sh | 8 +- install/crafty-controller-install.sh | 2 +- install/documenso-install.sh | 2 +- install/fileflows-install.sh | 2 +- install/fluid-calendar-install.sh | 2 +- install/freshrss-install.sh | 2 +- install/frigate-install.sh | 2 +- install/gokapi-install.sh | 2 +- install/gotify-install.sh | 2 +- install/grafana-install.sh | 1 - install/graylog-install.sh | 4 - install/grist-install.sh | 3 +- install/hivemq-install.sh | 2 +- install/hyperhdr-install.sh | 4 - install/inventree-install.sh | 1 - install/iobroker-install.sh | 1 - install/karakeep-install.sh | 2 +- install/keycloak-install.sh | 4 - install/kimai-install.sh | 2 +- install/koillection-install.sh | 2 +- install/lubelogger-install.sh | 2 +- install/meilisearch-install.sh | 7 +- install/mongodb-install.sh | 4 - install/myspeed-install.sh | 2 +- install/mysql-install.sh | 3 +- install/netbox-install.sh | 2 +- install/nodebb-install.sh | 2 +- install/openproject-install.sh | 5 +- install/paperless-ai-install.sh | 2 +- install/part-db-install.sh | 2 +- install/petio-install.sh | 10 +- install/pf2etools-install.sh | 2 +- install/phpipam-install.sh | 2 +- install/pingvin-install.sh | 2 +- install/pocketbase-install.sh | 2 +- install/privatebin-install.sh | 17 ++- install/projectsend-install.sh | 2 +- install/rclone-install.sh | 4 +- install/rdtclient-install.sh | 2 +- install/reactive-resume-install.sh | 4 +- install/silverbullet-install.sh | 2 +- install/slskd-install.sh | 4 +- install/spoolman-install.sh | 2 +- install/syncthing-install.sh | 4 - install/teddycloud-install.sh | 2 +- install/tianji-install.sh | 2 +- install/umlautadaptarr-install.sh | 6 +- install/unifi-install.sh | 1 - install/wallos-install.sh | 2 +- install/wastebin-install.sh | 2 +- install/wavelog-install.sh | 2 +- install/wordpress-install.sh | 2 +- install/yunohost-install.sh | 1 - install/zerotier-one-install.sh | 4 - install/zigbee2mqtt-install.sh | 2 +- install/zipline-install.sh | 2 +- install/zwave-js-ui-install.sh | 2 +- 121 files changed, 279 insertions(+), 371 deletions(-) diff --git a/ct/2fauth.sh b/ct/2fauth.sh index b136499e6..9dc9fc541 100644 --- a/ct/2fauth.sh +++ b/ct/2fauth.sh @@ -20,79 +20,79 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources + header_info + check_container_storage + check_container_resources - # Check if installation is present | -f for file, -d for folder - if [[ ! -d "/opt/2fauth" ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - # Crawling the new version and checking whether an update is required - RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ "${RELEASE}" != "$(cat /opt/2fauth_version.txt)" ]] || [[ ! -f /opt/2fauth_version.txt ]]; then - msg_info "Updating $APP to ${RELEASE}" - - $STD apt-get update - $STD apt-get -y upgrade - - # Creating Backup - msg_info "Creating Backup" - mv "/opt/2fauth" "/opt/2fauth-backup" - if ! dpkg -l | grep -q 'php8.3'; then - cp /etc/nginx/conf.d/2fauth.conf /etc/nginx/conf.d/2fauth.conf.bak - fi - msg_ok "Backup Created" - - # Upgrade PHP - if ! dpkg -l | grep -q 'php8.3'; then - $STD apt-get install -y \ - lsb-release \ - gpg - curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg - 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 install -y php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,mbstring,mysql,xml,cli,intl} - sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/2fauth.conf - fi - - # Execute Update - curl -fsSL -o "${RELEASE}.zip" "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" - unzip -q "${RELEASE}.zip" - mv "2FAuth-${RELEASE//v/}/" "/opt/2fauth" - mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env" - mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage" - cd "/opt/2fauth" || return - - chown -R www-data: "/opt/2fauth" - chmod -R 755 "/opt/2fauth" - - export COMPOSER_ALLOW_SUPERUSER=1 - $STD composer install --no-dev --prefer-source - - php artisan 2fauth:install - - $STD systemctl restart nginx - - # Cleaning up - msg_info "Cleaning Up" - rm -rf "v${RELEASE}.zip" - if dpkg -l | grep -q 'php8.2'; then - $STD apt-get remove --purge -y php8.2* - fi - $STD apt-get -y autoremove - $STD apt-get -y autoclean - msg_ok "Cleanup Completed" - - # Last Action - echo "${RELEASE}" >/opt/2fauth_version.txt - msg_ok "Updated $APP to ${RELEASE}" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" - fi + # Check if installation is present | -f for file, -d for folder + if [[ ! -d "/opt/2fauth" ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + + # Crawling the new version and checking whether an update is required + RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ "${RELEASE}" != "$(cat /opt/2fauth_version.txt)" ]] || [[ ! -f /opt/2fauth_version.txt ]]; then + msg_info "Updating $APP to ${RELEASE}" + + $STD apt-get update + $STD apt-get -y upgrade + + # Creating Backup + msg_info "Creating Backup" + mv "/opt/2fauth" "/opt/2fauth-backup" + if ! dpkg -l | grep -q 'php8.3'; then + cp /etc/nginx/conf.d/2fauth.conf /etc/nginx/conf.d/2fauth.conf.bak + fi + msg_ok "Backup Created" + + # Upgrade PHP + if ! dpkg -l | grep -q 'php8.3'; then + $STD apt-get install -y \ + lsb-release \ + gpg + curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg + 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 install -y php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,mbstring,mysql,xml,cli,intl} + sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/2fauth.conf + fi + + # Execute Update + curl -fsSL -o "${RELEASE}.zip" "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" + $STD unzip "${RELEASE}.zip" + mv "2FAuth-${RELEASE//v/}/" "/opt/2fauth" + mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env" + mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage" + cd "/opt/2fauth" || return + + chown -R www-data: "/opt/2fauth" + chmod -R 755 "/opt/2fauth" + + export COMPOSER_ALLOW_SUPERUSER=1 + $STD composer install --no-dev --prefer-source + + php artisan 2fauth:install + + $STD systemctl restart nginx + + # Cleaning up + msg_info "Cleaning Up" + rm -rf "v${RELEASE}.zip" + if dpkg -l | grep -q 'php8.2'; then + $STD apt-get remove --purge -y php8.2* + fi + $STD apt-get -y autoremove + $STD apt-get -y autoclean + msg_ok "Cleanup Completed" + + # Last Action + echo "${RELEASE}" >/opt/2fauth_version.txt + msg_ok "Updated $APP to ${RELEASE}" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + exit } start @@ -102,4 +102,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}:80${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}" diff --git a/ct/adventurelog.sh b/ct/adventurelog.sh index 51eeb0b4f..966afb2e4 100644 --- a/ct/adventurelog.sh +++ b/ct/adventurelog.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" mv /opt/adventurelog/ /opt/adventurelog-backup/ curl -fsSL -o /opt/v${RELEASE}.zip "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip" - unzip -q /opt/v${RELEASE}.zip -d /opt/ + $STD unzip /opt/v${RELEASE}.zip -d /opt/ mv /opt/AdventureLog-${RELEASE} /opt/adventurelog mv /opt/adventurelog-backup/backend/server/.env /opt/adventurelog/backend/server/.env @@ -78,4 +78,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}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/alpine-it-tools.sh b/ct/alpine-it-tools.sh index 8d7690945..17df5d144 100644 --- a/ct/alpine-it-tools.sh +++ b/ct/alpine-it-tools.sh @@ -36,7 +36,7 @@ function update_script() { curl -fsSL -o it-tools.zip "$DOWNLOAD_URL" mkdir -p /usr/share/nginx/html rm -rf /usr/share/nginx/html/* - unzip -q it-tools.zip -d /tmp/it-tools + $STD unzip it-tools.zip -d /tmp/it-tools cp -r /tmp/it-tools/dist/* /usr/share/nginx/html rm -rf /tmp/it-tools rm -f it-tools.zip diff --git a/ct/baikal.sh b/ct/baikal.sh index 790efb45e..5d71b1a66 100644 --- a/ct/baikal.sh +++ b/ct/baikal.sh @@ -37,7 +37,7 @@ function update_script() { cd /opt curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -o $(basename "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip") mv /opt/baikal /opt/baikal-backup - unzip -o -q "baikal-${RELEASE}.zip" + $STD unzip -o "baikal-${RELEASE}.zip" cp -r /opt/baikal-backup/config/baikal.yaml /opt/baikal/config/ cp -r /opt/baikal-backup/Specific/ /opt/baikal/ chown -R www-data:www-data /opt/baikal/ diff --git a/ct/barcode-buddy.sh b/ct/barcode-buddy.sh index 3f4216dff..d683db808 100644 --- a/ct/barcode-buddy.sh +++ b/ct/barcode-buddy.sh @@ -38,7 +38,7 @@ function update_script() { cd /opt mv /opt/barcodebuddy/ /opt/barcodebuddy-backup curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip") - unzip -q "v${RELEASE}.zip" + $STD unzip "v${RELEASE}.zip" mv "/opt/barcodebuddy-${RELEASE}" /opt/barcodebuddy cp -r /opt/barcodebuddy-backup/data/. /opt/barcodebuddy/data chown -R www-data:www-data /opt/barcodebuddy/data diff --git a/ct/bookstack.sh b/ct/bookstack.sh index 5b2ff6735..5a7fda1f2 100644 --- a/ct/bookstack.sh +++ b/ct/bookstack.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" mv /opt/bookstack /opt/bookstack-backup curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o "/opt/BookStack-${RELEASE}.zip" - unzip -q "/opt/BookStack-${RELEASE}.zip" -d /opt + $STD unzip "/opt/BookStack-${RELEASE}.zip" -d /opt mv "/opt/BookStack-${RELEASE}" /opt/bookstack cp /opt/bookstack-backup/.env /opt/bookstack/.env [[ -d /opt/bookstack-backup/public/uploads ]] && cp -a /opt/bookstack-backup/public/uploads/. /opt/bookstack/public/uploads/ diff --git a/ct/commafeed.sh b/ct/commafeed.sh index 07eb05a8e..37cc45d14 100644 --- a/ct/commafeed.sh +++ b/ct/commafeed.sh @@ -42,7 +42,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o $(basename "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip") - unzip -q commafeed-"${RELEASE}"-h2-jvm.zip + $STD unzip commafeed-"${RELEASE}"-h2-jvm.zip rsync -a --exclude 'data/' commafeed-"${RELEASE}"-h2/ /opt/commafeed/ rm -rf commafeed-"${RELEASE}"-h2 commafeed-"${RELEASE}"-h2-jvm.zip echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/crafty-controller.sh b/ct/crafty-controller.sh index 574791a1b..dfa6d413f 100644 --- a/ct/crafty-controller.sh +++ b/ct/crafty-controller.sh @@ -46,7 +46,7 @@ function update_script() { msg_info "Updating Crafty-Controller to v${RELEASE}" curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o $(basename "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip") - unzip -q crafty-4-v${RELEASE}.zip + $STD unzip crafty-4-v${RELEASE}.zip cp -a crafty-4-v${RELEASE}/. /opt/crafty-controller/crafty/crafty-4/ rm -rf crafty-4-v${RELEASE} cd /opt/crafty-controller/crafty/crafty-4 diff --git a/ct/documenso.sh b/ct/documenso.sh index 2a45e8149..2d0b1bc5f 100644 --- a/ct/documenso.sh +++ b/ct/documenso.sh @@ -38,7 +38,7 @@ function update_script() { rm -rf /opt/documenso cd /opt curl -fsSL "https://github.com/documenso/documenso/archive/refs/tags/v${RELEASE}.zip" -o v${RELEASE}.zip - unzip -q v${RELEASE}.zip + $STD unzip v${RELEASE}.zip mv documenso-${RELEASE} /opt/documenso cd /opt/documenso mv /opt/.env /opt/documenso/.env diff --git a/ct/fileflows.sh b/ct/fileflows.sh index 78ff7b429..714d93e8e 100644 --- a/ct/fileflows.sh +++ b/ct/fileflows.sh @@ -47,7 +47,7 @@ function update_script() { msg_info "Updating $APP to latest version" temp_file=$(mktemp) curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file" - unzip -oq -d /opt/fileflows "$temp_file" + $STD unzip -o -d /opt/fileflows "$temp_file" msg_ok "Updated $APP to latest version" msg_info "Starting $APP" diff --git a/ct/fluid-calendar.sh b/ct/fluid-calendar.sh index 5e170ca3e..e43e28a17 100644 --- a/ct/fluid-calendar.sh +++ b/ct/fluid-calendar.sh @@ -39,8 +39,8 @@ function update_script() { cp /opt/fluid-calendar/.env /opt/fluid.env rm -rf /opt/fluid-calendar tmp_file=$(mktemp) -curl -fsSL "https://github.com/dotnetfactory/fluid-calendar/archive/refs/tags/v${RELEASE}.zip" -o "$tmp_file" - unzip -q $tmp_file + curl -fsSL "https://github.com/dotnetfactory/fluid-calendar/archive/refs/tags/v${RELEASE}.zip" -o "$tmp_file" + $STD unzip $tmp_file mv ${APP}-${RELEASE}/ /opt/fluid-calendar mv /opt/fluid.env /opt/fluid-calendar/.env cd /opt/fluid-calendar @@ -74,4 +74,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}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/gotify.sh b/ct/gotify.sh index 0c1c3d08e..a4b738999 100644 --- a/ct/gotify.sh +++ b/ct/gotify.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" cd /opt/gotify curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o $(basename "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip") - unzip -oq gotify-linux-amd64.zip + $STD unzip -o gotify-linux-amd64.zip rm -rf gotify-linux-amd64.zip chmod +x gotify-linux-amd64 echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/grist.sh b/ct/grist.sh index e87848814..0e395a32b 100644 --- a/ct/grist.sh +++ b/ct/grist.sh @@ -39,7 +39,7 @@ function update_script() { rm -rf grist_bak mv grist grist_bak curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip") - unzip -q v$RELEASE.zip + $STD unzip v$RELEASE.zip mv grist-core-${RELEASE} grist mkdir -p grist/docs diff --git a/ct/hoarder.sh b/ct/hoarder.sh index 0695e1c87..a9751083e 100644 --- a/ct/hoarder.sh +++ b/ct/hoarder.sh @@ -47,7 +47,7 @@ function update_script() { fi rm -rf /opt/hoarder curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip" - unzip -q v"${RELEASE}".zip + $STD unzip v"${RELEASE}".zip mv karakeep-"${RELEASE}" /opt/hoarder cd /opt/hoarder/apps/web $STD pnpm install --frozen-lockfile diff --git a/ct/homeassistant-core.sh b/ct/homeassistant-core.sh index 339f7fa1c..33a1d1ea2 100644 --- a/ct/homeassistant-core.sh +++ b/ct/homeassistant-core.sh @@ -104,7 +104,6 @@ function update_script() { if [ "$UPD" == "2" ]; then msg_info "Installing Home Assistant Community Store (HACS)" $STD apt update - $STD apt install -y unzip cd /root/.homeassistant $STD bash <(curl -fsSL https://get.hacs.xyz) msg_ok "Installed Home Assistant Community Store (HACS)" diff --git a/ct/homeassistant.sh b/ct/homeassistant.sh index 3c102d989..6201915b9 100644 --- a/ct/homeassistant.sh +++ b/ct/homeassistant.sh @@ -62,7 +62,6 @@ function update_script() { if [ "$UPD" == "3" ]; then msg_info "Installing Home Assistant Community Store (HACS)" $STD apt update - $STD apt install unzip cd /var/lib/docker/volumes/hass_config/_data $STD bash <(curl -fsSL https://get.hacs.xyz) msg_ok "Installed Home Assistant Community Store (HACS)" diff --git a/ct/karakeep.sh b/ct/karakeep.sh index c358f30e4..4ec1f7f2a 100644 --- a/ct/karakeep.sh +++ b/ct/karakeep.sh @@ -50,7 +50,7 @@ function update_script() { 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" + $STD unzip "v${RELEASE}.zip" mv karakeep-"${RELEASE}" /opt/karakeep cd /opt/karakeep/apps/web $STD pnpm install --frozen-lockfile diff --git a/ct/kimai.sh b/ct/kimai.sh index 41ec61eee..60c3a8afe 100644 --- a/ct/kimai.sh +++ b/ct/kimai.sh @@ -64,7 +64,7 @@ function update_script() { trap "echo Unable to download release file for version ${RELEASE}; try again later" ERR set -e 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 + $STD unzip "${RELEASE}".zip set +e trap - ERR rm -rf /opt/kimai diff --git a/ct/koillection.sh b/ct/koillection.sh index 4cc1f082f..d77df8ae5 100644 --- a/ct/koillection.sh +++ b/ct/koillection.sh @@ -37,7 +37,7 @@ function update_script() { cd /opt mv /opt/koillection/ /opt/koillection-backup curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip") - unzip -q "${RELEASE}.zip" + $STD unzip "${RELEASE}.zip" mv "/opt/koillection-${RELEASE}" /opt/koillection cd /opt/koillection cp -r /opt/koillection-backup/.env.local /opt/koillection diff --git a/ct/lubelogger.sh b/ct/lubelogger.sh index da5d9e663..d4f0cf4d9 100644 --- a/ct/lubelogger.sh +++ b/ct/lubelogger.sh @@ -50,7 +50,7 @@ function update_script() { [[ -e /opt/lubelogger/wwwroot/temp ]] && cp -r /opt/lubelogger/wwwroot/temp /tmp/lubeloggerData/data/ [[ -e /opt/lubelogger/log ]] && cp -r /opt/lubelogger/log /tmp/lubeloggerData/ rm -rf /opt/lubelogger - unzip -qq LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip -d lubelogger + $STD unzip LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip -d lubelogger chmod 700 /opt/lubelogger/CarCareTracker cp -rf /tmp/lubeloggerData/* /opt/lubelogger/ echo "${RELEASE}" >"/opt/${APP}_version.txt" diff --git a/ct/meilisearch.sh b/ct/meilisearch.sh index 3cc5b2c52..bb7096a37 100644 --- a/ct/meilisearch.sh +++ b/ct/meilisearch.sh @@ -69,7 +69,7 @@ function update_script() { rm -rf /opt/meilisearch-ui mkdir -p /opt/meilisearch-ui curl -fsSL "https://github.com/riccox/meilisearch-ui/archive/refs/tags/${RELEASE_UI}.zip" -o $tmp_file - unzip -q "$tmp_file" -d "$tmp_dir" + $STD unzip "$tmp_file" -d "$tmp_dir" mv "$tmp_dir"/*/* /opt/meilisearch-ui/ cd /opt/meilisearch-ui sed -i 's|const hash = execSync("git rev-parse HEAD").toString().trim();|const hash = "unknown";|' /opt/meilisearch-ui/vite.config.ts diff --git a/ct/myspeed.sh b/ct/myspeed.sh index 3f068716d..965c7f74d 100644 --- a/ct/myspeed.sh +++ b/ct/myspeed.sh @@ -39,7 +39,7 @@ function update_script() { rm -rf myspeed_bak mv myspeed myspeed_bak curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -o $(basename "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip") - unzip -q MySpeed-$RELEASE.zip -d myspeed + $STD unzip MySpeed-$RELEASE.zip -d myspeed cd myspeed $STD npm install echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/netbox.sh b/ct/netbox.sh index 6b1c40fff..e5dd28d8e 100644 --- a/ct/netbox.sh +++ b/ct/netbox.sh @@ -39,7 +39,7 @@ function update_script() { mv /opt/netbox/ /opt/netbox-backup cd /opt curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip") - unzip -q "v${RELEASE}.zip" + $STD unzip "v${RELEASE}.zip" mv /opt/netbox-${RELEASE}/ /opt/netbox/ cp -r /opt/netbox-backup/netbox/netbox/configuration.py /opt/netbox/netbox/netbox/ diff --git a/ct/paperless-ai.sh b/ct/paperless-ai.sh index 59fe3c1f0..ac9fe430b 100644 --- a/ct/paperless-ai.sh +++ b/ct/paperless-ai.sh @@ -40,7 +40,7 @@ function update_script() { cd /opt mv /opt/paperless-ai /opt/paperless-ai_bak curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip") - unzip -q v${RELEASE}.zip + $STD unzip v${RELEASE}.zip mv paperless-ai-${RELEASE} /opt/paperless-ai mkdir -p /opt/paperless-ai/data cp -a /opt/paperless-ai_bak/data/. /opt/paperless-ai/data/ diff --git a/ct/part-db.sh b/ct/part-db.sh index 3087802e0..6909cd3f1 100644 --- a/ct/part-db.sh +++ b/ct/part-db.sh @@ -37,7 +37,7 @@ function update_script() { cd /opt mv /opt/partdb/ /opt/partdb-backup curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip") - unzip -q "v${RELEASE}.zip" + $STD unzip "v${RELEASE}.zip" mv /opt/Part-DB-server-${RELEASE}/ /opt/partdb cd /opt/partdb/ diff --git a/ct/petio.sh b/ct/petio.sh index 63aeb38c6..22c8e93a5 100644 --- a/ct/petio.sh +++ b/ct/petio.sh @@ -19,20 +19,20 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/Petio ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_info "Updating $APP" - systemctl stop petio.service - curl -fsSL https://petio.tv/releases/latest -o petio-latest.zip - unzip petio-latest.zip -d /opt/Petio - systemctl start petio.service - msg_ok "Updated $APP" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/Petio ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + msg_info "Updating $APP" + systemctl stop petio.service + curl -fsSL https://petio.tv/releases/latest -o petio-latest.zip + $STD unzip petio-latest.zip -d /opt/Petio + systemctl start petio.service + msg_ok "Updated $APP" + exit } start diff --git a/ct/pf2etools.sh b/ct/pf2etools.sh index e39b71eb2..6eca7888d 100644 --- a/ct/pf2etools.sh +++ b/ct/pf2etools.sh @@ -39,7 +39,7 @@ function update_script() { msg_info "Updating ${APP}" cd /opt curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip") - unzip -q ${RELEASE}.zip + $STD unzip ${RELEASE}.zip rm -rf "/opt/${APP}" mv ${APP}-${RELEASE:1} /opt/${APP} cd /opt/Pf2eTools diff --git a/ct/phpipam.sh b/ct/phpipam.sh index f60b75671..d5211799a 100644 --- a/ct/phpipam.sh +++ b/ct/phpipam.sh @@ -37,7 +37,7 @@ function update_script() { cd /opt mv /opt/phpipam/ /opt/phpipam-backup curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -o $(basename "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip") - unzip -q "phpipam-v${RELEASE}.zip" + $STD unzip "phpipam-v${RELEASE}.zip" cp /opt/phpipam-backup/config.php /opt/phpipam echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated $APP to v${RELEASE}" diff --git a/ct/pingvin.sh b/ct/pingvin.sh index ac662259b..46eb93f10 100644 --- a/ct/pingvin.sh +++ b/ct/pingvin.sh @@ -38,7 +38,7 @@ function update_script() { msg_info "Updating Pingvin Share to v${RELEASE}" cd /opt curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip") - unzip -q v${RELEASE}.zip + $STD unzip v${RELEASE}.zip cp -rf pingvin-share-${RELEASE}/* /opt/pingvin-share cd /opt/pingvin-share cd backend diff --git a/ct/podman-homeassistant.sh b/ct/podman-homeassistant.sh index 65aaf14a1..ceb9f2307 100644 --- a/ct/podman-homeassistant.sh +++ b/ct/podman-homeassistant.sh @@ -58,7 +58,6 @@ function update_script() { if [ "$UPD" == "2" ]; then msg_info "Installing Home Assistant Community Store (HACS)" $STD apt update - $STD apt install unzip cd /var/lib/containers/storage/volumes/hass_config/_data $STD bash <(curl -fsSL https://get.hacs.xyz) msg_ok "Installed Home Assistant Community Store (HACS)" @@ -110,4 +109,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}:8123${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8123${CL}" diff --git a/ct/privatebin.sh b/ct/privatebin.sh index 7f2438366..226aa5df7 100644 --- a/ct/privatebin.sh +++ b/ct/privatebin.sh @@ -33,7 +33,7 @@ function update_script() { echo "${RELEASE}" >/opt/${APP}_version.txt cp -f /opt/privatebin/cfg/conf.php /tmp/privatebin_conf.bak curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip") - unzip -q ${RELEASE}.zip + $STD unzip ${RELEASE}.zip rm -rf /opt/privatebin/* mv PrivateBin-${RELEASE}/* /opt/privatebin/ mv /tmp/privatebin_conf.bak /opt/privatebin/cfg/conf.php diff --git a/ct/projectsend.sh b/ct/projectsend.sh index b6c77d73e..060512453 100644 --- a/ct/projectsend.sh +++ b/ct/projectsend.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -o $(basename "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip") - unzip -o -q "projectsend-r${RELEASE}.zip" -d projectsend + $STD unzip -o "projectsend-r${RELEASE}.zip" -d projectsend chown -R www-data:www-data /opt/projectsend chmod -R 775 /opt/projectsend echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/rdtclient.sh b/ct/rdtclient.sh index 29bcd273a..2bcd2a0cc 100755 --- a/ct/rdtclient.sh +++ b/ct/rdtclient.sh @@ -20,38 +20,38 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/rdtc/ ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_info "Stopping ${APP}" - systemctl stop rdtc - msg_ok "Stopped ${APP}" - - msg_info "Updating ${APP}" - if dpkg-query -W dotnet-sdk-8.0 >/dev/null 2>&1; then - $STD apt-get remove --purge -y dotnet-sdk-8.0 - $STD apt-get install -y dotnet-sdk-9.0 - fi - mkdir -p rdtc-backup - cp -R /opt/rdtc/appsettings.json rdtc-backup/ - curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -o $(basename "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip") - unzip -oqq RealDebridClient.zip -d /opt/rdtc - cp -R rdtc-backup/appsettings.json /opt/rdtc/ - msg_ok "Updated ${APP}" - - msg_info "Starting ${APP}" - systemctl start rdtc - msg_ok "Started ${APP}" - - msg_info "Cleaning Up" - rm -rf rdtc-backup RealDebridClient.zip - msg_ok "Cleaned" - msg_ok "Updated Successfully" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/rdtc/ ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + msg_info "Stopping ${APP}" + systemctl stop rdtc + msg_ok "Stopped ${APP}" + + msg_info "Updating ${APP}" + if dpkg-query -W dotnet-sdk-8.0 >/dev/null 2>&1; then + $STD apt-get remove --purge -y dotnet-sdk-8.0 + $STD apt-get install -y dotnet-sdk-9.0 + fi + mkdir -p rdtc-backup + cp -R /opt/rdtc/appsettings.json rdtc-backup/ + curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -o $(basename "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip") + $STD unzip -o RealDebridClient.zip -d /opt/rdtc + cp -R rdtc-backup/appsettings.json /opt/rdtc/ + msg_ok "Updated ${APP}" + + msg_info "Starting ${APP}" + systemctl start rdtc + msg_ok "Started ${APP}" + + msg_info "Cleaning Up" + rm -rf rdtc-backup RealDebridClient.zip + msg_ok "Cleaned" + msg_ok "Updated Successfully" + exit } start diff --git a/ct/reactive-resume.sh b/ct/reactive-resume.sh index 4a81e9d16..a974326fe 100644 --- a/ct/reactive-resume.sh +++ b/ct/reactive-resume.sh @@ -39,7 +39,7 @@ function update_script() { res_tmp=$(mktemp) rm -rf /opt/${APP} curl -fsSL "https://github.com/AmruthPillai/Reactive-Resume/archive/refs/tags/v${RELEASE}.zip" -O $res_tmp - unzip -q $res_tmp + $STD unzip $res_tmp mv ${APP}-${RELEASE}/ /opt/${APP} cd /opt/${APP} export PUPPETEER_SKIP_DOWNLOAD="true" @@ -66,7 +66,7 @@ function update_script() { brwsr_tmp=$(mktemp) TAG=$(curl -fsSL https://api.github.com/repos/browserless/browserless/tags?per_page=1 | grep "name" | awk '{print substr($2, 3, length($2)-4) }') curl -fsSL https://github.com/browserless/browserless/archive/refs/tags/v${TAG}.zip -O $brwsr_tmp - unzip -q $brwsr_tmp + $STD unzip $brwsr_tmp mv browserless-${TAG}/ /opt/browserless cd /opt/browserless $STD npm install diff --git a/ct/silverbullet.sh b/ct/silverbullet.sh index f9f0f5d07..d6a3f3876 100644 --- a/ct/silverbullet.sh +++ b/ct/silverbullet.sh @@ -34,7 +34,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o $(basename "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip") - unzip -q silverbullet-server-linux-x86_64.zip + $STD unzip silverbullet-server-linux-x86_64.zip mv silverbullet /opt/silverbullet/bin/ chmod +x /opt/silverbullet/bin/silverbullet echo "${RELEASE}" >/opt/silverbullet/${APP}_version.txt diff --git a/ct/slskd.sh b/ct/slskd.sh index c9f357a93..3b8c305bc 100644 --- a/ct/slskd.sh +++ b/ct/slskd.sh @@ -38,7 +38,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" tmp_file=$(mktemp) curl -fsSL "https://github.com/slskd/slskd/releases/download/${RELEASE}/slskd-${RELEASE}-linux-x64.zip" -o $tmp_file - unzip -q -oj $tmp_file slskd -d /opt/${APP} + $STD unzip -oj $tmp_file slskd -d /opt/${APP} echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated $APP to v${RELEASE}" @@ -55,7 +55,7 @@ function update_script() { cd /tmp rm -rf /opt/soularr curl -fsSL -o main.zip https://github.com/mrusse/soularr/archive/refs/heads/main.zip - unzip -q main.zip + $STD unzip main.zip mv soularr-main /opt/soularr cd /opt/soularr $STD pip install -r requirements.txt diff --git a/ct/spoolman.sh b/ct/spoolman.sh index 61392429a..71ca77777 100644 --- a/ct/spoolman.sh +++ b/ct/spoolman.sh @@ -39,7 +39,7 @@ function update_script() { rm -rf spoolman_bak mv spoolman spoolman_bak curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip" -o $(basename "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip") - unzip -q spoolman.zip -d spoolman + $STD unzip spoolman.zip -d spoolman cd spoolman $STD pip3 install -r requirements.txt curl -fsSL "https://raw.githubusercontent.com/Donkie/Spoolman/master/.env.example" -o ".env" diff --git a/ct/teddycloud.sh b/ct/teddycloud.sh index 0e02795ef..eed14c2e1 100644 --- a/ct/teddycloud.sh +++ b/ct/teddycloud.sh @@ -37,7 +37,7 @@ function update_script() { cd /opt mv /opt/teddycloud /opt/teddycloud_bak curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -o $(basename "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip") - unzip -q -d /opt/teddycloud teddycloud.amd64.release_v${VERSION}.zip + $STD unzip -d /opt/teddycloud teddycloud.amd64.release_v${VERSION}.zip cp -R /opt/teddycloud_bak/certs /opt/teddycloud_bak/config /opt/teddycloud_bak/data /opt/teddycloud echo "${VERSION}" >"/opt/${APP}_version.txt" msg_ok "Updated ${APP} to v${VERSION}" diff --git a/ct/tianji.sh b/ct/tianji.sh index 319a3b606..ed89d07d2 100644 --- a/ct/tianji.sh +++ b/ct/tianji.sh @@ -50,7 +50,7 @@ function update_script() { cp /opt/tianji/src/server/.env /opt/.env mv /opt/tianji /opt/tianji_bak curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip") - unzip -q v${RELEASE}.zip + $STD unzip v${RELEASE}.zip mv tianji-${RELEASE} /opt/tianji cd tianji export NODE_OPTIONS="--max_old_space_size=4096" diff --git a/ct/wallos.sh b/ct/wallos.sh index 495ea79bc..2b5487dee 100644 --- a/ct/wallos.sh +++ b/ct/wallos.sh @@ -35,7 +35,7 @@ function update_script() { mkdir -p /opt/logos mv /opt/wallos/db/wallos.db /opt/wallos.db mv /opt/wallos/images/uploads/logos /opt/logos/ - unzip -q v${RELEASE}.zip + $STD unzip v${RELEASE}.zip rm -rf /opt/wallos mv Wallos-${RELEASE} /opt/wallos rm -rf /opt/wallos/db/wallos.empty.db diff --git a/ct/wastebin.sh b/ct/wastebin.sh index 313a6de2d..3cfb6644d 100644 --- a/ct/wastebin.sh +++ b/ct/wastebin.sh @@ -20,28 +20,28 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/wastebin ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - RELEASE=$(curl -fsSL https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - # Dirty-Fix 03/2025 for missing APP_version.txt on old installations, set to pre-latest release - msg_info "Running Migration" - if [[ ! -f /opt/${APP}_version.txt ]]; then - echo "2.7.1" >/opt/${APP}_version.txt - mkdir -p /opt/wastebin-data - cat </opt/wastebin-data/.env + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/wastebin ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + # Dirty-Fix 03/2025 for missing APP_version.txt on old installations, set to pre-latest release + msg_info "Running Migration" + if [[ ! -f /opt/${APP}_version.txt ]]; then + echo "2.7.1" >/opt/${APP}_version.txt + mkdir -p /opt/wastebin-data + cat </opt/wastebin-data/.env WASTEBIN_DATABASE_PATH=/opt/wastebin-data/wastebin.db WASTEBIN_CACHE_SIZE=1024 WASTEBIN_HTTP_TIMEOUT=30 WASTEBIN_SIGNING_KEY=$(openssl rand -hex 32) WASTEBIN_PASTE_EXPIRATIONS=0,600,3600=d,86400,604800,2419200,29030400 EOF - systemctl stop wastebin - cat </etc/systemd/system/wastebin.service + systemctl stop wastebin + cat </etc/systemd/system/wastebin.service [Unit] Description=Wastebin Service After=network.target @@ -54,35 +54,35 @@ EnvironmentFile=/opt/wastebin-data/.env [Install] WantedBy=multi-user.target EOF - systemctl daemon-reload - fi - msg_ok "Migration Done" - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - msg_info "Stopping Wastebin" - systemctl stop wastebin - msg_ok "Wastebin Stopped" + systemctl daemon-reload + fi + msg_ok "Migration Done" + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Stopping Wastebin" + systemctl stop wastebin + msg_ok "Wastebin Stopped" - msg_info "Updating Wastebin" - temp_file=$(mktemp) -curl -fsSL "https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.zip" -o "$temp_file" - unzip -o -q $temp_file - cp -f wastebin /opt/wastebin/ - chmod +x /opt/wastebin/wastebin - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated Wastebin" + msg_info "Updating Wastebin" + temp_file=$(mktemp) + curl -fsSL "https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.zip" -o "$temp_file" + $STD unzip -o $temp_file + cp -f wastebin /opt/wastebin/ + chmod +x /opt/wastebin/wastebin + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Updated Wastebin" - msg_info "Starting Wastebin" - systemctl start wastebin - msg_ok "Started Wastebin" + msg_info "Starting Wastebin" + systemctl start wastebin + msg_ok "Started Wastebin" - msg_info "Cleaning Up" - rm -f $temp_file - msg_ok "Cleanup Completed" - msg_ok "Updated Successfully" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" - fi - exit + msg_info "Cleaning Up" + rm -f $temp_file + msg_ok "Cleanup Completed" + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" + fi + exit } start @@ -92,4 +92,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}:8088${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8088${CL}" diff --git a/ct/wavelog.sh b/ct/wavelog.sh index 34b608ffe..a99d22498 100644 --- a/ct/wavelog.sh +++ b/ct/wavelog.sh @@ -41,7 +41,7 @@ function update_script() { cp /opt/wavelog/assets/js/sections/custom.js /opt/custom.js fi curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip") - unzip -q ${RELEASE}.zip + $STD unzip ${RELEASE}.zip rm -rf /opt/wavelog mv wavelog-${RELEASE}/ /opt/wavelog rm -rf /opt/wavelog/install diff --git a/ct/zigbee2mqtt.sh b/ct/zigbee2mqtt.sh index 4960a29b2..591cf64a6 100644 --- a/ct/zigbee2mqtt.sh +++ b/ct/zigbee2mqtt.sh @@ -47,7 +47,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip") - unzip -q ${RELEASE}.zip + $STD unzip ${RELEASE}.zip rm -rf /opt/zigbee2mqtt mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt rm -rf /opt/zigbee2mqtt/data diff --git a/ct/zipline.sh b/ct/zipline.sh index 781b14999..2920d0db4 100644 --- a/ct/zipline.sh +++ b/ct/zipline.sh @@ -43,7 +43,7 @@ function update_script() { mkdir -p /opt/zipline-upload cp -R /opt/zipline/upload/* /opt/zipline-upload/ curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip") - unzip -q v"${RELEASE}".zip + $STD unzip v"${RELEASE}".zip rm -R /opt/zipline mv zipline-"${RELEASE}" /opt/zipline cd /opt/zipline diff --git a/ct/zwave-js-ui.sh b/ct/zwave-js-ui.sh index c1ec805ff..4cd378c37 100644 --- a/ct/zwave-js-ui.sh +++ b/ct/zwave-js-ui.sh @@ -37,7 +37,7 @@ function update_script() { rm -rf /opt/zwave-js-ui/* cd /opt/zwave-js-ui curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -o $(basename "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip") - unzip -q zwave-js-ui-${RELEASE}-linux.zip + $STD unzip zwave-js-ui-${RELEASE}-linux.zip msg_ok "Updated Z-Wave JS UI" msg_info "Starting Service" diff --git a/install/2fauth-install.sh b/install/2fauth-install.sh index 43a3feed9..c34ed14a6 100644 --- a/install/2fauth-install.sh +++ b/install/2fauth-install.sh @@ -45,8 +45,8 @@ msg_ok "Set up Database" msg_info "Setup 2FAuth" RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip") -unzip -q "${RELEASE}.zip" +curl -fsSL "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" -o "${RELEASE}.zip" +$STD unzip "${RELEASE}.zip" mv "2FAuth-${RELEASE//v/}/" /opt/2fauth cd "/opt/2fauth" || return diff --git a/install/adventurelog-install.sh b/install/adventurelog-install.sh index 39279203a..a56cd6949 100644 --- a/install/adventurelog-install.sh +++ b/install/adventurelog-install.sh @@ -52,8 +52,8 @@ DJANGO_ADMIN_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" LOCAL_IP="$(hostname -I | awk '{print $1}')" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip") -unzip -q v${RELEASE}.zip +curl -fsSL "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip" +$STD unzip v${RELEASE}.zip mv AdventureLog-${RELEASE} /opt/adventurelog cat </opt/adventurelog/backend/server/.env PGHOST='localhost' diff --git a/install/agentdvr-install.sh b/install/agentdvr-install.sh index 1e00e94dc..ffd2fabe2 100644 --- a/install/agentdvr-install.sh +++ b/install/agentdvr-install.sh @@ -14,7 +14,6 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y unzip $STD apt-get install -y apt-transport-https $STD apt-get install -y alsa-utils $STD apt-get install -y libxext-dev diff --git a/install/alpine-docker-install.sh b/install/alpine-docker-install.sh index 67b1b5c2a..46745d782 100644 --- a/install/alpine-docker-install.sh +++ b/install/alpine-docker-install.sh @@ -14,12 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apk add newt -$STD apk add curl -$STD apk add openssh $STD apk add tzdata -$STD apk add nano -$STD apk add mc msg_ok "Installed Dependencies" msg_info "Installing Docker" diff --git a/install/alpine-grafana-install.sh b/install/alpine-grafana-install.sh index 8deae4dff..7f3ce111c 100644 --- a/install/alpine-grafana-install.sh +++ b/install/alpine-grafana-install.sh @@ -13,14 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apk add newt -$STD apk add curl -$STD apk add openssh -$STD apk add nano -$STD apk add mc -msg_ok "Installed Dependencies" - msg_info "Installing Grafana" $STD apk add grafana $STD sed -i '/http_addr/s/127.0.0.1/0.0.0.0/g' /etc/conf.d/grafana diff --git a/install/alpine-install.sh b/install/alpine-install.sh index aabf22346..1c01e0167 100644 --- a/install/alpine-install.sh +++ b/install/alpine-install.sh @@ -14,11 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apk add newt -$STD apk add curl -$STD apk add openssh -$STD apk add nano -$STD apk add mc +$STD apk add sudo msg_ok "Installed Dependencies" motd_ssh diff --git a/install/alpine-it-tools-install.sh b/install/alpine-it-tools-install.sh index 1a444a33b..11f6c055b 100644 --- a/install/alpine-it-tools-install.sh +++ b/install/alpine-it-tools-install.sh @@ -14,12 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apk add \ - curl \ - mc \ - openssh \ - nginx \ - unzip +$STD apk add nginx msg_ok "Installed Dependencies" msg_info "Installing IT-Tools" @@ -28,7 +23,7 @@ DOWNLOAD_URL="https://github.com/CorentinTh/it-tools/releases/download/${RELEASE curl -fsSL -o it-tools.zip "$DOWNLOAD_URL" mkdir -p /usr/share/nginx/html -unzip -q it-tools.zip -d /tmp/it-tools +$STD unzip it-tools.zip -d /tmp/it-tools cp -r /tmp/it-tools/dist/* /usr/share/nginx/html cat <<'EOF' >/etc/nginx/http.d/default.conf server { diff --git a/install/alpine-nextcloud-install.sh b/install/alpine-nextcloud-install.sh index bbfed7e2d..0fb308317 100644 --- a/install/alpine-nextcloud-install.sh +++ b/install/alpine-nextcloud-install.sh @@ -14,12 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apk add newt -$STD apk add curl $STD apk add openssl -$STD apk add openssh -$STD apk add nano -$STD apk add mc $STD apk add nginx msg_ok "Installed Dependencies" diff --git a/install/alpine-rclone-install.sh b/install/alpine-rclone-install.sh index 59368b973..ed0b3cc70 100644 --- a/install/alpine-rclone-install.sh +++ b/install/alpine-rclone-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing dependencies" $STD apk add --no-cache \ - unzip \ apache2-utils msg_ok "Installed dependencies" diff --git a/install/alpine-tinyauth-install.sh b/install/alpine-tinyauth-install.sh index 5692be0a8..23854d317 100644 --- a/install/alpine-tinyauth-install.sh +++ b/install/alpine-tinyauth-install.sh @@ -16,7 +16,6 @@ update_os msg_info "Installing Dependencies" $STD apk add --no-cache \ npm \ - curl \ go msg_ok "Installed Dependencies" diff --git a/install/alpine-zigbee2mqtt-install.sh b/install/alpine-zigbee2mqtt-install.sh index dee853801..59c14ac30 100644 --- a/install/alpine-zigbee2mqtt-install.sh +++ b/install/alpine-zigbee2mqtt-install.sh @@ -13,14 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apk add newt -$STD apk add curl -$STD apk add openssh -$STD apk add nano -$STD apk add mc -msg_ok "Installed Dependencies" - msg_info "Installing Alpine-Zigbee2MQTT" $STD apk add zigbee2mqtt mkdir -p /root/.z2m diff --git a/install/apache-couchdb-install.sh b/install/apache-couchdb-install.sh index eea4b8413..9005dc078 100644 --- a/install/apache-couchdb-install.sh +++ b/install/apache-couchdb-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y apt-transport-https -$STD apt-get install -y gnupg msg_ok "Installed Dependencies" msg_info "Installing Apache CouchDB" diff --git a/install/audiobookshelf-install.sh b/install/audiobookshelf-install.sh index 0d9adf48f..b1003f581 100644 --- a/install/audiobookshelf-install.sh +++ b/install/audiobookshelf-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gnupg -msg_ok "Installed Dependencies" - msg_info "Installing audiobookshelf" curl -fsSL https://advplyr.github.io/audiobookshelf-ppa/KEY.gpg >/etc/apt/trusted.gpg.d/audiobookshelf-ppa.asc echo "deb [signed-by=/etc/apt/trusted.gpg.d/audiobookshelf-ppa.asc] https://advplyr.github.io/audiobookshelf-ppa ./" >/etc/apt/sources.list.d/audiobookshelf.list diff --git a/install/baikal-install.sh b/install/baikal-install.sh index b5c293736..6e1a99619 100644 --- a/install/baikal-install.sh +++ b/install/baikal-install.sh @@ -40,7 +40,7 @@ msg_info "Installing Baikal" RELEASE=$(curl -fsSL https://api.github.com/repos/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -o $(basename "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip") -unzip -q "baikal-${RELEASE}.zip" +$STD unzip "baikal-${RELEASE}.zip" cat </opt/baikal/config/baikal.yaml database: backend: pgsql diff --git a/install/barcode-buddy-install.sh b/install/barcode-buddy-install.sh index b646bf9ee..6f4ff92fc 100644 --- a/install/barcode-buddy-install.sh +++ b/install/barcode-buddy-install.sh @@ -25,7 +25,7 @@ msg_info "Installing barcodebuddy" RELEASE=$(curl -fsSL https://api.github.com/repos/Forceu/barcodebuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip") -unzip -q "v${RELEASE}.zip" +$STD unzip "v${RELEASE}.zip" mv "/opt/barcodebuddy-${RELEASE}" /opt/barcodebuddy chown -R www-data:www-data /opt/barcodebuddy/data echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/bazarr-install.sh b/install/bazarr-install.sh index 5b8d473dd..1032b46c1 100755 --- a/install/bazarr-install.sh +++ b/install/bazarr-install.sh @@ -24,7 +24,7 @@ msg_ok "Setup Python3" msg_info "Installing Bazarr" mkdir -p /var/lib/bazarr/ curl -fsSL "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip" -o $(basename "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip") -unzip -qq bazarr -d /opt/bazarr +$STD unzip bazarr -d /opt/bazarr chmod 775 /opt/bazarr /var/lib/bazarr/ $STD python3 -m pip install -q -r /opt/bazarr/requirements.txt msg_ok "Installed Bazarr" diff --git a/install/bookstack-install.sh b/install/bookstack-install.sh index 7df4d0e8f..769e01467 100644 --- a/install/bookstack-install.sh +++ b/install/bookstack-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies (Patience)" $STD apt-get install -y \ - unzip \ apache2 \ php8.2-{mbstring,gd,fpm,curl,intl,ldap,tidy,bz2,mysql,zip,xml} \ composer \ @@ -45,7 +44,7 @@ LOCAL_IP="$(hostname -I | awk '{print $1}')" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/BookStackApp/BookStack/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip") -unzip -q v${RELEASE}.zip +$STD unzip v${RELEASE}.zip mv BookStack-${RELEASE} /opt/bookstack cd /opt/bookstack cp .env.example .env diff --git a/install/changedetection-install.sh b/install/changedetection-install.sh index cd590815a..976b6159d 100644 --- a/install/changedetection-install.sh +++ b/install/changedetection-install.sh @@ -40,8 +40,7 @@ $STD apt-get install -y \ qpdf \ xdg-utils \ xvfb \ - ca-certificates \ - gnupg + ca-certificates msg_ok "Installed Dependencies" msg_info "Setup Python3" diff --git a/install/commafeed-install.sh b/install/commafeed-install.sh index a3bc94e02..d990a2d55 100644 --- a/install/commafeed-install.sh +++ b/install/commafeed-install.sh @@ -29,7 +29,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/Athou/commafeed/releases/lates msg_info "Installing CommaFeed ${RELEASE}" mkdir /opt/commafeed curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o $(basename "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip") -unzip -q commafeed-${RELEASE}-h2-jvm.zip +$STD unzip commafeed-${RELEASE}-h2-jvm.zip mv commafeed-${RELEASE}-h2/* /opt/commafeed/ echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed CommaFeed ${RELEASE}" diff --git a/install/cosmos-install.sh b/install/cosmos-install.sh index c79c777e2..289f31cfb 100644 --- a/install/cosmos-install.sh +++ b/install/cosmos-install.sh @@ -15,9 +15,9 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - snapraid \ - avahi-daemon \ - fdisk + snapraid \ + avahi-daemon \ + fdisk msg_ok "Installed Dependencies" msg_info "Install mergerfs" @@ -39,7 +39,7 @@ LATEST_RELEASE=$(curl -fsSL https://api.github.com/repos/azukaar/Cosmos-Server/r ZIP_FILE="cosmos-cloud-${LATEST_RELEASE#v}-amd64.zip" curl -fsSL "https://github.com/azukaar/Cosmos-Server/releases/download/${LATEST_RELEASE}/${ZIP_FILE}" -o "/opt/cosmos/${ZIP_FILE}" cd /opt/cosmos -unzip -o -q "${ZIP_FILE}" +$STD unzip -o -q "${ZIP_FILE}" LATEST_RELEASE_NO_V=${LATEST_RELEASE#v} mv /opt/cosmos/cosmos-cloud-${LATEST_RELEASE_NO_V}/* /opt/cosmos/ rmdir /opt/cosmos/cosmos-cloud-${LATEST_RELEASE_NO_V} diff --git a/install/crafty-controller-install.sh b/install/crafty-controller-install.sh index 9a859eb58..991684f98 100644 --- a/install/crafty-controller-install.sh +++ b/install/crafty-controller-install.sh @@ -48,7 +48,7 @@ mkdir -p /opt/crafty-controller/crafty /opt/crafty-controller/server RELEASE=$(curl -fsSL "https://gitlab.com/api/v4/projects/20430749/releases" | grep -o '"tag_name":"v[^"]*"' | head -n 1 | sed 's/"tag_name":"v//;s/"//') echo "${RELEASE}" >"/opt/crafty-controller_version.txt" curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o $(basename "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip") -unzip -q crafty-4-v${RELEASE}.zip +$STD unzip crafty-4-v${RELEASE}.zip cp -a crafty-4-v${RELEASE}/. /opt/crafty-controller/crafty/crafty-4/ rm -rf crafty-4-v${RELEASE} diff --git a/install/documenso-install.sh b/install/documenso-install.sh index f2013396a..861f3f40e 100644 --- a/install/documenso-install.sh +++ b/install/documenso-install.sh @@ -52,7 +52,7 @@ msg_info "Installing Documenso (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/documenso/documenso/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') curl -fsSL "https://github.com/documenso/documenso/archive/refs/tags/v${RELEASE}.zip" -o v${RELEASE}.zip -unzip -q v${RELEASE}.zip +$STD unzip v${RELEASE}.zip mv documenso-${RELEASE} /opt/documenso cd /opt/documenso mv .env.example /opt/documenso/.env diff --git a/install/fileflows-install.sh b/install/fileflows-install.sh index 77a3244f5..459f5dc8d 100644 --- a/install/fileflows-install.sh +++ b/install/fileflows-install.sh @@ -56,7 +56,7 @@ $STD ln -svf /usr/bin/ffmpeg /usr/local/bin/ffmpeg $STD ln -svf /usr/bin/ffprobe /usr/local/bin/ffprobe temp_file=$(mktemp) curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file" -unzip -q -d /opt/fileflows "$temp_file" +$STD unzip -d /opt/fileflows "$temp_file" (cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true) systemctl enable -q --now fileflows msg_ok "Setup ${APPLICATION}" diff --git a/install/fluid-calendar-install.sh b/install/fluid-calendar-install.sh index e32ab2013..5dca3c133 100644 --- a/install/fluid-calendar-install.sh +++ b/install/fluid-calendar-install.sh @@ -48,7 +48,7 @@ msg_info "Setup ${APPLICATION}" tmp_file=$(mktemp) RELEASE=$(curl -fsSL https://api.github.com/repos/dotnetfactory/fluid-calendar/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') curl -fsSL "https://github.com/dotnetfactory/fluid-calendar/archive/refs/tags/v${RELEASE}.zip" -o "$tmp_file" -unzip -q $tmp_file +$STD unzip $tmp_file mv ${APPLICATION}-${RELEASE}/ /opt/${APPLICATION} echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/freshrss-install.sh b/install/freshrss-install.sh index a151f2cf2..c4e7c0479 100644 --- a/install/freshrss-install.sh +++ b/install/freshrss-install.sh @@ -40,7 +40,7 @@ msg_info "Installing FreshRSS" RELEASE=$(curl -fsSL https://api.github.com/repos/FreshRSS/FreshRSS/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt curl -fsSL "https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip") -unzip -q "${RELEASE}.zip" +$STD unzip "${RELEASE}.zip" mv "/opt/FreshRSS-${RELEASE}" /opt/freshrss cd /opt/freshrss chown -R www-data:www-data /opt/freshrss diff --git a/install/frigate-install.sh b/install/frigate-install.sh index f8ce1afa6..a1d5fa339 100644 --- a/install/frigate-install.sh +++ b/install/frigate-install.sh @@ -137,7 +137,7 @@ cd /opt/frigate export CCACHE_DIR=/root/.ccache export CCACHE_MAXSIZE=2G curl -fsSL "https://github.com/libusb/libusb/archive/v1.0.26.zip" -o $(basename "https://github.com/libusb/libusb/archive/v1.0.26.zip") -unzip -q v1.0.26.zip +$STD unzip v1.0.26.zip rm v1.0.26.zip cd libusb-1.0.26 $STD ./bootstrap.sh diff --git a/install/gokapi-install.sh b/install/gokapi-install.sh index 49ffd73e2..bf3de9532 100644 --- a/install/gokapi-install.sh +++ b/install/gokapi-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Gokapi" LATEST=$(curl -fsSL https://api.github.com/repos/Forceu/Gokapi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) mkdir -p /opt/gokapi/{data,config} curl -fsSL "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip" -o $(basename "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip") -unzip -q gokapi-linux_amd64.zip -d /opt/gokapi +$STD unzip gokapi-linux_amd64.zip -d /opt/gokapi rm gokapi-linux_amd64.zip chmod +x /opt/gokapi/gokapi-linux_amd64 msg_ok "Installed Gokapi" diff --git a/install/gotify-install.sh b/install/gotify-install.sh index 431aea59d..982f85877 100644 --- a/install/gotify-install.sh +++ b/install/gotify-install.sh @@ -18,7 +18,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/gotify/server/releases/latest mkdir -p /opt/gotify cd /opt/gotify curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o $(basename "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip") -unzip -q gotify-linux-amd64.zip +$STD unzip gotify-linux-amd64.zip rm -rf gotify-linux-amd64.zip chmod +x gotify-linux-amd64 echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/grafana-install.sh b/install/grafana-install.sh index 46caaf5d4..a0cf17cff 100644 --- a/install/grafana-install.sh +++ b/install/grafana-install.sh @@ -14,7 +14,6 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y gnupg $STD apt-get install -y apt-transport-https $STD apt-get install -y software-properties-common msg_ok "Installed Dependencies" diff --git a/install/graylog-install.sh b/install/graylog-install.sh index 5316dcc4a..52ba757e4 100644 --- a/install/graylog-install.sh +++ b/install/graylog-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gnupg -msg_ok "Installed Dependencies" - msg_info "Setup MongoDB" curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor echo "deb [signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg] https://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" >/etc/apt/sources.list.d/mongodb-org-7.0.list diff --git a/install/grist-install.sh b/install/grist-install.sh index 8453f0fa2..2c73d66a5 100644 --- a/install/grist-install.sh +++ b/install/grist-install.sh @@ -17,7 +17,6 @@ msg_info "Installing Dependencies" $STD apt-get install -y \ make \ ca-certificates \ - unzip \ python3.11-venv msg_ok "Installed Dependencies" @@ -29,7 +28,7 @@ export CYPRESS_INSTALL_BINARY=0 export NODE_OPTIONS="--max-old-space-size=2048" cd /opt curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip") -unzip -q v$RELEASE.zip +$STD unzip v$RELEASE.zip mv grist-core-${RELEASE} grist cd grist $STD yarn install diff --git a/install/hivemq-install.sh b/install/hivemq-install.sh index dcfed77b6..642311a06 100644 --- a/install/hivemq-install.sh +++ b/install/hivemq-install.sh @@ -23,7 +23,7 @@ msg_ok "Installed OpenJDK" msg_info "Installing HiveMQ CE" RELEASE=$(curl -fsSL https://api.github.com/repos/hivemq/hivemq-community-edition/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') curl -fsSL "https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip" -o $(basename "https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip") -unzip -q hivemq-ce-${RELEASE}.zip +$STD unzip hivemq-ce-${RELEASE}.zip mkdir -p /opt/hivemq mv hivemq-ce-${RELEASE}/* /opt/hivemq useradd -d /opt/hivemq hivemq diff --git a/install/hyperhdr-install.sh b/install/hyperhdr-install.sh index ce84bec9a..b83d31813 100644 --- a/install/hyperhdr-install.sh +++ b/install/hyperhdr-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gpg -msg_ok "Installed Dependencies" - msg_info "Installing HyperHDR" curl -fsSL https://awawa-dev.github.io/hyperhdr.public.apt.gpg.key >/usr/share/keyrings/hyperhdr.public.apt.gpg.key chmod go+r /usr/share/keyrings/hyperhdr.public.apt.gpg.key diff --git a/install/inventree-install.sh b/install/inventree-install.sh index 261c4ebf1..aba26f1be 100644 --- a/install/inventree-install.sh +++ b/install/inventree-install.sh @@ -14,7 +14,6 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y gnupg temp_file=$(mktemp) curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb" -o "$temp_file" $STD dpkg -i $temp_file diff --git a/install/iobroker-install.sh b/install/iobroker-install.sh index e3f88f5ea..c4494b7a4 100644 --- a/install/iobroker-install.sh +++ b/install/iobroker-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y ca-certificates -$STD apt-get install -y gnupg msg_ok "Installed Dependencies" NODE_VERSION="22" install_node_and_modules diff --git a/install/karakeep-install.sh b/install/karakeep-install.sh index d7b8bc1b9..e74854123 100644 --- a/install/karakeep-install.sh +++ b/install/karakeep-install.sh @@ -55,7 +55,7 @@ msg_info "Installing karakeep" cd /opt 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/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip" -unzip -q "v${RELEASE}.zip" +$STD unzip "v${RELEASE}.zip" mv karakeep-"${RELEASE}" /opt/karakeep cd /opt/karakeep corepack enable diff --git a/install/keycloak-install.sh b/install/keycloak-install.sh index b59506095..26127ae7b 100644 --- a/install/keycloak-install.sh +++ b/install/keycloak-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gnupg -msg_ok "Installed Dependencies" - msg_info "Installing OpenJDK" 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 diff --git a/install/kimai-install.sh b/install/kimai-install.sh index 7bef81646..2357abdaf 100644 --- a/install/kimai-install.sh +++ b/install/kimai-install.sh @@ -59,7 +59,7 @@ msg_ok "Set up database" 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) }') 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 +$STD unzip "${RELEASE}".zip mv kimai-"${RELEASE}" /opt/kimai cd /opt/kimai echo "export COMPOSER_ALLOW_SUPERUSER=1" >>~/.bashrc diff --git a/install/koillection-install.sh b/install/koillection-install.sh index 6c57ce413..bd9093d44 100644 --- a/install/koillection-install.sh +++ b/install/koillection-install.sh @@ -55,7 +55,7 @@ msg_info "Installing Koillection" RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip") -unzip -q "${RELEASE}.zip" +$STD unzip "${RELEASE}.zip" mv "/opt/koillection-${RELEASE}" /opt/koillection cd /opt/koillection cp /opt/koillection/.env /opt/koillection/.env.local diff --git a/install/lubelogger-install.sh b/install/lubelogger-install.sh index 10d14761d..69647e6fc 100644 --- a/install/lubelogger-install.sh +++ b/install/lubelogger-install.sh @@ -24,7 +24,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/hargata/lubelog/releases/lates RELEASE_TRIMMED=$(echo "${RELEASE}" | tr -d ".") cd /opt/lubelogger curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -o $(basename "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip") -unzip -q LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip +$STD unzip LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip chmod 700 /opt/lubelogger/CarCareTracker cp /opt/lubelogger/appsettings.json /opt/lubelogger/appsettings_bak.json jq '.Kestrel = {"Endpoints": {"Http": {"Url": "http://0.0.0.0:5000"}}}' /opt/lubelogger/appsettings_bak.json >/opt/lubelogger/appsettings.json diff --git a/install/meilisearch-install.sh b/install/meilisearch-install.sh index 88e358789..ff76d4f27 100644 --- a/install/meilisearch-install.sh +++ b/install/meilisearch-install.sh @@ -13,11 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y \ - gnupg -msg_ok "Installed Dependencies" - msg_info "Setup ${APPLICATION}" tmp_file=$(mktemp) RELEASE=$(curl -s https://api.github.com/repos/meilisearch/meilisearch/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') @@ -48,7 +43,7 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then mkdir -p /opt/meilisearch-ui RELEASE_UI=$(curl -s https://api.github.com/repos/riccox/meilisearch-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') curl -fsSL "https://github.com/riccox/meilisearch-ui/archive/refs/tags/${RELEASE_UI}.zip" -o "$tmp_file" - unzip -q "$tmp_file" -d "$tmp_dir" + $STD unzip "$tmp_file" -d "$tmp_dir" mv "$tmp_dir"/*/* /opt/meilisearch-ui/ cd /opt/meilisearch-ui sed -i 's|const hash = execSync("git rev-parse HEAD").toString().trim();|const hash = "unknown";|' /opt/meilisearch-ui/vite.config.ts diff --git a/install/mongodb-install.sh b/install/mongodb-install.sh index 13c2c4831..94398616b 100644 --- a/install/mongodb-install.sh +++ b/install/mongodb-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gnupg -msg_ok "Installed Dependencies" - read -p "${TAB3}Do you want to install MongoDB 8.0 instead of 7.0? [y/N]: " install_mongodb_8 if [[ "$install_mongodb_8" =~ ^[Yy]$ ]]; then MONGODB_VERSION="8.0" diff --git a/install/myspeed-install.sh b/install/myspeed-install.sh index d85274b70..ddbde2d70 100644 --- a/install/myspeed-install.sh +++ b/install/myspeed-install.sh @@ -25,7 +25,7 @@ msg_info "Installing MySpeed" RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5) cd /opt curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -o $(basename "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip") -unzip -q MySpeed-$RELEASE.zip -d myspeed +$STD unzip MySpeed-$RELEASE.zip -d myspeed cd myspeed $STD npm install echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/mysql-install.sh b/install/mysql-install.sh index 2d4fc5e2e..5f5251535 100644 --- a/install/mysql-install.sh +++ b/install/mysql-install.sh @@ -16,8 +16,7 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - lsb-release \ - gnupg + lsb-release msg_ok "Installed Dependencies" RELEASE_REPO="mysql-8.0" diff --git a/install/netbox-install.sh b/install/netbox-install.sh index 967a010c4..110f163c4 100644 --- a/install/netbox-install.sh +++ b/install/netbox-install.sh @@ -54,7 +54,7 @@ msg_info "Installing NetBox (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/netbox-community/netbox/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip") -unzip -q "v${RELEASE}.zip" +$STD unzip "v${RELEASE}.zip" mv /opt/netbox-"${RELEASE}"/ /opt/netbox $STD adduser --system --group netbox diff --git a/install/nodebb-install.sh b/install/nodebb-install.sh index 3dae80732..64247da90 100644 --- a/install/nodebb-install.sh +++ b/install/nodebb-install.sh @@ -69,7 +69,7 @@ msg_info "Install NodeBB" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/NodeBB/NodeBB/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') curl -fsSL "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip") -unzip -q v${RELEASE}.zip +$STD unzip v${RELEASE}.zip mv NodeBB-${RELEASE} /opt/nodebb cd /opt/nodebb touch pidfile diff --git a/install/openproject-install.sh b/install/openproject-install.sh index 02b9ef8f0..4f2ad09ae 100644 --- a/install/openproject-install.sh +++ b/install/openproject-install.sh @@ -16,13 +16,12 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ apt-transport-https \ - ca-certificates \ - gpg + ca-certificates msg_ok "Installed Dependencies" msg_info "Setting up OpenProject Repository" curl -fsSL "https://dl.packager.io/srv/opf/openproject/key" | gpg --dearmor >/etc/apt/trusted.gpg.d/packager-io.gpg -curl -fsSL "https://dl.packager.io/srv/opf/openproject/stable/15/installer/debian/12.repo" -o "/etc/apt/sources.list.d/openproject.list" +curl -fsSL "https://dl.packager.io/srv/opf/openproject/stable/15/installer/debian/12.repo" -o "/etc/apt/sources.list.d/openproject.list" msg_ok "Setup OpenProject Repository" msg_info "Setting up PostgreSQL Repository" diff --git a/install/paperless-ai-install.sh b/install/paperless-ai-install.sh index fd93aa8e0..196403695 100644 --- a/install/paperless-ai-install.sh +++ b/install/paperless-ai-install.sh @@ -29,7 +29,7 @@ msg_info "Setup Paperless-AI" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/clusterzx/paperless-ai/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip") -unzip -q v${RELEASE}.zip +$STD unzip v${RELEASE}.zip mv paperless-ai-${RELEASE} /opt/paperless-ai cd /opt/paperless-ai $STD pip install --no-cache-dir -r requirements.txt diff --git a/install/part-db-install.sh b/install/part-db-install.sh index a865c670a..55c91521a 100644 --- a/install/part-db-install.sh +++ b/install/part-db-install.sh @@ -51,7 +51,7 @@ msg_info "Installing Part-DB (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/Part-DB/Part-DB-server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip") -unzip -q "v${RELEASE}.zip" +$STD unzip "v${RELEASE}.zip" mv /opt/Part-DB-server-${RELEASE}/ /opt/partdb cd /opt/partdb/ diff --git a/install/petio-install.sh b/install/petio-install.sh index 41aaabb6c..ff4337c71 100644 --- a/install/petio-install.sh +++ b/install/petio-install.sh @@ -13,19 +13,15 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gnupg -msg_ok "Installed Dependencies" - msg_info "Installing MongoDB 4.4" curl -fsSL "https://www.mongodb.org/static/pgp/server-4.4.asc" | gpg --dearmor >/usr/share/keyrings/mongodb-server-4.4.gpg # Determine OS ID OS_ID=$(grep '^ID=' /etc/os-release | cut -d'=' -f2) if [ "$OS_ID" = "debian" ]; then - echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-4.4.gpg ] http://repo.mongodb.org/apt/debian $(grep '^VERSION_CODENAME=' /etc/os-release | cut -d'=' -f2)/mongodb-org/4.4 main" >/etc/apt/sources.list.d/mongodb-org-4.4.list + echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-4.4.gpg ] http://repo.mongodb.org/apt/debian $(grep '^VERSION_CODENAME=' /etc/os-release | cut -d'=' -f2)/mongodb-org/4.4 main" >/etc/apt/sources.list.d/mongodb-org-4.4.list else - echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-4.4.gpg ] https://repo.mongodb.org/apt/ubuntu $(grep '^VERSION_CODENAME=' /etc/os-release | cut -d'=' -f2)/mongodb-org/4.4 multiverse" >/etc/apt/sources.list.d/mongodb-org-4.4.list + echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-4.4.gpg ] https://repo.mongodb.org/apt/ubuntu $(grep '^VERSION_CODENAME=' /etc/os-release | cut -d'=' -f2)/mongodb-org/4.4 multiverse" >/etc/apt/sources.list.d/mongodb-org-4.4.list fi $STD apt-get update @@ -38,7 +34,7 @@ msg_info "Installing Petio" useradd -M --shell=/bin/false petio mkdir /opt/Petio curl -fsSL "https://petio.tv/releases/latest" -o "petio-latest.zip" -$STD unzip -q petio-latest.zip -d /opt/Petio +$STD unzip petio-latest.zip -d /opt/Petio rm -rf petio-latest.zip chown -R petio:petio /opt/Petio msg_ok "Installed Petio" diff --git a/install/pf2etools-install.sh b/install/pf2etools-install.sh index 072d933c4..c5b10bca9 100644 --- a/install/pf2etools-install.sh +++ b/install/pf2etools-install.sh @@ -26,7 +26,7 @@ msg_info "Setup Pf2eTools" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/Pf2eToolsOrg/Pf2eTools/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip") -unzip -q "${RELEASE}.zip" +$STD unzip "${RELEASE}.zip" mv "Pf2eTools-${RELEASE:1}" /opt/Pf2eTools cd /opt/Pf2eTools $STD npm install diff --git a/install/phpipam-install.sh b/install/phpipam-install.sh index e6d4b9ad4..27200c60b 100644 --- a/install/phpipam-install.sh +++ b/install/phpipam-install.sh @@ -42,7 +42,7 @@ msg_info "Installing phpIPAM" RELEASE=$(curl -fsSL https://api.github.com/repos/phpipam/phpipam/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -o $(basename "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip") -unzip -q "phpipam-v${RELEASE}.zip" +$STD unzip "phpipam-v${RELEASE}.zip" mysql -u root "${DB_NAME}" "/opt/pingvin_version.txt" mv pingvin-share-${RELEASE} /opt/pingvin-share cd /opt/pingvin-share/backend diff --git a/install/pocketbase-install.sh b/install/pocketbase-install.sh index 295f1e6ed..d4929f9fd 100644 --- a/install/pocketbase-install.sh +++ b/install/pocketbase-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Pocketbase" RELEASE="$(curl -fsSL https://api.github.com/repos/pocketbase/pocketbase/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')" curl -fsSL "https://github.com/pocketbase/pocketbase/releases/download/v${RELEASE}/pocketbase_${RELEASE}_linux_amd64.zip" -o "/tmp/pocketbase.zip" mkdir -p /opt/pocketbase/{pb_public,pb_migrations,pb_hooks} -unzip -q -o /tmp/pocketbase.zip -d /opt/pocketbase +$STD unzip -o /tmp/pocketbase.zip -d /opt/pocketbase cat </etc/systemd/system/pocketbase.service [Unit] diff --git a/install/privatebin-install.sh b/install/privatebin-install.sh index 3fd6e83f7..b3b90cc15 100644 --- a/install/privatebin-install.sh +++ b/install/privatebin-install.sh @@ -15,11 +15,10 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - nginx \ - php8.2-fpm \ - php8.2-{common,cli,gd,mbstring,xml,fpm,curl,zip} \ - unzip \ - openssl + nginx \ + php8.2-fpm \ + php8.2-{common,cli,gd,mbstring,xml,fpm,curl,zip} \ + openssl msg_ok "Installed Dependencies" msg_info "Installing PrivateBin" @@ -28,16 +27,16 @@ echo "${RELEASE}" >/opt/${APPLICATION}_version.txt mkdir -p /opt/privatebin cd /opt/privatebin curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip") -$STD unzip -q ${RELEASE}.zip +$STD unzip ${RELEASE}.zip mv PrivateBin-${RELEASE}/* . msg_ok "Installed PrivateBin" msg_info "Generating Universal SSL Certificate" mkdir -p /etc/ssl/privatebin $STD openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \ - -keyout /etc/ssl/privatebin/key.pem \ - -out /etc/ssl/privatebin/cert.pem \ - -subj "/CN=PrivateBin" + -keyout /etc/ssl/privatebin/key.pem \ + -out /etc/ssl/privatebin/cert.pem \ + -subj "/CN=PrivateBin" msg_ok "Certificate Generated" msg_info "Configuring Environment" diff --git a/install/projectsend-install.sh b/install/projectsend-install.sh index 51e5a19b0..8522de071 100644 --- a/install/projectsend-install.sh +++ b/install/projectsend-install.sh @@ -42,7 +42,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/projectsend/projectsend/releas cd /opt curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -o $(basename "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip") mkdir projectsend -unzip -q "projectsend-r${RELEASE}.zip" -d projectsend +$STD unzip "projectsend-r${RELEASE}.zip" -d projectsend mv /opt/projectsend/includes/sys.config.sample.php /opt/projectsend/includes/sys.config.php chown -R www-data:www-data /opt/projectsend chmod -R 775 /opt/projectsend diff --git a/install/rclone-install.sh b/install/rclone-install.sh index 35cae3ae3..920564143 100644 --- a/install/rclone-install.sh +++ b/install/rclone-install.sh @@ -14,9 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ - apache2-utils \ - unzip +$STD apt-get install -y apache2-utils msg_ok "Installed Dependencies" msg_info "Installing rclone" diff --git a/install/rdtclient-install.sh b/install/rdtclient-install.sh index 68f792e0c..60ec6bec9 100644 --- a/install/rdtclient-install.sh +++ b/install/rdtclient-install.sh @@ -23,7 +23,7 @@ msg_ok "Installed ASP.NET Core Runtime" msg_info "Installing rdtclient" curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -o $(basename "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip") -unzip -qq RealDebridClient.zip -d /opt/rdtc +$STD unzip RealDebridClient.zip -d /opt/rdtc rm RealDebridClient.zip cd /opt/rdtc mkdir -p data/{db,downloads} diff --git a/install/reactive-resume-install.sh b/install/reactive-resume-install.sh index 12ae43027..7c9f06ac3 100644 --- a/install/reactive-resume-install.sh +++ b/install/reactive-resume-install.sh @@ -41,7 +41,7 @@ LOCAL_IP=$(hostname -I | awk '{print $1}') TAG=$(curl -fsSL https://api.github.com/repos/browserless/browserless/tags?per_page=1 | grep "name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL https://api.github.com/repos/AmruthPillai/Reactive-Resume/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') curl -fsSL "https://github.com/AmruthPillai/Reactive-Resume/archive/refs/tags/v${RELEASE}.zip" -o v${RELEASE}.zip -unzip -q v${RELEASE}.zip +$STD unzip v${RELEASE}.zip mv ${APPLICATION}-${RELEASE}/ /opt/${APPLICATION} cd /opt/${APPLICATION} corepack enable @@ -58,7 +58,7 @@ msg_ok "Installed ${APPLICATION}" msg_info "Installing Browserless (Patience)" cd /tmp curl -fsSL https://github.com/browserless/browserless/archive/refs/tags/v${TAG}.zip -o v${TAG}.zip -unzip -q v${TAG}.zip +$STD unzip v${TAG}.zip mv browserless-${TAG} /opt/browserless cd /opt/browserless $STD npm install diff --git a/install/silverbullet-install.sh b/install/silverbullet-install.sh index 3afd2f890..c6ed14c31 100644 --- a/install/silverbullet-install.sh +++ b/install/silverbullet-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Silverbullet" RELEASE=$(curl -fsSL https://api.github.com/repos/silverbulletmd/silverbullet/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') mkdir -p /opt/silverbullet/bin /opt/silverbullet/space curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o $(basename "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip") -unzip -oq -d /opt/silverbullet/bin/ silverbullet-server-linux-x86_64.zip +$STD unzip -o -d /opt/silverbullet/bin/ silverbullet-server-linux-x86_64.zip chmod +x /opt/silverbullet/bin/silverbullet echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed Silverbullet" diff --git a/install/slskd-install.sh b/install/slskd-install.sh index 95601a23b..e2c16663e 100644 --- a/install/slskd-install.sh +++ b/install/slskd-install.sh @@ -22,7 +22,7 @@ msg_info "Setup ${APPLICATION}" tmp_file=$(mktemp) RELEASE=$(curl -s https://api.github.com/repos/slskd/slskd/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') curl -fsSL "https://github.com/slskd/slskd/releases/download/${RELEASE}/slskd-${RELEASE}-linux-x64.zip" -o $tmp_file -unzip -q $tmp_file -d /opt/${APPLICATION} +$STD unzip $tmp_file -d /opt/${APPLICATION} echo "${RELEASE}" >/opt/${APPLICATION}_version.txt JWT_KEY=$(openssl rand -base64 44) SLSKD_API_KEY=$(openssl rand -base64 44) @@ -43,7 +43,7 @@ msg_info "Installing Soularr" rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED cd /tmp curl -fsSL -o main.zip https://github.com/mrusse/soularr/archive/refs/heads/main.zip -unzip -q main.zip +$STD unzip main.zip mv soularr-main /opt/soularr cd /opt/soularr $STD pip install -r requirements.txt diff --git a/install/spoolman-install.sh b/install/spoolman-install.sh index 24a727b3d..b1fb6f105 100644 --- a/install/spoolman-install.sh +++ b/install/spoolman-install.sh @@ -34,7 +34,7 @@ msg_info "Installing Spoolman" RELEASE=$(curl -fsSL https://github.com/Donkie/Spoolman/releases/latest | grep "title>Release" | cut -d " " -f 4) cd /opt curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip" -o $(basename "https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip") -unzip -q spoolman.zip -d spoolman +$STD unzip spoolman.zip -d spoolman rm -rf spoolman.zip cd spoolman $STD pip3 install -r requirements.txt diff --git a/install/syncthing-install.sh b/install/syncthing-install.sh index ebdbba502..282b673ea 100644 --- a/install/syncthing-install.sh +++ b/install/syncthing-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gnupg -msg_ok "Installed Dependencies" - msg_info "Installing Syncthing" curl -fsSL -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg sh -c 'echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" > /etc/apt/sources.list.d/syncthing.list' diff --git a/install/teddycloud-install.sh b/install/teddycloud-install.sh index 7794702bb..d7599492c 100644 --- a/install/teddycloud-install.sh +++ b/install/teddycloud-install.sh @@ -24,7 +24,7 @@ msg_info "Installing TeddyCloud" RELEASE="$(curl -fsSL https://api.github.com/repos/toniebox-reverse-engineering/teddycloud/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')" VERSION="${RELEASE#tc_v}" curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -o $(basename "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip") -unzip -q -d "/opt/teddycloud-${VERSION}" "teddycloud.amd64.release_v${VERSION}.zip" +$STD unzip -d "/opt/teddycloud-${VERSION}" "teddycloud.amd64.release_v${VERSION}.zip" ln -fns "/opt/teddycloud-${VERSION}" /opt/teddycloud rm -rf teddycloud.amd64.release_v${VERSION}.zip echo "${VERSION}" >"/opt/${APPLICATION}_version.txt" diff --git a/install/tianji-install.sh b/install/tianji-install.sh index 26251272e..bafcb4958 100644 --- a/install/tianji-install.sh +++ b/install/tianji-install.sh @@ -49,7 +49,7 @@ msg_info "Installing Tianji (Extreme Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/msgbyte/tianji/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip") -unzip -q v${RELEASE}.zip +$STD unzip v${RELEASE}.zip mv tianji-${RELEASE} /opt/tianji cd tianji $STD pnpm install --filter @tianji/client... --config.dedupe-peer-dependents=false --frozen-lockfile diff --git a/install/umlautadaptarr-install.sh b/install/umlautadaptarr-install.sh index 62ae37a95..40a8dfd72 100644 --- a/install/umlautadaptarr-install.sh +++ b/install/umlautadaptarr-install.sh @@ -18,15 +18,15 @@ $STD curl -fsSL https://packages.microsoft.com/config/debian/12/packages-microso $STD dpkg -i packages-microsoft-prod.deb $STD apt-get update $STD apt-get install -y \ - dotnet-sdk-8.0 \ - aspnetcore-runtime-8.0 + dotnet-sdk-8.0 \ + aspnetcore-runtime-8.0 msg_ok "Installed Dependencies" msg_info "Installing Umlautadaptarr" temp_file=$(mktemp) RELEASE=$(curl -s https://api.github.com/repos/PCJones/Umlautadaptarr/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}') curl -fsSL "https://github.com/PCJones/Umlautadaptarr/releases/download/${RELEASE}/linux-x64.zip" -o $temp_file -unzip -qj $temp_file '*/**' -d /opt/UmlautAdaptarr +$STD unzip -j $temp_file '*/**' -d /opt/UmlautAdaptarr echo "${RELEASE}" >"/opt/UmlautAdaptarr_version.txt" msg_ok "Installation completed" diff --git a/install/unifi-install.sh b/install/unifi-install.sh index aa0c15d83..8e342b694 100644 --- a/install/unifi-install.sh +++ b/install/unifi-install.sh @@ -15,7 +15,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y apt-transport-https -$STD apt-get install -y gnupg msg_ok "Installed Dependencies" msg_info "Installing Eclipse Temurin JRE" diff --git a/install/wallos-install.sh b/install/wallos-install.sh index e74e152f3..b49df8ff7 100644 --- a/install/wallos-install.sh +++ b/install/wallos-install.sh @@ -25,7 +25,7 @@ msg_info "Installing Wallos (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/ellite/Wallos/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') curl -fsSL "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip") -unzip -q v${RELEASE}.zip +$STD unzip v${RELEASE}.zip mv Wallos-${RELEASE} /opt/wallos cd /opt/wallos mv /opt/wallos/db/wallos.empty.db /opt/wallos/db/wallos.db diff --git a/install/wastebin-install.sh b/install/wastebin-install.sh index 407e38b95..030681b39 100644 --- a/install/wastebin-install.sh +++ b/install/wastebin-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Wastebin" temp_file=$(mktemp) RELEASE=$(curl -fsSL https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') curl -fsSL "https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.zip" -o "$temp_file" -unzip -q $temp_file +$STD unzip $temp_file mkdir -p /opt/wastebin mv wastebin /opt/wastebin/ chmod +x /opt/wastebin/wastebin diff --git a/install/wavelog-install.sh b/install/wavelog-install.sh index 8c94f4515..b1053b936 100644 --- a/install/wavelog-install.sh +++ b/install/wavelog-install.sh @@ -45,7 +45,7 @@ msg_ok "Set up PHP" msg_info "Installing Wavelog" RELEASE=$(curl -fsSL https://api.github.com/repos/wavelog/wavelog/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip") -unzip -q ${RELEASE}.zip +$STD unzip ${RELEASE}.zip mv wavelog-${RELEASE}/ /opt/wavelog chown -R www-data:www-data /opt/wavelog/ find /opt/wavelog/ -type d -exec chmod 755 {} \; diff --git a/install/wordpress-install.sh b/install/wordpress-install.sh index 1f5e78064..b2520861f 100644 --- a/install/wordpress-install.sh +++ b/install/wordpress-install.sh @@ -40,7 +40,7 @@ msg_ok "Set up Database" msg_info "Installing Wordpress (Patience)" cd /var/www/html curl -fsSL "https://wordpress.org/latest.zip" -o $(basename "https://wordpress.org/latest.zip") -unzip -q latest.zip +$STD unzip latest.zip chown -R www-data:www-data wordpress/ cd /var/www/html/wordpress find . -type d -exec chmod 755 {} \; diff --git a/install/yunohost-install.sh b/install/yunohost-install.sh index 8c6de6d65..fc16b9213 100644 --- a/install/yunohost-install.sh +++ b/install/yunohost-install.sh @@ -14,7 +14,6 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y gnupg $STD apt-get install -y apt-transport-https $STD apt-get install -y lsb-release $STD apt-get install -y ca-certificates diff --git a/install/zerotier-one-install.sh b/install/zerotier-one-install.sh index 25447d3e6..616c0c430 100644 --- a/install/zerotier-one-install.sh +++ b/install/zerotier-one-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y gnupg -msg_ok "Installed Dependencies" - msg_info "Setting up Zerotier-One" curl -fsSL 'https://raw.githubusercontent.com/zerotier/ZeroTierOne/main/doc/contact%40zerotier.com.gpg' | gpg --import && if z="$(curl -fsSL 'https://install.zerotier.com/' | gpg)"; then diff --git a/install/zigbee2mqtt-install.sh b/install/zigbee2mqtt-install.sh index 578890668..3fda538ce 100644 --- a/install/zigbee2mqtt-install.sh +++ b/install/zigbee2mqtt-install.sh @@ -28,7 +28,7 @@ msg_info "Setting up Zigbee2MQTT" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip") -unzip -q ${RELEASE}.zip +$STD unzip ${RELEASE}.zip mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt cd /opt/zigbee2mqtt/data mv configuration.example.yaml configuration.yaml diff --git a/install/zipline-install.sh b/install/zipline-install.sh index 1289b6db6..4c02abe67 100644 --- a/install/zipline-install.sh +++ b/install/zipline-install.sh @@ -45,7 +45,7 @@ msg_info "Installing Zipline (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/diced/zipline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip") -unzip -q v"${RELEASE}".zip +$STD unzip v"${RELEASE}".zip mv zipline-"${RELEASE}" /opt/zipline cd /opt/zipline cat </opt/zipline/.env diff --git a/install/zwave-js-ui-install.sh b/install/zwave-js-ui-install.sh index 7c7d3b7a3..50a324d9c 100644 --- a/install/zwave-js-ui-install.sh +++ b/install/zwave-js-ui-install.sh @@ -19,7 +19,7 @@ mkdir -p /opt/zwave_store cd /opt/zwave-js-ui RELEASE=$(curl -fsSL https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -o $(basename "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip") -unzip -q zwave-js-ui-${RELEASE}-linux.zip +$STD unzip zwave-js-ui-${RELEASE}-linux.zip cat </opt/.env ZWAVEJS_EXTERNAL_CONFIG=/opt/zwave_store/.config-db STORE_DIR=/opt/zwave_store From e2a8b8b799678491755181b78e507b7f74491237 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 10:25:49 +0100 Subject: [PATCH 033/274] Update CHANGELOG.md (#4781) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e0589b29..1a6180ddd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🔧 Refactor + - Refactor: Remove redundant dependencies & unify unzip usage [@MickLesk](https://github.com/MickLesk) ([#4780](https://github.com/community-scripts/ProxmoxVE/pull/4780)) - Refactor: Remove gpg / gnupg from script base [@MickLesk](https://github.com/MickLesk) ([#4775](https://github.com/community-scripts/ProxmoxVE/pull/4775)) ## 2025-05-27 From 6ef1c99f6586613c06d28a37bc7aebd8adacd924 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 11:35:19 +0200 Subject: [PATCH 034/274] quickfix: node-red --- install/alpine-node-red-install.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/install/alpine-node-red-install.sh b/install/alpine-node-red-install.sh index e78b69bde..dd59ae856 100644 --- a/install/alpine-node-red-install.sh +++ b/install/alpine-node-red-install.sh @@ -34,5 +34,28 @@ chown -R nodered:users /home/nodered chmod 750 /home/nodered msg_ok "Created /home/nodered" +msg_info "Creating Node-RED Service" +service_path="/etc/init.d/nodered" + +echo '#!/sbin/openrc-run +description="Node-RED Service" + +command="/usr/local/bin/node-red" +command_args="--max-old-space-size=128 -v" +command_user="nodered" +pidfile="/var/run/nodered.pid" +command_background="yes" + +depend() { + use net +}' >$service_path + +chmod +x $service_path +msg_ok "Created Node-RED Service" + +msg_info "Starting Node-RED" +$STD rc-service nodered start +msg_ok "Started Node-RED" + motd_ssh customize From 8e8e09668b34122499ca49f82b9785e1d43e5d65 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 11:42:46 +0200 Subject: [PATCH 035/274] Pulse: use prebuild tarball file / remove unneeded npm actions (#4776) * Pulse: use new tarball file * Update pulse.sh * Update pulse-install.sh * remove npm packages --- ct/pulse.sh | 8 +------- install/pulse-install.sh | 8 +------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/ct/pulse.sh b/ct/pulse.sh index 580899850..8d8a379b8 100644 --- a/ct/pulse.sh +++ b/ct/pulse.sh @@ -40,17 +40,11 @@ function update_script() { temp_file=$(mktemp) mkdir -p /opt/pulse-proxmox rm -rf /opt/pulse-proxmox/* - curl -fsSL "https://github.com/rcourtman/Pulse/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" + curl -fsSL "https://github.com/rcourtman/Pulse/releases/download/v${RELEASE}/pulse-v${RELEASE}.tar.gz" -o "$temp_file" tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox if [[ -f /tmp/.env.backup.pulse ]]; then mv /tmp/.env.backup.pulse /opt/pulse-proxmox/.env fi - cd /opt/pulse-proxmox - $STD npm install --unsafe-perm - cd /opt/pulse-proxmox/server - $STD npm install --unsafe-perm - cd /opt/pulse-proxmox - $STD npm run build:css echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated Pulse to ${RELEASE}" diff --git a/install/pulse-install.sh b/install/pulse-install.sh index 091af1bd9..5742a9662 100644 --- a/install/pulse-install.sh +++ b/install/pulse-install.sh @@ -33,14 +33,8 @@ msg_info "Setup Pulse" RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') temp_file=$(mktemp) mkdir -p /opt/pulse-proxmox -curl -fsSL "https://github.com/rcourtman/Pulse/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" +curl -fsSL "https://github.com/rcourtman/Pulse/releases/download/v${RELEASE}/pulse-v${RELEASE}.tar.gz" -o "$temp_file" tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox -cd /opt/pulse-proxmox -$STD npm install --unsafe-perm -cd /opt/pulse-proxmox/server -$STD npm install --unsafe-perm -cd /opt/pulse-proxmox -$STD npm run build:css echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed Pulse" From 1e195cac1e7b05072a6558ac6ab98a2b569150ff Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 10:43:20 +0100 Subject: [PATCH 036/274] Update CHANGELOG.md (#4782) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a6180ddd..4c1331550 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts + - #### ✨ New Features + + - Pulse: use prebuild tarball file / remove unneeded npm actions [@MickLesk](https://github.com/MickLesk) ([#4776](https://github.com/community-scripts/ProxmoxVE/pull/4776)) + - #### 💥 Breaking Changes - Refactor: Linkwarden + OS Upgrade [@MickLesk](https://github.com/MickLesk) ([#4756](https://github.com/community-scripts/ProxmoxVE/pull/4756)) From 86674ef3768b597f9d378b8468f4558ee301a4a1 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 12:00:59 +0200 Subject: [PATCH 037/274] quickfix: remove apple hints in tarball extraction --- install/pulse-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/pulse-install.sh b/install/pulse-install.sh index 5742a9662..09b69258c 100644 --- a/install/pulse-install.sh +++ b/install/pulse-install.sh @@ -34,7 +34,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/releases/lates temp_file=$(mktemp) mkdir -p /opt/pulse-proxmox curl -fsSL "https://github.com/rcourtman/Pulse/releases/download/v${RELEASE}/pulse-v${RELEASE}.tar.gz" -o "$temp_file" -tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox +tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox 2> >(grep -v 'LIBARCHIVE.xattr.com.apple.provenance' >&2) echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed Pulse" From 8787ef57b5054630445a2e75208c66d58da39bfa Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 13:17:28 +0200 Subject: [PATCH 038/274] Update tools.func --- misc/tools.func | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/tools.func b/misc/tools.func index be5e92888..71d0a8ba2 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -246,7 +246,7 @@ install_mariadb() { local CURRENT_VERSION="" if command -v mariadb >/dev/null; then - CURRENT_VERSION="$(mariadb --version | grep -oP 'Ver\s+\K[0-9]+\.[0-9]+')" + CURRENT_VERSION=$(mariadb --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+') fi if [[ "$CURRENT_VERSION" == "$MARIADB_VERSION" ]]; then From a4dee031405f497934705c7b76fe63072591fc1e Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 13:25:03 +0200 Subject: [PATCH 039/274] optimize mariadb check --- install/firefly-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/firefly-install.sh b/install/firefly-install.sh index 917e6d0fc..bda0e1ced 100644 --- a/install/firefly-install.sh +++ b/install/firefly-install.sh @@ -30,7 +30,7 @@ msg_info "Setting up database" DB_NAME=firefly DB_USER=firefly DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -MYSQL_VERSION=$(mysql --version | grep -oP 'Distrib \K[0-9]+\.[0-9]+\.[0-9]+') +MYSQL_VERSION=$(mariadb --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -n1) mysql -u root -e "CREATE DATABASE $DB_NAME;" mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" From 79a56249050970e46fd882854e0d48d585526914 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 13:32:32 +0200 Subject: [PATCH 040/274] Alpine-Node-RED: add service to rc (#4783) --- install/alpine-node-red-install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/alpine-node-red-install.sh b/install/alpine-node-red-install.sh index dd59ae856..043a6612c 100644 --- a/install/alpine-node-red-install.sh +++ b/install/alpine-node-red-install.sh @@ -54,6 +54,7 @@ chmod +x $service_path msg_ok "Created Node-RED Service" msg_info "Starting Node-RED" +$STD rc-update add nodered $STD rc-service nodered start msg_ok "Started Node-RED" From 56e316b849c362d72eaa8bdb9805bf9dbf4b9bed Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 12:32:56 +0100 Subject: [PATCH 041/274] Update CHANGELOG.md (#4789) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c1331550..53f67ef5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts + - #### 🐞 Bug Fixes + + - Alpine-Node-RED: add service to rc [@MickLesk](https://github.com/MickLesk) ([#4783](https://github.com/community-scripts/ProxmoxVE/pull/4783)) + - #### ✨ New Features - Pulse: use prebuild tarball file / remove unneeded npm actions [@MickLesk](https://github.com/MickLesk) ([#4776](https://github.com/community-scripts/ProxmoxVE/pull/4776)) From 8765b7ac1d1c67b88258825bf03e0637d781b4c8 Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 13:34:38 +0200 Subject: [PATCH 042/274] oauth2-proxy (#4784) * 'Add new script' * change cleaning * change cleaning --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> --- ct/headers/oauth2-proxy | 6 +++ ct/oauth2-proxy.sh | 64 ++++++++++++++++++++++++++ frontend/public/json/oauth2-proxy.json | 45 ++++++++++++++++++ install/oauth2-proxy-install.sh | 58 +++++++++++++++++++++++ 4 files changed, 173 insertions(+) create mode 100644 ct/headers/oauth2-proxy create mode 100644 ct/oauth2-proxy.sh create mode 100644 frontend/public/json/oauth2-proxy.json create mode 100644 install/oauth2-proxy-install.sh diff --git a/ct/headers/oauth2-proxy b/ct/headers/oauth2-proxy new file mode 100644 index 000000000..30bd3126a --- /dev/null +++ b/ct/headers/oauth2-proxy @@ -0,0 +1,6 @@ + __ __ ___ + ____ ____ ___ __/ /_/ /_ |__ \ ____ _________ _ ____ __ + / __ \/ __ `/ / / / __/ __ \__/ /_____/ __ \/ ___/ __ \| |/_/ / / / +/ /_/ / /_/ / /_/ / /_/ / / / __/_____/ /_/ / / / /_/ /> /opt/${APP}_version.txt + msg_ok "Updated ${APP} to ${RELEASE}" + + msg_info "Cleaning up" + rm -f "/opt/oauth2-proxy.tar.gz" + rm -rf "/opt/oauth2-proxy-v${RELEASE}.linux-amd64" + $STD apt-get -y autoremove + $STD apt-get -y autoclean + msg_ok "Cleaned" + else + msg_ok "${APP} is already up to date (${RELEASE})" + fi +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Now you can modify /opt/oauth2-proxy/config.toml with your needed config.${CL}" diff --git a/frontend/public/json/oauth2-proxy.json b/frontend/public/json/oauth2-proxy.json new file mode 100644 index 000000000..f3361ea46 --- /dev/null +++ b/frontend/public/json/oauth2-proxy.json @@ -0,0 +1,45 @@ +{ + "name": "OAuth2-Proxy", + "slug": "oauth2-proxy", + "categories": [ + 4, + 6 + ], + "date_created": "2025-05-25", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": null, + "documentation": "https://oauth2-proxy.github.io/oauth2-proxy/configuration/overview", + "website": "https://oauth2-proxy.github.io/oauth2-proxy/", + "logo": "https://raw.githubusercontent.com/oauth2-proxy/oauth2-proxy/f82e90426a1881d36bf995f25de9b7b1db4c2564/docs/static/img/logos/OAuth2_Proxy_icon.svg", + "config_path": "/opt/oauth2-proxy/config.toml", + "description": "A reverse proxy that provides authentication with Google, Azure, OpenID Connect and many more identity providers.", + "install_methods": [ + { + "type": "default", + "script": "ct/oauth2-proxy.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 3, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "This application includes a blank configuration file by default due to the wide range of available configuration options. We recommend referring to the official documentation for guidance: `https://oauth2-proxy.github.io/oauth2-proxy/configuration/overview`. With this you can make your config.toml file accordingly to your needs.", + "type": "info" + }, + { + "text": "After changing the config restart OAuth2-Proxy with: `systemctl restart oauth2-proxy`", + "type": "info" + } + ] +} diff --git a/install/oauth2-proxy-install.sh b/install/oauth2-proxy-install.sh new file mode 100644 index 000000000..3ed3fecea --- /dev/null +++ b/install/oauth2-proxy-install.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: bvdberg01 +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/oauth2-proxy/oauth2-proxy/ + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y \ + jq +msg_ok "Installed Dependencies" + +msg_info "Setup OAuth2-Proxy" +RELEASE=$(curl -fsSL https://api.github.com/repos/oauth2-proxy/oauth2-proxy/releases/latest | jq -r .tag_name | sed 's/^v//') +mkdir -p /opt/oauth2-proxy +curl -fsSL "https://github.com/oauth2-proxy/oauth2-proxy/releases/download/v${RELEASE}/oauth2-proxy-v${RELEASE}.linux-amd64.tar.gz" -o /opt/oauth2-proxy.tar.gz +tar -xzf /opt/oauth2-proxy.tar.gz -C /opt +mv /opt/oauth2-proxy-v${RELEASE}.linux-amd64/oauth2-proxy /opt/oauth2-proxy +touch /opt/oauth2-proxy/config.toml +echo "${RELEASE}" >/opt/${APPLICATION}_version.txt +msg_ok "Setup OAuth2-Proxy" + +msg_info "Creating Service" +cat </etc/systemd/system/oauth2-proxy.service +[Unit] +Description=OAuth2-Proxy Service +After=network.target + +[Service] +Type=simple +WorkingDirectory=/opt/oauth2-proxy +ExecStart=/opt/oauth2-proxy/oauth2-proxy --config config.toml +Restart=on-failure +RestartSec=5 + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now oauth2-proxy +msg_ok "Created Service" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -f "/opt/oauth2-proxy.tar.gz" +rm -rf "/opt/oauth2-proxy-v${RELEASE}.linux-amd64" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From 0e75a57582aac8b9de2b97d793a0bcfc0cabf9e4 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 12:35:06 +0100 Subject: [PATCH 043/274] Update date in json (#4790) Co-authored-by: GitHub Actions --- frontend/public/json/oauth2-proxy.json | 84 +++++++++++++------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/frontend/public/json/oauth2-proxy.json b/frontend/public/json/oauth2-proxy.json index f3361ea46..4981b6889 100644 --- a/frontend/public/json/oauth2-proxy.json +++ b/frontend/public/json/oauth2-proxy.json @@ -1,45 +1,45 @@ { - "name": "OAuth2-Proxy", - "slug": "oauth2-proxy", - "categories": [ - 4, - 6 - ], - "date_created": "2025-05-25", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": null, - "documentation": "https://oauth2-proxy.github.io/oauth2-proxy/configuration/overview", - "website": "https://oauth2-proxy.github.io/oauth2-proxy/", - "logo": "https://raw.githubusercontent.com/oauth2-proxy/oauth2-proxy/f82e90426a1881d36bf995f25de9b7b1db4c2564/docs/static/img/logos/OAuth2_Proxy_icon.svg", - "config_path": "/opt/oauth2-proxy/config.toml", - "description": "A reverse proxy that provides authentication with Google, Azure, OpenID Connect and many more identity providers.", - "install_methods": [ - { - "type": "default", - "script": "ct/oauth2-proxy.sh", - "resources": { - "cpu": 1, - "ram": 512, - "hdd": 3, - "os": "debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "OAuth2-Proxy", + "slug": "oauth2-proxy", + "categories": [ + 4, + 6 + ], + "date_created": "2025-05-28", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": null, + "documentation": "https://oauth2-proxy.github.io/oauth2-proxy/configuration/overview", + "website": "https://oauth2-proxy.github.io/oauth2-proxy/", + "logo": "https://raw.githubusercontent.com/oauth2-proxy/oauth2-proxy/f82e90426a1881d36bf995f25de9b7b1db4c2564/docs/static/img/logos/OAuth2_Proxy_icon.svg", + "config_path": "/opt/oauth2-proxy/config.toml", + "description": "A reverse proxy that provides authentication with Google, Azure, OpenID Connect and many more identity providers.", + "install_methods": [ + { + "type": "default", + "script": "ct/oauth2-proxy.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 3, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "This application includes a blank configuration file by default due to the wide range of available configuration options. We recommend referring to the official documentation for guidance: `https://oauth2-proxy.github.io/oauth2-proxy/configuration/overview`. With this you can make your config.toml file accordingly to your needs.", + "type": "info" }, - "notes": [ - { - "text": "This application includes a blank configuration file by default due to the wide range of available configuration options. We recommend referring to the official documentation for guidance: `https://oauth2-proxy.github.io/oauth2-proxy/configuration/overview`. With this you can make your config.toml file accordingly to your needs.", - "type": "info" - }, - { - "text": "After changing the config restart OAuth2-Proxy with: `systemctl restart oauth2-proxy`", - "type": "info" - } - ] + { + "text": "After changing the config restart OAuth2-Proxy with: `systemctl restart oauth2-proxy`", + "type": "info" + } + ] } From ce39e7c87ef1558033bf79eb4f0d63d240e346cb Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 12:35:19 +0100 Subject: [PATCH 044/274] Update CHANGELOG.md (#4791) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53f67ef5e..d3bf3471d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-05-28 +### 🆕 New Scripts + + - oauth2-proxy ([#4784](https://github.com/community-scripts/ProxmoxVE/pull/4784)) + ### 🚀 Updated Scripts - #### 🐞 Bug Fixes From eb04327aa9ba45188f798e3cb0f9feb7b0734695 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 12:36:49 +0100 Subject: [PATCH 045/274] Update CHANGELOG.md (#4792) Co-authored-by: github-actions[bot] From 7bb9fb09ba51bc85fda29aa1b1f30dafb1d89061 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 14:07:37 +0200 Subject: [PATCH 046/274] Update versions.json (#4794) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 94 +++++++++++++++--------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index d5f271d2f..d372aa0a2 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,49 @@ [ + { + "name": "element-hq/synapse", + "version": "v1.130.0", + "date": "2025-05-20T15:33:54Z" + }, + { + "name": "pocket-id/pocket-id", + "version": "v1.1.0", + "date": "2025-05-28T09:39:00Z" + }, + { + "name": "zitadel/zitadel", + "version": "v2.71.11", + "date": "2025-05-28T09:16:41Z" + }, + { + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.2.0p43-rc1", + "date": "2025-05-28T06:23:13Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1960", + "date": "2025-05-28T05:56:49Z" + }, + { + "name": "Athou/commafeed", + "version": "5.10.0", + "date": "2025-05-28T05:48:20Z" + }, + { + "name": "cross-seed/cross-seed", + "version": "v6.12.6", + "date": "2025-05-28T00:13:19Z" + }, + { + "name": "ollama/ollama", + "version": "v0.8.0", + "date": "2025-05-27T23:50:57Z" + }, { "name": "mongodb/mongo", "version": "r8.1.0-alpha3", @@ -19,15 +64,10 @@ "version": "2025.5.3", "date": "2025-05-23T15:10:33Z" }, - { - "name": "ollama/ollama", - "version": "v0.7.1-rc2", - "date": "2025-05-23T01:53:31Z" - }, { "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-05-25T09:44:06Z" + "version": "v4.1.1", + "date": "2025-05-16T17:37:30Z" }, { "name": "Threadfin/Threadfin", @@ -89,16 +129,6 @@ "version": "2025.5.1", "date": "2025-05-27T09:01:29Z" }, - { - "name": "zitadel/zitadel", - "version": "v2.65.10", - "date": "2025-05-27T08:47:06Z" - }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1956", - "date": "2025-05-27T05:55:21Z" - }, { "name": "semaphoreui/semaphore", "version": "v2.14.12", @@ -119,11 +149,6 @@ "version": "1.34.1", "date": "2025-05-26T21:40:54Z" }, - { - "name": "keycloak/keycloak", - "version": "26.0.12", - "date": "2025-05-15T14:06:52Z" - }, { "name": "dgtlmoon/changedetection.io", "version": "0.49.18", @@ -149,11 +174,6 @@ "version": "v7.4.3", "date": "2025-05-26T14:27:27Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.3.0p33", - "date": "2025-05-26T13:57:51Z" - }, { "name": "syncthing/syncthing", "version": "v1.29.6", @@ -194,11 +214,6 @@ "version": "v1.21.0", "date": "2025-05-25T16:41:43Z" }, - { - "name": "cross-seed/cross-seed", - "version": "v6.12.5", - "date": "2025-05-17T02:52:33Z" - }, { "name": "Prowlarr/Prowlarr", "version": "v1.36.3.5071", @@ -219,11 +234,6 @@ "version": "v4.39.4", "date": "2025-05-25T02:27:28Z" }, - { - "name": "pocket-id/pocket-id", - "version": "v1.0.0", - "date": "2025-05-24T22:06:55Z" - }, { "name": "minio/minio", "version": "RELEASE.2025-05-24T17-08-30Z", @@ -354,11 +364,6 @@ "version": "3.1.0", "date": "2025-05-20T19:20:03Z" }, - { - "name": "element-hq/synapse", - "version": "v1.130.0", - "date": "2025-05-20T15:33:54Z" - }, { "name": "documenso/documenso", "version": "v1.11.1", @@ -509,11 +514,6 @@ "version": "v4.47.1", "date": "2025-01-05T21:14:23Z" }, - { - "name": "Athou/commafeed", - "version": "5.9.0", - "date": "2025-05-14T15:29:48Z" - }, { "name": "juanfont/headscale", "version": "v0.26.0", From 5e8ee6baa8727205d5d948f4146308d6c72bd4ce Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 14:45:53 +0200 Subject: [PATCH 047/274] MariaDB CLI Update, Go Install Helper & Minor Cleanup (#4793) * . * switch mysql to mariadb * fix some basenames * remove basename to correct filename * merge firefly from main --- install/2fauth-install.sh | 6 +++--- install/alpine-nextcloud-install.sh | 2 +- install/apache-guacamole-install.sh | 8 ++++---- install/apache-tika-install.sh | 2 +- install/authelia-install.sh | 2 +- install/baikal-install.sh | 2 +- install/barcode-buddy-install.sh | 2 +- install/bazarr-install.sh | 2 +- install/bookstack-install.sh | 8 ++++---- install/caddy-install.sh | 14 ++------------ install/commafeed-install.sh | 4 ++-- install/cosmos-install.sh | 2 +- install/crafty-controller-install.sh | 2 +- install/dolibarr-install.sh | 2 +- install/duplicati-install.sh | 2 +- install/emby-install.sh | 2 +- install/ersatztv-install.sh | 2 +- install/fenrus-install.sh | 2 +- install/firefly-install.sh | 2 +- install/freshrss-install.sh | 2 +- install/frigate-install.sh | 2 +- install/gitea-install.sh | 2 +- install/glance-install.sh | 2 +- install/glpi-install.sh | 10 +++++----- install/go2rtc-install.sh | 2 +- install/gokapi-install.sh | 2 +- install/gotify-install.sh | 2 +- install/graylog-install.sh | 13 +++---------- install/grist-install.sh | 2 +- install/grocy-install.sh | 2 +- install/habitica-install.sh | 2 +- install/headscale-install.sh | 2 +- install/heimdall-dashboard-install.sh | 2 +- install/hivemq-install.sh | 2 +- install/homepage-install.sh | 2 +- install/homer-install.sh | 2 +- install/influxdb-install.sh | 4 ++-- install/inspircd-install.sh | 2 +- install/iventoy-install.sh | 2 +- install/jackett-install.sh | 2 +- install/kimai-install.sh | 8 ++++---- install/koillection-install.sh | 2 +- install/komga-install.sh | 2 +- install/komodo-install.sh | 2 +- install/listmonk-install.sh | 2 +- install/lubelogger-install.sh | 2 +- install/mafl-install.sh | 2 +- install/mariadb-install.sh | 2 +- install/mediamtx-install.sh | 2 +- install/minio-install.sh | 11 +++++------ install/monica-install.sh | 8 ++++---- install/myspeed-install.sh | 2 +- install/mysql-install.sh | 4 ++-- install/netbox-install.sh | 2 +- install/nextpvr-install.sh | 2 +- install/nodebb-install.sh | 2 +- install/npmplus-install.sh | 2 +- install/ombi-install.sh | 2 +- install/onedev-install.sh | 8 ++++---- install/opengist-install.sh | 2 +- install/paperless-ai-install.sh | 2 +- install/paperless-ngx-install.sh | 2 +- install/part-db-install.sh | 2 +- install/paymenter-install.sh | 6 +++--- install/pelican-panel-install.sh | 8 ++++---- install/pf2etools-install.sh | 2 +- install/phpipam-install.sh | 10 +++++----- install/pingvin-install.sh | 2 +- install/plant-it-install.sh | 10 +++++----- install/privatebin-install.sh | 2 +- install/projectsend-install.sh | 8 ++++---- install/prometheus-alertmanager-install.sh | 2 +- install/prometheus-install.sh | 2 +- .../prometheus-paperless-ngx-exporter-install.sh | 2 +- install/pterodactyl-panel-install.sh | 8 ++++---- install/rdtclient-install.sh | 4 ++-- install/runtipi-install.sh | 2 +- install/seelf-install.sh | 2 +- install/semaphore-install.sh | 2 +- install/sftpgo-install.sh | 11 +---------- install/shinobi-install.sh | 2 +- install/silverbullet-install.sh | 2 +- install/snipeit-install.sh | 6 +++--- install/spoolman-install.sh | 2 +- install/stirling-pdf-install.sh | 4 ++-- install/tasmoadmin-install.sh | 2 +- install/teddycloud-install.sh | 2 +- install/the-lounge-install.sh | 2 +- install/tianji-install.sh | 2 +- install/traccar-install.sh | 2 +- install/traefik-install.sh | 2 +- install/trilium-install.sh | 2 +- install/typesense-install.sh | 2 +- install/unifi-install.sh | 2 +- install/victoriametrics-install.sh | 4 ++-- install/vikunja-install.sh | 2 +- install/wallos-install.sh | 2 +- install/watchyourlan-install.sh | 2 +- install/wavelog-install.sh | 8 ++++---- install/wger-install.sh | 2 +- install/wordpress-install.sh | 8 ++++---- install/zigbee2mqtt-install.sh | 2 +- install/zipline-install.sh | 2 +- install/zoraxy-install.sh | 2 +- install/zwave-js-ui-install.sh | 2 +- 105 files changed, 166 insertions(+), 193 deletions(-) diff --git a/install/2fauth-install.sh b/install/2fauth-install.sh index c34ed14a6..650c7f7fc 100644 --- a/install/2fauth-install.sh +++ b/install/2fauth-install.sh @@ -32,9 +32,9 @@ msg_info "Setting up Database" DB_NAME=2fauth_db DB_USER=2fauth DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD mysql -u root -e "CREATE DATABASE $DB_NAME;" -$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "2FAuth Credentials" echo "Database User: $DB_USER" diff --git a/install/alpine-nextcloud-install.sh b/install/alpine-nextcloud-install.sh index 0fb308317..f149bf6ae 100644 --- a/install/alpine-nextcloud-install.sh +++ b/install/alpine-nextcloud-install.sh @@ -48,7 +48,7 @@ $STD apk add nextcloud-mysql mariadb mariadb-client $STD mariadb-install-db --user=mysql --datadir=/var/lib/mysql $STD service mariadb start $STD rc-update add mariadb -mysql -uroot -p"$ADMIN_PASS" -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '$ADMIN_PASS' WITH GRANT OPTION; DELETE FROM mysql.user WHERE User=''; DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'); DROP DATABASE test; DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'; CREATE DATABASE $DB_NAME; GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS'; GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost.localdomain' IDENTIFIED BY '$DB_PASS'; FLUSH PRIVILEGES;" +mariadb -uroot -p"$ADMIN_PASS" -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '$ADMIN_PASS' WITH GRANT OPTION; DELETE FROM mysql.user WHERE User=''; DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'); DROP DATABASE test; DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'; CREATE DATABASE $DB_NAME; GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS'; GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost.localdomain' IDENTIFIED BY '$DB_PASS'; FLUSH PRIVILEGES;" $STD apk del mariadb-client msg_ok "Installed MySQL Database" diff --git a/install/apache-guacamole-install.sh b/install/apache-guacamole-install.sh index fa5d27cc9..80fe549fe 100644 --- a/install/apache-guacamole-install.sh +++ b/install/apache-guacamole-install.sh @@ -76,9 +76,9 @@ msg_info "Setup Database" DB_NAME=guacamole_db DB_USER=guacamole_user DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -mysql -u root -e "CREATE DATABASE $DB_NAME;" -mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +mariadb -u root -e "CREATE DATABASE $DB_NAME;" +mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "Guacamole-Credentials" echo "Database User: $DB_USER" @@ -86,7 +86,7 @@ mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVI echo "Database Name: $DB_NAME" } >>~/guacamole.creds cd guacamole-auth-jdbc-1.5.5/mysql/schema -cat *.sql | mysql -u root ${DB_NAME} +cat *.sql | mariadb -u root ${DB_NAME} { echo "mysql-hostname: 127.0.0.1" echo "mysql-port: 3306" diff --git a/install/apache-tika-install.sh b/install/apache-tika-install.sh index f654ad6bc..0dfa3442d 100644 --- a/install/apache-tika-install.sh +++ b/install/apache-tika-install.sh @@ -42,7 +42,7 @@ msg_info "Installing Apache Tika" mkdir -p /opt/apache-tika cd /opt/apache-tika RELEASE="$(curl -fsSL https://dlcdn.apache.org/tika/ | grep -oP '(?<=href=")[0-9]+\.[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1)" -curl -fsSL "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar" -o $(basename "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar") +curl -fsSL "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar" -o tika-server-standard-${RELEASE}.jar mv tika-server-standard-${RELEASE}.jar tika-server-standard.jar echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed Apache Tika" diff --git a/install/authelia-install.sh b/install/authelia-install.sh index 16f4e0ada..fb3d348b0 100644 --- a/install/authelia-install.sh +++ b/install/authelia-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Authelia" RELEASE=$(curl -fsSL https://api.github.com/repos/authelia/authelia/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb" -o $(basename "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb") +curl -fsSL "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb" -o "authelia_${RELEASE}_amd64.deb" $STD dpkg -i "authelia_${RELEASE}_amd64.deb" msg_ok "Install Authelia completed" diff --git a/install/baikal-install.sh b/install/baikal-install.sh index 6e1a99619..0176c4f48 100644 --- a/install/baikal-install.sh +++ b/install/baikal-install.sh @@ -39,7 +39,7 @@ msg_ok "Set up PostgreSQL Database" msg_info "Installing Baikal" RELEASE=$(curl -fsSL https://api.github.com/repos/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt -curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -o $(basename "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip") +curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -o "baikal-${RELEASE}.zip" $STD unzip "baikal-${RELEASE}.zip" cat </opt/baikal/config/baikal.yaml database: diff --git a/install/barcode-buddy-install.sh b/install/barcode-buddy-install.sh index 6f4ff92fc..d9f02d9f1 100644 --- a/install/barcode-buddy-install.sh +++ b/install/barcode-buddy-install.sh @@ -24,7 +24,7 @@ msg_ok "Installed Dependencies" msg_info "Installing barcodebuddy" RELEASE=$(curl -fsSL https://api.github.com/repos/Forceu/barcodebuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip" $STD unzip "v${RELEASE}.zip" mv "/opt/barcodebuddy-${RELEASE}" /opt/barcodebuddy chown -R www-data:www-data /opt/barcodebuddy/data diff --git a/install/bazarr-install.sh b/install/bazarr-install.sh index 1032b46c1..7837b8153 100755 --- a/install/bazarr-install.sh +++ b/install/bazarr-install.sh @@ -23,7 +23,7 @@ msg_ok "Setup Python3" msg_info "Installing Bazarr" mkdir -p /var/lib/bazarr/ -curl -fsSL "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip" -o $(basename "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip") +curl -fsSL "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip" -o "bazarr.zip" $STD unzip bazarr -d /opt/bazarr chmod 775 /opt/bazarr /var/lib/bazarr/ $STD python3 -m pip install -q -r /opt/bazarr/requirements.txt diff --git a/install/bookstack-install.sh b/install/bookstack-install.sh index 769e01467..01d307a62 100644 --- a/install/bookstack-install.sh +++ b/install/bookstack-install.sh @@ -28,9 +28,9 @@ msg_info "Setting up Database" DB_NAME=bookstack DB_USER=bookstack DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD sudo mysql -u root -e "CREATE DATABASE $DB_NAME;" -$STD sudo mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -$STD sudo mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD sudo mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD sudo mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +$STD sudo mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "Bookstack-Credentials" echo "Bookstack Database User: $DB_USER" @@ -43,7 +43,7 @@ msg_info "Setup Bookstack (Patience)" LOCAL_IP="$(hostname -I | awk '{print $1}')" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/BookStackApp/BookStack/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip" $STD unzip v${RELEASE}.zip mv BookStack-${RELEASE} /opt/bookstack cd /opt/bookstack diff --git a/install/caddy-install.sh b/install/caddy-install.sh index b9631fd81..83298772f 100644 --- a/install/caddy-install.sh +++ b/install/caddy-install.sh @@ -29,22 +29,12 @@ msg_ok "Installed Caddy" read -r -p "${TAB3}Would you like to install xCaddy Addon? " prompt if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then - msg_info "Installing Golang" - set +o pipefail - temp_file=$(mktemp) - golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) - curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" - tar -C /usr/local -xzf "$temp_file" - ln -sf /usr/local/go/bin/go /usr/local/bin/go - rm -f "$temp_file" - set -o pipefail - msg_ok "Installed Golang" - + install_go msg_info "Setup xCaddy" $STD apt-get install -y git cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb" -o $(basename "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb") + curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb" -o "xcaddy_${RELEASE:1}_linux_amd64.deb" $STD dpkg -i xcaddy_"${RELEASE:1}"_linux_amd64.deb rm -rf /opt/xcaddy* $STD xcaddy build diff --git a/install/commafeed-install.sh b/install/commafeed-install.sh index d990a2d55..5162ab4ab 100644 --- a/install/commafeed-install.sh +++ b/install/commafeed-install.sh @@ -19,7 +19,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Azul Zulu" curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -o "/etc/apt/trusted.gpg.d/zulu-repo.asc" -curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o $(basename "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") +curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o "zulu-repo_1.0.0-3_all.deb" $STD dpkg -i zulu-repo_1.0.0-3_all.deb $STD apt-get update $STD apt-get -y install zulu17-jdk @@ -28,7 +28,7 @@ msg_ok "Installed Azul Zulu" RELEASE=$(curl -fsSL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Installing CommaFeed ${RELEASE}" mkdir /opt/commafeed -curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o $(basename "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip") +curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o "commafeed-${RELEASE}-h2-jvm.zip" $STD unzip commafeed-${RELEASE}-h2-jvm.zip mv commafeed-${RELEASE}-h2/* /opt/commafeed/ echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/cosmos-install.sh b/install/cosmos-install.sh index 289f31cfb..66253623c 100644 --- a/install/cosmos-install.sh +++ b/install/cosmos-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" msg_info "Install mergerfs" MERGERFS_VERSION="2.40.2" -curl -fsSL "https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" -o $(basename "https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb") +curl -fsSL "https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" -o "mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" $STD dpkg -i "mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" || $STD apt-get install -f -y rm "mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" msg_ok "Installed mergerfs" diff --git a/install/crafty-controller-install.sh b/install/crafty-controller-install.sh index 991684f98..d12e9ae6f 100644 --- a/install/crafty-controller-install.sh +++ b/install/crafty-controller-install.sh @@ -47,7 +47,7 @@ cd /opt mkdir -p /opt/crafty-controller/crafty /opt/crafty-controller/server RELEASE=$(curl -fsSL "https://gitlab.com/api/v4/projects/20430749/releases" | grep -o '"tag_name":"v[^"]*"' | head -n 1 | sed 's/"tag_name":"v//;s/"//') echo "${RELEASE}" >"/opt/crafty-controller_version.txt" -curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o $(basename "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip") +curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o "crafty-4-v${RELEASE}.zip" $STD unzip crafty-4-v${RELEASE}.zip cp -a crafty-4-v${RELEASE}/. /opt/crafty-controller/crafty/crafty-4/ rm -rf crafty-4-v${RELEASE} diff --git a/install/dolibarr-install.sh b/install/dolibarr-install.sh index 712fc060e..03f95cc6b 100644 --- a/install/dolibarr-install.sh +++ b/install/dolibarr-install.sh @@ -23,7 +23,7 @@ install_mariadb msg_info "Setting up Database" ROOT_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$ROOT_PASS'); flush privileges;" +$STD sudo mariadb -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$ROOT_PASS'); flush privileges;" { echo "Dolibarr DB Credentials" echo "MariaDB Root Password: $ROOT_PASS" diff --git a/install/duplicati-install.sh b/install/duplicati-install.sh index 088a3a402..2d0ebf889 100644 --- a/install/duplicati-install.sh +++ b/install/duplicati-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" msg_info "Setting up Duplicati" RELEASE=$(curl -fsSL https://api.github.com/repos/duplicati/duplicati/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') -curl -fsSL "https://github.com/duplicati/duplicati/releases/download/v${RELEASE}/duplicati-${RELEASE}-linux-x64-gui.deb" -o $(basename "https://github.com/duplicati/duplicati/releases/download/v${RELEASE}/duplicati-${RELEASE}-linux-x64-gui.deb") +curl -fsSL "https://github.com/duplicati/duplicati/releases/download/v${RELEASE}/duplicati-${RELEASE}-linux-x64-gui.deb" -o "duplicati-${RELEASE}-linux-x64-gui.deb" $STD dpkg -i duplicati-${RELEASE}-linux-x64-gui.deb echo "${RELEASE}" >/opt/Duplicati_version.txt msg_ok "Finished setting up Duplicati" diff --git a/install/emby-install.sh b/install/emby-install.sh index 0df3edf7c..8dda80eb7 100644 --- a/install/emby-install.sh +++ b/install/emby-install.sh @@ -27,7 +27,7 @@ msg_ok "Set Up Hardware Acceleration" LATEST=$(curl -fsSL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Installing Emby" -curl -fsSL "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb" -o $(basename "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb") +curl -fsSL "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb" -o "emby-server-deb_${LATEST}_amd64.deb" $STD dpkg -i emby-server-deb_${LATEST}_amd64.deb if [[ "$CTTYPE" == "0" ]]; then sed -i -e 's/^ssl-cert:x:104:$/render:x:104:root,emby/' -e 's/^render:x:108:root,emby$/ssl-cert:x:108:/' /etc/group diff --git a/install/ersatztv-install.sh b/install/ersatztv-install.sh index 035745f32..2d7f2bb24 100644 --- a/install/ersatztv-install.sh +++ b/install/ersatztv-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing FFmpeg (Patience)" cd /usr/local/bin -curl -fsSL "https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz" -o $(basename "https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz") +curl -fsSL "https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz" -o "ffmpeg-release-amd64-static.tar.xz" $STD tar -xvf ffmpeg-release-amd64-static.tar.xz rm -f ffmpeg-*.tar.xz cd ffmpeg-* diff --git a/install/fenrus-install.sh b/install/fenrus-install.sh index 72d2dd0e9..7ee052449 100644 --- a/install/fenrus-install.sh +++ b/install/fenrus-install.sh @@ -22,7 +22,7 @@ msg_info "Installing ASP.NET Core 7 SDK" var_os=$(grep "^ID=" /etc/os-release | cut -d'=' -f2 | tr -d '"') var_version=$(grep "^VERSION_ID=" /etc/os-release | cut -d'=' -f2 | tr -d '"') if [ "${var_os}" = "debian" ]; then - curl -fsSL "https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb" -o $(basename "https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb") + curl -fsSL "https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb" -o "packages-microsoft-prod.deb" $STD dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb fi diff --git a/install/firefly-install.sh b/install/firefly-install.sh index bda0e1ced..05e564409 100644 --- a/install/firefly-install.sh +++ b/install/firefly-install.sh @@ -45,7 +45,7 @@ msg_ok "Set up database" msg_info "Installing Firefly III (Patience)" RELEASE=$(curl -fsSL https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') cd /opt -curl -fsSL "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" -o $(basename "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" -o "FireflyIII-v${RELEASE}.tar.gz" mkdir -p /opt/firefly tar -xzf FireflyIII-v${RELEASE}.tar.gz -C /opt/firefly chown -R www-data:www-data /opt/firefly diff --git a/install/freshrss-install.sh b/install/freshrss-install.sh index c4e7c0479..dc2894f61 100644 --- a/install/freshrss-install.sh +++ b/install/freshrss-install.sh @@ -39,7 +39,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing FreshRSS" RELEASE=$(curl -fsSL https://api.github.com/repos/FreshRSS/FreshRSS/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt -curl -fsSL "https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip" -o "${RELEASE}.zip" $STD unzip "${RELEASE}.zip" mv "/opt/FreshRSS-${RELEASE}" /opt/freshrss cd /opt/freshrss diff --git a/install/frigate-install.sh b/install/frigate-install.sh index a1d5fa339..14458c553 100644 --- a/install/frigate-install.sh +++ b/install/frigate-install.sh @@ -136,7 +136,7 @@ msg_info "Installing Coral Object Detection Model (Patience)" cd /opt/frigate export CCACHE_DIR=/root/.ccache export CCACHE_MAXSIZE=2G -curl -fsSL "https://github.com/libusb/libusb/archive/v1.0.26.zip" -o $(basename "https://github.com/libusb/libusb/archive/v1.0.26.zip") +curl -fsSL "https://github.com/libusb/libusb/archive/v1.0.26.zip" -o "v1.0.26.zip" $STD unzip v1.0.26.zip rm v1.0.26.zip cd libusb-1.0.26 diff --git a/install/gitea-install.sh b/install/gitea-install.sh index 96f2829ae..1af12b6da 100644 --- a/install/gitea-install.sh +++ b/install/gitea-install.sh @@ -21,7 +21,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Gitea" RELEASE=$(curl -fsSL https://github.com/go-gitea/gitea/releases/latest | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//') -curl -fsSL "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64" -o $(basename "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64") +curl -fsSL "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64" -o "gitea-$RELEASE-linux-amd64" mv gitea* /usr/local/bin/gitea chmod +x /usr/local/bin/gitea adduser --system --group --disabled-password --shell /bin/bash --home /etc/gitea gitea >/dev/null diff --git a/install/glance-install.sh b/install/glance-install.sh index cb1b9669f..84f65908c 100644 --- a/install/glance-install.sh +++ b/install/glance-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing Glance" RELEASE=$(curl -fsSL https://api.github.com/repos/glanceapp/glance/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz" -o $(basename "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz") +curl -fsSL "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz" -o "glance-linux-amd64.tar.gz" mkdir -p /opt/glance tar -xzf glance-linux-amd64.tar.gz -C /opt/glance cat </opt/glance/glance.yml diff --git a/install/glpi-install.sh b/install/glpi-install.sh index 02e2db94f..10be6a755 100644 --- a/install/glpi-install.sh +++ b/install/glpi-install.sh @@ -29,10 +29,10 @@ DB_NAME=glpi_db DB_USER=glpi DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql mysql -mysql -u root -e "CREATE DATABASE $DB_NAME;" -mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" -mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';" -mysql -u root -e "GRANT SELECT ON \`mysql\`.\`time_zone_name\` TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +mariadb -u root -e "CREATE DATABASE $DB_NAME;" +mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" +mariadb -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';" +mariadb -u root -e "GRANT SELECT ON \`mysql\`.\`time_zone_name\` TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "GLPI Database Credentials" echo "Database: $DB_NAME" @@ -44,7 +44,7 @@ msg_ok "Set up database" msg_info "Installing GLPi" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') -curl -fsSL "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz" -o $(basename "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz") +curl -fsSL "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz" -o "glpi-${RELEASE}.tgz" $STD tar -xzvf glpi-${RELEASE}.tgz cd /opt/glpi $STD php bin/console db:install --db-name=$DB_NAME --db-user=$DB_USER --db-password=$DB_PASS --no-interaction diff --git a/install/go2rtc-install.sh b/install/go2rtc-install.sh index 8a5bf5e1e..ab1d1bccc 100644 --- a/install/go2rtc-install.sh +++ b/install/go2rtc-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing go2rtc" mkdir -p /opt/go2rtc cd /opt/go2rtc -curl -fsSL "https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64" -o $(basename "https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64") +curl -fsSL "https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64" -o "go2rtc_linux_amd64" chmod +x go2rtc_linux_amd64 msg_ok "Installed go2rtc" diff --git a/install/gokapi-install.sh b/install/gokapi-install.sh index bf3de9532..e849ad361 100644 --- a/install/gokapi-install.sh +++ b/install/gokapi-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing Gokapi" LATEST=$(curl -fsSL https://api.github.com/repos/Forceu/Gokapi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) mkdir -p /opt/gokapi/{data,config} -curl -fsSL "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip" -o $(basename "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip") +curl -fsSL "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip" -o "gokapi-linux_amd64.zip" $STD unzip gokapi-linux_amd64.zip -d /opt/gokapi rm gokapi-linux_amd64.zip chmod +x /opt/gokapi/gokapi-linux_amd64 diff --git a/install/gotify-install.sh b/install/gotify-install.sh index 982f85877..b87e38cf4 100644 --- a/install/gotify-install.sh +++ b/install/gotify-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Gotify" RELEASE=$(curl -fsSL https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /opt/gotify cd /opt/gotify -curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o $(basename "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip") +curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o "gotify-linux-amd64.zip" $STD unzip gotify-linux-amd64.zip rm -rf gotify-linux-amd64.zip chmod +x gotify-linux-amd64 diff --git a/install/graylog-install.sh b/install/graylog-install.sh index 52ba757e4..21bec8777 100644 --- a/install/graylog-install.sh +++ b/install/graylog-install.sh @@ -13,19 +13,12 @@ setting_up_container network_check update_os -msg_info "Setup MongoDB" -curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor -echo "deb [signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg] https://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 -$STD apt-mark hold mongodb-org -systemctl enable -q --now mongod -msg_ok "Setup MongoDB" +MONGO_VERSION="7.0" install_mongodb msg_info "Setup Graylog Data Node" PASSWORD_SECRET=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16) -curl -fsSL "https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb" -o $(basename "https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb") -$STD dpkg -i graylog-6.1-repository_latest.deb +curl -fsSL "https://packages.graylog2.org/repo/packages/graylog-6.3-repository_latest.deb" -o "graylog-6.3-repository_latest.deb" +$STD dpkg -i graylog-6.3-repository_latest.deb $STD apt-get update $STD apt-get install graylog-datanode -y sed -i "s/password_secret =/password_secret = $PASSWORD_SECRET/g" /etc/graylog/datanode/datanode.conf diff --git a/install/grist-install.sh b/install/grist-install.sh index 2c73d66a5..9649accf4 100644 --- a/install/grist-install.sh +++ b/install/grist-install.sh @@ -27,7 +27,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/ export CYPRESS_INSTALL_BINARY=0 export NODE_OPTIONS="--max-old-space-size=2048" cd /opt -curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip" $STD unzip v$RELEASE.zip mv grist-core-${RELEASE} grist cd grist diff --git a/install/grocy-install.sh b/install/grocy-install.sh index 8376bbc58..1ae332783 100644 --- a/install/grocy-install.sh +++ b/install/grocy-install.sh @@ -32,7 +32,7 @@ msg_ok "Installed PHP8.2" msg_info "Installing grocy" latest=$(curl -fsSL https://api.github.com/repos/grocy/grocy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/grocy/grocy/releases/download/v${latest}/grocy_${latest}.zip" -o $(basename "https://github.com/grocy/grocy/releases/download/v${latest}/grocy_${latest}.zip") +curl -fsSL "https://github.com/grocy/grocy/releases/download/v${latest}/grocy_${latest}.zip" -o "grocy_${latest}.zip" $STD unzip grocy_${latest}.zip -d /var/www/html chown -R www-data:www-data /var/www/html cp /var/www/html/config-dist.php /var/www/html/data/config.php diff --git a/install/habitica-install.sh b/install/habitica-install.sh index c204a9e11..468274e23 100644 --- a/install/habitica-install.sh +++ b/install/habitica-install.sh @@ -18,7 +18,7 @@ $STD apt-get install -y \ libkrb5-dev \ build-essential \ git -curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb" -o $(basename "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb") +curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb" -o "libssl1.1_1.1.1f-1ubuntu2_amd64.deb" $STD dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb msg_ok "Installed Dependencies" diff --git a/install/headscale-install.sh b/install/headscale-install.sh index 2d9b91a6e..4a3cd1f3a 100644 --- a/install/headscale-install.sh +++ b/install/headscale-install.sh @@ -15,7 +15,7 @@ update_os RELEASE=$(curl -fsSL https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing ${APPLICATION} v${RELEASE}" -curl -fsSL "https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb" -o $(basename "https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb") +curl -fsSL "https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb" -o "headscale_${RELEASE}_linux_amd64.deb" $STD dpkg -i headscale_${RELEASE}_linux_amd64.deb systemctl enable -q --now headscale echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/heimdall-dashboard-install.sh b/install/heimdall-dashboard-install.sh index e2ba93829..4b823279e 100644 --- a/install/heimdall-dashboard-install.sh +++ b/install/heimdall-dashboard-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" RELEASE=$(curl -fsSL "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]') echo "${RELEASE}" >/opt/"${APPLICATION}"_version.txt msg_info "Installing Heimdall Dashboard ${RELEASE}" -curl -fsSL "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz" -o $(basename "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz") +curl -fsSL "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz" -o "${RELEASE}".tar.gz tar xzf "${RELEASE}".tar.gz VER=$(curl -fsSL https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') rm -rf "${RELEASE}".tar.gz diff --git a/install/hivemq-install.sh b/install/hivemq-install.sh index 642311a06..79bec8eaa 100644 --- a/install/hivemq-install.sh +++ b/install/hivemq-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed OpenJDK" msg_info "Installing HiveMQ CE" RELEASE=$(curl -fsSL https://api.github.com/repos/hivemq/hivemq-community-edition/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip" -o $(basename "https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip") +curl -fsSL "https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip" -o "hivemq-ce-${RELEASE}.zip" $STD unzip hivemq-ce-${RELEASE}.zip mkdir -p /opt/hivemq mv hivemq-ce-${RELEASE}/* /opt/hivemq diff --git a/install/homepage-install.sh b/install/homepage-install.sh index 8f33de2a6..7726b5ea1 100644 --- a/install/homepage-install.sh +++ b/install/homepage-install.sh @@ -22,7 +22,7 @@ NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules LOCAL_IP=$(hostname -I | awk '{print $1}') RELEASE=$(curl -fsSL https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing Homepage v${RELEASE} (Patience)" -curl -fsSL "https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz" -o "v${RELEASE}.tar.gz" $STD tar -xzf v${RELEASE}.tar.gz rm -rf v${RELEASE}.tar.gz mkdir -p /opt/homepage/config diff --git a/install/homer-install.sh b/install/homer-install.sh index eb6c30d3d..525dd3a4f 100644 --- a/install/homer-install.sh +++ b/install/homer-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Homer" mkdir -p /opt/homer cd /opt/homer -curl -fsSL "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip" -o $(basename "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip") +curl -fsSL "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip" -o "homer.zip" $STD unzip homer.zip rm -rf homer.zip cp assets/config.yml.dist assets/config.yml diff --git a/install/influxdb-install.sh b/install/influxdb-install.sh index c7ef0d48c..f19b13a37 100644 --- a/install/influxdb-install.sh +++ b/install/influxdb-install.sh @@ -36,8 +36,8 @@ if [[ $INFLUX == "2" ]]; then $STD apt-get install -y influxdb2 else $STD apt-get install -y influxdb - curl -fsSL "https://dl.influxdata.com/chronograf/releases/chronograf_1.10.1_amd64.deb" -o $(basename "https://dl.influxdata.com/chronograf/releases/chronograf_1.10.1_amd64.deb") - $STD dpkg -i chronograf_1.10.1_amd64.deb + curl -fsSL "https://dl.influxdata.com/chronograf/releases/chronograf_1.10.7_amd64.deb" -o "/chronograf_1.10.7_amd64.deb" + $STD dpkg -i chronograf_1.10.7_amd64.deb fi $STD systemctl enable --now influxdb msg_ok "Installed InfluxDB" diff --git a/install/inspircd-install.sh b/install/inspircd-install.sh index 73d5b3384..77620dcf1 100644 --- a/install/inspircd-install.sh +++ b/install/inspircd-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing InspIRCd" RELEASE=$(curl -fsSL https://api.github.com/repos/inspircd/inspircd/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb" -o $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb") +curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb" -o "inspircd_${RELEASE}.deb12u2_amd64.deb" $STD apt-get install "./inspircd_${RELEASE}.deb12u2_amd64.deb" -y &>/dev/null cat </etc/inspircd/inspircd.conf diff --git a/install/iventoy-install.sh b/install/iventoy-install.sh index b939b55fa..240984075 100644 --- a/install/iventoy-install.sh +++ b/install/iventoy-install.sh @@ -16,7 +16,7 @@ update_os RELEASE=$(curl -fsSL https://api.github.com/repos/ventoy/pxe/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing iVentoy v${RELEASE}" mkdir -p /opt/iventoy/{data,iso} -curl -fsSL "https://github.com/ventoy/PXE/releases/download/v${RELEASE}/iventoy-${RELEASE}-linux-free.tar.gz" -o $(basename "https://github.com/ventoy/PXE/releases/download/v${RELEASE}/iventoy-${RELEASE}-linux-free.tar.gz") +curl -fsSL "https://github.com/ventoy/PXE/releases/download/v${RELEASE}/iventoy-${RELEASE}-linux-free.tar.gz" -o "iventoy-${RELEASE}-linux-free.tar.gz" tar -C /tmp -xzf iventoy*.tar.gz mv /tmp/iventoy*/* /opt/iventoy/ rm -rf iventoy*.tar.gz diff --git a/install/jackett-install.sh b/install/jackett-install.sh index 6cff1bd92..73d7677cf 100644 --- a/install/jackett-install.sh +++ b/install/jackett-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Jackett" RELEASE=$(curl -fsSL https://github.com/Jackett/Jackett/releases/latest | grep "title>Release" | cut -d " " -f 4) -curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -o $(basename "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz") +curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -o "/opt/Jackett.Binaries.LinuxAMDx64.tar.gz" tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/kimai-install.sh b/install/kimai-install.sh index 2357abdaf..7020ed615 100644 --- a/install/kimai-install.sh +++ b/install/kimai-install.sh @@ -45,9 +45,9 @@ DB_NAME=kimai_db DB_USER=kimai DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) MYSQL_VERSION=$(mysql --version | grep -oP 'Distrib \K[0-9]+\.[0-9]+\.[0-9]+') -mysql -u root -e "CREATE DATABASE $DB_NAME;" -mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +mariadb -u root -e "CREATE DATABASE $DB_NAME;" +mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "Kimai-Credentials" echo "Kimai Database User: $DB_USER" @@ -58,7 +58,7 @@ msg_ok "Set up database" 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) }') -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 "${RELEASE}".zip $STD unzip "${RELEASE}".zip mv kimai-"${RELEASE}" /opt/kimai cd /opt/kimai diff --git a/install/koillection-install.sh b/install/koillection-install.sh index bd9093d44..177dca51d 100644 --- a/install/koillection-install.sh +++ b/install/koillection-install.sh @@ -54,7 +54,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing Koillection" RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt -curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -o "/opt/${RELEASE}.zip" $STD unzip "${RELEASE}.zip" mv "/opt/koillection-${RELEASE}" /opt/koillection cd /opt/koillection diff --git a/install/komga-install.sh b/install/komga-install.sh index 4236c9cc6..595a24f7e 100644 --- a/install/komga-install.sh +++ b/install/komga-install.sh @@ -19,7 +19,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Komga" RELEASE=$(curl -fsSL https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" -o $(basename "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar") +curl -fsSL "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" -o "komga-${RELEASE}.jar" mkdir -p /opt/komga mv -f komga-${RELEASE}.jar /opt/komga/komga.jar echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" diff --git a/install/komodo-install.sh b/install/komodo-install.sh index f6fef282a..99771b97f 100644 --- a/install/komodo-install.sh +++ b/install/komodo-install.sh @@ -61,7 +61,7 @@ case $DB_CHOICE in esac mkdir -p /opt/komodo cd /opt/komodo -curl -fsSL "https://raw.githubusercontent.com/moghtech/komodo/main/compose/$DB_COMPOSE_FILE" -o $(basename "https://raw.githubusercontent.com/moghtech/komodo/main/compose/$DB_COMPOSE_FILE") +curl -fsSL "https://raw.githubusercontent.com/moghtech/komodo/main/compose/$DB_COMPOSE_FILE" -o "/opt/komodo/$DB_COMPOSE_FILE" msg_info "Setup Komodo Environment" curl -fsSL "https://raw.githubusercontent.com/moghtech/komodo/main/compose/compose.env" -o "/opt/komodo/compose.env" diff --git a/install/listmonk-install.sh b/install/listmonk-install.sh index 9186f5b9a..84f2cb669 100644 --- a/install/listmonk-install.sh +++ b/install/listmonk-install.sh @@ -36,7 +36,7 @@ cd /opt mkdir /opt/listmonk mkdir /opt/listmonk/uploads RELEASE=$(curl -fsSL https://api.github.com/repos/knadh/listmonk/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" -o $(basename "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz") +curl -fsSL "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" -o "listmonk_${RELEASE}_linux_amd64.tar.gz" tar -xzf "listmonk_${RELEASE}_linux_amd64.tar.gz" -C /opt/listmonk $STD /opt/listmonk/listmonk --new-config --config /opt/listmonk/config.toml diff --git a/install/lubelogger-install.sh b/install/lubelogger-install.sh index 69647e6fc..d670f5856 100644 --- a/install/lubelogger-install.sh +++ b/install/lubelogger-install.sh @@ -23,7 +23,7 @@ mkdir -p /opt/lubelogger RELEASE=$(curl -fsSL https://api.github.com/repos/hargata/lubelog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE_TRIMMED=$(echo "${RELEASE}" | tr -d ".") cd /opt/lubelogger -curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -o $(basename "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip") +curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -o "LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" $STD unzip LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip chmod 700 /opt/lubelogger/CarCareTracker cp /opt/lubelogger/appsettings.json /opt/lubelogger/appsettings_bak.json diff --git a/install/mafl-install.sh b/install/mafl-install.sh index beda1033c..b07e56c71 100644 --- a/install/mafl-install.sh +++ b/install/mafl-install.sh @@ -24,7 +24,7 @@ NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing Mafl v${RELEASE}" -curl -fsSL "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz" -o "v${RELEASE}.tar.gz" tar -xzf v${RELEASE}.tar.gz mkdir -p /opt/mafl/data curl -fsSL "https://raw.githubusercontent.com/hywax/mafl/main/.example/config.yml" -o "/opt/mafl/data/config.yml" diff --git a/install/mariadb-install.sh b/install/mariadb-install.sh index ace993240..99c09b369 100644 --- a/install/mariadb-install.sh +++ b/install/mariadb-install.sh @@ -33,7 +33,7 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then php-json \ php-curl - curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -o $(basename "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz") + curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -o "phpMyAdmin-5.2.1-all-languages.tar.gz" mkdir -p /var/www/html/phpMyAdmin tar xf phpMyAdmin-5.2.1-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpMyAdmin cp /var/www/html/phpMyAdmin/config.sample.inc.php /var/www/html/phpMyAdmin/config.inc.php diff --git a/install/mediamtx-install.sh b/install/mediamtx-install.sh index b93476f19..9f55bc2d1 100644 --- a/install/mediamtx-install.sh +++ b/install/mediamtx-install.sh @@ -21,7 +21,7 @@ msg_info "Installing MediaMTX" RELEASE=$(curl -fsSL https://api.github.com/repos/bluenviron/mediamtx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') mkdir -p /opt/mediamtx cd /opt/mediamtx -curl -fsSL "https://github.com/bluenviron/mediamtx/releases/download/${RELEASE}/mediamtx_${RELEASE}_linux_amd64.tar.gz" -o $(basename "https://github.com/bluenviron/mediamtx/releases/download/${RELEASE}/mediamtx_${RELEASE}_linux_amd64.tar.gz") +curl -fsSL "https://github.com/bluenviron/mediamtx/releases/download/${RELEASE}/mediamtx_${RELEASE}_linux_amd64.tar.gz" -o "mediamtx_${RELEASE}_linux_amd64.tar.gz" tar xzf mediamtx_${RELEASE}_linux_amd64.tar.gz rm -rf mediamtx_${RELEASE}_linux_amd64.tar.gz msg_ok "Installed MediaMTX" diff --git a/install/minio-install.sh b/install/minio-install.sh index 5a5cd2317..c94af1227 100644 --- a/install/minio-install.sh +++ b/install/minio-install.sh @@ -15,8 +15,7 @@ update_os msg_info "Setup MinIO" RELEASE=$(curl -fsSL https://api.github.com/repos/minio/minio/releases/latest | grep '"tag_name"' | awk -F '"' '{print $4}') -curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -o $(basename "https://dl.min.io/server/minio/release/linux-amd64/minio") -mv minio /usr/local/bin/ +curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -o /usr/local/bin/minio chmod +x /usr/local/bin/minio useradd -r minio-user -s /sbin/nologin mkdir -p /home/minio-user @@ -30,10 +29,10 @@ MINIO_ROOT_USER=${MINIO_ADMIN_USER} MINIO_ROOT_PASSWORD=${MINIO_ADMIN_PASSWORD} EOF { - echo "" - echo "MinIO-Credentials" - echo "MinIO Admin User: $MINIO_ADMIN_USER" - echo "MinIO Admin Password: $MINIO_ADMIN_PASSWORD" + echo "" + echo "MinIO-Credentials" + echo "MinIO Admin User: $MINIO_ADMIN_USER" + echo "MinIO Admin Password: $MINIO_ADMIN_PASSWORD" } >>~/minio.creds echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Setup MinIO" diff --git a/install/monica-install.sh b/install/monica-install.sh index 02b015982..c4e136d34 100644 --- a/install/monica-install.sh +++ b/install/monica-install.sh @@ -28,9 +28,9 @@ msg_info "Setting up MariaDB" DB_NAME=monica DB_USER=monica DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD mysql -u root -e "CREATE DATABASE $DB_NAME;" -$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "monica-Credentials" echo "monica Database User: $DB_USER" @@ -42,7 +42,7 @@ msg_ok "Set up MariaDB" msg_info "Installing monica" RELEASE=$(curl -fsSL https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" -o $(basename "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2") +curl -fsSL "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" -o "monica-v${RELEASE}.tar.bz2" tar -xjf "monica-v${RELEASE}.tar.bz2" mv "/opt/monica-v${RELEASE}" /opt/monica cd /opt/monica diff --git a/install/myspeed-install.sh b/install/myspeed-install.sh index ddbde2d70..4bd6424a9 100644 --- a/install/myspeed-install.sh +++ b/install/myspeed-install.sh @@ -24,7 +24,7 @@ NODE_VERSION="22" install_node_and_modules msg_info "Installing MySpeed" RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5) cd /opt -curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -o $(basename "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip") +curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -o "MySpeed-$RELEASE.zip" $STD unzip MySpeed-$RELEASE.zip -d myspeed cd myspeed $STD npm install diff --git a/install/mysql-install.sh b/install/mysql-install.sh index 5f5251535..359c410ac 100644 --- a/install/mysql-install.sh +++ b/install/mysql-install.sh @@ -43,7 +43,7 @@ msg_ok "Installed MySQL" msg_info "Configure MySQL Server" ADMIN_PASS="$(openssl rand -base64 18 | cut -c1-13)" -$STD mysql -uroot -p"$ADMIN_PASS" -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH $RELEASE_AUTH BY '$ADMIN_PASS'; FLUSH PRIVILEGES;" +$STD mariadb -uroot -p"$ADMIN_PASS" -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH $RELEASE_AUTH BY '$ADMIN_PASS'; FLUSH PRIVILEGES;" echo "" >~/mysql.creds echo -e "MySQL user: root" >>~/mysql.creds echo -e "MySQL password: $ADMIN_PASS" >>~/mysql.creds @@ -62,7 +62,7 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then php-json \ php-curl - curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -o $(basename "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz") + curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -o "phpMyAdmin-5.2.1-all-languages.tar.gz" mkdir -p /var/www/html/phpMyAdmin tar xf phpMyAdmin-5.2.1-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpMyAdmin cp /var/www/html/phpMyAdmin/config.sample.inc.php /var/www/html/phpMyAdmin/config.inc.php diff --git a/install/netbox-install.sh b/install/netbox-install.sh index 110f163c4..6a3499c4c 100644 --- a/install/netbox-install.sh +++ b/install/netbox-install.sh @@ -53,7 +53,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing NetBox (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/netbox-community/netbox/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip" $STD unzip "v${RELEASE}.zip" mv /opt/netbox-"${RELEASE}"/ /opt/netbox diff --git a/install/nextpvr-install.sh b/install/nextpvr-install.sh index 3754dfb8b..be0b2ae69 100644 --- a/install/nextpvr-install.sh +++ b/install/nextpvr-install.sh @@ -29,7 +29,7 @@ msg_ok "Installed Dependencies" msg_info "Setup NextPVR (Patience)" cd /opt -curl -fsSL "https://nextpvr.com/nextpvr-helper.deb" -o $(basename "https://nextpvr.com/nextpvr-helper.deb") +curl -fsSL "https://nextpvr.com/nextpvr-helper.deb" -o "/opt/nextpvr-helper.deb" $STD dpkg -i nextpvr-helper.deb msg_ok "Installed NextPVR" diff --git a/install/nodebb-install.sh b/install/nodebb-install.sh index 64247da90..d4f1093ae 100644 --- a/install/nodebb-install.sh +++ b/install/nodebb-install.sh @@ -68,7 +68,7 @@ msg_ok "MongoDB successfully configurated" msg_info "Install NodeBB" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/NodeBB/NodeBB/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip" -o "/opt/v${RELEASE}.zip" $STD unzip v${RELEASE}.zip mv NodeBB-${RELEASE} /opt/nodebb cd /opt/nodebb diff --git a/install/npmplus-install.sh b/install/npmplus-install.sh index f69ed3959..1162bc45c 100644 --- a/install/npmplus-install.sh +++ b/install/npmplus-install.sh @@ -37,7 +37,7 @@ msg_ok "Installed Docker & Compose" msg_info "Fetching NPMplus" cd /opt -curl -fsSL "https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml" -o $(basename "https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml") +curl -fsSL "https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml" -o compose.yaml msg_ok "Fetched NPMplus" attempts=0 diff --git a/install/ombi-install.sh b/install/ombi-install.sh index 2ae4855a2..87595d523 100644 --- a/install/ombi-install.sh +++ b/install/ombi-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Ombi" RELEASE=$(curl -fsSL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) -curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -o $(basename "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz") +curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -o "linux-x64.tar.gz" echo "${RELEASE}" >/opt/${APPLICATION}_version.txt mkdir -p /opt/ombi tar -xzf linux-x64.tar.gz -C /opt/ombi diff --git a/install/onedev-install.sh b/install/onedev-install.sh index e788f4f14..42c544fb9 100644 --- a/install/onedev-install.sh +++ b/install/onedev-install.sh @@ -15,14 +15,14 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - default-jdk \ - git \ - git-lfs + default-jdk \ + git \ + git-lfs msg_ok "Installed Dependencies" msg_info "Installing OneDev" cd /opt -curl -fsSL "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz" -o $(basename "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz") +curl -fsSL "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz" -o "/opt/onedev-latest.tar.gz" tar -xzf onedev-latest.tar.gz mv /opt/onedev-latest /opt/onedev $STD /opt/onedev/bin/server.sh install diff --git a/install/opengist-install.sh b/install/opengist-install.sh index 8c9f991b5..ebfd615f5 100644 --- a/install/opengist-install.sh +++ b/install/opengist-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Install Opengist" RELEASE=$(curl -fsSL https://api.github.com/repos/thomiceli/opengist/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -curl -fsSL "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" -o $(basename "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz") +curl -fsSL "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" -o "opengist${RELEASE}-linux-amd64.tar.gz" $STD tar -xzf opengist${RELEASE}-linux-amd64.tar.gz mv opengist /opt/opengist chmod +x /opt/opengist/opengist diff --git a/install/paperless-ai-install.sh b/install/paperless-ai-install.sh index 196403695..f4972ef46 100644 --- a/install/paperless-ai-install.sh +++ b/install/paperless-ai-install.sh @@ -28,7 +28,7 @@ install_node_and_modules msg_info "Setup Paperless-AI" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/clusterzx/paperless-ai/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip" $STD unzip v${RELEASE}.zip mv paperless-ai-${RELEASE} /opt/paperless-ai cd /opt/paperless-ai diff --git a/install/paperless-ngx-install.sh b/install/paperless-ngx-install.sh index 6ef6e09eb..541aa4b2a 100644 --- a/install/paperless-ngx-install.sh +++ b/install/paperless-ngx-install.sh @@ -59,7 +59,7 @@ $STD apt-get install -y \ tesseract-ocr-eng cd /tmp -curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -o $(basename "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz") +curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -o "ghostscript-10.04.0.tar.gz" $STD tar -xzf ghostscript-10.04.0.tar.gz cd ghostscript-10.04.0 $STD ./configure diff --git a/install/part-db-install.sh b/install/part-db-install.sh index 55c91521a..3fde07809 100644 --- a/install/part-db-install.sh +++ b/install/part-db-install.sh @@ -50,7 +50,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing Part-DB (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/Part-DB/Part-DB-server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -o "/opt/v${RELEASE}.zip" $STD unzip "v${RELEASE}.zip" mv /opt/Part-DB-server-${RELEASE}/ /opt/partdb diff --git a/install/paymenter-install.sh b/install/paymenter-install.sh index cbde29d51..561c7494d 100644 --- a/install/paymenter-install.sh +++ b/install/paymenter-install.sh @@ -58,9 +58,9 @@ DB_NAME=paymenter DB_USER=paymenter DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql mysql -mysql -u root -e "CREATE DATABASE $DB_NAME;" -mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" -mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost' WITH GRANT OPTION;" +mariadb -u root -e "CREATE DATABASE $DB_NAME;" +mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" +mariadb -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost' WITH GRANT OPTION;" { echo "Paymenter Database Credentials" echo "Database: $DB_NAME" diff --git a/install/pelican-panel-install.sh b/install/pelican-panel-install.sh index 169523c6b..6b722f85a 100644 --- a/install/pelican-panel-install.sh +++ b/install/pelican-panel-install.sh @@ -41,9 +41,9 @@ msg_info "Setting up MariaDB" DB_NAME=panel DB_USER=pelican DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD mysql -u root -e "CREATE DATABASE $DB_NAME;" -$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "Pelican Panel-Credentials" echo "Pelican Panel Database User: $DB_USER" @@ -56,7 +56,7 @@ msg_info "Installing Pelican Panel" RELEASE=$(curl -fsSL https://api.github.com/repos/pelican-dev/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir /opt/pelican-panel cd /opt/pelican-panel -curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz") +curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -o "panel.tar.gz" tar -xzf "panel.tar.gz" $STD composer install --no-dev --optimize-autoloader --no-interaction $STD php artisan p:environment:setup diff --git a/install/pf2etools-install.sh b/install/pf2etools-install.sh index c5b10bca9..ed1e7bbab 100644 --- a/install/pf2etools-install.sh +++ b/install/pf2etools-install.sh @@ -25,7 +25,7 @@ NODE_VERSION="22" install_node_and_modules msg_info "Setup Pf2eTools" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/Pf2eToolsOrg/Pf2eTools/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -o "${RELEASE}.zip" $STD unzip "${RELEASE}.zip" mv "Pf2eTools-${RELEASE:1}" /opt/Pf2eTools cd /opt/Pf2eTools diff --git a/install/phpipam-install.sh b/install/phpipam-install.sh index 27200c60b..52b3e90ca 100644 --- a/install/phpipam-install.sh +++ b/install/phpipam-install.sh @@ -27,9 +27,9 @@ msg_info "Setting up MariaDB" DB_NAME=phpipam DB_USER=phpipam DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD mysql -u root -e "CREATE DATABASE $DB_NAME;" -$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "phpIPAM-Credentials" echo "phpIPAM Database User: $DB_USER" @@ -41,9 +41,9 @@ msg_ok "Set up MariaDB" msg_info "Installing phpIPAM" RELEASE=$(curl -fsSL https://api.github.com/repos/phpipam/phpipam/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -o $(basename "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip") +curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -o "phpipam-v${RELEASE}.zip" $STD unzip "phpipam-v${RELEASE}.zip" -mysql -u root "${DB_NAME}" "/opt/pingvin_version.txt" mv pingvin-share-${RELEASE} /opt/pingvin-share diff --git a/install/plant-it-install.sh b/install/plant-it-install.sh index 87df2c51b..e24885a15 100644 --- a/install/plant-it-install.sh +++ b/install/plant-it-install.sh @@ -37,9 +37,9 @@ JWT_SECRET=$(openssl rand -base64 24 | tr -d '/+=') DB_NAME=plantit DB_USER=plantit_usr DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD mysql -u root -e "CREATE DATABASE $DB_NAME;" -$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "Plant-it Credentials" echo "Plant-it Database User: $DB_USER" @@ -50,7 +50,7 @@ msg_ok "Set up MariaDB" msg_info "Setup Plant-it" RELEASE=$(curl -fsSL https://api.github.com/repos/MDeLuise/plant-it/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar" -o $(basename "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar") +curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar" -o "server.jar" mkdir -p /opt/plant-it/{backend,frontend} mkdir -p /opt/plant-it-data mv -f server.jar /opt/plant-it/backend/server.jar @@ -80,7 +80,7 @@ CACHE_PORT=6379 EOF cd /opt/plant-it/frontend -curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz" -o $(basename "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz") +curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz" -o "client.tar.gz" tar -xzf client.tar.gz echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" msg_ok "Setup Plant-it" diff --git a/install/privatebin-install.sh b/install/privatebin-install.sh index b3b90cc15..7e5487228 100644 --- a/install/privatebin-install.sh +++ b/install/privatebin-install.sh @@ -26,7 +26,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/PrivateBin/PrivateBin/releases echo "${RELEASE}" >/opt/${APPLICATION}_version.txt mkdir -p /opt/privatebin cd /opt/privatebin -curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -o "${RELEASE}.zip" $STD unzip ${RELEASE}.zip mv PrivateBin-${RELEASE}/* . msg_ok "Installed PrivateBin" diff --git a/install/projectsend-install.sh b/install/projectsend-install.sh index 8522de071..55e696af9 100644 --- a/install/projectsend-install.sh +++ b/install/projectsend-install.sh @@ -26,9 +26,9 @@ msg_info "Setting up MariaDB" DB_NAME=projectsend DB_USER=projectsend DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD mysql -u root -e "CREATE DATABASE $DB_NAME;" -$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "projectsend-Credentials" echo "projectsend Database User: $DB_USER" @@ -40,7 +40,7 @@ msg_ok "Set up MariaDB" msg_info "Installing projectsend" RELEASE=$(curl -fsSL https://api.github.com/repos/projectsend/projectsend/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -o $(basename "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip") +curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -o "projectsend-r${RELEASE}.zip" mkdir projectsend $STD unzip "projectsend-r${RELEASE}.zip" -d projectsend mv /opt/projectsend/includes/sys.config.sample.php /opt/projectsend/includes/sys.config.php diff --git a/install/prometheus-alertmanager-install.sh b/install/prometheus-alertmanager-install.sh index 4a71e95cb..9b01f93f6 100755 --- a/install/prometheus-alertmanager-install.sh +++ b/install/prometheus-alertmanager-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Prometheus Alertmanager" RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/alertmanager/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /etc/alertmanager mkdir -p /var/lib/alertmanager -curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -o $(basename "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz") +curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -o "alertmanager-${RELEASE}.linux-amd64.tar.gz" tar -xf alertmanager-${RELEASE}.linux-amd64.tar.gz mv alertmanager-${RELEASE}.linux-amd64/alertmanager alertmanager-${RELEASE}.linux-amd64/amtool /usr/local/bin/ mv alertmanager-${RELEASE}.linux-amd64/alertmanager.yml /etc/alertmanager/alertmanager.yml diff --git a/install/prometheus-install.sh b/install/prometheus-install.sh index c645566d5..4a7eccecb 100644 --- a/install/prometheus-install.sh +++ b/install/prometheus-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Prometheus" RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/prometheus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /etc/prometheus mkdir -p /var/lib/prometheus -curl -fsSL "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz" -o $(basename "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz") +curl -fsSL "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz" -o "prometheus-${RELEASE}.linux-amd64.tar.gz" tar -xf prometheus-${RELEASE}.linux-amd64.tar.gz mv prometheus-${RELEASE}.linux-amd64/prometheus prometheus-${RELEASE}.linux-amd64/promtool /usr/local/bin/ mv prometheus-${RELEASE}.linux-amd64/prometheus.yml /etc/prometheus/prometheus.yml diff --git a/install/prometheus-paperless-ngx-exporter-install.sh b/install/prometheus-paperless-ngx-exporter-install.sh index 96b77404e..0c8fb6e84 100755 --- a/install/prometheus-paperless-ngx-exporter-install.sh +++ b/install/prometheus-paperless-ngx-exporter-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Prometheus Paperless NGX Exporter" RELEASE=$(curl -fsSL https://api.github.com/repos/hansmi/prometheus-paperless-exporter/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz" -o $(basename "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz") +curl -fsSL "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz" -o "prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz" tar -xf prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz mv prometheus-paperless-exporter_${RELEASE}_linux_amd64/prometheus-paperless-exporter /usr/local/bin/ mkdir -p /etc/prometheus-paperless-ngx-exporter diff --git a/install/pterodactyl-panel-install.sh b/install/pterodactyl-panel-install.sh index 1c6068af5..cd82d45bd 100644 --- a/install/pterodactyl-panel-install.sh +++ b/install/pterodactyl-panel-install.sh @@ -42,9 +42,9 @@ msg_info "Setting up MariaDB" DB_NAME=panel DB_USER=pterodactyl DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD mysql -u root -e "CREATE DATABASE $DB_NAME;" -$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "pterodactyl Panel-Credentials" echo "pterodactyl Panel Database User: $DB_USER" @@ -61,7 +61,7 @@ msg_info "Installing pterodactyl Panel" RELEASE=$(curl -fsSL https://api.github.com/repos/pterodactyl/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir /opt/pterodactyl-panel cd /opt/pterodactyl-panel -curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz") +curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -o "panel.tar.gz" tar -xzf "panel.tar.gz" cp .env.example .env IP=$(hostname -I | awk '{print $1}') diff --git a/install/rdtclient-install.sh b/install/rdtclient-install.sh index 60ec6bec9..340a41040 100644 --- a/install/rdtclient-install.sh +++ b/install/rdtclient-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing ASP.NET Core Runtime" -curl -fsSL "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb" -o $(basename "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb") +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 packages-microsoft-prod.deb $STD apt-get update @@ -22,7 +22,7 @@ $STD apt-get install -y dotnet-sdk-9.0 msg_ok "Installed ASP.NET Core Runtime" msg_info "Installing rdtclient" -curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -o $(basename "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip") +curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -o RealDebridClient.zip $STD unzip RealDebridClient.zip -d /opt/rdtc rm RealDebridClient.zip cd /opt/rdtc diff --git a/install/runtipi-install.sh b/install/runtipi-install.sh index d0257c8d3..3c4d7f68b 100644 --- a/install/runtipi-install.sh +++ b/install/runtipi-install.sh @@ -18,7 +18,7 @@ DOCKER_CONFIG_PATH='/etc/docker/daemon.json' mkdir -p "$(dirname "$DOCKER_CONFIG_PATH")" echo -e '{\n "log-driver": "journald"\n}' >"$DOCKER_CONFIG_PATH" cd /opt -curl -fsSL "https://raw.githubusercontent.com/runtipi/runtipi/master/scripts/install.sh" -o $(basename "https://raw.githubusercontent.com/runtipi/runtipi/master/scripts/install.sh") +curl -fsSL "https://raw.githubusercontent.com/runtipi/runtipi/master/scripts/install.sh" -o "install.sh" chmod +x install.sh $STD ./install.sh chmod 666 /opt/runtipi/state/settings.json diff --git a/install/seelf-install.sh b/install/seelf-install.sh index b90b890e1..6c9c8c31d 100644 --- a/install/seelf-install.sh +++ b/install/seelf-install.sh @@ -24,7 +24,7 @@ NODE_VERSION="22" install_node_and_modules msg_info "Setting up seelf. Patience" RELEASE=$(curl -fsSL https://api.github.com/repos/YuukanOO/seelf/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -o "v${RELEASE}.tar.gz" tar -xzf v"${RELEASE}".tar.gz mv seelf-"${RELEASE}"/ /opt/seelf cd /opt/seelf diff --git a/install/semaphore-install.sh b/install/semaphore-install.sh index 93a604a78..3c0d4079e 100644 --- a/install/semaphore-install.sh +++ b/install/semaphore-install.sh @@ -29,7 +29,7 @@ msg_info "Setup Semaphore" RELEASE=$(curl -fsSL https://api.github.com/repos/semaphoreui/semaphore/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /opt/semaphore cd /opt/semaphore -curl -fsSL "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb" -o $(basename "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb") +curl -fsSL "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb" -o "semaphore_${RELEASE}_linux_amd64.deb" $STD dpkg -i semaphore_${RELEASE}_linux_amd64.deb SEM_HASH=$(openssl rand -base64 32) diff --git a/install/sftpgo-install.sh b/install/sftpgo-install.sh index 1c62daa5c..2d0859fcb 100644 --- a/install/sftpgo-install.sh +++ b/install/sftpgo-install.sh @@ -17,16 +17,7 @@ msg_info "Installing Dependencies" $STD apt-get install -y sqlite3 msg_ok "Installed Dependencies" -msg_info "Installing Golang" -set +o pipefail -temp_file=$(mktemp) -golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" -tar -C /usr/local -xzf "$temp_file" -ln -sf /usr/local/go/bin/go /usr/local/bin/go -rm -f "$temp_file" -set -o pipefail -msg_ok "Installed Golang" +install_go msg_info "Installing SFTPGo" curl -fsSL https://ftp.osuosl.org/pub/sftpgo/apt/gpg.key | gpg --dearmor -o /usr/share/keyrings/sftpgo-archive-keyring.gpg diff --git a/install/shinobi-install.sh b/install/shinobi-install.sh index 759a86921..08a83e452 100644 --- a/install/shinobi-install.sh +++ b/install/shinobi-install.sh @@ -43,7 +43,7 @@ sqlpass="root" echo "mariadb-server mariadb-server/root_password password $sqlpass" | debconf-set-selections echo "mariadb-server mariadb-server/root_password_again password $sqlpass" | debconf-set-selections service mysql start -mysql -u "$sqluser" -p"$sqlpass" -e "source sql/user.sql" || true +mariadb -u "$sqluser" -p"$sqlpass" -e "source sql/user.sql" || true msg_ok "Installed Database" msg_info "Installing Shinobi" diff --git a/install/silverbullet-install.sh b/install/silverbullet-install.sh index c6ed14c31..590235e29 100644 --- a/install/silverbullet-install.sh +++ b/install/silverbullet-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing Silverbullet" RELEASE=$(curl -fsSL https://api.github.com/repos/silverbulletmd/silverbullet/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') mkdir -p /opt/silverbullet/bin /opt/silverbullet/space -curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o $(basename "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip") +curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o "/opt/silverbullet/bin/silverbullet-server-linux-x86_64.zip" $STD unzip -o -d /opt/silverbullet/bin/ silverbullet-server-linux-x86_64.zip chmod +x /opt/silverbullet/bin/silverbullet echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/snipeit-install.sh b/install/snipeit-install.sh index 43ea5c5c2..481fd7d7c 100644 --- a/install/snipeit-install.sh +++ b/install/snipeit-install.sh @@ -27,9 +27,9 @@ msg_info "Setting up database" DB_NAME=snipeit_db DB_USER=snipeit DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -mysql -u root -e "CREATE DATABASE $DB_NAME;" -mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +mariadb -u root -e "CREATE DATABASE $DB_NAME;" +mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "SnipeIT-Credentials" echo "SnipeIT Database User: $DB_USER" diff --git a/install/spoolman-install.sh b/install/spoolman-install.sh index b1fb6f105..4a70725bf 100644 --- a/install/spoolman-install.sh +++ b/install/spoolman-install.sh @@ -33,7 +33,7 @@ msg_ok "Setup Python3" msg_info "Installing Spoolman" RELEASE=$(curl -fsSL https://github.com/Donkie/Spoolman/releases/latest | grep "title>Release" | cut -d " " -f 4) cd /opt -curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip" -o $(basename "https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip") +curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip" -o "spoolman.zip" $STD unzip spoolman.zip -d spoolman rm -rf spoolman.zip cd spoolman diff --git a/install/stirling-pdf-install.sh b/install/stirling-pdf-install.sh index 64f47f276..c058ab7be 100644 --- a/install/stirling-pdf-install.sh +++ b/install/stirling-pdf-install.sh @@ -55,7 +55,7 @@ msg_ok "Installed Python Dependencies" msg_info "Installing Azul Zulu" curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -o "/etc/apt/trusted.gpg.d/zulu-repo.asc" -curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o $(basename "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") +curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o "/zulu-repo_1.0.0-3_all.deb" $STD dpkg -i zulu-repo_1.0.0-3_all.deb $STD apt-get update $STD apt-get -y install zulu17-jdk @@ -76,7 +76,7 @@ msg_ok "Installed Language Packs" msg_info "Installing Stirling-PDF (Additional Patience)" RELEASE=$(curl -fsSL https://api.github.com/repos/Stirling-Tools/Stirling-PDF/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v${RELEASE}.tar.gz" -o "v${RELEASE}.tar.gz" tar -xzf v${RELEASE}.tar.gz cd Stirling-PDF-$RELEASE chmod +x ./gradlew diff --git a/install/tasmoadmin-install.sh b/install/tasmoadmin-install.sh index 45b99527f..0dd85056d 100644 --- a/install/tasmoadmin-install.sh +++ b/install/tasmoadmin-install.sh @@ -25,7 +25,7 @@ $STD apt-get install -y git msg_ok "Installed Dependencies" msg_info "Installing TasmoAdmin" -curl -fsSL "https://github.com/TasmoAdmin/TasmoAdmin/releases/download/v3.1.1/tasmoadmin_v3.1.1.tar.gz" -o $(basename "https://github.com/TasmoAdmin/TasmoAdmin/releases/download/v3.1.1/tasmoadmin_v3.1.1.tar.gz") +curl -fsSL "https://github.com/TasmoAdmin/TasmoAdmin/releases/download/v3.1.1/tasmoadmin_v3.1.1.tar.gz" -o tasmoadmin_v3.1.1.tar.gz tar -xzf tasmoadmin_v3.1.1.tar.gz -C /var/www/ rm -rf tasmoadmin_v3.1.1.tar.gz /etc/php/8.2/apache2/conf.d/10-opcache.ini chown -R www-data:www-data /var/www/tasmoadmin diff --git a/install/teddycloud-install.sh b/install/teddycloud-install.sh index d7599492c..d290c1bdc 100644 --- a/install/teddycloud-install.sh +++ b/install/teddycloud-install.sh @@ -23,7 +23,7 @@ msg_ok "Installed Dependencies" msg_info "Installing TeddyCloud" RELEASE="$(curl -fsSL https://api.github.com/repos/toniebox-reverse-engineering/teddycloud/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')" VERSION="${RELEASE#tc_v}" -curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -o $(basename "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip") +curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -o "teddycloud.amd64.release_v${VERSION}.zip" $STD unzip -d "/opt/teddycloud-${VERSION}" "teddycloud.amd64.release_v${VERSION}.zip" ln -fns "/opt/teddycloud-${VERSION}" /opt/teddycloud rm -rf teddycloud.amd64.release_v${VERSION}.zip diff --git a/install/the-lounge-install.sh b/install/the-lounge-install.sh index 1a35349e2..28d7f0862 100644 --- a/install/the-lounge-install.sh +++ b/install/the-lounge-install.sh @@ -23,7 +23,7 @@ NODE_VERSION="22" NODE_MODULE="yarn@latest,node-gyp" install_node_and_modules msg_info "Installing The Lounge" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/thelounge/thelounge-deb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb" -o $(basename "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb") +curl -fsSL "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb" -o "./thelounge_${RELEASE}_all.deb" $STD dpkg -i ./thelounge_${RELEASE}_all.deb echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" msg_ok "Installed The Lounge" diff --git a/install/tianji-install.sh b/install/tianji-install.sh index bafcb4958..56d079a38 100644 --- a/install/tianji-install.sh +++ b/install/tianji-install.sh @@ -48,7 +48,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing Tianji (Extreme Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/msgbyte/tianji/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip" $STD unzip v${RELEASE}.zip mv tianji-${RELEASE} /opt/tianji cd tianji diff --git a/install/traccar-install.sh b/install/traccar-install.sh index 3cf775b0f..248bf0731 100644 --- a/install/traccar-install.sh +++ b/install/traccar-install.sh @@ -15,7 +15,7 @@ update_os RELEASE=$(curl -fsSL https://api.github.com/repos/traccar/traccar/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing Traccar v${RELEASE}" -curl -fsSL "https://github.com/traccar/traccar/releases/download/v${RELEASE}/traccar-linux-64-${RELEASE}.zip" -o $(basename "https://github.com/traccar/traccar/releases/download/v${RELEASE}/traccar-linux-64-${RELEASE}.zip") +curl -fsSL "https://github.com/traccar/traccar/releases/download/v${RELEASE}/traccar-linux-64-${RELEASE}.zip" -o "traccar-linux-64-${RELEASE}.zip" $STD unzip traccar-linux-64-${RELEASE}.zip $STD ./traccar.run systemctl enable -q --now traccar diff --git a/install/traefik-install.sh b/install/traefik-install.sh index 744331f64..352e116e8 100644 --- a/install/traefik-install.sh +++ b/install/traefik-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" RELEASE=$(curl -fsSL https://api.github.com/repos/traefik/traefik/releases | grep -oP '"tag_name":\s*"v\K[\d.]+?(?=")' | sort -V | tail -n 1) msg_info "Installing Traefik v${RELEASE}" mkdir -p /etc/traefik/{conf.d,ssl} -curl -fsSL "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz" -o $(basename "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz") +curl -fsSL "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz" -o "traefik_v${RELEASE}_linux_amd64.tar.gz" tar -C /tmp -xzf traefik*.tar.gz mv /tmp/traefik /usr/bin/ rm -rf traefik*.tar.gz diff --git a/install/trilium-install.sh b/install/trilium-install.sh index 805a7fd44..c744f2a5b 100644 --- a/install/trilium-install.sh +++ b/install/trilium-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Setup TriliumNext" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o $(basename "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz") +curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o "TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" tar -xf TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz mv TriliumNextNotes-Server-$RELEASE-linux-x64 /opt/trilium echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" diff --git a/install/typesense-install.sh b/install/typesense-install.sh index 7512887ce..cca4fdb7e 100644 --- a/install/typesense-install.sh +++ b/install/typesense-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing TypeSense" RELEASE=$(curl -fsSL https://api.github.com/repos/typesense/typesense/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://dl.typesense.org/releases/${RELEASE}/typesense-server-${RELEASE}-amd64.deb" -o $(basename "https://dl.typesense.org/releases/${RELEASE}/typesense-server-${RELEASE}-amd64.deb") +curl -fsSL "https://dl.typesense.org/releases/${RELEASE}/typesense-server-${RELEASE}-amd64.deb" -o "/opt/typesense-server-${RELEASE}-amd64.deb" $STD apt install -y /opt/typesense-server-${RELEASE}-amd64.deb echo 'enable-cors = true' >>/etc/typesense/typesense-server.ini echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" diff --git a/install/unifi-install.sh b/install/unifi-install.sh index 8e342b694..2833accd1 100644 --- a/install/unifi-install.sh +++ b/install/unifi-install.sh @@ -28,7 +28,7 @@ if ! grep -q -m1 'avx[^ ]*' /proc/cpuinfo; then msg_ok "No AVX Support Detected" msg_info "Installing MongoDB 4.4" if ! dpkg -l | grep -q "libssl1.1"; then - curl -fsSL "http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb" -o $(basename "http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb") + curl -fsSL "http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb" -o "libssl1.1_1.1.1n-0+deb10u6_amd64.deb" $STD dpkg -i libssl1.1_1.1.1n-0+deb10u6_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 diff --git a/install/victoriametrics-install.sh b/install/victoriametrics-install.sh index 3bc53732a..2c53d579a 100644 --- a/install/victoriametrics-install.sh +++ b/install/victoriametrics-install.sh @@ -18,8 +18,8 @@ temp_dir=$(mktemp -d) cd $temp_dir mkdir -p /opt/victoriametrics/data RELEASE=$(curl -fsSL https://api.github.com/repos/VictoriaMetrics/VictoriaMetrics/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/victoria-metrics-linux-amd64-v${RELEASE}.tar.gz" -o $(basename "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/victoria-metrics-linux-amd64-v${RELEASE}.tar.gz") -curl -fsSL "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/vmutils-linux-amd64-v${RELEASE}.tar.gz" -o $(basename "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/vmutils-linux-amd64-v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/victoria-metrics-linux-amd64-v${RELEASE}.tar.gz" -o "victoria-metrics-linux-amd64-v${RELEASE}.tar.gz" +curl -fsSL "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/vmutils-linux-amd64-v${RELEASE}.tar.gz" -o "vmutils-linux-amd64-v${RELEASE}.tar.gz" tar -xf victoria-metrics-linux-amd64-v${RELEASE}.tar.gz -C /opt/victoriametrics tar -xf vmutils-linux-amd64-v${RELEASE}.tar.gz -C /opt/victoriametrics chmod +x /opt/victoriametrics/* diff --git a/install/vikunja-install.sh b/install/vikunja-install.sh index 28489ea1f..f56d073d3 100644 --- a/install/vikunja-install.sh +++ b/install/vikunja-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Setup Vikunja (Patience)" cd /opt RELEASE=$(curl -fsSL https://dl.vikunja.io/vikunja/ | grep -oP 'href="/vikunja/\K[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -n 1) -curl -fsSL "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb" -o $(basename "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb") +curl -fsSL "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb" -o vikunja-$RELEASE-amd64.deb $STD dpkg -i vikunja-$RELEASE-amd64.deb sed -i 's|^ timezone: .*| timezone: UTC|' /etc/vikunja/config.yml sed -i 's|"./vikunja.db"|"/etc/vikunja/vikunja.db"|' /etc/vikunja/config.yml diff --git a/install/wallos-install.sh b/install/wallos-install.sh index b49df8ff7..5d40739a7 100644 --- a/install/wallos-install.sh +++ b/install/wallos-install.sh @@ -24,7 +24,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Wallos (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/ellite/Wallos/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip" $STD unzip v${RELEASE}.zip mv Wallos-${RELEASE} /opt/wallos cd /opt/wallos diff --git a/install/watchyourlan-install.sh b/install/watchyourlan-install.sh index 31748b508..efdf9e2b8 100644 --- a/install/watchyourlan-install.sh +++ b/install/watchyourlan-install.sh @@ -19,7 +19,7 @@ msg_ok "Installed Dependencies" msg_info "Installing WatchYourLAN" RELEASE=$(curl -fsSL https://api.github.com/repos/aceberg/WatchYourLAN/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d '"' -f 4) -curl -fsSL "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb" -o $(basename "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb") +curl -fsSL "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb" -o "watchyourlan_${RELEASE}_linux_amd64.deb" $STD dpkg -i watchyourlan_${RELEASE}_linux_amd64.deb rm watchyourlan_${RELEASE}_linux_amd64.deb mkdir /data diff --git a/install/wavelog-install.sh b/install/wavelog-install.sh index b1053b936..c734178c0 100644 --- a/install/wavelog-install.sh +++ b/install/wavelog-install.sh @@ -25,9 +25,9 @@ msg_info "Setting up Database" DB_NAME=wavelog DB_USER=waveloguser DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD mysql -u root -e "CREATE DATABASE $DB_NAME;" -$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "Wavelog-Credentials" echo "Wavelog Database User: $DB_USER" @@ -44,7 +44,7 @@ msg_ok "Set up PHP" msg_info "Installing Wavelog" RELEASE=$(curl -fsSL https://api.github.com/repos/wavelog/wavelog/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -o "${RELEASE}.zip" $STD unzip ${RELEASE}.zip mv wavelog-${RELEASE}/ /opt/wavelog chown -R www-data:www-data /opt/wavelog/ diff --git a/install/wger-install.sh b/install/wger-install.sh index a3cbf1940..69eccaabd 100644 --- a/install/wger-install.sh +++ b/install/wger-install.sh @@ -38,7 +38,7 @@ chmod o+w /home/wger/media temp_dir=$(mktemp -d) cd $temp_dir RELEASE=$(curl -fsSL https://api.github.com/repos/wger-project/wger/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}') -curl -fsSL "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz" -o $(basename "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz") +curl -fsSL "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz" -o "$RELEASE.tar.gz" tar xzf $RELEASE.tar.gz mv wger-$RELEASE /home/wger/src cd /home/wger/src diff --git a/install/wordpress-install.sh b/install/wordpress-install.sh index b2520861f..a52a3fec8 100644 --- a/install/wordpress-install.sh +++ b/install/wordpress-install.sh @@ -26,9 +26,9 @@ msg_info "Setting up Database" DB_NAME=wordpress_db DB_USER=wordpress DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD mysql -u root -e "CREATE DATABASE $DB_NAME;" -$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" -$STD mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" +$STD mariadb -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "WordPress Credentials" echo "Database User: $DB_USER" @@ -39,7 +39,7 @@ msg_ok "Set up Database" msg_info "Installing Wordpress (Patience)" cd /var/www/html -curl -fsSL "https://wordpress.org/latest.zip" -o $(basename "https://wordpress.org/latest.zip") +curl -fsSL "https://wordpress.org/latest.zip" -o "latest.zip" $STD unzip latest.zip chown -R www-data:www-data wordpress/ cd /var/www/html/wordpress diff --git a/install/zigbee2mqtt-install.sh b/install/zigbee2mqtt-install.sh index 3fda538ce..f2f3070f5 100644 --- a/install/zigbee2mqtt-install.sh +++ b/install/zigbee2mqtt-install.sh @@ -27,7 +27,7 @@ NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules msg_info "Setting up Zigbee2MQTT" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o "${RELEASE}.zip" $STD unzip ${RELEASE}.zip mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt cd /opt/zigbee2mqtt/data diff --git a/install/zipline-install.sh b/install/zipline-install.sh index 4c02abe67..a984d001a 100644 --- a/install/zipline-install.sh +++ b/install/zipline-install.sh @@ -44,7 +44,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing Zipline (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/diced/zipline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip" $STD unzip v"${RELEASE}".zip mv zipline-"${RELEASE}" /opt/zipline cd /opt/zipline diff --git a/install/zoraxy-install.sh b/install/zoraxy-install.sh index 8a3c93b44..2a34e158f 100644 --- a/install/zoraxy-install.sh +++ b/install/zoraxy-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Zoraxy (Patience)" RELEASE=$(curl -fsSL https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -o $(basename "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64") +curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -o zoraxy_linux_amd64 mkdir -p /opt/zoraxy mv zoraxy_linux_amd64 /opt/zoraxy/zoraxy chmod +x /opt/zoraxy/zoraxy diff --git a/install/zwave-js-ui-install.sh b/install/zwave-js-ui-install.sh index 50a324d9c..e507cc3fc 100644 --- a/install/zwave-js-ui-install.sh +++ b/install/zwave-js-ui-install.sh @@ -18,7 +18,7 @@ mkdir -p /opt/zwave-js-ui mkdir -p /opt/zwave_store cd /opt/zwave-js-ui RELEASE=$(curl -fsSL https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -o $(basename "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip") +curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -o "zwave-js-ui-${RELEASE}-linux.zip" $STD unzip zwave-js-ui-${RELEASE}-linux.zip cat </opt/.env ZWAVEJS_EXTERNAL_CONFIG=/opt/zwave_store/.config-db From 951782d8f23d86d11ef8241564f1c763effc59eb Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 13:46:29 +0100 Subject: [PATCH 048/274] Update CHANGELOG.md (#4797) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d3bf3471d..e0550f588 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🔧 Refactor + - MariaDB CLI Update, Go Install Helper & Minor Cleanup [@MickLesk](https://github.com/MickLesk) ([#4793](https://github.com/community-scripts/ProxmoxVE/pull/4793)) - Refactor: Remove redundant dependencies & unify unzip usage [@MickLesk](https://github.com/MickLesk) ([#4780](https://github.com/community-scripts/ProxmoxVE/pull/4780)) - Refactor: Remove gpg / gnupg from script base [@MickLesk](https://github.com/MickLesk) ([#4775](https://github.com/community-scripts/ProxmoxVE/pull/4775)) From f0dd1c264d2c1b051f959b90bbd225517d1ed0b1 Mon Sep 17 00:00:00 2001 From: Stavros Date: Wed, 28 May 2025 15:55:14 +0300 Subject: [PATCH 049/274] refactor: use binary and randomize credentials in tinyauth (#4632) --- ct/alpine-tinyauth.sh | 41 +++++-------- frontend/public/json/alpine-tinyauth.json | 18 +++--- install/alpine-tinyauth-install.sh | 70 +++++++++++------------ 3 files changed, 59 insertions(+), 70 deletions(-) diff --git a/ct/alpine-tinyauth.sh b/ct/alpine-tinyauth.sh index f36a7be7f..c483a2bc0 100644 --- a/ct/alpine-tinyauth.sh +++ b/ct/alpine-tinyauth.sh @@ -1,15 +1,15 @@ #!/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: Slaviša Arežina (tremor021) +# Author: Slaviša Arežina (tremor021) | Co-Author: Stavros (steveiliop56) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/steveiliop56/tinyauth -APP="Alpine-tinyauth" +APP="Alpine-Tinyauth" var_tags="${var_tags:-alpine;auth}" var_cpu="${var_cpu:-1}" -var_ram="${var_ram:-512}" -var_disk="${var_disk:-3}" +var_ram="${var_ram:-256}" +var_disk="${var_disk:-2}" var_os="${var_os:-alpine}" var_version="${var_version:-3.21}" var_unprivileged="${var_unprivileged:-1}" @@ -25,34 +25,23 @@ function update_script() { exit 1 fi - msg_info "Updating Alpine Packages" + msg_info "Updating packages" $STD apk -U upgrade - msg_ok "Updated Alpine Packages" + msg_ok "Updated packages" - msg_info "Updating tinyauth" + msg_info "Updating Tinyauth" RELEASE=$(curl -s https://api.github.com/repos/steveiliop56/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [ "${RELEASE}" != "$(cat /opt/tinyauth_version.txt)" ] || [ ! -f /opt/tinyauth_version.txt ]; then $STD service tinyauth stop - temp_file=$(mktemp) - cp /opt/tinyauth/.env /opt - rm -rf /opt/tinyauth - mkdir -p /opt/tinyauth - curl -fsSL "https://github.com/steveiliop56/tinyauth/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" - tar -xzf "$temp_file" -C /opt/tinyauth --strip-components=1 - cd /opt/tinyauth/frontend - $STD bun install - $STD bun run build - mv dist /opt/tinyauth/internal/assets/ - cd /opt/tinyauth - $STD go mod download - CGO_ENABLED=0 go build -ldflags "-s -w" - cp /opt/.env /opt/tinyauth - echo "${RELEASE}" >/opt/tinyauth_version.txt - rm -f "$temp_file" - msg_info "Restarting tinyauth" + rm -f /opt/tinyauth/tinyauth + curl -fsSL "https://github.com/steveiliop56/tinyauth/releases/download/v${RELEASE}/tinyauth-amd64" -o /opt/tinyauth/tinyauth + chmod +x /opt/tinyauth/tinyauth + echo "${RELEASE}" > /opt/tinyauth_version.txt + msg_info "Restarting Tinyauth" $STD service tinyauth start - msg_ok "Restarted tinyauth" - msg_ok "Updated tinyauth" + msg_ok "Restarted Tinyauth" + msg_ok "Updated Tinyauth" else msg_ok "No update required. ${APP} is already at ${RELEASE}" fi diff --git a/frontend/public/json/alpine-tinyauth.json b/frontend/public/json/alpine-tinyauth.json index 0e9e0cf8a..95cbd23df 100644 --- a/frontend/public/json/alpine-tinyauth.json +++ b/frontend/public/json/alpine-tinyauth.json @@ -1,5 +1,5 @@ { - "name": "Alpine-tinyauth", + "name": "Alpine-Tinyauth", "slug": "alpine-tinyauth", "categories": [ 6 @@ -9,11 +9,11 @@ "updateable": true, "privileged": false, "interface_port": 3000, - "documentation": "https://tinyauth.app/docs/getting-started.html", - "website": "https://tinyauth.app/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tinyauth.webp", + "documentation": "https://tinyauth.app", "config_path": "/opt/tinyauth/.env", - "description": "Tinyauth is a simple authentication middleware that adds simple username/password login or OAuth with Google, Github and any generic provider to all of your docker apps. It is designed for traefik but it can be extended to work with all reverse proxies like caddy and nginx.", + "website": "https://tinyauth.app", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tinyauth.webp", + "description": "Tinyauth is a simple authentication middleware that adds simple username/password login or OAuth with Google, Github and any generic provider to all of your docker apps.", "install_methods": [ { "type": "default", @@ -21,7 +21,7 @@ "resources": { "cpu": 1, "ram": 256, - "hdd": 3, + "hdd": 2, "os": "alpine", "version": "3.21" } @@ -32,7 +32,7 @@ "resources": { "cpu": 1, "ram": 256, - "hdd": 3, + "hdd": 2, "os": "alpine", "version": "3.21" } @@ -44,8 +44,8 @@ }, "notes": [ { - "type": "info", - "text": "`cat ~/tinyauth.creds` to view login credentials" + "text": "The default credentials are located in `/opt/tinyauth/credentials.txt`.", + "type": "info" } ] } diff --git a/install/alpine-tinyauth-install.sh b/install/alpine-tinyauth-install.sh index 23854d317..a96bac541 100644 --- a/install/alpine-tinyauth-install.sh +++ b/install/alpine-tinyauth-install.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # Copyright (c) 2021-2025 community-scripts ORG -# Author: Slaviša Arežina (tremor021) +# Author: Slaviša Arežina (tremor021) | Co-Author: Stavros (steveiliop56) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/steveiliop56/tinyauth @@ -14,44 +14,44 @@ network_check update_os msg_info "Installing Dependencies" -$STD apk add --no-cache \ - npm \ - go +$STD apk add --no-cache curl openssl apache2-utils msg_ok "Installed Dependencies" -msg_info "Installing tinyauth" -temp_file=$(mktemp) -$STD npm install -g bun +msg_info "Installing Tinyauth" mkdir -p /opt/tinyauth -RELEASE=$(curl -s https://api.github.com/repos/steveiliop56/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/steveiliop56/tinyauth/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" -tar -xzf "$temp_file" -C /opt/tinyauth --strip-components=1 -cd /opt/tinyauth/frontend -$STD bun install -$STD bun run build -mv dist /opt/tinyauth/internal/assets/ -cd /opt/tinyauth -$STD go mod download -CGO_ENABLED=0 go build -ldflags "-s -w" -{ - echo "tinyauth Credentials" - echo "Username: admin@example.com" - echo "Password: admin" -} >>~/tinyauth.creds -echo "${RELEASE}" >/opt/tinyauth_version.txt -msg_ok "Installed tinyauth" -msg_info "Enabling tinyauth Service" -SECRET=$(head -c 16 /dev/urandom | xxd -p -c 16 | tr -d '\n') -{ - echo "SECRET=${SECRET}" - echo "USERS=admin@example.com:\$2a\$10\$CrTK.W7WXSClo3ZY1yJUFupg5UdV8WNcynEhZhJFNjhGQB.Ga0ZDm" - echo "APP_URL=http://localhost:3000" -} >>/opt/tinyauth/.env +RELEASE=$(curl -s https://api.github.com/repos/steveiliop56/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/steveiliop56/tinyauth/releases/download/v${RELEASE}/tinyauth-amd64" -o /opt/tinyauth/tinyauth +chmod +x /opt/tinyauth/tinyauth + +PASSWORD=$(openssl rand -base64 8 | tr -dc 'a-zA-Z0-9' | head -c 8) +USER=$(htpasswd -Bbn "tinyauth" "${PASSWORD}") + +cat < /opt/tinyauth/credentials.txt +Tinyauth Credentials +Username: tinyauth +Password: ${PASSWORD} +EOF + +echo "${RELEASE}" >/opt/tinyauth_version.txt +msg_ok "Installed Tinyauth" + +read -p "${TAB3}Enter your Tinyauth subdomain (e.g. https://tinyauth.example.com): " app_url + +msg_info "Creating Tinyauth Service" +SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | head -c 32) + +cat </opt/tinyauth/.env +SECRET=${SECRET} +USERS=${USER} +APP_URL=${app_url} +EOF + +sed -i -e 's/\$/\$\$/g' /opt/tinyauth/.env cat </etc/init.d/tinyauth #!/sbin/openrc-run -description="tinyauth Service" +description="Tinyauth Service" command="/opt/tinyauth/tinyauth" directory="/opt/tinyauth" @@ -72,11 +72,11 @@ EOF chmod +x /etc/init.d/tinyauth $STD rc-update add tinyauth default -msg_ok "Enabled tinyauth Service" +msg_ok "Enabled Tinyauth Service" -msg_info "Starting tinyauth" +msg_info "Starting Tinyauth" $STD service tinyauth start -msg_ok "Started tinyauth" +msg_ok "Started Tinyauth" motd_ssh customize From c79d05ca5f262fd5c9cd6af3b8cd7eb71da2f233 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 14:55:35 +0200 Subject: [PATCH 050/274] Habitica: Use Node20 (#4796) --- install/habitica-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/habitica-install.sh b/install/habitica-install.sh index 468274e23..83ebdccfd 100644 --- a/install/habitica-install.sh +++ b/install/habitica-install.sh @@ -22,7 +22,7 @@ curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1 $STD dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb msg_ok "Installed Dependencies" -NODE_VERSION="22" install_node_and_modules +NODE_VERSION="20" install_node_and_modules msg_info "Setup ${APPLICATION}" temp_file=$(mktemp) From d20165f25c431a6d451c777d77f9fb3c63e1bcde Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 13:55:58 +0100 Subject: [PATCH 051/274] Update CHANGELOG.md (#4799) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e0550f588..94cf5e855 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,12 +18,14 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🆕 New Scripts - - oauth2-proxy ([#4784](https://github.com/community-scripts/ProxmoxVE/pull/4784)) + - refactor: use binary and randomize credentials in tinyauth [@steveiliop56](https://github.com/steveiliop56) ([#4632](https://github.com/community-scripts/ProxmoxVE/pull/4632)) +- oauth2-proxy ([#4784](https://github.com/community-scripts/ProxmoxVE/pull/4784)) ### 🚀 Updated Scripts - #### 🐞 Bug Fixes + - Habitica: Use Node20 [@MickLesk](https://github.com/MickLesk) ([#4796](https://github.com/community-scripts/ProxmoxVE/pull/4796)) - Alpine-Node-RED: add service to rc [@MickLesk](https://github.com/MickLesk) ([#4783](https://github.com/community-scripts/ProxmoxVE/pull/4783)) - #### ✨ New Features From 3b0713b81267983513db0697951abcc0c3c1ae34 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 13:56:27 +0100 Subject: [PATCH 052/274] Update CHANGELOG.md (#4800) Co-authored-by: github-actions[bot] From 640dca8d8b8c28589dcad1a6f30bb57ca93f7a53 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 14:57:21 +0200 Subject: [PATCH 053/274] Update .app files (#4798) Co-authored-by: GitHub Actions --- ct/headers/alpine-tinyauth | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ct/headers/alpine-tinyauth b/ct/headers/alpine-tinyauth index 207a09037..9fff055f8 100644 --- a/ct/headers/alpine-tinyauth +++ b/ct/headers/alpine-tinyauth @@ -1,6 +1,6 @@ - ___ __ _ __ _ __ __ - / | / /___ (_)___ ___ / /_(_)___ __ ______ ___ __/ /_/ /_ - / /| | / / __ \/ / __ \/ _ \______/ __/ / __ \/ / / / __ `/ / / / __/ __ \ - / ___ |/ / /_/ / / / / / __/_____/ /_/ / / / / /_/ / /_/ / /_/ / /_/ / / / -/_/ |_/_/ .___/_/_/ /_/\___/ \__/_/_/ /_/\__, /\__,_/\__,_/\__/_/ /_/ + ___ __ _ _______ __ __ + / | / /___ (_)___ ___ /_ __(_)___ __ ______ ___ __/ /_/ /_ + / /| | / / __ \/ / __ \/ _ \______/ / / / __ \/ / / / __ `/ / / / __/ __ \ + / ___ |/ / /_/ / / / / / __/_____/ / / / / / / /_/ / /_/ / /_/ / /_/ / / / +/_/ |_/_/ .___/_/_/ /_/\___/ /_/ /_/_/ /_/\__, /\__,_/\__,_/\__/_/ /_/ /_/ /____/ From adc8225ed22574352ffd1fe1adc0135bd5372ec0 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 15:44:05 +0200 Subject: [PATCH 054/274] Umbrel-OS (#4788) --- ct/umbrel.sh | 40 -- frontend/public/json/umbrel-os-vm.json | 40 ++ install/umbrel-install.sh | 31 -- vm/umbrel-os-vm.sh | 530 +++++++++++++++++++++++++ 4 files changed, 570 insertions(+), 71 deletions(-) delete mode 100644 ct/umbrel.sh create mode 100644 frontend/public/json/umbrel-os-vm.json delete mode 100644 install/umbrel-install.sh create mode 100644 vm/umbrel-os-vm.sh diff --git a/ct/umbrel.sh b/ct/umbrel.sh deleted file mode 100644 index 5847e2dd8..000000000 --- a/ct/umbrel.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2025 tteck -# Author: tteck (tteckster) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://umbrel.com/ - -APP="Umbrel" -var_tags="${var_tags:-os}" -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_unprivileged="${var_unprivileged:-1}" - -header_info "$APP" -variables -color -catch_errors - -function update_script() { - header_info - check_container_storage - check_container_resources - 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! (manual reboot is required!)${CL}" -echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/frontend/public/json/umbrel-os-vm.json b/frontend/public/json/umbrel-os-vm.json new file mode 100644 index 000000000..1e692a2d3 --- /dev/null +++ b/frontend/public/json/umbrel-os-vm.json @@ -0,0 +1,40 @@ +{ + "name": "Umbrel OS", + "slug": "umbrel-os-vm", + "categories": [ + 2 + ], + "date_created": "2025-05-28", + "type": "vm", + "updateable": true, + "privileged": false, + "interface_port": 80, + "documentation": "https://community.umbrel.com/c/guides/", + "website": "https://umbrel.com/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/umbrelos.webp", + "config_path": "", + "description": "Take control of your digital life with Umbrel — a private, personal server that lets you self-host powerful open source apps with ease. Whether you want to run a Bitcoin or Lightning node, manage your files with Nextcloud, stream media, block ads across your network, or explore self-hosted AI tools, Umbrel gives you full ownership and privacy. All through a beautiful, user-friendly interface — no cloud, no tracking, just your data under your control.", + "install_methods": [ + { + "type": "default", + "script": "vm/umbrel-os-vm.sh", + "resources": { + "cpu": 2, + "ram": 4096, + "hdd": 20, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": "umbrel", + "password": "umbrel" + }, + "notes": [ + { + "text": "This VM use as base a Debian 12 OS with a custom kernel and some additional packages to run Umbrel OS. It is not a standard Debian VM, but it is optimized for Umbrel OS.", + "type": "info" + } + ] +} diff --git a/install/umbrel-install.sh b/install/umbrel-install.sh deleted file mode 100644 index 3855b1117..000000000 --- a/install/umbrel-install.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 tteck -# Author: tteck (tteckster) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://umbrel.com/ - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -msg_info "Installing Umbrel (Patience)" -DOCKER_CONFIG_PATH='/etc/docker/daemon.json' -mkdir -p $(dirname $DOCKER_CONFIG_PATH) -echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json -$STD bash <(curl -fsSL https://umbrel.sh) -systemctl daemon-reload -$STD systemctl enable --now umbrel-startup -msg_ok "Installed Umbrel" - -motd_ssh -customize - -msg_info "Cleaning up" -$STD apt-get autoremove -$STD apt-get autoclean -msg_ok "Cleaned" diff --git a/vm/umbrel-os-vm.sh b/vm/umbrel-os-vm.sh new file mode 100644 index 000000000..62bba48a5 --- /dev/null +++ b/vm/umbrel-os-vm.sh @@ -0,0 +1,530 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE + +source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/api.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/vm-core.func) +load_functions + +APP="Umbrel OS VM" +header_info +echo -e "\n Loading..." +GEN_MAC=02:$(openssl rand -hex 5 | awk '{print toupper($0)}' | sed 's/\(..\)/\1:/g; s/.$//') +RANDOM_UUID="$(cat /proc/sys/kernel/random/uuid)" +METHOD="" +NSAPP="umbrel-os-vm" +var_os="umbrel-os" +var_version="n.d." + +YW=$(echo "\033[33m") +BL=$(echo "\033[36m") +HA=$(echo "\033[1;34m") +RD=$(echo "\033[01;31m") +BGN=$(echo "\033[4;92m") +GN=$(echo "\033[1;92m") +DGN=$(echo "\033[32m") +CL=$(echo "\033[m") + +CL=$(echo "\033[m") +BOLD=$(echo "\033[1m") +BFR="\\r\\033[K" +HOLD=" " +TAB=" " + +CM="${TAB}✔️${TAB}${CL}" +CROSS="${TAB}✖️${TAB}${CL}" +INFO="${TAB}💡${TAB}${CL}" +OS="${TAB}🖥️${TAB}${CL}" +CONTAINERTYPE="${TAB}📦${TAB}${CL}" +DISKSIZE="${TAB}💾${TAB}${CL}" +CPUCORE="${TAB}🧠${TAB}${CL}" +RAMSIZE="${TAB}🛠️${TAB}${CL}" +CONTAINERID="${TAB}🆔${TAB}${CL}" +HOSTNAME="${TAB}🏠${TAB}${CL}" +BRIDGE="${TAB}🌉${TAB}${CL}" +GATEWAY="${TAB}🌐${TAB}${CL}" +DEFAULT="${TAB}⚙️${TAB}${CL}" +MACADDRESS="${TAB}🔗${TAB}${CL}" +VLANTAG="${TAB}🏷️${TAB}${CL}" +CREATING="${TAB}🚀${TAB}${CL}" +ADVANCED="${TAB}🧩${TAB}${CL}" +THIN="discard=on,ssd=1," +set -e +trap 'error_handler $LINENO "$BASH_COMMAND"' ERR +trap cleanup EXIT +trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT +trap 'post_update_to_api "failed" "TERMINATED"' SIGTERM +function error_handler() { + local exit_code="$?" + local line_number="$1" + local command="$2" + post_update_to_api "failed" "${command}" + local error_message="${RD}[ERROR]${CL} in line ${RD}$line_number${CL}: exit code ${RD}$exit_code${CL}: while executing command ${YW}$command${CL}" + echo -e "\n$error_message\n" + cleanup_vmid +} + +function get_valid_nextid() { + local try_id + try_id=$(pvesh get /cluster/nextid) + while true; do + if [ -f "/etc/pve/qemu-server/${try_id}.conf" ] || [ -f "/etc/pve/lxc/${try_id}.conf" ]; then + try_id=$((try_id + 1)) + continue + fi + if lvs --noheadings -o lv_name | grep -qE "(^|[-_])${try_id}($|[-_])"; then + try_id=$((try_id + 1)) + continue + fi + break + done + echo "$try_id" +} + +function cleanup_vmid() { + if qm status $VMID &>/dev/null; then + qm stop $VMID &>/dev/null + qm destroy $VMID &>/dev/null + fi +} + +function cleanup() { + popd >/dev/null + post_update_to_api "done" "none" + rm -rf $TEMP_DIR +} + +TEMP_DIR=$(mktemp -d) +pushd $TEMP_DIR >/dev/null +if whiptail --backtitle "Proxmox VE Helper Scripts" --title "Umbrel OS VM" --yesno "This will create a New Umbrel OS VM. Proceed?" 10 58; then + : +else + header_info && echo -e "${CROSS}${RD}User exited script${CL}\n" && exit +fi + +function msg_info() { + local msg="$1" + echo -ne "${TAB}${YW}${HOLD}${msg}${HOLD}" +} + +function msg_ok() { + local msg="$1" + echo -e "${BFR}${CM}${GN}${msg}${CL}" +} + +function msg_error() { + local msg="$1" + echo -e "${BFR}${CROSS}${RD}${msg}${CL}" +} + +function check_root() { + if [[ "$(id -u)" -ne 0 || $(ps -o comm= -p $PPID) == "sudo" ]]; then + clear + msg_error "Please run this script as root." + echo -e "\nExiting..." + sleep 2 + exit + fi +} + +function pve_check() { + if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then + msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" + echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." + echo -e "Exiting..." + sleep 2 + exit + fi +} + +function arch_check() { + if [ "$(dpkg --print-architecture)" != "amd64" ]; then + echo -e "\n ${INFO}${YWB}This script will not work with PiMox! \n" + echo -e "\n ${YWB}Visit https://github.com/asylumexp/Proxmox for ARM64 support. \n" + echo -e "Exiting..." + sleep 2 + exit + fi +} + +function ssh_check() { + if command -v pveversion >/dev/null 2>&1; then + if [ -n "${SSH_CLIENT:+x}" ]; then + if whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "SSH DETECTED" --yesno "It's suggested to use the Proxmox shell instead of SSH, since SSH can create issues while gathering variables. Would you like to proceed with using SSH?" 10 62; then + echo "you've been warned" + else + clear + exit + fi + fi + fi +} + +function exit_script() { + clear + echo -e "\n${CROSS}${RD}User exited script${CL}\n" + exit +} + +function default_settings() { + VMID=$(get_valid_nextid) + FORMAT=",efitype=4m" + MACHINE="" + DISK_CACHE="" + DISK_SIZE="32G" + HN="umbrel-os" + CPU_TYPE="" + CORE_COUNT="2" + RAM_SIZE="4096" + BRG="vmbr0" + MAC="$GEN_MAC" + VLAN="" + MTU="" + START_VM="yes" + METHOD="default" + echo -e "${CONTAINERID}${BOLD}${DGN}Virtual Machine ID: ${BGN}${VMID}${CL}" + echo -e "${CONTAINERTYPE}${BOLD}${DGN}Machine Type: ${BGN}i440fx${CL}" + echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE}${CL}" + echo -e "${DISKSIZE}${BOLD}${DGN}Disk Cache: ${BGN}None${CL}" + echo -e "${HOSTNAME}${BOLD}${DGN}Hostname: ${BGN}${HN}${CL}" + echo -e "${OS}${BOLD}${DGN}CPU Model: ${BGN}KVM64${CL}" + echo -e "${CPUCORE}${BOLD}${DGN}CPU Cores: ${BGN}${CORE_COUNT}${CL}" + echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE}${CL}" + echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}${BRG}${CL}" + echo -e "${MACADDRESS}${BOLD}${DGN}MAC Address: ${BGN}${MAC}${CL}" + echo -e "${VLANTAG}${BOLD}${DGN}VLAN: ${BGN}Default${CL}" + echo -e "${DEFAULT}${BOLD}${DGN}Interface MTU Size: ${BGN}Default${CL}" + echo -e "${GATEWAY}${BOLD}${DGN}Start VM when completed: ${BGN}yes${CL}" + echo -e "${CREATING}${BOLD}${DGN}Creating a Umbrel OS VM using the above default settings${CL}" +} + +function advanced_settings() { + METHOD="advanced" + [ -z "${VMID:-}" ] && VMID=$(get_valid_nextid) + while true; do + if VMID=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Virtual Machine ID" 8 58 $VMID --title "VIRTUAL MACHINE ID" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then + if [ -z "$VMID" ]; then + VMID=$(get_valid_nextid) + fi + if pct status "$VMID" &>/dev/null || qm status "$VMID" &>/dev/null; then + echo -e "${CROSS}${RD} ID $VMID is already in use${CL}" + sleep 2 + continue + fi + echo -e "${CONTAINERID}${BOLD}${DGN}Virtual Machine ID: ${BGN}$VMID${CL}" + break + else + exit-script + fi + done + + if MACH=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "MACHINE TYPE" --radiolist --cancel-button Exit-Script "Choose Type" 10 58 2 \ + "i440fx" "Machine i440fx" ON \ + "q35" "Machine q35" OFF \ + 3>&1 1>&2 2>&3); then + if [ $MACH = q35 ]; then + echo -e "${CONTAINERTYPE}${BOLD}${DGN}Machine Type: ${BGN}$MACH${CL}" + FORMAT="" + MACHINE=" -machine q35" + else + echo -e "${CONTAINERTYPE}${BOLD}${DGN}Machine Type: ${BGN}$MACH${CL}" + FORMAT=",efitype=4m" + MACHINE="" + fi + else + exit_script + fi + + if DISK_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Disk Size in GiB (e.g., 10, 20)" 8 58 "$DISK_SIZE" --title "DISK SIZE" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then + DISK_SIZE=$(echo "$DISK_SIZE" | tr -d ' ') + if [[ "$DISK_SIZE" =~ ^[0-9]+$ ]]; then + DISK_SIZE="${DISK_SIZE}G" + echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}$DISK_SIZE${CL}" + elif [[ "$DISK_SIZE" =~ ^[0-9]+G$ ]]; then + echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}$DISK_SIZE${CL}" + else + echo -e "${DISKSIZE}${BOLD}${RD}Invalid Disk Size. Please use a number (e.g., 10 or 10G).${CL}" + exit_script + fi + else + exit_script + fi + + if DISK_CACHE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "DISK CACHE" --radiolist "Choose" --cancel-button Exit-Script 10 58 2 \ + "0" "None (Default)" ON \ + "1" "Write Through" OFF \ + 3>&1 1>&2 2>&3); then + if [ $DISK_CACHE = "1" ]; then + echo -e "${DISKSIZE}${BOLD}${DGN}Disk Cache: ${BGN}Write Through${CL}" + DISK_CACHE="cache=writethrough," + else + echo -e "${DISKSIZE}${BOLD}${DGN}Disk Cache: ${BGN}None${CL}" + DISK_CACHE="" + fi + else + exit_script + fi + + if VM_NAME=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Hostname" 8 58 umbrel-os --title "HOSTNAME" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then + if [ -z $VM_NAME ]; then + HN="umbrel-os" + echo -e "${HOSTNAME}${BOLD}${DGN}Hostname: ${BGN}$HN${CL}" + else + HN=$(echo ${VM_NAME,,} | tr -d ' ') + echo -e "${HOSTNAME}${BOLD}${DGN}Hostname: ${BGN}$HN${CL}" + fi + else + exit_script + fi + + if CPU_TYPE1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "CPU MODEL" --radiolist "Choose" --cancel-button Exit-Script 10 58 2 \ + "0" "KVM64 (Default)" ON \ + "1" "Host" OFF \ + 3>&1 1>&2 2>&3); then + if [ $CPU_TYPE1 = "1" ]; then + echo -e "${OS}${BOLD}${DGN}CPU Model: ${BGN}Host${CL}" + CPU_TYPE=" -cpu host" + else + echo -e "${OS}${BOLD}${DGN}CPU Model: ${BGN}KVM64${CL}" + CPU_TYPE="" + fi + else + exit_script + fi + + if CORE_COUNT=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Allocate CPU Cores" 8 58 2 --title "CORE COUNT" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then + if [ -z $CORE_COUNT ]; then + CORE_COUNT="2" + echo -e "${CPUCORE}${BOLD}${DGN}CPU Cores: ${BGN}$CORE_COUNT${CL}" + else + echo -e "${CPUCORE}${BOLD}${DGN}CPU Cores: ${BGN}$CORE_COUNT${CL}" + fi + else + exit_script + fi + + if RAM_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Allocate RAM in MiB" 8 58 2048 --title "RAM" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then + if [ -z $RAM_SIZE ]; then + RAM_SIZE="2048" + echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}$RAM_SIZE${CL}" + else + echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}$RAM_SIZE${CL}" + fi + else + exit_script + fi + + if BRG=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a Bridge" 8 58 vmbr0 --title "BRIDGE" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then + if [ -z $BRG ]; then + BRG="vmbr0" + echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}$BRG${CL}" + else + echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}$BRG${CL}" + fi + else + exit_script + fi + + if MAC1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a MAC Address" 8 58 $GEN_MAC --title "MAC ADDRESS" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then + if [ -z $MAC1 ]; then + MAC="$GEN_MAC" + echo -e "${MACADDRESS}${BOLD}${DGN}MAC Address: ${BGN}$MAC${CL}" + else + MAC="$MAC1" + echo -e "${MACADDRESS}${BOLD}${DGN}MAC Address: ${BGN}$MAC1${CL}" + fi + else + exit_script + fi + + if VLAN1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a Vlan(leave blank for default)" 8 58 --title "VLAN" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then + if [ -z $VLAN1 ]; then + VLAN1="Default" + VLAN="" + echo -e "${VLANTAG}${BOLD}${DGN}VLAN: ${BGN}$VLAN1${CL}" + else + VLAN=",tag=$VLAN1" + echo -e "${VLANTAG}${BOLD}${DGN}VLAN: ${BGN}$VLAN1${CL}" + fi + else + exit_script + fi + + if MTU1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Interface MTU Size (leave blank for default)" 8 58 --title "MTU SIZE" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then + if [ -z $MTU1 ]; then + MTU1="Default" + MTU="" + echo -e "${DEFAULT}${BOLD}${DGN}Interface MTU Size: ${BGN}$MTU1${CL}" + else + MTU=",mtu=$MTU1" + echo -e "${DEFAULT}${BOLD}${DGN}Interface MTU Size: ${BGN}$MTU1${CL}" + fi + else + exit_script + fi + + if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "START VIRTUAL MACHINE" --yesno "Start VM when completed?" 10 58); then + echo -e "${GATEWAY}${BOLD}${DGN}Start VM when completed: ${BGN}yes${CL}" + START_VM="yes" + else + echo -e "${GATEWAY}${BOLD}${DGN}Start VM when completed: ${BGN}no${CL}" + START_VM="no" + fi + + if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "ADVANCED SETTINGS COMPLETE" --yesno "Ready to create a Umbrel OS VM?" --no-button Do-Over 10 58); then + echo -e "${CREATING}${BOLD}${DGN}Creating a Umbrel OS VM using the above advanced settings${CL}" + else + header_info + echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Settings${CL}" + advanced_settings + fi +} + +function start_script() { + if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "SETTINGS" --yesno "Use Default Settings?" --no-button Advanced 10 58); then + header_info + echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings${CL}" + default_settings + else + header_info + echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Settings${CL}" + advanced_settings + fi +} +check_root +arch_check +pve_check +ssh_check +start_script +post_to_api_vm + +msg_info "Validating Storage" +while read -r line; do + TAG=$(echo $line | awk '{print $1}') + TYPE=$(echo $line | awk '{printf "%-10s", $2}') + FREE=$(echo $line | numfmt --field 4-6 --from-unit=K --to=iec --format %.2f | awk '{printf( "%9sB", $6)}') + ITEM=" Type: $TYPE Free: $FREE " + OFFSET=2 + if [[ $((${#ITEM} + $OFFSET)) -gt ${MSG_MAX_LENGTH:-} ]]; then + MSG_MAX_LENGTH=$((${#ITEM} + $OFFSET)) + fi + STORAGE_MENU+=("$TAG" "$ITEM" "OFF") +done < <(pvesm status -content images | awk 'NR>1') +VALID=$(pvesm status -content images | awk 'NR>1') +if [ -z "$VALID" ]; then + msg_error "Unable to detect a valid storage location." + exit +elif [ $((${#STORAGE_MENU[@]} / 3)) -eq 1 ]; then + STORAGE=${STORAGE_MENU[0]} +else + while [ -z "${STORAGE:+x}" ]; do + STORAGE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Storage Pools" --radiolist \ + "Which storage pool would you like to use for ${HN}?\nTo make a selection, use the Spacebar.\n" \ + 16 $(($MSG_MAX_LENGTH + 23)) 6 \ + "${STORAGE_MENU[@]}" 3>&1 1>&2 2>&3) + done +fi +msg_ok "Using ${CL}${BL}$STORAGE${CL} ${GN}for Storage Location." +msg_ok "Virtual Machine ID is ${CL}${BL}$VMID${CL}." +msg_info "Retrieving the URL for $APP" +URL="https://download.umbrel.com/release/latest/umbrelos-amd64.img.xz" +FILE="$(basename "$URL")" +sleep 2 +msg_ok "${CL}${BL}${URL}${CL}" +curl -f#SL -o "$FILE" "$URL" +msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" + +if ! command -v pv &>/dev/null; then + apt-get update &>/dev/null && apt-get install -y pv &>/dev/null +fi + +msg_info "Decompressing $FILE with progress${CL}\n" +FILE_IMG="${FILE%.xz}" +SIZE=$(xz --robot -l "$FILE" &>/dev/null | awk -F '\t' '/^totals/ { print $5 }') &>/dev/null +xz -dc "$FILE" | pv -s "$SIZE" -N "Extracting" >"$FILE_IMG" +msg_ok "Decompressed to ${CL}${BL}${FILE%.xz}${CL}" + +STORAGE_TYPE=$(pvesm status -storage $STORAGE | awk 'NR>1 {print $2}') +case $STORAGE_TYPE in +nfs | dir) + DISK_EXT=".raw" + DISK_REF="$VMID/" + DISK_IMPORT="-format raw" + THIN="" + ;; +btrfs) + DISK_EXT=".raw" + DISK_REF="$VMID/" + DISK_IMPORT="-format raw" + FORMAT=",efitype=4m" + THIN="" + ;; +esac +for i in {0,1,2}; do + disk="DISK$i" + eval DISK${i}=vm-${VMID}-disk-${i}${DISK_EXT:-} + eval DISK${i}_REF=${STORAGE}:${DISK_REF:-}${!disk} +done + +msg_info "Creating a Umbrel OS VM" +qm create $VMID -agent 1${MACHINE} -tablet 0 -localtime 1 -bios ovmf${CPU_TYPE} -cores $CORE_COUNT -memory $RAM_SIZE \ + -name $HN -tags community-script -net0 virtio,bridge=$BRG,macaddr=$MAC$VLAN$MTU -onboot 1 -ostype l26 -scsihw virtio-scsi-pci >/dev/null +pvesm alloc $STORAGE $VMID $DISK0 4M >/dev/null +qm importdisk $VMID ${FILE_IMG} $STORAGE ${DISK_IMPORT:-} >/dev/null +qm set $VMID \ + -efidisk0 ${DISK0_REF}${FORMAT} \ + -scsi0 ${DISK1_REF},${DISK_CACHE}${THIN}size=${DISK_SIZE} \ + -boot order=scsi0 \ + -serial0 socket >/dev/null +qm set $VMID --agent enabled=1 >/dev/null + +DESCRIPTION=$( + cat < + + Logo + + +

Umbrel OS VM

+ +

+ + spend Coffee + +

+ + + + GitHub + + + + Discussions + + + + Issues + + +EOF +) +qm set "$VMID" -description "$DESCRIPTION" >/dev/null + +if [ -n "$DISK_SIZE" ]; then + msg_info "Resizing disk to $DISK_SIZE GB" + qm resize $VMID scsi0 ${DISK_SIZE} >/dev/null +else + msg_info "Using default disk size of $DEFAULT_DISK_SIZE GB" + qm resize $VMID scsi0 ${DEFAULT_DISK_SIZE} >/dev/null +fi + +msg_ok "Created a Umbrel OS VM ${CL}${BL}(${HN})" +if [ "$START_VM" == "yes" ]; then + msg_info "Starting Umbrel OS VM" + qm start $VMID + msg_ok "Started Umbrel OS VM" +fi +post_update_to_api "done" "none" +msg_ok "Completed Successfully!\n" From 36f859c062629485ff4a8b2aba2ee22a336f0997 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 14:44:32 +0100 Subject: [PATCH 055/274] Update CHANGELOG.md (#4801) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 94cf5e855..66ab2917f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🆕 New Scripts - - refactor: use binary and randomize credentials in tinyauth [@steveiliop56](https://github.com/steveiliop56) ([#4632](https://github.com/community-scripts/ProxmoxVE/pull/4632)) + - Umbrel-OS [@MickLesk](https://github.com/MickLesk) ([#4788](https://github.com/community-scripts/ProxmoxVE/pull/4788)) +- refactor: use binary and randomize credentials in tinyauth [@steveiliop56](https://github.com/steveiliop56) ([#4632](https://github.com/community-scripts/ProxmoxVE/pull/4632)) - oauth2-proxy ([#4784](https://github.com/community-scripts/ProxmoxVE/pull/4784)) ### 🚀 Updated Scripts From 13506d92fb1540d4e2a12cd12bdacbd955505851 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 15:45:24 +0200 Subject: [PATCH 056/274] Update .app files (#4802) Co-authored-by: GitHub Actions --- ct/headers/umbrel | 6 ------ vm/headers/umbrel-os-vm | 6 ++++++ 2 files changed, 6 insertions(+), 6 deletions(-) delete mode 100644 ct/headers/umbrel create mode 100644 vm/headers/umbrel-os-vm diff --git a/ct/headers/umbrel b/ct/headers/umbrel deleted file mode 100644 index 18f05b514..000000000 --- a/ct/headers/umbrel +++ /dev/null @@ -1,6 +0,0 @@ - __ __ __ __ - / / / /___ ___ / /_ ________ / / - / / / / __ `__ \/ __ \/ ___/ _ \/ / -/ /_/ / / / / / / /_/ / / / __/ / -\____/_/ /_/ /_/_.___/_/ \___/_/ - diff --git a/vm/headers/umbrel-os-vm b/vm/headers/umbrel-os-vm new file mode 100644 index 000000000..dcd63535e --- /dev/null +++ b/vm/headers/umbrel-os-vm @@ -0,0 +1,6 @@ + __ __ __ __ ____ _____ _ ____ ___ + / / / /___ ___ / /_ ________ / / / __ \/ ___/ | | / / |/ / + / / / / __ `__ \/ __ \/ ___/ _ \/ / / / / /\__ \ | | / / /|_/ / +/ /_/ / / / / / / /_/ / / / __/ / / /_/ /___/ / | |/ / / / / +\____/_/ /_/ /_/_.___/_/ \___/_/ \____//____/ |___/_/ /_/ + From 7a963a76b73efbb033d893fccc62e9ed3f35f3ed Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 20:03:58 +0200 Subject: [PATCH 057/274] fix wrong dev/null --- vm/umbrel-os-vm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vm/umbrel-os-vm.sh b/vm/umbrel-os-vm.sh index 62bba48a5..0e238d6ee 100644 --- a/vm/umbrel-os-vm.sh +++ b/vm/umbrel-os-vm.sh @@ -442,7 +442,7 @@ fi msg_info "Decompressing $FILE with progress${CL}\n" FILE_IMG="${FILE%.xz}" -SIZE=$(xz --robot -l "$FILE" &>/dev/null | awk -F '\t' '/^totals/ { print $5 }') &>/dev/null +SIZE=$(xz --robot -l "$FILE" | awk -F '\t' '/^totals/ { print $5 }') &>/dev/null xz -dc "$FILE" | pv -s "$SIZE" -N "Extracting" >"$FILE_IMG" msg_ok "Decompressed to ${CL}${BL}${FILE%.xz}${CL}" From b9ff7513a4aeed7349f0324331978bcca7de8c23 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 19:04:27 +0100 Subject: [PATCH 058/274] Update CHANGELOG.md (#4806) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66ab2917f..c28f68c8f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,6 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🆕 New Scripts - Umbrel-OS [@MickLesk](https://github.com/MickLesk) ([#4788](https://github.com/community-scripts/ProxmoxVE/pull/4788)) -- refactor: use binary and randomize credentials in tinyauth [@steveiliop56](https://github.com/steveiliop56) ([#4632](https://github.com/community-scripts/ProxmoxVE/pull/4632)) - oauth2-proxy ([#4784](https://github.com/community-scripts/ProxmoxVE/pull/4784)) ### 🚀 Updated Scripts @@ -39,6 +38,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🔧 Refactor + - refactor: use binary and randomize credentials in tinyauth [@steveiliop56](https://github.com/steveiliop56) ([#4632](https://github.com/community-scripts/ProxmoxVE/pull/4632)) - MariaDB CLI Update, Go Install Helper & Minor Cleanup [@MickLesk](https://github.com/MickLesk) ([#4793](https://github.com/community-scripts/ProxmoxVE/pull/4793)) - Refactor: Remove redundant dependencies & unify unzip usage [@MickLesk](https://github.com/MickLesk) ([#4780](https://github.com/community-scripts/ProxmoxVE/pull/4780)) - Refactor: Remove gpg / gnupg from script base [@MickLesk](https://github.com/MickLesk) ([#4775](https://github.com/community-scripts/ProxmoxVE/pull/4775)) From 709a899f8f4382f2bf3dfff2c5725f1d334063be Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 20:46:01 +0200 Subject: [PATCH 059/274] fix Basename cleanup --- install/jackett-install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/jackett-install.sh b/install/jackett-install.sh index 73d7677cf..196a39d78 100644 --- a/install/jackett-install.sh +++ b/install/jackett-install.sh @@ -15,7 +15,8 @@ update_os msg_info "Installing Jackett" RELEASE=$(curl -fsSL https://github.com/Jackett/Jackett/releases/latest | grep "title>Release" | cut -d " " -f 4) -curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -o "/opt/Jackett.Binaries.LinuxAMDx64.tar.gz" +cd /opt +curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -o "Jackett.Binaries.LinuxAMDx64.tar.gz" tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz echo "${RELEASE}" >/opt/${APPLICATION}_version.txt From 5abcb4705103294b11b81b1e62518bc26ac90bf9 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 21:23:30 +0200 Subject: [PATCH 060/274] Umbrel: Fix MachineType (#4810) * Umbrel: Fix MachineType * Update umbrel-os-vm.sh * Update umbrel-os-vm.sh --- vm/umbrel-os-vm.sh | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/vm/umbrel-os-vm.sh b/vm/umbrel-os-vm.sh index 0e238d6ee..4cfef379f 100644 --- a/vm/umbrel-os-vm.sh +++ b/vm/umbrel-os-vm.sh @@ -50,6 +50,7 @@ MACADDRESS="${TAB}🔗${TAB}${CL}" VLANTAG="${TAB}🏷️${TAB}${CL}" CREATING="${TAB}🚀${TAB}${CL}" ADVANCED="${TAB}🧩${TAB}${CL}" + THIN="discard=on,ssd=1," set -e trap 'error_handler $LINENO "$BASH_COMMAND"' ERR @@ -60,8 +61,8 @@ function error_handler() { local exit_code="$?" local line_number="$1" local command="$2" - post_update_to_api "failed" "${command}" local error_message="${RD}[ERROR]${CL} in line ${RD}$line_number${CL}: exit code ${RD}$exit_code${CL}: while executing command ${YW}$command${CL}" + post_update_to_api "failed" "${command}" echo -e "\n$error_message\n" cleanup_vmid } @@ -162,7 +163,7 @@ function ssh_check() { fi } -function exit_script() { +function exit-script() { clear echo -e "\n${CROSS}${RD}User exited script${CL}\n" exit @@ -172,9 +173,9 @@ function default_settings() { VMID=$(get_valid_nextid) FORMAT=",efitype=4m" MACHINE="" - DISK_CACHE="" DISK_SIZE="32G" - HN="umbrel-os" + DISK_CACHE="" + HN="umbrelos" CPU_TYPE="" CORE_COUNT="2" RAM_SIZE="4096" @@ -234,7 +235,7 @@ function advanced_settings() { MACHINE="" fi else - exit_script + exit-script fi if DISK_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Disk Size in GiB (e.g., 10, 20)" 8 58 "$DISK_SIZE" --title "DISK SIZE" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then @@ -246,10 +247,10 @@ function advanced_settings() { echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}$DISK_SIZE${CL}" else echo -e "${DISKSIZE}${BOLD}${RD}Invalid Disk Size. Please use a number (e.g., 10 or 10G).${CL}" - exit_script + exit-script fi else - exit_script + exit-script fi if DISK_CACHE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "DISK CACHE" --radiolist "Choose" --cancel-button Exit-Script 10 58 2 \ @@ -264,19 +265,19 @@ function advanced_settings() { DISK_CACHE="" fi else - exit_script + exit-script fi - if VM_NAME=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Hostname" 8 58 umbrel-os --title "HOSTNAME" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then + if VM_NAME=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Hostname" 8 58 umbrelos --title "HOSTNAME" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then if [ -z $VM_NAME ]; then - HN="umbrel-os" + HN="umbrelos" echo -e "${HOSTNAME}${BOLD}${DGN}Hostname: ${BGN}$HN${CL}" else HN=$(echo ${VM_NAME,,} | tr -d ' ') echo -e "${HOSTNAME}${BOLD}${DGN}Hostname: ${BGN}$HN${CL}" fi else - exit_script + exit-script fi if CPU_TYPE1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "CPU MODEL" --radiolist "Choose" --cancel-button Exit-Script 10 58 2 \ @@ -291,7 +292,7 @@ function advanced_settings() { CPU_TYPE="" fi else - exit_script + exit-script fi if CORE_COUNT=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Allocate CPU Cores" 8 58 2 --title "CORE COUNT" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then @@ -302,7 +303,7 @@ function advanced_settings() { echo -e "${CPUCORE}${BOLD}${DGN}CPU Cores: ${BGN}$CORE_COUNT${CL}" fi else - exit_script + exit-script fi if RAM_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Allocate RAM in MiB" 8 58 2048 --title "RAM" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then @@ -313,7 +314,7 @@ function advanced_settings() { echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}$RAM_SIZE${CL}" fi else - exit_script + exit-script fi if BRG=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a Bridge" 8 58 vmbr0 --title "BRIDGE" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then @@ -324,7 +325,7 @@ function advanced_settings() { echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}$BRG${CL}" fi else - exit_script + exit-script fi if MAC1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a MAC Address" 8 58 $GEN_MAC --title "MAC ADDRESS" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then @@ -336,7 +337,7 @@ function advanced_settings() { echo -e "${MACADDRESS}${BOLD}${DGN}MAC Address: ${BGN}$MAC1${CL}" fi else - exit_script + exit-script fi if VLAN1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a Vlan(leave blank for default)" 8 58 --title "VLAN" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then @@ -349,7 +350,7 @@ function advanced_settings() { echo -e "${VLANTAG}${BOLD}${DGN}VLAN: ${BGN}$VLAN1${CL}" fi else - exit_script + exit-script fi if MTU1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Interface MTU Size (leave blank for default)" 8 58 --title "MTU SIZE" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then @@ -362,7 +363,7 @@ function advanced_settings() { echo -e "${DEFAULT}${BOLD}${DGN}Interface MTU Size: ${BGN}$MTU1${CL}" fi else - exit_script + exit-script fi if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "START VIRTUAL MACHINE" --yesno "Start VM when completed?" 10 58); then @@ -393,13 +394,14 @@ function start_script() { advanced_settings fi } + check_root arch_check pve_check ssh_check start_script -post_to_api_vm +post_to_api_vm msg_info "Validating Storage" while read -r line; do TAG=$(echo $line | awk '{print $1}') From e9470ab1af8ce73c3d1486c4f76a4d35b8b8d347 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 21:32:23 +0200 Subject: [PATCH 061/274] remove old ved links in source --- vm/umbrel-os-vm.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/vm/umbrel-os-vm.sh b/vm/umbrel-os-vm.sh index 4cfef379f..72783bd45 100644 --- a/vm/umbrel-os-vm.sh +++ b/vm/umbrel-os-vm.sh @@ -4,9 +4,7 @@ # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/api.func) -source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/vm-core.func) -load_functions +source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) APP="Umbrel OS VM" header_info From 6745dad963696c184aca5622e84e125b619c2913 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 28 May 2025 21:35:09 +0200 Subject: [PATCH 062/274] fix missing header after ved migration --- vm/umbrel-os-vm.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/vm/umbrel-os-vm.sh b/vm/umbrel-os-vm.sh index 72783bd45..38abfba57 100644 --- a/vm/umbrel-os-vm.sh +++ b/vm/umbrel-os-vm.sh @@ -6,7 +6,17 @@ source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) -APP="Umbrel OS VM" +function header_info { + clear + cat <<"EOF" + __ __ __ __ ____ _____ _ ____ ___ + / / / /___ ___ / /_ ________ / / / __ \/ ___/ | | / / |/ / + / / / / __ `__ \/ __ \/ ___/ _ \/ / / / / /\__ \ | | / / /|_/ / +/ /_/ / / / / / / /_/ / / / __/ / / /_/ /___/ / | |/ / / / / +\____/_/ /_/ /_/_.___/_/ \___/_/ \____//____/ |___/_/ /_/ + +EOF +} header_info echo -e "\n Loading..." GEN_MAC=02:$(openssl rand -hex 5 | awk '{print toupper($0)}' | sed 's/\(..\)/\1:/g; s/.$//') From 4495ffee6a2fbd74d8d3ce14b7dc4cfcf34b32d3 Mon Sep 17 00:00:00 2001 From: xb00tt <93680121+xb00tt@users.noreply.github.com> Date: Wed, 28 May 2025 22:40:53 +0300 Subject: [PATCH 063/274] Update pulse.json (#4809) Proxmox-API-Token link had a rogue blank space after https:// --- frontend/public/json/pulse.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/pulse.json b/frontend/public/json/pulse.json index bbfcfecdd..6dbef9a03 100644 --- a/frontend/public/json/pulse.json +++ b/frontend/public/json/pulse.json @@ -33,7 +33,7 @@ }, "notes": [ { - "text": "Create Proxmox-API-Token first: `https: //github.com/rcourtman/Pulse?tab=readme-ov-file#creating-a-proxmox-api-token`", + "text": "Create Proxmox-API-Token first: `https://github.com/rcourtman/Pulse?tab=readme-ov-file#creating-a-proxmox-api-token`", "type": "Info" } ] From 0677af31c4a66086b4903eb04915ff71eb72e547 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 20:41:17 +0100 Subject: [PATCH 064/274] Update CHANGELOG.md (#4811) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c28f68c8f..8ceafe76e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,6 +43,12 @@ All LXC instances created using this repository come pre-installed with Midnight - Refactor: Remove redundant dependencies & unify unzip usage [@MickLesk](https://github.com/MickLesk) ([#4780](https://github.com/community-scripts/ProxmoxVE/pull/4780)) - Refactor: Remove gpg / gnupg from script base [@MickLesk](https://github.com/MickLesk) ([#4775](https://github.com/community-scripts/ProxmoxVE/pull/4775)) +### 🌐 Website + + - #### 📝 Script Information + + - pulse: correct url in note [@xb00tt](https://github.com/xb00tt) ([#4809](https://github.com/community-scripts/ProxmoxVE/pull/4809)) + ## 2025-05-27 ### 🆕 New Scripts From 964950c82c67e771ddee723c304801545d02a565 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 02:14:45 +0200 Subject: [PATCH 065/274] Update versions.json (#4813) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 116 ++++++++++++++--------------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index d372aa0a2..77f3785c1 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,59 @@ [ + { + "name": "navidrome/navidrome", + "version": "v0.56.0", + "date": "2025-05-28T23:36:58Z" + }, + { + "name": "webmin/webmin", + "version": "2.400", + "date": "2025-05-28T22:36:05Z" + }, + { + "name": "apache/cassandra", + "version": "cassandra-4.0.18", + "date": "2025-05-28T21:45:55Z" + }, + { + "name": "mongodb/mongo", + "version": "r6.0.24", + "date": "2025-05-28T21:25:03Z" + }, + { + "name": "home-assistant/core", + "version": "2025.5.3", + "date": "2025-05-23T15:10:33Z" + }, + { + "name": "influxdata/influxdb", + "version": "v3.1.0", + "date": "2025-05-28T18:48:34Z" + }, + { + "name": "nzbgetcom/nzbget", + "version": "v25.0", + "date": "2025-05-12T09:12:04Z" + }, + { + "name": "zwave-js/zwave-js-ui", + "version": "v10.6.0", + "date": "2025-05-28T15:45:44Z" + }, + { + "name": "jenkinsci/jenkins", + "version": "jenkins-2.504.2", + "date": "2025-05-28T14:36:54Z" + }, + { + "name": "kimai/kimai", + "version": "2.35.0", + "date": "2025-05-28T12:41:09Z" + }, + { + "name": "VictoriaMetrics/VictoriaMetrics", + "version": "v1.23.0-victorialogs", + "date": "2025-05-28T12:27:36Z" + }, { "name": "element-hq/synapse", "version": "v1.130.0", @@ -42,32 +97,17 @@ { "name": "ollama/ollama", "version": "v0.8.0", - "date": "2025-05-27T23:50:57Z" - }, - { - "name": "mongodb/mongo", - "version": "r8.1.0-alpha3", - "date": "2025-05-27T22:33:59Z" - }, - { - "name": "influxdata/influxdb", - "version": "v1.12.1rc1", - "date": "2025-05-27T22:00:09Z" + "date": "2025-05-27T19:55:15Z" }, { "name": "bluenviron/mediamtx", "version": "v1.12.3", "date": "2025-05-27T20:43:10Z" }, - { - "name": "home-assistant/core", - "version": "2025.5.3", - "date": "2025-05-23T15:10:33Z" - }, { "name": "runtipi/runtipi", - "version": "v4.1.1", - "date": "2025-05-16T17:37:30Z" + "version": "nightly", + "date": "2025-05-27T19:00:14Z" }, { "name": "Threadfin/Threadfin", @@ -84,11 +124,6 @@ "version": "v6.2.16", "date": "2025-05-27T16:27:42Z" }, - { - "name": "jenkinsci/jenkins", - "version": "jenkins-2.512", - "date": "2025-05-27T16:06:07Z" - }, { "name": "neo4j/neo4j", "version": "5.26.7", @@ -164,11 +199,6 @@ "version": "coverity-w22-4.13.0", "date": "2025-05-26T15:04:48Z" }, - { - "name": "nzbgetcom/nzbget", - "version": "v25.0", - "date": "2025-05-12T09:12:04Z" - }, { "name": "jupyter/notebook", "version": "v7.4.3", @@ -179,11 +209,6 @@ "version": "v1.29.6", "date": "2025-05-06T07:57:02Z" }, - { - "name": "VictoriaMetrics/VictoriaMetrics", - "version": "pmm-6401-v1.118.0", - "date": "2025-05-26T13:09:32Z" - }, { "name": "Graylog2/graylog2-server", "version": "6.3.0-beta.3", @@ -294,11 +319,6 @@ "version": "mariadb-11.4.7", "date": "2025-05-22T14:22:22Z" }, - { - "name": "apache/cassandra", - "version": "4.0.18-tentative", - "date": "2025-05-22T11:46:18Z" - }, { "name": "0xERR0R/blocky", "version": "v0.26.2", @@ -419,11 +439,6 @@ "version": "debian/12.1.6.1", "date": "2025-05-18T17:01:42Z" }, - { - "name": "kimai/kimai", - "version": "2.34.0", - "date": "2025-05-18T13:22:17Z" - }, { "name": "hansmi/prometheus-paperless-exporter", "version": "v0.0.8", @@ -499,11 +514,6 @@ "version": "v3.1.1", "date": "2025-05-15T15:17:57Z" }, - { - "name": "zwave-js/zwave-js-ui", - "version": "v10.5.1", - "date": "2025-05-15T09:59:28Z" - }, { "name": "FlowiseAI/Flowise", "version": "flowise@3.0.0", @@ -874,11 +884,6 @@ "version": "2.3", "date": "2025-04-05T18:05:36Z" }, - { - "name": "navidrome/navidrome", - "version": "v0.55.2", - "date": "2025-04-05T12:07:32Z" - }, { "name": "MagicMirrorOrg/MagicMirror", "version": "v2.31.0", @@ -964,11 +969,6 @@ "version": "v4.0.14.2939", "date": "2025-03-17T19:12:37Z" }, - { - "name": "webmin/webmin", - "version": "2.303", - "date": "2025-03-17T04:54:50Z" - }, { "name": "transmission/transmission", "version": "4.0.1-beta.1", From 48979104d7806e719dbc78dee1284489fb4312c4 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 01:15:30 +0100 Subject: [PATCH 066/274] Update CHANGELOG.md (#4814) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ceafe76e..e74c111bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-05-29 + ## 2025-05-28 ### 🆕 New Scripts From 6d40ca9cd67eeb362c0d20197ad879553d40970b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6tz=20G=C3=B6risch?= <47734341+GoetzGoerisch@users.noreply.github.com> Date: Thu, 29 May 2025 08:43:39 +0200 Subject: [PATCH 067/274] docs: fix casing of OpenWrt (#4805) * reason: https://openwrt.org/trademark Signed-off-by: Goetz Goerisch Co-authored-by: Goetz Goerisch --- vm/openwrt.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vm/openwrt.sh b/vm/openwrt.sh index 9d91c1d19..6d832e5a9 100644 --- a/vm/openwrt.sh +++ b/vm/openwrt.sh @@ -252,7 +252,7 @@ function default_settings() { echo -e "${DGN}Using LAN NETMASK: ${BGN}${LAN_NETMASK}${CL}" echo -e "${DGN}Using Interface MTU Size: ${BGN}Default${CL}" echo -e "${DGN}Start VM when completed: ${BGN}yes${CL}" - echo -e "${BL}Creating a OpenWRT VM using the above default settings${CL}" + echo -e "${BL}Creating a OpenWrt VM using the above default settings${CL}" } function advanced_settings() { @@ -510,7 +510,7 @@ qm set $VMID \ -tags community-script \ -description "
- # OpenWRT + # OpenWrt
" >/dev/null From fd637c88196a8b1c7105d633b0305a05938d58ba Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 07:44:17 +0100 Subject: [PATCH 068/274] Update CHANGELOG.md (#4819) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e74c111bc..e4866cbdf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-05-29 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - docs: fix casing of OpenWrt [@GoetzGoerisch](https://github.com/GoetzGoerisch) ([#4805](https://github.com/community-scripts/ProxmoxVE/pull/4805)) + ## 2025-05-28 ### 🆕 New Scripts From 5a16b5995dc01909d5f03fd5c126e6540caf2381 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 14:07:26 +0200 Subject: [PATCH 069/274] Update versions.json (#4822) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 80 +++++++++++++++--------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 77f3785c1..6629b6e10 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,39 @@ [ + { + "name": "mattermost/mattermost", + "version": "v10.5.7", + "date": "2025-05-27T05:34:42Z" + }, + { + "name": "runtipi/runtipi", + "version": "nightly", + "date": "2025-05-27T19:00:14Z" + }, + { + "name": "syncthing/syncthing", + "version": "v1.29.6", + "date": "2025-05-06T07:57:02Z" + }, + { + "name": "duplicati/duplicati", + "version": "v2.1.0.119-2.1.0.119_canary_2025-05-29", + "date": "2025-05-29T06:14:27Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1967", + "date": "2025-05-29T05:56:52Z" + }, + { + "name": "ollama/ollama", + "version": "v0.8.0", + "date": "2025-05-27T19:55:15Z" + }, + { + "name": "open-webui/open-webui", + "version": "v0.6.12", + "date": "2025-05-28T23:59:40Z" + }, { "name": "navidrome/navidrome", "version": "v0.56.0", @@ -29,6 +64,11 @@ "version": "v3.1.0", "date": "2025-05-28T18:48:34Z" }, + { + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" + }, { "name": "nzbgetcom/nzbget", "version": "v25.0", @@ -69,21 +109,11 @@ "version": "v2.71.11", "date": "2025-05-28T09:16:41Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.5", - "date": "2025-05-28T06:49:43Z" - }, { "name": "Checkmk/checkmk", "version": "v2.2.0p43-rc1", "date": "2025-05-28T06:23:13Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1960", - "date": "2025-05-28T05:56:49Z" - }, { "name": "Athou/commafeed", "version": "5.10.0", @@ -94,21 +124,11 @@ "version": "v6.12.6", "date": "2025-05-28T00:13:19Z" }, - { - "name": "ollama/ollama", - "version": "v0.8.0", - "date": "2025-05-27T19:55:15Z" - }, { "name": "bluenviron/mediamtx", "version": "v1.12.3", "date": "2025-05-27T20:43:10Z" }, - { - "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-05-27T19:00:14Z" - }, { "name": "Threadfin/Threadfin", "version": "1.2.34", @@ -149,11 +169,6 @@ "version": "v0.107.62", "date": "2025-05-27T12:10:19Z" }, - { - "name": "mattermost/mattermost", - "version": "v10.5.7", - "date": "2025-05-27T05:34:42Z" - }, { "name": "n8n-io/n8n", "version": "n8n@1.94.1", @@ -169,11 +184,6 @@ "version": "v2.14.12", "date": "2025-05-27T03:58:59Z" }, - { - "name": "open-webui/open-webui", - "version": "v0.6.11", - "date": "2025-05-26T22:27:26Z" - }, { "name": "Radarr/Radarr", "version": "v5.25.0.10024", @@ -204,11 +214,6 @@ "version": "v7.4.3", "date": "2025-05-26T14:27:27Z" }, - { - "name": "syncthing/syncthing", - "version": "v1.29.6", - "date": "2025-05-06T07:57:02Z" - }, { "name": "Graylog2/graylog2-server", "version": "6.3.0-beta.3", @@ -564,11 +569,6 @@ "version": "v2025-05-11", "date": "2025-05-12T19:14:57Z" }, - { - "name": "duplicati/duplicati", - "version": "v2.1.0.118-2.1.0.118_canary_2025-05-12", - "date": "2025-05-12T18:50:44Z" - }, { "name": "usememos/memos", "version": "v0.24.3", From b406921c1a7bc8ab99db05b4eb00da8819eee3ae Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu, 29 May 2025 15:29:33 +0200 Subject: [PATCH 070/274] fix pulse --- install/pulse-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/pulse-install.sh b/install/pulse-install.sh index 09b69258c..5742a9662 100644 --- a/install/pulse-install.sh +++ b/install/pulse-install.sh @@ -34,7 +34,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/releases/lates temp_file=$(mktemp) mkdir -p /opt/pulse-proxmox curl -fsSL "https://github.com/rcourtman/Pulse/releases/download/v${RELEASE}/pulse-v${RELEASE}.tar.gz" -o "$temp_file" -tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox 2> >(grep -v 'LIBARCHIVE.xattr.com.apple.provenance' >&2) +tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed Pulse" From 85ae0e2f74ab8ac4521b5f710caad8647c39a801 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu, 29 May 2025 17:53:00 +0200 Subject: [PATCH 071/274] change node Version --- install/monica-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/monica-install.sh b/install/monica-install.sh index c4e136d34..bce3ccc60 100644 --- a/install/monica-install.sh +++ b/install/monica-install.sh @@ -22,7 +22,7 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" install_mariadb -NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules +NODE_VERSION="20" NODE_MODULE="yarn@latest" install_node_and_modules msg_info "Setting up MariaDB" DB_NAME=monica From 5295ed8cf280139c5e167c4117dfe5a1b883c7ab Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu, 29 May 2025 19:25:25 +0200 Subject: [PATCH 072/274] Docker-VM: set individual Hostname / Disk-Space formatting (#4821) * Docker-VM: Refactor (Hostname / Disk-Space) * Update docker-vm.json --- frontend/public/json/docker-vm.json | 2 +- vm/docker-vm.sh | 40 +++++++++++++++-------------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/frontend/public/json/docker-vm.json b/frontend/public/json/docker-vm.json index f503bf011..a86ed0248 100644 --- a/frontend/public/json/docker-vm.json +++ b/frontend/public/json/docker-vm.json @@ -22,7 +22,7 @@ "resources": { "cpu": 2, "ram": 4096, - "hdd": 8, + "hdd": 10, "os": "debian", "version": "12" } diff --git a/vm/docker-vm.sh b/vm/docker-vm.sh index 92194d17a..3eab0aac9 100644 --- a/vm/docker-vm.sh +++ b/vm/docker-vm.sh @@ -22,10 +22,10 @@ echo -e "\n Loading..." GEN_MAC=02:$(openssl rand -hex 5 | awk '{print toupper($0)}' | sed 's/\(..\)/\1:/g; s/.$//') RANDOM_UUID="$(cat /proc/sys/kernel/random/uuid)" METHOD="" -NSAPP="debian12vm" +NSAPP="docker-vm" var_os="debian" var_version="12" -DISK_SIZE="8G" +DISK_SIZE="10G" YW=$(echo "\033[33m") BL=$(echo "\033[36m") @@ -107,7 +107,7 @@ function cleanup() { TEMP_DIR=$(mktemp -d) pushd $TEMP_DIR >/dev/null -if whiptail --backtitle "Proxmox VE Helper Scripts" --title "Debian 12 VM" --yesno "This will create a New Debian 12 VM. Proceed?" 10 58; then +if whiptail --backtitle "Proxmox VE Helper Scripts" --title "Docker VM" --yesno "This will create a New Docker VM. Proceed?" 10 58; then : else header_info && echo -e "${CROSS}${RD}User exited script${CL}\n" && exit @@ -206,7 +206,7 @@ function default_settings() { echo -e "${VLANTAG}${BOLD}${DGN}VLAN: ${BGN}Default${CL}" echo -e "${DEFAULT}${BOLD}${DGN}Interface MTU Size: ${BGN}Default${CL}" echo -e "${GATEWAY}${BOLD}${DGN}Start VM when completed: ${BGN}yes${CL}" - echo -e "${CREATING}${BOLD}${DGN}Creating a Debian 12 VM using the above default settings${CL}" + echo -e "${CREATING}${BOLD}${DGN}Creating a Docker VM using the above default settings${CL}" } function advanced_settings() { @@ -276,9 +276,9 @@ function advanced_settings() { exit-script fi - if VM_NAME=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Hostname" 8 58 debian --title "HOSTNAME" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then + if VM_NAME=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Hostname" 8 58 docker --title "HOSTNAME" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then if [ -z $VM_NAME ]; then - HN="debian" + HN="docker" echo -e "${HOSTNAME}${BOLD}${DGN}Hostname: ${BGN}$HN${CL}" else HN=$(echo ${VM_NAME,,} | tr -d ' ') @@ -382,8 +382,8 @@ function advanced_settings() { START_VM="no" fi - if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "ADVANCED SETTINGS COMPLETE" --yesno "Ready to create a Debian 12 VM?" --no-button Do-Over 10 58); then - echo -e "${CREATING}${BOLD}${DGN}Creating a Debian 12 VM using the above advanced settings${CL}" + if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "ADVANCED SETTINGS COMPLETE" --yesno "Ready to create a Docker VM?" --no-button Do-Over 10 58); then + echo -e "${CREATING}${BOLD}${DGN}Creating a Docker VM using the above advanced settings${CL}" else header_info echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Settings${CL}" @@ -468,9 +468,12 @@ for i in {0,1}; do eval DISK${i}_REF=${STORAGE}:${DISK_REF:-}${!disk} done -msg_info "Installing Pre-Requisite libguestfs-tools onto Host" -apt-get -qq update && apt-get -qq install libguestfs-tools lsb-release -y >/dev/null -msg_ok "Installed libguestfs-tools successfully" +if ! command -v virt-customize &>/dev/null; then + msg_info "Installing Pre-Requisite libguestfs-tools onto Host" + apt-get -qq update >/dev/null + apt-get -qq install libguestfs-tools lsb-release -y >/dev/null + msg_ok "Installed libguestfs-tools successfully" +fi msg_info "Adding Docker and Docker Compose Plugin to Debian 12 Qcow2 Disk Image" virt-customize -q -a "${FILE}" --install qemu-guest-agent,apt-transport-https,ca-certificates,curl,gnupg,software-properties-common,lsb-release >/dev/null && @@ -478,9 +481,16 @@ virt-customize -q -a "${FILE}" --install qemu-guest-agent,apt-transport-https,ca virt-customize -q -a "${FILE}" --run-command "echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable' > /etc/apt/sources.list.d/docker.list" >/dev/null && virt-customize -q -a "${FILE}" --run-command "apt-get update -qq && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin" >/dev/null && virt-customize -q -a "${FILE}" --run-command "systemctl enable docker" >/dev/null && + virt-customize -q -a "${FILE}" --hostname "${HN}" >/dev/null && virt-customize -q -a "${FILE}" --run-command "echo -n > /etc/machine-id" >/dev/null msg_ok "Added Docker and Docker Compose Plugin to Debian 12 Qcow2 Disk Image successfully" +msg_info "Expanding root partition to use full disk space" +qemu-img create -f qcow2 expanded.qcow2 ${DISK_SIZE} >/dev/null 2>&1 +virt-resize --expand /dev/sda1 ${FILE} expanded.qcow2 >/dev/null 2>&1 +mv expanded.qcow2 ${FILE} >/dev/null 2>&1 +msg_ok "Expanded image to full size" + msg_info "Creating a Docker VM" qm create $VMID -agent 1${MACHINE} -tablet 0 -localtime 1 -bios ovmf${CPU_TYPE} -cores $CORE_COUNT -memory $RAM_SIZE \ -name $HN -tags community-script -net0 virtio,bridge=$BRG,macaddr=$MAC$VLAN$MTU -onboot 1 -ostype l26 -scsihw virtio-scsi-pci @@ -526,14 +536,6 @@ EOF ) qm set "$VMID" -description "$DESCRIPTION" >/dev/null -if [ -n "$DISK_SIZE" ]; then - msg_info "Resizing disk to $DISK_SIZE GB" - qm resize $VMID scsi0 ${DISK_SIZE} >/dev/null -else - msg_info "Using default disk size of $DEFAULT_DISK_SIZE GB" - qm resize $VMID scsi0 ${DEFAULT_DISK_SIZE} >/dev/null -fi - msg_ok "Created a Docker VM ${CL}${BL}(${HN})" if [ "$START_VM" == "yes" ]; then msg_info "Starting Docker VM" From 85837d8099ccc56028cfdb4143a5b47f01bcdf0b Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu, 29 May 2025 19:25:36 +0200 Subject: [PATCH 073/274] Update mysql-install.sh (#4820) --- install/mysql-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/mysql-install.sh b/install/mysql-install.sh index 359c410ac..d1c8a7222 100644 --- a/install/mysql-install.sh +++ b/install/mysql-install.sh @@ -43,7 +43,7 @@ msg_ok "Installed MySQL" msg_info "Configure MySQL Server" ADMIN_PASS="$(openssl rand -base64 18 | cut -c1-13)" -$STD mariadb -uroot -p"$ADMIN_PASS" -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH $RELEASE_AUTH BY '$ADMIN_PASS'; FLUSH PRIVILEGES;" +$STD mysql -uroot -p"$ADMIN_PASS" -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH $RELEASE_AUTH BY '$ADMIN_PASS'; FLUSH PRIVILEGES;" echo "" >~/mysql.creds echo -e "MySQL user: root" >>~/mysql.creds echo -e "MySQL password: $ADMIN_PASS" >>~/mysql.creds From 030e6344d2d4eb74a0a653bef6899ac05c22808c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 18:26:05 +0100 Subject: [PATCH 074/274] Update CHANGELOG.md (#4829) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e4866cbdf..2bfb22892 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,8 +20,13 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - MySQL: Fix Wrong Command [@MickLesk](https://github.com/MickLesk) ([#4820](https://github.com/community-scripts/ProxmoxVE/pull/4820)) - docs: fix casing of OpenWrt [@GoetzGoerisch](https://github.com/GoetzGoerisch) ([#4805](https://github.com/community-scripts/ProxmoxVE/pull/4805)) + - #### ✨ New Features + + - Docker-VM: set individual Hostname / Disk-Space formatting [@MickLesk](https://github.com/MickLesk) ([#4821](https://github.com/community-scripts/ProxmoxVE/pull/4821)) + ## 2025-05-28 ### 🆕 New Scripts From b6319b5dd3cbefbfa869655ab3e24d929530ecfb Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 18:26:14 +0100 Subject: [PATCH 075/274] Update CHANGELOG.md (#4830) Co-authored-by: github-actions[bot] From f23b688d55f17138d761e47319823d2924dc257a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 29 May 2025 20:32:30 +0200 Subject: [PATCH 076/274] Fix Dashboard not beign accessible (#4828) --- install/alpine-traefik-install.sh | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/install/alpine-traefik-install.sh b/install/alpine-traefik-install.sh index aa3abb871..84a98f9d5 100644 --- a/install/alpine-traefik-install.sh +++ b/install/alpine-traefik-install.sh @@ -24,26 +24,7 @@ msg_ok "Installed Traefik" read -p "${TAB3}Enable Traefik WebUI (Port 8080)? [y/N]: " enable_webui if [[ "$enable_webui" =~ ^[Yy]$ ]]; then msg_info "Configuring Traefik WebUI" - mkdir -p /etc/traefik/config - cat </etc/traefik/traefik.yml -entryPoints: - web: - address: ":80" - traefik: - address: ":8080" - -api: - dashboard: true - insecure: true - -log: - level: INFO - -providers: - file: - directory: /etc/traefik/config - watch: true -EOF + sed -i 's/localhost//g' /etc/traefik/traefik.yaml msg_ok "Configured Traefik WebUI" fi From 1619d6a0930e946aed8ab6e41c7e1fa8ee79084b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 19:33:03 +0100 Subject: [PATCH 077/274] Update CHANGELOG.md (#4832) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2bfb22892..b137d7f72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - Alpine Traefik: Fix Dashboard not beign accessible [@tremor021](https://github.com/tremor021) ([#4828](https://github.com/community-scripts/ProxmoxVE/pull/4828)) - MySQL: Fix Wrong Command [@MickLesk](https://github.com/MickLesk) ([#4820](https://github.com/community-scripts/ProxmoxVE/pull/4820)) - docs: fix casing of OpenWrt [@GoetzGoerisch](https://github.com/GoetzGoerisch) ([#4805](https://github.com/community-scripts/ProxmoxVE/pull/4805)) From e39e5d5b7dbc22b219e7208732924b61c27c3b1d Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu, 29 May 2025 21:02:17 +0200 Subject: [PATCH 078/274] Docmost: add jq before nodejs install (#4831) special for docmost - because they used an fixed pnpm --- install/docmost-install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/docmost-install.sh b/install/docmost-install.sh index d1ee705f7..a6a74fd5e 100644 --- a/install/docmost-install.sh +++ b/install/docmost-install.sh @@ -16,6 +16,7 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ redis \ + jq \ make msg_ok "Installed Dependencies" From 23e33c5cb6b0b2c40eb9d381a671b1447e58eeaa Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 20:02:53 +0100 Subject: [PATCH 079/274] Update CHANGELOG.md (#4833) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b137d7f72..28d7b4370 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - Docmost: add jq before nodejs install [@MickLesk](https://github.com/MickLesk) ([#4831](https://github.com/community-scripts/ProxmoxVE/pull/4831)) - Alpine Traefik: Fix Dashboard not beign accessible [@tremor021](https://github.com/tremor021) ([#4828](https://github.com/community-scripts/ProxmoxVE/pull/4828)) - MySQL: Fix Wrong Command [@MickLesk](https://github.com/MickLesk) ([#4820](https://github.com/community-scripts/ProxmoxVE/pull/4820)) - docs: fix casing of OpenWrt [@GoetzGoerisch](https://github.com/GoetzGoerisch) ([#4805](https://github.com/community-scripts/ProxmoxVE/pull/4805)) From 85975fbe15403320222f1764344442d41e9926b7 Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Thu, 29 May 2025 21:35:54 +0200 Subject: [PATCH 080/274] SearXNG fix limiter (#4834) * fix limiter * apply to existing lxc --- ct/searxng.sh | 3 ++- install/searxng-install.sh | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ct/searxng.sh b/ct/searxng.sh index 4289c9e4b..7d9df8d60 100644 --- a/ct/searxng.sh +++ b/ct/searxng.sh @@ -27,6 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + sed -i 's/^\([[:space:]]*limiter:\)[[:space:]]*true/\1 false/' /etc/searxng/settings.yml if cd /usr/local/searxng/searxng-src && git pull | grep -q 'Already up to date'; then msg_ok "There is currently no update available." fi @@ -39,4 +40,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}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8888${CL}" diff --git a/install/searxng-install.sh b/install/searxng-install.sh index e58fee3b8..0d955cb20 100644 --- a/install/searxng-install.sh +++ b/install/searxng-install.sh @@ -54,7 +54,7 @@ server: bind_address: "0.0.0.0" port: 8888 secret_key: "${SECRET_KEY}" - limiter: true + limiter: false image_proxy: true redis: url: "redis://127.0.0.1:6379/0" From a23b83dfc593054769ac4b8a567223c72ac725e0 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 20:36:28 +0100 Subject: [PATCH 081/274] Update CHANGELOG.md (#4836) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 28d7b4370..e54770caa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - SearXNG fix limiter [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4834](https://github.com/community-scripts/ProxmoxVE/pull/4834)) - Docmost: add jq before nodejs install [@MickLesk](https://github.com/MickLesk) ([#4831](https://github.com/community-scripts/ProxmoxVE/pull/4831)) - Alpine Traefik: Fix Dashboard not beign accessible [@tremor021](https://github.com/tremor021) ([#4828](https://github.com/community-scripts/ProxmoxVE/pull/4828)) - MySQL: Fix Wrong Command [@MickLesk](https://github.com/MickLesk) ([#4820](https://github.com/community-scripts/ProxmoxVE/pull/4820)) From ac902f2098c630a1480940335b78095265412f6b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 21:37:15 +0200 Subject: [PATCH 082/274] Update .app files (#4835) Co-authored-by: GitHub Actions --- vm/headers/umbrel-os-vm | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 vm/headers/umbrel-os-vm diff --git a/vm/headers/umbrel-os-vm b/vm/headers/umbrel-os-vm deleted file mode 100644 index dcd63535e..000000000 --- a/vm/headers/umbrel-os-vm +++ /dev/null @@ -1,6 +0,0 @@ - __ __ __ __ ____ _____ _ ____ ___ - / / / /___ ___ / /_ ________ / / / __ \/ ___/ | | / / |/ / - / / / / __ `__ \/ __ \/ ___/ _ \/ / / / / /\__ \ | | / / /|_/ / -/ /_/ / / / / / / /_/ / / / __/ / / /_/ /___/ / | |/ / / / / -\____/_/ /_/ /_/_.___/_/ \___/_/ \____//____/ |___/_/ /_/ - From e388ce82a16b482296528661075c3bcc363fe8c5 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 30 May 2025 02:14:58 +0200 Subject: [PATCH 083/274] Update versions.json (#4840) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 136 ++++++++++++++--------------- 1 file changed, 68 insertions(+), 68 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 6629b6e10..749bbe35d 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,19 +1,79 @@ [ { - "name": "mattermost/mattermost", - "version": "v10.5.7", - "date": "2025-05-27T05:34:42Z" + "name": "VictoriaMetrics/VictoriaMetrics", + "version": "v1.23.2-victorialogs", + "date": "2025-05-29T22:26:27Z" }, { - "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-05-27T19:00:14Z" + "name": "open-webui/open-webui", + "version": "v0.6.13", + "date": "2025-05-29T21:37:38Z" + }, + { + "name": "gristlabs/grist-core", + "version": "v1.6.0", + "date": "2025-05-29T19:11:21Z" + }, + { + "name": "navidrome/navidrome", + "version": "v0.56.1", + "date": "2025-05-29T19:09:16Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.16", + "date": "2025-05-27T16:27:42Z" + }, + { + "name": "tailscale/tailscale", + "version": "v1.84.1", + "date": "2025-05-29T17:41:04Z" + }, + { + "name": "HabitRPG/habitica", + "version": "v5.36.5", + "date": "2025-05-29T17:06:01Z" + }, + { + "name": "FlowiseAI/Flowise", + "version": "flowise@3.0.1", + "date": "2025-05-29T17:00:06Z" + }, + { + "name": "n8n-io/n8n", + "version": "n8n@1.94.1", + "date": "2025-05-27T10:36:43Z" }, { "name": "syncthing/syncthing", "version": "v1.29.6", "date": "2025-05-06T07:57:02Z" }, + { + "name": "mattermost/mattermost", + "version": "server/public/v0.1.14", + "date": "2025-05-29T15:35:16Z" + }, + { + "name": "readeck/readeck", + "version": "0.19.2", + "date": "2025-05-29T14:39:17Z" + }, + { + "name": "nzbgetcom/nzbget", + "version": "v25.0", + "date": "2025-05-12T09:12:04Z" + }, + { + "name": "zwave-js/zwave-js-ui", + "version": "v10.6.1", + "date": "2025-05-29T13:36:09Z" + }, + { + "name": "runtipi/runtipi", + "version": "nightly", + "date": "2025-05-27T19:00:14Z" + }, { "name": "duplicati/duplicati", "version": "v2.1.0.119-2.1.0.119_canary_2025-05-29", @@ -26,18 +86,8 @@ }, { "name": "ollama/ollama", - "version": "v0.8.0", - "date": "2025-05-27T19:55:15Z" - }, - { - "name": "open-webui/open-webui", - "version": "v0.6.12", - "date": "2025-05-28T23:59:40Z" - }, - { - "name": "navidrome/navidrome", - "version": "v0.56.0", - "date": "2025-05-28T23:36:58Z" + "version": "v0.9.0", + "date": "2025-05-29T02:38:52Z" }, { "name": "webmin/webmin", @@ -69,16 +119,6 @@ "version": "26.2.5", "date": "2025-05-28T06:49:43Z" }, - { - "name": "nzbgetcom/nzbget", - "version": "v25.0", - "date": "2025-05-12T09:12:04Z" - }, - { - "name": "zwave-js/zwave-js-ui", - "version": "v10.6.0", - "date": "2025-05-28T15:45:44Z" - }, { "name": "jenkinsci/jenkins", "version": "jenkins-2.504.2", @@ -89,11 +129,6 @@ "version": "2.35.0", "date": "2025-05-28T12:41:09Z" }, - { - "name": "VictoriaMetrics/VictoriaMetrics", - "version": "v1.23.0-victorialogs", - "date": "2025-05-28T12:27:36Z" - }, { "name": "element-hq/synapse", "version": "v1.130.0", @@ -139,11 +174,6 @@ "version": "v1.134.0", "date": "2025-05-27T17:28:27Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.16", - "date": "2025-05-27T16:27:42Z" - }, { "name": "neo4j/neo4j", "version": "5.26.7", @@ -154,11 +184,6 @@ "version": "7.2.9", "date": "2025-05-27T14:08:53Z" }, - { - "name": "readeck/readeck", - "version": "0.19.1", - "date": "2025-05-27T13:13:07Z" - }, { "name": "traefik/traefik", "version": "v3.4.1", @@ -169,11 +194,6 @@ "version": "v0.107.62", "date": "2025-05-27T12:10:19Z" }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.94.1", - "date": "2025-05-27T10:36:43Z" - }, { "name": "esphome/esphome", "version": "2025.5.1", @@ -339,11 +359,6 @@ "version": "3.2.0-rc2", "date": "2025-05-21T20:09:07Z" }, - { - "name": "tailscale/tailscale", - "version": "v1.84.0", - "date": "2025-05-21T19:39:53Z" - }, { "name": "clusterzx/paperless-ai", "version": "v3.0.4", @@ -409,11 +424,6 @@ "version": "v4.4.9", "date": "2025-05-20T00:08:29Z" }, - { - "name": "HabitRPG/habitica", - "version": "v5.36.4", - "date": "2025-05-19T22:28:11Z" - }, { "name": "glanceapp/glance", "version": "v0.8.3", @@ -519,11 +529,6 @@ "version": "v3.1.1", "date": "2025-05-15T15:17:57Z" }, - { - "name": "FlowiseAI/Flowise", - "version": "flowise@3.0.0", - "date": "2025-05-15T01:49:47Z" - }, { "name": "Ombi-app/Ombi", "version": "v4.47.1", @@ -719,11 +724,6 @@ "version": "2025.3", "date": "2025-04-30T02:52:28Z" }, - { - "name": "gristlabs/grist-core", - "version": "v1.5.2", - "date": "2025-04-29T20:42:32Z" - }, { "name": "hargata/lubelog", "version": "v1.4.7", From 2dd7ebda2c7095b647d5d15bc8247d4638f5fdc8 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 30 May 2025 01:15:40 +0100 Subject: [PATCH 084/274] Update CHANGELOG.md (#4841) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e54770caa..3009463f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-05-30 + ## 2025-05-29 ### 🚀 Updated Scripts From 42a7614d15cc9d136f41d57efc7b33c7a5f1eabe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 30 May 2025 08:02:57 +0200 Subject: [PATCH 085/274] Fix working directory and plugins (#4838) --- install/alpine-traefik-install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/alpine-traefik-install.sh b/install/alpine-traefik-install.sh index 84a98f9d5..3f4a96669 100644 --- a/install/alpine-traefik-install.sh +++ b/install/alpine-traefik-install.sh @@ -30,6 +30,7 @@ fi msg_info "Enabling and starting Traefik service" $STD rc-update add traefik default +sed -i '/^command=.*/i directory="/etc/traefik"' /etc/init.d/traefik $STD rc-service traefik start msg_ok "Traefik service started" From 4fba20d80b78ba3b078f0ff62d210297aa66c8dc Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 30 May 2025 07:03:23 +0100 Subject: [PATCH 086/274] Update CHANGELOG.md (#4847) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3009463f8..759fc828e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-05-30 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - Alpine Traefik: Fix working directory and plugins [@tremor021](https://github.com/tremor021) ([#4838](https://github.com/community-scripts/ProxmoxVE/pull/4838)) + ## 2025-05-29 ### 🚀 Updated Scripts From 809bc6c3022b6b826fc50079d95a836bf27dc792 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jainil=20Prajapati=20=F0=9F=AA=90?= <86187588+enough-jainil@users.noreply.github.com> Date: Fri, 30 May 2025 17:22:16 +0530 Subject: [PATCH 087/274] Update package dependencies in package.json and package-lock.json (#4845) --- frontend/package-lock.json | 4593 ++++++++++++++++++++---------------- frontend/package.json | 4 +- 2 files changed, 2526 insertions(+), 2071 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 2965849b6..1f309c615 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -34,7 +34,7 @@ "lucide-react": "^0.453.0", "mini-svg-data-uri": "^1.4.4", "next": "15.2.4", - "next-themes": "^0.3.0", + "next-themes": "^0.4.6", "nuqs": "^2.4.1", "pocketbase": "^0.21.5", "prettier-plugin-organize-imports": "^4.1.0", @@ -42,7 +42,7 @@ "react-chartjs-2": "^5.3.0", "react-code-blocks": "^0.1.6", "react-datepicker": "^7.6.0", - "react-day-picker": "8.10.1", + "react-day-picker": "^9.7.0", "react-dom": "19.0.0", "react-icons": "^5.5.0", "react-simple-typewriter": "^5.0.1", @@ -103,25 +103,46 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "node_modules/@asamuzakjp/css-color": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", + "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", + "@csstools/css-calc": "^2.1.3", + "@csstools/css-color-parser": "^3.0.9", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "lru-cache": "^10.4.3" + } + }, + "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", - "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.3.tgz", + "integrity": "sha512-V42wFfx1ymFte+ecf6iXghnnP8kWTO+ZLXIyZq+1LAXHHvTZdVxicn4yiVYdYMGaCO3tmqub11AorKkv+iodqw==", "dev": true, "license": "MIT", "engines": { @@ -129,22 +150,22 @@ } }, "node_modules/@babel/core": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", - "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.3.tgz", + "integrity": "sha512-hyrN8ivxfvJ4i0fIJuV4EOlV0WDMz5Ui4StRTgVaAvWeiRCilXgwVvxJKtFQ3TKtHgJscB2YiXKGNJuVwhQMtA==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.0", - "@babel/generator": "^7.26.0", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.0", - "@babel/parser": "^7.26.0", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.26.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.27.3", + "@babel/helpers": "^7.27.3", + "@babel/parser": "^7.27.3", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.27.3", + "@babel/types": "^7.27.3", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -159,19 +180,6 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -183,14 +191,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", - "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.3.tgz", + "integrity": "sha512-xnlJYj5zepml8NXtjkG0WquFUv8RskFqyFcVgTBp5k+NaA/8uw/K+OSVf8AMGw5e9HKP2ETd5xpK5MLZQD6b4Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.2", - "@babel/types": "^7.26.0", + "@babel/parser": "^7.27.3", + "@babel/types": "^7.27.3", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -200,14 +208,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", - "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.9", - "@babel/helper-validator-option": "^7.25.9", + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -216,16 +224,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -237,29 +235,29 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", + "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.3" }, "engines": { "node": ">=6.9.0" @@ -269,9 +267,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", - "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", "dev": true, "license": "MIT", "engines": { @@ -279,9 +277,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, "license": "MIT", "engines": { @@ -289,9 +287,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, "license": "MIT", "engines": { @@ -299,9 +297,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, "license": "MIT", "engines": { @@ -309,27 +307,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", - "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.3.tgz", + "integrity": "sha512-h/eKy9agOya1IGuLaZ9tEUgz+uIRXcbtOhRtUyyMf8JFmn1iT13vnl/IGVWSkdOCG/pC57U4S1jnAabAavTMwg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.27.0", - "@babel/types": "^7.27.0" + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.3" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", - "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.3.tgz", + "integrity": "sha512-xyYxRj6+tLNDTWi0KCBcZ9V7yg3/lwL9DWh9Uwh/RIVlIfFidggcgxKX3GCXwCiswwcGRawBKbEg2LG/Y8eJhw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.27.0" + "@babel/types": "^7.27.3" }, "bin": { "parser": "bin/babel-parser.js" @@ -339,13 +337,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", - "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -355,13 +353,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", - "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -371,44 +369,41 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz", - "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.3.tgz", + "integrity": "sha512-7EYtGezsdiDMyY80+65EzwiGmcJqpmcZCojSXaRgdrBaGtWTgDZKq69cPIVped6MkIM78cTQ2GOiEYjwOlG4xw==", "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", - "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.27.0", - "@babel/types": "^7.27.0" + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", - "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.3.tgz", + "integrity": "sha512-lId/IfN/Ye1CIu8xG7oKBHXd2iNb2aW1ilPszzGcJug6M8RCKfVNcYhpI5+bMvFYjK7lXIM0R+a+6r8xhHp2FQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/generator": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/template": "^7.25.9", - "@babel/types": "^7.25.9", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.3", + "@babel/parser": "^7.27.3", + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.3", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -416,34 +411,168 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/types": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", - "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.3.tgz", + "integrity": "sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@csstools/color-helpers": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz", + "integrity": "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/css-calc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz", + "integrity": "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^5.0.2", + "@csstools/css-calc": "^2.1.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@date-fns/tz": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@date-fns/tz/-/tz-1.2.0.tgz", + "integrity": "sha512-LBrd7MiJZ9McsOgxqWX7AaxrDjcFVjWH/tIKJd7pnR7McaslGYOP1QmmiBXdJH/H/yLCT+rcQ7FaPBUxRGUtrg==", + "license": "MIT" + }, + "node_modules/@emnapi/core": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.3.tgz", + "integrity": "sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.0.2", + "tslib": "^2.4.0" + } + }, "node_modules/@emnapi/runtime": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", - "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz", + "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.2.tgz", + "integrity": "sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==", + "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -472,9 +601,9 @@ "license": "MIT" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", - "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", + "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", "cpu": [ "ppc64" ], @@ -489,9 +618,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", - "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", + "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", "cpu": [ "arm" ], @@ -506,9 +635,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", - "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", + "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", "cpu": [ "arm64" ], @@ -523,9 +652,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", - "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", + "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", "cpu": [ "x64" ], @@ -540,9 +669,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", - "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", + "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", "cpu": [ "arm64" ], @@ -557,9 +686,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", - "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz", + "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==", "cpu": [ "x64" ], @@ -574,9 +703,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", - "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz", + "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==", "cpu": [ "arm64" ], @@ -591,9 +720,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", - "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz", + "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==", "cpu": [ "x64" ], @@ -608,9 +737,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", - "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz", + "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==", "cpu": [ "arm" ], @@ -625,9 +754,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", - "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz", + "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==", "cpu": [ "arm64" ], @@ -642,9 +771,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", - "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz", + "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==", "cpu": [ "ia32" ], @@ -659,9 +788,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", - "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz", + "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==", "cpu": [ "loong64" ], @@ -676,9 +805,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", - "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz", + "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==", "cpu": [ "mips64el" ], @@ -693,9 +822,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", - "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz", + "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==", "cpu": [ "ppc64" ], @@ -710,9 +839,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", - "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz", + "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==", "cpu": [ "riscv64" ], @@ -727,9 +856,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", - "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz", + "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==", "cpu": [ "s390x" ], @@ -744,9 +873,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", - "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", + "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", "cpu": [ "x64" ], @@ -761,9 +890,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", - "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz", + "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==", "cpu": [ "arm64" ], @@ -778,9 +907,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", - "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz", + "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==", "cpu": [ "x64" ], @@ -795,9 +924,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", - "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz", + "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==", "cpu": [ "arm64" ], @@ -812,9 +941,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", - "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz", + "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==", "cpu": [ "x64" ], @@ -829,9 +958,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", - "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz", + "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==", "cpu": [ "x64" ], @@ -846,9 +975,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", - "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz", + "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==", "cpu": [ "arm64" ], @@ -863,9 +992,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", - "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz", + "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==", "cpu": [ "ia32" ], @@ -880,9 +1009,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", - "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", + "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", "cpu": [ "x64" ], @@ -897,9 +1026,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", "dev": true, "license": "MIT", "dependencies": { @@ -926,9 +1055,9 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", - "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", + "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -965,9 +1094,9 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.0.tgz", - "integrity": "sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.2.tgz", + "integrity": "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==", "dev": true, "license": "Apache-2.0", "engines": { @@ -975,9 +1104,9 @@ } }, "node_modules/@eslint/core": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", - "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", + "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1022,6 +1151,29 @@ "concat-map": "0.0.1" } }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -1036,13 +1188,16 @@ } }, "node_modules/@eslint/js": { - "version": "9.23.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.23.0.tgz", - "integrity": "sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==", + "version": "9.27.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.27.0.tgz", + "integrity": "sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==", "dev": true, "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" } }, "node_modules/@eslint/object-schema": { @@ -1056,13 +1211,13 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz", - "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.1.tgz", + "integrity": "sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.12.0", + "@eslint/core": "^0.14.0", "levn": "^0.4.1" }, "engines": { @@ -1070,22 +1225,37 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.8.tgz", - "integrity": "sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.0.tgz", + "integrity": "sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA==", "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.8" + "@floating-ui/utils": "^0.2.9" } }, "node_modules/@floating-ui/dom": { - "version": "1.6.12", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.12.tgz", - "integrity": "sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.0.tgz", + "integrity": "sha512-lGTor4VlXcesUMh1cupTUTDoCxMb0V6bm3CnxHzQcw8Eaf1jQbgQX4i02fYgT0vJ82tb5MZ4CZk1LRGkktJCzg==", "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.6.0", - "@floating-ui/utils": "^0.2.8" + "@floating-ui/core": "^1.7.0", + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/react": { + "version": "0.27.9", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.9.tgz", + "integrity": "sha512-Y0aCJBNtfVF6ikI1kVzA0WzSAhVBz79vFWOhvb5MLCRNODZ1ylGSLTuncchR7JsLyn9QzV6JD44DyZhhOtvpRw==", + "license": "MIT", + "dependencies": { + "@floating-ui/react-dom": "^2.1.2", + "@floating-ui/utils": "^0.2.9", + "tabbable": "^6.0.0" + }, + "peerDependencies": { + "react": ">=17.0.0", + "react-dom": ">=17.0.0" } }, "node_modules/@floating-ui/react-dom": { @@ -1131,6 +1301,20 @@ "node": ">=18.18.0" } }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -1146,9 +1330,9 @@ } }, "node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1539,9 +1723,9 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", "dev": true, "license": "MIT", "dependencies": { @@ -1597,6 +1781,19 @@ "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", "license": "MIT" }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.10.tgz", + "integrity": "sha512-bCsCyeZEwVErsGmyPNSzwfwFn4OdxBj0mmv6hOFucB/k81Ojdu68RbZdxYsRQUPc9l6SU5F/cG+bXgWs3oUgsQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.9.0" + } + }, "node_modules/@next/env": { "version": "15.2.4", "resolved": "https://registry.npmjs.org/@next/env/-/env-15.2.4.tgz", @@ -1831,32 +2028,32 @@ } }, "node_modules/@radix-ui/number": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.0.tgz", - "integrity": "sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.1.tgz", + "integrity": "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==", "license": "MIT" }, "node_modules/@radix-ui/primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.1.tgz", - "integrity": "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.2.tgz", + "integrity": "sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==", "license": "MIT" }, "node_modules/@radix-ui/react-accordion": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.3.tgz", - "integrity": "sha512-RIQ15mrcvqIkDARJeERSuXSry2N8uYnxkdDetpfmalT/+0ntOXLkFOsh9iwlAsCv+qcmhZjbdJogIm6WBa6c4A==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.11.tgz", + "integrity": "sha512-l3W5D54emV2ues7jjeG1xcyN7S3jnK3zE2zHqgn0CmMsy9lNJwmgcrmaxS+7ipw15FAivzKNzH3d5EcGoFKw0A==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.1", - "@radix-ui/react-collapsible": "1.1.3", - "@radix-ui/react-collection": "1.1.2", - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-direction": "1.1.0", - "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-use-controllable-state": "1.1.0" + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-collapsible": "1.1.11", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", @@ -1874,12 +2071,12 @@ } }, "node_modules/@radix-ui/react-arrow": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.2.tgz", - "integrity": "sha512-G+KcpzXHq24iH0uGG/pF8LyzpFJYGD4RfLjCIBfGdSLXvjLHST31RUiRVrupIBMvIppMgSzQ6l66iAxl03tdlg==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz", + "integrity": "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.0.2" + "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", @@ -1897,19 +2094,19 @@ } }, "node_modules/@radix-ui/react-collapsible": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.3.tgz", - "integrity": "sha512-jFSerheto1X03MUC0g6R7LedNW9EEGWdg9W1+MlpkMLwGkgkbUXLPBH/KIuWKXUoeYRVY11llqbTBDzuLg7qrw==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.11.tgz", + "integrity": "sha512-2qrRsVGSCYasSz1RFOorXwl0H7g7J1frQtgpQgYrt+MOidtPAINHn9CPovQXb83r8ahapdx3Tu0fa/pdFFSdPg==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.1", - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-presence": "1.1.2", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-use-controllable-state": "1.1.0", - "@radix-ui/react-use-layout-effect": "1.1.0" + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.4", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", @@ -1927,15 +2124,15 @@ } }, "node_modules/@radix-ui/react-collection": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.2.tgz", - "integrity": "sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz", + "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-slot": "1.1.2" + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", @@ -1953,9 +2150,9 @@ } }, "node_modules/@radix-ui/react-compose-refs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz", - "integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -1968,9 +2165,9 @@ } }, "node_modules/@radix-ui/react-context": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.1.tgz", - "integrity": "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -1983,23 +2180,23 @@ } }, "node_modules/@radix-ui/react-dialog": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.6.tgz", - "integrity": "sha512-/IVhJV5AceX620DUJ4uYVMymzsipdKBzo3edo+omeskCKGm9FRHM0ebIdbPnlQVJqyuHbuBltQUOG2mOTq2IYw==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.14.tgz", + "integrity": "sha512-+CpweKjqpzTmwRwcYECQcNYbI8V9VSQt0SNFKeEBLgfucbsLssU6Ppq7wUdNXEGb573bMjFhVjKVll8rmV6zMw==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.1", - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.5", - "@radix-ui/react-focus-guards": "1.1.1", - "@radix-ui/react-focus-scope": "1.1.2", - "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-portal": "1.1.4", - "@radix-ui/react-presence": "1.1.2", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-slot": "1.1.2", - "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.10", + "@radix-ui/react-focus-guards": "1.1.2", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.4", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, @@ -2019,9 +2216,9 @@ } }, "node_modules/@radix-ui/react-direction": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.0.tgz", - "integrity": "sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", + "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -2034,16 +2231,16 @@ } }, "node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.5.tgz", - "integrity": "sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.10.tgz", + "integrity": "sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.1", - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-use-callback-ref": "1.1.0", - "@radix-ui/react-use-escape-keydown": "1.1.0" + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-escape-keydown": "1.1.1" }, "peerDependencies": { "@types/react": "*", @@ -2061,18 +2258,18 @@ } }, "node_modules/@radix-ui/react-dropdown-menu": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.6.tgz", - "integrity": "sha512-no3X7V5fD487wab/ZYSHXq3H37u4NVeLDKI/Ks724X/eEFSSEFYZxWgsIlr1UBeEyDaM29HM5x9p1Nv8DuTYPA==", + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.15.tgz", + "integrity": "sha512-mIBnOjgwo9AH3FyKaSWoSu/dYj6VdhJ7frEPiGTeXCdUFHjl9h3mFh2wwhEtINOmYXWhdpf1rY2minFsmaNgVQ==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.1", - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-menu": "2.1.6", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-use-controllable-state": "1.1.0" + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-menu": "2.1.15", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", @@ -2090,9 +2287,9 @@ } }, "node_modules/@radix-ui/react-focus-guards": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.1.tgz", - "integrity": "sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.2.tgz", + "integrity": "sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -2105,14 +2302,14 @@ } }, "node_modules/@radix-ui/react-focus-scope": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.2.tgz", - "integrity": "sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", + "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-use-callback-ref": "1.1.0" + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", @@ -2139,12 +2336,12 @@ } }, "node_modules/@radix-ui/react-id": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz", - "integrity": "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", + "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", "license": "MIT", "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.0" + "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", @@ -2157,12 +2354,12 @@ } }, "node_modules/@radix-ui/react-label": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.2.tgz", - "integrity": "sha512-zo1uGMTaNlHehDyFQcDZXRJhUPDuukcnHz0/jnrup0JA6qL+AFpAnty+7VKa9esuU5xTblAZzTGYJKSKaBxBhw==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.7.tgz", + "integrity": "sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.0.2" + "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", @@ -2180,27 +2377,27 @@ } }, "node_modules/@radix-ui/react-menu": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.6.tgz", - "integrity": "sha512-tBBb5CXDJW3t2mo9WlO7r6GTmWV0F0uzHZVFmlRmYpiSK1CDU5IKojP1pm7oknpBOrFZx/YgBRW9oorPO2S/Lg==", + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.15.tgz", + "integrity": "sha512-tVlmA3Vb9n8SZSd+YSbuFR66l87Wiy4du+YE+0hzKQEANA+7cWKH1WgqcEX4pXqxUFQKrWQGHdvEfw00TjFiew==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.1", - "@radix-ui/react-collection": "1.1.2", - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-direction": "1.1.0", - "@radix-ui/react-dismissable-layer": "1.1.5", - "@radix-ui/react-focus-guards": "1.1.1", - "@radix-ui/react-focus-scope": "1.1.2", - "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-popper": "1.2.2", - "@radix-ui/react-portal": "1.1.4", - "@radix-ui/react-presence": "1.1.2", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-roving-focus": "1.1.2", - "@radix-ui/react-slot": "1.1.2", - "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.10", + "@radix-ui/react-focus-guards": "1.1.2", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.7", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.4", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.10", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-callback-ref": "1.1.1", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, @@ -2220,25 +2417,25 @@ } }, "node_modules/@radix-ui/react-navigation-menu": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.5.tgz", - "integrity": "sha512-myMHHQUZ3ZLTi8W381/Vu43Ia0NqakkQZ2vzynMmTUtQQ9kNkjzhOwkZC9TAM5R07OZUVIQyHC06f/9JZJpvvA==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.13.tgz", + "integrity": "sha512-WG8wWfDiJlSF5hELjwfjSGOXcBR/ZMhBFCGYe8vERpC39CQYZeq1PQ2kaYHdye3V95d06H89KGMsVCIE4LWo3g==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.1", - "@radix-ui/react-collection": "1.1.2", - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-direction": "1.1.0", - "@radix-ui/react-dismissable-layer": "1.1.5", - "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-presence": "1.1.2", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-use-callback-ref": "1.1.0", - "@radix-ui/react-use-controllable-state": "1.1.0", - "@radix-ui/react-use-layout-effect": "1.1.0", - "@radix-ui/react-use-previous": "1.1.0", - "@radix-ui/react-visually-hidden": "1.1.2" + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.10", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.4", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-visually-hidden": "1.2.3" }, "peerDependencies": { "@types/react": "*", @@ -2256,24 +2453,24 @@ } }, "node_modules/@radix-ui/react-popover": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.6.tgz", - "integrity": "sha512-NQouW0x4/GnkFJ/pRqsIS3rM/k97VzKnVb2jB7Gq7VEGPy5g7uNV1ykySFt7eWSp3i2uSGFwaJcvIRJBAHmmFg==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.14.tgz", + "integrity": "sha512-ODz16+1iIbGUfFEfKx2HTPKizg2MN39uIOV8MXeHnmdd3i/N9Wt7vU46wbHsqA0xoaQyXVcs0KIlBdOA2Y95bw==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.1", - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.5", - "@radix-ui/react-focus-guards": "1.1.1", - "@radix-ui/react-focus-scope": "1.1.2", - "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-popper": "1.2.2", - "@radix-ui/react-portal": "1.1.4", - "@radix-ui/react-presence": "1.1.2", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-slot": "1.1.2", - "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.10", + "@radix-ui/react-focus-guards": "1.1.2", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.7", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.4", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, @@ -2293,431 +2490,16 @@ } }, "node_modules/@radix-ui/react-popper": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.2.tgz", - "integrity": "sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.7.tgz", + "integrity": "sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ==", "license": "MIT", "dependencies": { "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.1.2", - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-use-callback-ref": "1.1.0", - "@radix-ui/react-use-layout-effect": "1.1.0", - "@radix-ui/react-use-rect": "1.1.0", - "@radix-ui/react-use-size": "1.1.0", - "@radix-ui/rect": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-portal": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.4.tgz", - "integrity": "sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-use-layout-effect": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-presence": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.2.tgz", - "integrity": "sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-use-layout-effect": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-primitive": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.2.tgz", - "integrity": "sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-slot": "1.1.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-roving-focus": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.2.tgz", - "integrity": "sha512-zgMQWkNO169GtGqRvYrzb0Zf8NhMHS2DuEB/TiEmVnpr5OqPU3i8lfbxaAmC2J/KYuIQxyoQQ6DxepyXp61/xw==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.1", - "@radix-ui/react-collection": "1.1.2", - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-direction": "1.1.0", - "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-use-callback-ref": "1.1.0", - "@radix-ui/react-use-controllable-state": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-select": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.1.6.tgz", - "integrity": "sha512-T6ajELxRvTuAMWH0YmRJ1qez+x4/7Nq7QIx7zJ0VK3qaEWdnWpNbEDnmWldG1zBDwqrLy5aLMUWcoGirVj5kMg==", - "license": "MIT", - "dependencies": { - "@radix-ui/number": "1.1.0", - "@radix-ui/primitive": "1.1.1", - "@radix-ui/react-collection": "1.1.2", - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-direction": "1.1.0", - "@radix-ui/react-dismissable-layer": "1.1.5", - "@radix-ui/react-focus-guards": "1.1.1", - "@radix-ui/react-focus-scope": "1.1.2", - "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-popper": "1.2.2", - "@radix-ui/react-portal": "1.1.4", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-slot": "1.1.2", - "@radix-ui/react-use-callback-ref": "1.1.0", - "@radix-ui/react-use-controllable-state": "1.1.0", - "@radix-ui/react-use-layout-effect": "1.1.0", - "@radix-ui/react-use-previous": "1.1.0", - "@radix-ui/react-visually-hidden": "1.1.2", - "aria-hidden": "^1.2.4", - "react-remove-scroll": "^2.6.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-separator": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.2.tgz", - "integrity": "sha512-oZfHcaAp2Y6KFBX6I5P1u7CQoy4lheCGiYj+pGFrHy8E/VNRb5E39TkTr3JrV520csPBTZjkuKFdEsjS5EUNKQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-primitive": "2.0.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-slot": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz", - "integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-switch": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.1.3.tgz", - "integrity": "sha512-1nc+vjEOQkJVsJtWPSiISGT6OKm4SiOdjMo+/icLxo2G4vxz1GntC5MzfL4v8ey9OEfw787QCD1y3mUv0NiFEQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.1", - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-use-controllable-state": "1.1.0", - "@radix-ui/react-use-previous": "1.1.0", - "@radix-ui/react-use-size": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tabs": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.3.tgz", - "integrity": "sha512-9mFyI30cuRDImbmFF6O2KUJdgEOsGh9Vmx9x/Dh9tOhL7BngmQPQfwW4aejKm5OHpfWIdmeV6ySyuxoOGjtNng==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.1", - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-direction": "1.1.0", - "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-presence": "1.1.2", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-roving-focus": "1.1.2", - "@radix-ui/react-use-controllable-state": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tooltip": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.2.0.tgz", - "integrity": "sha512-b1Sdc75s7zN9B8ONQTGBSHL3XS8+IcjcOIY51fhM4R1Hx8s0YbgqgyNZiri4qcYMVZK8hfCZVBiyCm7N9rs0rw==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-arrow": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-dismissable-layer": "1.1.6", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-popper": "1.2.3", - "@radix-ui/react-portal": "1.1.5", - "@radix-ui/react-presence": "1.1.3", - "@radix-ui/react-primitive": "2.0.3", - "@radix-ui/react-slot": "1.2.0", - "@radix-ui/react-use-controllable-state": "1.1.1", - "@radix-ui/react-visually-hidden": "1.1.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/primitive": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.2.tgz", - "integrity": "sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==", - "license": "MIT" - }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-arrow": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.3.tgz", - "integrity": "sha512-2dvVU4jva0qkNZH6HHWuSz5FN5GeU5tymvCgutF8WaXz9WnD1NgUhy73cqzkjkN4Zkn8lfTPv5JIfrC221W+Nw==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-primitive": "2.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-compose-refs": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", - "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-context": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", - "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.6.tgz", - "integrity": "sha512-7gpgMT2gyKym9Jz2ZhlRXSg2y6cNQIK8d/cqBZ0RBCaps8pFryCWXiUKI+uHGFrhMrbGUP7U6PWgiXzIxoyF3Q==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.2", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-primitive": "2.0.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-escape-keydown": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-id": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", - "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-popper": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.3.tgz", - "integrity": "sha512-iNb9LYUMkne9zIahukgQmHlSBp9XWGeQQ7FvUGNk45ywzOb6kQa+Ca38OphXlWDiKvyneo9S+KSJsLfLt8812A==", - "license": "MIT", - "dependencies": { - "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-primitive": "2.0.3", + "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-rect": "1.1.1", @@ -2739,13 +2521,13 @@ } } }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.5.tgz", - "integrity": "sha512-ps/67ZqsFm+Mb6lSPJpfhRLrVL2i2fntgCmGMqqth4eaGUf+knAuuRtWVJrNjUhExgmdRqftSgzpf0DF0n6yXA==", + "node_modules/@radix-ui/react-portal": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", + "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.0.3", + "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { @@ -2763,10 +2545,10 @@ } } }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-presence": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.3.tgz", - "integrity": "sha512-IrVLIhskYhH3nLvtcBLQFZr61tBG7wx7O3kEmdzcYwRGAEBmBicGGL7ATzNgruYJ3xBTbuzEEq9OXJM3PAX3tA==", + "node_modules/@radix-ui/react-presence": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.4.tgz", + "integrity": "sha512-ueDqRbdc4/bkaQT3GIpLQssRlFgWaL/U2z/S31qRwwLWoxHLgry3SIfCwhxeQNbirEUXFa+lq3RL3oBYXtcmIA==", "license": "MIT", "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", @@ -2787,13 +2569,13 @@ } } }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.3.tgz", - "integrity": "sha512-Pf/t/GkndH7CQ8wE2hbkXA+WyZ83fhQQn5DDmwDiDo6AwN/fhaH8oqZ0jRjMrO2iaMhDi6P1HRx6AZwyMinY1g==", + "node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", "license": "MIT", "dependencies": { - "@radix-ui/react-slot": "1.2.0" + "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", @@ -2810,10 +2592,107 @@ } } }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.0.tgz", - "integrity": "sha512-ujc+V6r0HNDviYqIK3rW4ffgYiZ8g5DEHrGJVk4x7kTlLXRDILnKX9vAUYeIsLOoDpDJ0ujpqMkjH4w2ofuo6w==", + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.10.tgz", + "integrity": "sha512-dT9aOXUen9JSsxnMPv/0VqySQf5eDQ6LCk5Sw28kamz8wSOW2bJdlX2Bg5VUIIcV+6XlHpWTIuTPCf/UNIyq8Q==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.2.5.tgz", + "integrity": "sha512-HnMTdXEVuuyzx63ME0ut4+sEMYW6oouHWNGUZc7ddvUWIcfCva/AMoqEW/3wnEllriMWBa0RHspCYnfCWJQYmA==", + "license": "MIT", + "dependencies": { + "@radix-ui/number": "1.1.1", + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.10", + "@radix-ui/react-focus-guards": "1.1.2", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.7", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-visually-hidden": "1.2.3", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.7.tgz", + "integrity": "sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", "license": "MIT", "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" @@ -2828,7 +2707,100 @@ } } }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-callback-ref": { + "node_modules/@radix-ui/react-switch": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.2.5.tgz", + "integrity": "sha512-5ijLkak6ZMylXsaImpZ8u4Rlf5grRmoc0p0QeX9VJtlrM4f5m3nCTX8tWga/zOA8PZYIR/t0p2Mnvd7InrJ6yQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-use-size": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tabs": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.12.tgz", + "integrity": "sha512-GTVAlRVrQrSw3cEARM0nAx73ixrWDPNZAruETn3oHCNP6SbZ/hNxdxp+u7VkIEv3/sFoLq1PfcHrl7Pnp0CDpw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.4", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.10", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.2.7.tgz", + "integrity": "sha512-Ap+fNYwKTYJ9pzqW+Xe2HtMRbQ/EeWkj2qykZ6SuEV4iS/o1bZI5ssJbk4D2r8XuDuOBVz/tIx2JObtuqU+5Zw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.10", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.7", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.4", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-visually-hidden": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", @@ -2843,13 +2815,14 @@ } } }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-controllable-state": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.1.tgz", - "integrity": "sha512-YnEXIy8/ga01Y1PN0VfaNH//MhA91JlEGVBDxDzROqwrAtG5Yr2QGEPz8A/rJA3C7ZAHryOYGaUv8fLSW2H/mg==", + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", + "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", "license": "MIT", "dependencies": { - "@radix-ui/react-use-callback-ref": "1.1.1" + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", @@ -2861,7 +2834,25 @@ } } }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-escape-keydown": { + "node_modules/@radix-ui/react-use-effect-event": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", + "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", @@ -2879,7 +2870,7 @@ } } }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-layout-effect": { + "node_modules/@radix-ui/react-use-layout-effect": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", @@ -2894,7 +2885,22 @@ } } }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-rect": { + "node_modules/@radix-ui/react-use-previous": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz", + "integrity": "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz", "integrity": "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==", @@ -2912,7 +2918,7 @@ } } }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-size": { + "node_modules/@radix-ui/react-use-size": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz", "integrity": "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==", @@ -2930,159 +2936,13 @@ } } }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-visually-hidden": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.3.tgz", - "integrity": "sha512-oXSF3ZQRd5fvomd9hmUCb2EHSZbPp3ZSHAHJJU/DlF9XoFkJBBW8RHU/E8WEH+RbSfJd/QFA0sl8ClJXknBwHQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-primitive": "2.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/rect": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz", - "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==", - "license": "MIT" - }, - "node_modules/@radix-ui/react-use-callback-ref": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz", - "integrity": "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-controllable-state": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz", - "integrity": "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-callback-ref": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-escape-keydown": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz", - "integrity": "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-callback-ref": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-layout-effect": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz", - "integrity": "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-previous": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.0.tgz", - "integrity": "sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-rect": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.0.tgz", - "integrity": "sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/rect": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-size": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.0.tgz", - "integrity": "sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@radix-ui/react-visually-hidden": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.2.tgz", - "integrity": "sha512-1SzA4ns2M1aRlvxErqhLHsBHoS5eI5UUcI2awAMgGUp4LoaoWOKYmvqDY2s/tltuPkh3Yk77YF/r3IRj+Amx4Q==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz", + "integrity": "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.0.2" + "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", @@ -3100,15 +2960,22 @@ } }, "node_modules/@radix-ui/rect": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.0.tgz", - "integrity": "sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz", + "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==", + "license": "MIT" + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.9", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.9.tgz", + "integrity": "sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==", + "dev": true, "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.38.0.tgz", - "integrity": "sha512-ldomqc4/jDZu/xpYU+aRxo3V4mGCV9HeTgUBANI3oIQMOL+SsxB+S2lxMpkFp5UamSS3XuTMQVbsS24R4J4Qjg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.1.tgz", + "integrity": "sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==", "cpu": [ "arm" ], @@ -3120,9 +2987,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.38.0.tgz", - "integrity": "sha512-VUsgcy4GhhT7rokwzYQP+aV9XnSLkkhlEJ0St8pbasuWO/vwphhZQxYEKUP3ayeCYLhk6gEtacRpYP/cj3GjyQ==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.1.tgz", + "integrity": "sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==", "cpu": [ "arm64" ], @@ -3134,9 +3001,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.38.0.tgz", - "integrity": "sha512-buA17AYXlW9Rn091sWMq1xGUvWQFOH4N1rqUxGJtEQzhChxWjldGCCup7r/wUnaI6Au8sKXpoh0xg58a7cgcpg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.1.tgz", + "integrity": "sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==", "cpu": [ "arm64" ], @@ -3148,9 +3015,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.38.0.tgz", - "integrity": "sha512-Mgcmc78AjunP1SKXl624vVBOF2bzwNWFPMP4fpOu05vS0amnLcX8gHIge7q/lDAHy3T2HeR0TqrriZDQS2Woeg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.1.tgz", + "integrity": "sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==", "cpu": [ "x64" ], @@ -3162,9 +3029,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.38.0.tgz", - "integrity": "sha512-zzJACgjLbQTsscxWqvrEQAEh28hqhebpRz5q/uUd1T7VTwUNZ4VIXQt5hE7ncs0GrF+s7d3S4on4TiXUY8KoQA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.1.tgz", + "integrity": "sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==", "cpu": [ "arm64" ], @@ -3176,9 +3043,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.38.0.tgz", - "integrity": "sha512-hCY/KAeYMCyDpEE4pTETam0XZS4/5GXzlLgpi5f0IaPExw9kuB+PDTOTLuPtM10TlRG0U9OSmXJ+Wq9J39LvAg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.1.tgz", + "integrity": "sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==", "cpu": [ "x64" ], @@ -3190,9 +3057,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.38.0.tgz", - "integrity": "sha512-mimPH43mHl4JdOTD7bUMFhBdrg6f9HzMTOEnzRmXbOZqjijCw8LA5z8uL6LCjxSa67H2xiLFvvO67PT05PRKGg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.1.tgz", + "integrity": "sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==", "cpu": [ "arm" ], @@ -3204,9 +3071,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.38.0.tgz", - "integrity": "sha512-tPiJtiOoNuIH8XGG8sWoMMkAMm98PUwlriOFCCbZGc9WCax+GLeVRhmaxjJtz6WxrPKACgrwoZ5ia/uapq3ZVg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.1.tgz", + "integrity": "sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==", "cpu": [ "arm" ], @@ -3218,9 +3085,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.38.0.tgz", - "integrity": "sha512-wZco59rIVuB0tjQS0CSHTTUcEde+pXQWugZVxWaQFdQQ1VYub/sTrNdY76D1MKdN2NB48JDuGABP6o6fqos8mA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.1.tgz", + "integrity": "sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==", "cpu": [ "arm64" ], @@ -3232,9 +3099,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.38.0.tgz", - "integrity": "sha512-fQgqwKmW0REM4LomQ+87PP8w8xvU9LZfeLBKybeli+0yHT7VKILINzFEuggvnV9M3x1Ed4gUBmGUzCo/ikmFbQ==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.1.tgz", + "integrity": "sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==", "cpu": [ "arm64" ], @@ -3246,9 +3113,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.38.0.tgz", - "integrity": "sha512-hz5oqQLXTB3SbXpfkKHKXLdIp02/w3M+ajp8p4yWOWwQRtHWiEOCKtc9U+YXahrwdk+3qHdFMDWR5k+4dIlddg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.1.tgz", + "integrity": "sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==", "cpu": [ "loong64" ], @@ -3260,9 +3127,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.38.0.tgz", - "integrity": "sha512-NXqygK/dTSibQ+0pzxsL3r4Xl8oPqVoWbZV9niqOnIHV/J92fe65pOir0xjkUZDRSPyFRvu+4YOpJF9BZHQImw==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.1.tgz", + "integrity": "sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==", "cpu": [ "ppc64" ], @@ -3274,9 +3141,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.38.0.tgz", - "integrity": "sha512-GEAIabR1uFyvf/jW/5jfu8gjM06/4kZ1W+j1nWTSSB3w6moZEBm7iBtzwQ3a1Pxos2F7Gz+58aVEnZHU295QTg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.1.tgz", + "integrity": "sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==", "cpu": [ "riscv64" ], @@ -3288,9 +3155,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.38.0.tgz", - "integrity": "sha512-9EYTX+Gus2EGPbfs+fh7l95wVADtSQyYw4DfSBcYdUEAmP2lqSZY0Y17yX/3m5VKGGJ4UmIH5LHLkMJft3bYoA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.1.tgz", + "integrity": "sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==", "cpu": [ "riscv64" ], @@ -3302,9 +3169,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.38.0.tgz", - "integrity": "sha512-Mpp6+Z5VhB9VDk7RwZXoG2qMdERm3Jw07RNlXHE0bOnEeX+l7Fy4bg+NxfyN15ruuY3/7Vrbpm75J9QHFqj5+Q==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.1.tgz", + "integrity": "sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==", "cpu": [ "s390x" ], @@ -3316,9 +3183,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.38.0.tgz", - "integrity": "sha512-vPvNgFlZRAgO7rwncMeE0+8c4Hmc+qixnp00/Uv3ht2x7KYrJ6ERVd3/R0nUtlE6/hu7/HiiNHJ/rP6knRFt1w==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.1.tgz", + "integrity": "sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==", "cpu": [ "x64" ], @@ -3330,9 +3197,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.38.0.tgz", - "integrity": "sha512-q5Zv+goWvQUGCaL7fU8NuTw8aydIL/C9abAVGCzRReuj5h30TPx4LumBtAidrVOtXnlB+RZkBtExMsfqkMfb8g==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.1.tgz", + "integrity": "sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==", "cpu": [ "x64" ], @@ -3344,9 +3211,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.38.0.tgz", - "integrity": "sha512-u/Jbm1BU89Vftqyqbmxdq14nBaQjQX1HhmsdBWqSdGClNaKwhjsg5TpW+5Ibs1mb8Es9wJiMdl86BcmtUVXNZg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.1.tgz", + "integrity": "sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==", "cpu": [ "arm64" ], @@ -3358,9 +3225,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.38.0.tgz", - "integrity": "sha512-mqu4PzTrlpNHHbu5qleGvXJoGgHpChBlrBx/mEhTPpnAL1ZAYFlvHD7rLK839LLKQzqEQMFJfGrrOHItN4ZQqA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.1.tgz", + "integrity": "sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==", "cpu": [ "ia32" ], @@ -3372,9 +3239,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.38.0.tgz", - "integrity": "sha512-jjqy3uWlecfB98Psxb5cD6Fny9Fupv9LrDSPTQZUROqjvZmcCqNu4UMl7qqhlUUGpwiAkotj6GYu4SZdcr/nLw==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.1.tgz", + "integrity": "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==", "cpu": [ "x64" ], @@ -3393,9 +3260,9 @@ "license": "MIT" }, "node_modules/@rushstack/eslint-patch": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", - "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.11.0.tgz", + "integrity": "sha512-zxnHvoMQVqewTJr/W4pKjF0bMGiKJv1WX7bSrkl46Hg0QjESbzBROWK0Wg4RphzSOS5Jiy7eFimmM3UgMrMZbQ==", "dev": true, "license": "MIT" }, @@ -3409,14 +3276,15 @@ "version": "0.5.15", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.8.0" } }, "node_modules/@tanstack/eslint-plugin-query": { - "version": "5.68.0", - "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.68.0.tgz", - "integrity": "sha512-w/+y5LILV1GTWBB2R/lKfUzgocKXU1B7O6jipLUJhmxCKPmJFy5zpfR1Vx7c6yCEsQoKcTbhuR/tIy+1sIGaiA==", + "version": "5.78.0", + "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.78.0.tgz", + "integrity": "sha512-hYkhWr3UP0CkAsn/phBVR98UQawbw8CmTSgWtdgEBUjI60/GBaEIkpgi/Bp/2I8eIDK4+vdY7ac6jZx+GR+hEQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3431,9 +3299,9 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.71.1", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.71.1.tgz", - "integrity": "sha512-4+ZswCHOfJX+ikhXNoocamTUmJcHtB+Ljjz/oJkC7/eKB5IrzEwR4vEwZUENiPi+wISucJHR5TUbuuJ26w3kdQ==", + "version": "5.79.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.79.0.tgz", + "integrity": "sha512-s+epTqqLM0/TbJzMAK7OEhZIzh63P9sWz5HEFc5XHL4FvKQXQkcjI8F3nee+H/xVVn7mrP610nVXwOytTSYd0w==", "license": "MIT", "funding": { "type": "github", @@ -3441,12 +3309,12 @@ } }, "node_modules/@tanstack/react-query": { - "version": "5.71.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.71.1.tgz", - "integrity": "sha512-6BTkaSIGT58MroI4kIGXNdx/NhirXPU+75AJObLq+WBa39WmoxhzSk0YX+hqWJ/bvqZJFxslbEU4qIHaRZq+8Q==", + "version": "5.79.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.79.0.tgz", + "integrity": "sha512-DjC4JIYZnYzxaTzbg3osOU63VNLP67dOrWet2cZvXgmgwAXNxfS52AMq86M5++ILuzW+BqTUEVMTjhrZ7/XBuA==", "license": "MIT", "dependencies": { - "@tanstack/query-core": "5.71.1" + "@tanstack/query-core": "5.79.0" }, "funding": { "type": "github", @@ -3476,20 +3344,10 @@ "node": ">=18" } }, - "node_modules/@testing-library/dom/node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, "node_modules/@testing-library/react": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.2.0.tgz", - "integrity": "sha512-2cSskAvA1QNtKc8Y9VJQRv0tm3hLVgxRGDB+KYhIaPQJ1I+RHbhIXcM+zClKXzMes/wshsMVzf4B9vS4IZpqDQ==", + "version": "16.3.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.0.tgz", + "integrity": "sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==", "dev": true, "license": "MIT", "dependencies": { @@ -3514,6 +3372,17 @@ } } }, + "node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@types/aria-query": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", @@ -3536,9 +3405,9 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", "dev": true, "license": "MIT", "dependencies": { @@ -3557,9 +3426,9 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", + "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", "dev": true, "license": "MIT", "dependencies": { @@ -3597,13 +3466,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.16.tgz", - "integrity": "sha512-15tM+qA4Ypml/N7kyRdvfRjBQT2RL461uF1Bldn06K0Nzn1lY3nAPgHlsVrJxdZ9WhZiW0Fmc1lOYMtDsAuB3w==", + "version": "22.15.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.26.tgz", + "integrity": "sha512-lgISkNrqdQ5DAzjBhnDNGKDuXDNo7/1V4FhNzsKREhWLZTOELQAptuAnJMzHtUl1qyEBBy9lNBKQ9WjyiSloTw==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.20.0" + "undici-types": "~6.21.0" } }, "node_modules/@types/react": { @@ -3639,21 +3508,21 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.0.tgz", - "integrity": "sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ==", + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.0.tgz", + "integrity": "sha512-CACyQuqSHt7ma3Ns601xykeBK/rDeZa3w6IS6UtMQbixO5DWy+8TilKkviGDH6jtWCo8FGRKEK5cLLkPvEammQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.29.0", - "@typescript-eslint/type-utils": "8.29.0", - "@typescript-eslint/utils": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0", + "@typescript-eslint/scope-manager": "8.33.0", + "@typescript-eslint/type-utils": "8.33.0", + "@typescript-eslint/utils": "8.33.0", + "@typescript-eslint/visitor-keys": "8.33.0", "graphemer": "^1.4.0", - "ignore": "^5.3.1", + "ignore": "^7.0.0", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.0.1" + "ts-api-utils": "^2.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3663,22 +3532,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "@typescript-eslint/parser": "^8.33.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.0.tgz", - "integrity": "sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g==", + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.33.0.tgz", + "integrity": "sha512-JaehZvf6m0yqYp34+RVnihBAChkqeH+tqqhS0GuX1qgPpwLvmTPheKEs6OeCK6hVJgXZHJ2vbjnC9j119auStQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.29.0", - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/typescript-estree": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0", + "@typescript-eslint/scope-manager": "8.33.0", + "@typescript-eslint/types": "8.33.0", + "@typescript-eslint/typescript-estree": "8.33.0", + "@typescript-eslint/visitor-keys": "8.33.0", "debug": "^4.3.4" }, "engines": { @@ -3693,15 +3562,16 @@ "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.0.tgz", - "integrity": "sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw==", + "node_modules/@typescript-eslint/project-service": { + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.33.0.tgz", + "integrity": "sha512-d1hz0u9l6N+u/gcrk6s6gYdl7/+pp8yHheRTqP6X5hVDKALEaTn8WfGiit7G511yueBEL3OpOEpD+3/MBdoN+A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0" + "@typescript-eslint/tsconfig-utils": "^8.33.0", + "@typescript-eslint/types": "^8.33.0", + "debug": "^4.3.4" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3711,17 +3581,52 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.0.tgz", - "integrity": "sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.33.0.tgz", + "integrity": "sha512-LMi/oqrzpqxyO72ltP+dBSP6V0xiUb4saY7WLtxSfiNEBI8m321LLVFU9/QDJxjDQG9/tjSqKz/E3380TEqSTw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.29.0", - "@typescript-eslint/utils": "8.29.0", + "@typescript-eslint/types": "8.33.0", + "@typescript-eslint/visitor-keys": "8.33.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.0.tgz", + "integrity": "sha512-sTkETlbqhEoiFmGr1gsdq5HyVbSOF0145SYDJ/EQmXHtKViCaGvnyLqWFFHtEXoS0J1yU8Wyou2UGmgW88fEug==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.33.0.tgz", + "integrity": "sha512-lScnHNCBqL1QayuSrWeqAL5GmqNdVUQAAMTaCwdYEdWfIrSrOGzyLGRCHXcCixa5NK6i5l0AfSO2oBSjCjf4XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.33.0", + "@typescript-eslint/utils": "8.33.0", "debug": "^4.3.4", - "ts-api-utils": "^2.0.1" + "ts-api-utils": "^2.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3736,9 +3641,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.0.tgz", - "integrity": "sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==", + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.33.0.tgz", + "integrity": "sha512-DKuXOKpM5IDT1FA2g9x9x1Ug81YuKrzf4mYX8FAVSNu5Wo/LELHWQyM1pQaDkI42bX15PWl0vNPt1uGiIFUOpg==", "dev": true, "license": "MIT", "engines": { @@ -3750,20 +3655,22 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.0.tgz", - "integrity": "sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow==", + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.0.tgz", + "integrity": "sha512-vegY4FQoB6jL97Tu/lWRsAiUUp8qJTqzAmENH2k59SJhw0Th1oszb9Idq/FyyONLuNqT1OADJPXfyUNOR8SzAQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0", + "@typescript-eslint/project-service": "8.33.0", + "@typescript-eslint/tsconfig-utils": "8.33.0", + "@typescript-eslint/types": "8.33.0", + "@typescript-eslint/visitor-keys": "8.33.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", - "ts-api-utils": "^2.0.1" + "ts-api-utils": "^2.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3777,16 +3684,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.0.tgz", - "integrity": "sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA==", + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.33.0.tgz", + "integrity": "sha512-lPFuQaLA9aSNa7D5u2EpRiqdAUhzShwGg/nhpBlc4GR6kcTABttCuyjFs8BcEZ8VWrjCBof/bePhP3Q3fS+Yrw==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.29.0", - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/typescript-estree": "8.29.0" + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.33.0", + "@typescript-eslint/types": "8.33.0", + "@typescript-eslint/typescript-estree": "8.33.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3801,13 +3708,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.0.tgz", - "integrity": "sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg==", + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.0.tgz", + "integrity": "sha512-7RW7CMYoskiz5OOGAWjJFxgb7c5UNjTG292gYhWeOAcFmYCtVCSqjqSBj5zMhxbXo2JOW95YYrUWJfU0zrpaGQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/types": "8.33.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -3831,18 +3738,260 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.7.8.tgz", + "integrity": "sha512-rsRK8T7yxraNRDmpFLZCWqpea6OlXPNRRCjWMx24O1V86KFol7u2gj9zJCv6zB1oJjtnzWceuqdnCgOipFcJPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.7.8.tgz", + "integrity": "sha512-16yEMWa+Olqkk8Kl6Bu0ltT5OgEedkSAsxcz1B3yEctrDYp3EMBu/5PPAGhWVGnwhtf3hNe3y15gfYBAjOv5tQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.7.8.tgz", + "integrity": "sha512-ST4uqF6FmdZQgv+Q73FU1uHzppeT4mhX3IIEmHlLObrv5Ep50olWRz0iQ4PWovadjHMTAmpuJAGaAuCZYb7UAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.7.8.tgz", + "integrity": "sha512-Z/A/4Rm2VWku2g25C3tVb986fY6unx5jaaCFpx1pbAj0OKkyuJ5wcQLHvNbIcJ9qhiYwXfrkB7JNlxrAbg7YFg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.7.8.tgz", + "integrity": "sha512-HN0p7o38qKmDo3bZUiQa6gP7Qhf0sKgJZtRfSHi6JL2Gi4NaUVF0EO1sQ1RHbeQ4VvfjUGMh3QE5dxEh06BgQQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.7.8.tgz", + "integrity": "sha512-HsoVqDBt9G69AN0KWeDNJW+7i8KFlwxrbbnJffgTGpiZd6Jw+Q95sqkXp8y458KhKduKLmXfVZGnKBTNxAgPjw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.7.8.tgz", + "integrity": "sha512-VfR2yTDUbUvn+e/Aw22CC9fQg9zdShHAfwWctNBdOk7w9CHWl2OtYlcMvjzMAns8QxoHQoqn3/CEnZ4Ts7hfrA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.7.8.tgz", + "integrity": "sha512-xUauVQNz4uDgs4UJJiUAwMe3N0PA0wvtImh7V0IFu++UKZJhssXbKHBRR4ecUJpUHCX2bc4Wc8sGsB6P+7BANg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.7.8.tgz", + "integrity": "sha512-GqyIB+CuSHGhhc8ph5RrurtNetYJjb6SctSHafqmdGcRuGi6uyTMR8l18hMEhZFsXdFMc/MpInPLvmNV22xn+A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.7.8.tgz", + "integrity": "sha512-eEU3rWIFRv60xaAbtsgwHNWRZGD7cqkpCvNtio/f1TjEE3HfKLzPNB24fA9X/8ZXQrGldE65b7UKK3PmO4eWIQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.7.8.tgz", + "integrity": "sha512-GVLI0f4I4TlLqEUoOFvTWedLsJEdvsD0+sxhdvQ5s+N+m2DSynTs8h9jxR0qQbKlpHWpc2Ortz3z48NHRT4l+w==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.7.8.tgz", + "integrity": "sha512-GX1pZ/4ncUreB0Rlp1l7bhKAZ8ZmvDIgXdeb5V2iK0eRRF332+6gRfR/r5LK88xfbtOpsmRHU6mQ4N8ZnwvGEA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.7.8.tgz", + "integrity": "sha512-n1N84MnsvDupzVuYqJGj+2pb9s8BI1A5RgXHvtVFHedGZVBCFjDpQVRlmsFMt6xZiKwDPaqsM16O/1isCUGt7w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.7.8.tgz", + "integrity": "sha512-x94WnaU5g+pCPDVedfnXzoG6lCOF2xFGebNwhtbJCWfceE94Zj8aysSxdxotlrZrxnz5D3ijtyFUYtpz04n39Q==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.10" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.7.8.tgz", + "integrity": "sha512-vst2u8EJZ5L6jhJ6iLis3w9rg16aYqRxQuBAMYQRVrPMI43693hLP7DuqyOBRKgsQXy9/jgh204k0ViHkqQgdg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.7.8.tgz", + "integrity": "sha512-yb3LZOLMFqnA+/ShlE1E5bpYPGDsA590VHHJPB+efnyowT776GJXBoh82em6O9WmYBUq57YblGTcMYAFBm72HA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.7.8.tgz", + "integrity": "sha512-hHKFx+opG5BA3/owMXon8ypwSotBGTdblG6oda/iOu9+OEYnk0cxD2uIcGyGT8jCK578kV+xMrNxqbn8Zjlpgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@vitejs/plugin-react": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", - "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.5.0.tgz", + "integrity": "sha512-JuLWaEqypaJmOJPLWwO335Ig6jSgC1FTONCWAxnqcQthLTK/Yc9aH6hr9z/87xciejbQcnP3GnA1FWUSWeXaeg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.26.0", + "@babel/core": "^7.26.10", "@babel/plugin-transform-react-jsx-self": "^7.25.9", "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@rolldown/pluginutils": "1.0.0-beta.9", "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.2" + "react-refresh": "^0.17.0" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -3852,14 +4001,14 @@ } }, "node_modules/@vitest/expect": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.1.tgz", - "integrity": "sha512-q/zjrW9lgynctNbwvFtQkGK9+vvHA5UzVi2V8APrp1C6fG6/MuYYkmlx4FubuqLycCeSdHD5aadWfua/Vr0EUA==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.4.tgz", + "integrity": "sha512-xkD/ljeliyaClDYqHPNCiJ0plY5YIcM0OlRiZizLhlPmpXWpxnGMyTZXOHFhFeG7w9P5PBeL4IdtJ/HeQwTbQA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.1.1", - "@vitest/utils": "3.1.1", + "@vitest/spy": "3.1.4", + "@vitest/utils": "3.1.4", "chai": "^5.2.0", "tinyrainbow": "^2.0.0" }, @@ -3868,13 +4017,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.1.tgz", - "integrity": "sha512-bmpJJm7Y7i9BBELlLuuM1J1Q6EQ6K5Ye4wcyOpOMXMcePYKSIYlpcrCm4l/O6ja4VJA5G2aMJiuZkZdnxlC3SA==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.4.tgz", + "integrity": "sha512-8IJ3CvwtSw/EFXqWFL8aCMu+YyYXG2WUSrQbViOZkWTKTVicVwZ/YiEZDSqD00kX+v/+W+OnxhNWoeVKorHygA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.1.1", + "@vitest/spy": "3.1.4", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -3895,9 +4044,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.1.tgz", - "integrity": "sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.4.tgz", + "integrity": "sha512-cqv9H9GvAEoTaoq+cYqUTCGscUjKqlJZC7PRwY5FMySVj5J+xOm1KQcCiYHJOEzOKRUhLH4R2pTwvFlWCEScsg==", "dev": true, "license": "MIT", "dependencies": { @@ -3908,13 +4057,13 @@ } }, "node_modules/@vitest/runner": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.1.tgz", - "integrity": "sha512-X/d46qzJuEDO8ueyjtKfxffiXraPRfmYasoC4i5+mlLEJ10UvPb0XH5M9C3gWuxd7BAQhpK42cJgJtq53YnWVA==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.4.tgz", + "integrity": "sha512-djTeF1/vt985I/wpKVFBMWUlk/I7mb5hmD5oP8K9ACRmVXgKTae3TUOtXAEBfslNKPzUQvnKhNd34nnRSYgLNQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "3.1.1", + "@vitest/utils": "3.1.4", "pathe": "^2.0.3" }, "funding": { @@ -3922,13 +4071,13 @@ } }, "node_modules/@vitest/snapshot": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.1.tgz", - "integrity": "sha512-bByMwaVWe/+1WDf9exFxWWgAixelSdiwo2p33tpqIlM14vW7PRV5ppayVXtfycqze4Qhtwag5sVhX400MLBOOw==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.4.tgz", + "integrity": "sha512-JPHf68DvuO7vilmvwdPr9TS0SuuIzHvxeaCkxYcCD4jTk67XwL45ZhEHFKIuCm8CYstgI6LZ4XbwD6ANrwMpFg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.1.1", + "@vitest/pretty-format": "3.1.4", "magic-string": "^0.30.17", "pathe": "^2.0.3" }, @@ -3937,9 +4086,9 @@ } }, "node_modules/@vitest/spy": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.1.tgz", - "integrity": "sha512-+EmrUOOXbKzLkTDwlsc/xrwOlPDXyVk3Z6P6K4oiCndxz7YLpp/0R0UsWVOKT0IXWjjBJuSMk6D27qipaupcvQ==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.4.tgz", + "integrity": "sha512-Xg1bXhu+vtPXIodYN369M86K8shGLouNjoVI78g8iAq2rFoHFdajNvJJ5A/9bPMFcfQqdaCpOgWKEoMQg/s0Yg==", "dev": true, "license": "MIT", "dependencies": { @@ -3950,13 +4099,13 @@ } }, "node_modules/@vitest/utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.1.tgz", - "integrity": "sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.4.tgz", + "integrity": "sha512-yriMuO1cfFhmiGc8ataN51+9ooHRuURdfAZfwFd3usWynjzpLslZdYnRegTv32qdgtJTsj15FoeZe2g15fY1gg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.1.1", + "@vitest/pretty-format": "3.1.4", "loupe": "^3.1.3", "tinyrainbow": "^2.0.0" }, @@ -3988,14 +4137,11 @@ } }, "node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", "dev": true, "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, "engines": { "node": ">= 14" } @@ -4018,16 +4164,13 @@ } }, "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">=8" } }, "node_modules/ansi-styles": { @@ -4082,9 +4225,9 @@ "license": "Python-2.0" }, "node_modules/aria-hidden": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", - "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", "license": "MIT", "dependencies": { "tslib": "^2.0.0" @@ -4094,24 +4237,24 @@ } }, "node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dev": true, "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" + "dependencies": { + "dequal": "^2.0.3" } }, "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" }, "engines": { "node": ">= 0.4" @@ -4163,18 +4306,19 @@ } }, "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -4184,16 +4328,16 @@ } }, "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -4203,16 +4347,16 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -4239,20 +4383,19 @@ } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", "dev": true, "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" }, "engines": { "node": ">= 0.4" @@ -4278,6 +4421,16 @@ "dev": true, "license": "MIT" }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -4302,9 +4455,9 @@ } }, "node_modules/axe-core": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz", - "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==", + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.3.tgz", + "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==", "dev": true, "license": "MPL-2.0", "engines": { @@ -4365,9 +4518,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", - "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz", + "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==", "dev": true, "funding": [ { @@ -4385,10 +4538,10 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001669", - "electron-to-chromium": "^1.5.41", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.1" + "caniuse-lite": "^1.0.30001718", + "electron-to-chromium": "^1.5.160", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" @@ -4419,17 +4572,47 @@ } }, "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dev": true, "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -4468,9 +4651,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001676", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001676.tgz", - "integrity": "sha512-Qz6zwGCiPghQXGJvgQAem79esjitvJ+CxSbSQkW9H/UX5hg8XM88d4lp2W+MEQ81j+Hip58Il+jGVdazk1z9cw==", + "version": "1.0.30001720", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001720.tgz", + "integrity": "sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g==", "funding": [ { "type": "opencollective", @@ -4552,9 +4735,9 @@ } }, "node_modules/chart.js": { - "version": "4.4.8", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.8.tgz", - "integrity": "sha512-IkGZlVpXP+83QpMm4uxEiGqSI7jFizwVtF3+n5Pc3k7sMO+tkd0qxh2OzLhenM0K80xtmAONWGBn082EiBQSDA==", + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.9.tgz", + "integrity": "sha512-EyZ9wWKgpAU0fLJ43YAEIF8sr5F2W3LqbS40ZJyHIner2lY14ufqv2VMp69MAiZ2rpwxEUxEhIH/0U3xyRynxg==", "license": "MIT", "dependencies": { "@kurkle/color": "^0.3.0" @@ -4800,18 +4983,26 @@ } }, "node_modules/cssstyle": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.1.0.tgz", - "integrity": "sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.3.1.tgz", + "integrity": "sha512-ZgW+Jgdd7i52AaLYCriF8Mxqft0gD/R9i9wi6RWBhs1pqdPEzPjym7rvRKi397WmQFf3SlyUsszhw+VVCbx79Q==", "dev": true, "license": "MIT", "dependencies": { - "rrweb-cssom": "^0.7.1" + "@asamuzakjp/css-color": "^3.1.2", + "rrweb-cssom": "^0.8.0" }, "engines": { "node": ">=18" } }, + "node_modules/cssstyle/node_modules/rrweb-cssom": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", + "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", + "dev": true, + "license": "MIT" + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -4840,15 +5031,15 @@ } }, "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -4858,31 +5049,31 @@ } }, "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/inspect-js" } }, "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" }, @@ -4903,10 +5094,16 @@ "url": "https://github.com/sponsors/kossnocorp" } }, + "node_modules/date-fns-jalali": { + "version": "4.1.0-0", + "resolved": "https://registry.npmjs.org/date-fns-jalali/-/date-fns-jalali-4.1.0-0.tgz", + "integrity": "sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg==", + "license": "MIT" + }, "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4922,9 +5119,9 @@ } }, "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", + "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", "dev": true, "license": "MIT" }, @@ -5002,9 +5199,9 @@ } }, "node_modules/detect-libc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", - "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", "license": "Apache-2.0", "engines": { "node": ">=8" @@ -5050,6 +5247,21 @@ "dev": true, "license": "MIT" }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -5058,9 +5270,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.65", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.65.tgz", - "integrity": "sha512-PWVzBjghx7/wop6n22vS2MLU8tKGd4Q91aCEGhG/TYmW6PP5OcSXcdnxTe1NNt0T66N8D6jxh4kC8UsdzOGaIw==", + "version": "1.5.161", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.161.tgz", + "integrity": "sha512-hwtetwfKNZo/UlwHIVBlKZVdy7o8bIZxxKs0Mv/ROPiQQQmDgdm5a+KvKtBsxM8ZjFzTaCeLoodZ8jiBE3o9rA==", "dev": true, "license": "ISC" }, @@ -5071,24 +5283,10 @@ "dev": true, "license": "MIT" }, - "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", + "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -5099,58 +5297,66 @@ } }, "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", "dev": true, "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", + "is-data-view": "^1.0.2", "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" }, "engines": { "node": ">= 0.4" @@ -5160,14 +5366,11 @@ } }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, "engines": { "node": ">= 0.4" } @@ -5183,42 +5386,44 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz", - "integrity": "sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", + "es-abstract": "^1.23.6", "es-errors": "^1.3.0", "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", + "get-intrinsic": "^1.2.6", "globalthis": "^1.0.4", + "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.3", - "safe-array-concat": "^1.1.2" + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-module-lexer": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", - "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", "dev": true, "license": "MIT" }, "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "dev": true, "license": "MIT", "dependencies": { @@ -5229,40 +5434,44 @@ } }, "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "dev": true, "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.4", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" }, "engines": { "node": ">= 0.4" @@ -5272,9 +5481,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", - "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", + "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -5285,31 +5494,31 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.2", - "@esbuild/android-arm": "0.25.2", - "@esbuild/android-arm64": "0.25.2", - "@esbuild/android-x64": "0.25.2", - "@esbuild/darwin-arm64": "0.25.2", - "@esbuild/darwin-x64": "0.25.2", - "@esbuild/freebsd-arm64": "0.25.2", - "@esbuild/freebsd-x64": "0.25.2", - "@esbuild/linux-arm": "0.25.2", - "@esbuild/linux-arm64": "0.25.2", - "@esbuild/linux-ia32": "0.25.2", - "@esbuild/linux-loong64": "0.25.2", - "@esbuild/linux-mips64el": "0.25.2", - "@esbuild/linux-ppc64": "0.25.2", - "@esbuild/linux-riscv64": "0.25.2", - "@esbuild/linux-s390x": "0.25.2", - "@esbuild/linux-x64": "0.25.2", - "@esbuild/netbsd-arm64": "0.25.2", - "@esbuild/netbsd-x64": "0.25.2", - "@esbuild/openbsd-arm64": "0.25.2", - "@esbuild/openbsd-x64": "0.25.2", - "@esbuild/sunos-x64": "0.25.2", - "@esbuild/win32-arm64": "0.25.2", - "@esbuild/win32-ia32": "0.25.2", - "@esbuild/win32-x64": "0.25.2" + "@esbuild/aix-ppc64": "0.25.5", + "@esbuild/android-arm": "0.25.5", + "@esbuild/android-arm64": "0.25.5", + "@esbuild/android-x64": "0.25.5", + "@esbuild/darwin-arm64": "0.25.5", + "@esbuild/darwin-x64": "0.25.5", + "@esbuild/freebsd-arm64": "0.25.5", + "@esbuild/freebsd-x64": "0.25.5", + "@esbuild/linux-arm": "0.25.5", + "@esbuild/linux-arm64": "0.25.5", + "@esbuild/linux-ia32": "0.25.5", + "@esbuild/linux-loong64": "0.25.5", + "@esbuild/linux-mips64el": "0.25.5", + "@esbuild/linux-ppc64": "0.25.5", + "@esbuild/linux-riscv64": "0.25.5", + "@esbuild/linux-s390x": "0.25.5", + "@esbuild/linux-x64": "0.25.5", + "@esbuild/netbsd-arm64": "0.25.5", + "@esbuild/netbsd-x64": "0.25.5", + "@esbuild/openbsd-arm64": "0.25.5", + "@esbuild/openbsd-x64": "0.25.5", + "@esbuild/sunos-x64": "0.25.5", + "@esbuild/win32-arm64": "0.25.5", + "@esbuild/win32-ia32": "0.25.5", + "@esbuild/win32-x64": "0.25.5" } }, "node_modules/escalade": { @@ -5336,20 +5545,20 @@ } }, "node_modules/eslint": { - "version": "9.23.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.23.0.tgz", - "integrity": "sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==", + "version": "9.27.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.27.0.tgz", + "integrity": "sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.2", - "@eslint/config-helpers": "^0.2.0", - "@eslint/core": "^0.12.0", + "@eslint/config-array": "^0.20.0", + "@eslint/config-helpers": "^0.2.1", + "@eslint/core": "^0.14.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.23.0", - "@eslint/plugin-kit": "^0.2.7", + "@eslint/js": "9.27.0", + "@eslint/plugin-kit": "^0.3.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", @@ -5447,26 +5656,25 @@ } }, "node_modules/eslint-import-resolver-typescript": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz", - "integrity": "sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", "dev": true, "license": "ISC", "dependencies": { "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.3.5", - "enhanced-resolve": "^5.15.0", - "eslint-module-utils": "^2.8.1", - "fast-glob": "^3.3.2", - "get-tsconfig": "^4.7.5", - "is-bun-module": "^1.0.2", - "is-glob": "^4.0.3" + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" }, "engines": { "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + "url": "https://opencollective.com/eslint-import-resolver-typescript" }, "peerDependencies": { "eslint": "*", @@ -5618,6 +5826,16 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -5643,29 +5861,29 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.37.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", - "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", "dev": true, "license": "MIT", "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.2", + "array.prototype.flatmap": "^1.3.3", "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.1.0", + "es-iterator-helpers": "^1.2.1", "estraverse": "^5.3.0", "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.8", + "object.entries": "^1.1.9", "object.fromentries": "^2.0.8", - "object.values": "^1.2.0", + "object.values": "^1.2.1", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.11", + "string.prototype.matchall": "^4.0.12", "string.prototype.repeat": "^1.0.0" }, "engines": { @@ -5676,9 +5894,9 @@ } }, "node_modules/eslint-plugin-react-hooks": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz", - "integrity": "sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", "dev": true, "license": "MIT", "engines": { @@ -5770,20 +5988,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/@humanwhocodes/retry": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", - "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, "node_modules/eslint/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -5808,6 +6012,16 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/eslint/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -5926,9 +6140,9 @@ "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "license": "MIT", "dependencies": { @@ -5936,7 +6150,7 @@ "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -5970,9 +6184,9 @@ "license": "MIT" }, "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, "license": "ISC", "dependencies": { @@ -6050,30 +6264,36 @@ } }, "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true, "license": "ISC" }, "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.1.3" + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", "dev": true, "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.0", + "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" }, "engines": { @@ -6084,14 +6304,15 @@ } }, "node_modules/form-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", - "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", "dev": true, "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" }, "engines": { @@ -6159,16 +6380,18 @@ } }, "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" }, "engines": { "node": ">= 0.4" @@ -6207,17 +6430,22 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -6235,16 +6463,30 @@ "node": ">=6" } }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -6254,9 +6496,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz", - "integrity": "sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz", + "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6301,16 +6543,13 @@ } }, "node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, "node_modules/globalthis": { @@ -6338,25 +6577,18 @@ "license": "MIT" }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -6365,11 +6597,14 @@ "license": "MIT" }, "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", "dev": true, "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6398,11 +6633,14 @@ } }, "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", "dev": true, "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -6411,9 +6649,9 @@ } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, "license": "MIT", "engines": { @@ -6522,13 +6760,13 @@ } }, "node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "4" }, "engines": { @@ -6549,9 +6787,9 @@ } }, "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz", + "integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==", "dev": true, "license": "MIT", "engines": { @@ -6586,15 +6824,15 @@ } }, "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "hasown": "^2.0.2", + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -6625,14 +6863,15 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -6648,13 +6887,17 @@ "license": "MIT" }, "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -6664,13 +6907,16 @@ } }, "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", "dev": true, "license": "MIT", "dependencies": { - "has-bigints": "^1.0.1" + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6690,14 +6936,14 @@ } }, "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -6707,13 +6953,13 @@ } }, "node_modules/is-bun-module": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.2.1.tgz", - "integrity": "sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", "dev": true, "license": "MIT", "dependencies": { - "semver": "^7.6.3" + "semver": "^7.7.1" } }, "node_modules/is-callable": { @@ -6730,9 +6976,9 @@ } }, "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, "license": "MIT", "dependencies": { @@ -6746,12 +6992,14 @@ } }, "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", "dev": true, "license": "MIT", "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", "is-typed-array": "^1.1.13" }, "engines": { @@ -6762,13 +7010,14 @@ } }, "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -6798,13 +7047,16 @@ } }, "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6821,13 +7073,16 @@ } }, "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -6896,13 +7151,14 @@ } }, "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -6919,14 +7175,16 @@ "license": "MIT" }, "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -6949,13 +7207,13 @@ } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -6965,13 +7223,14 @@ } }, "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -6981,13 +7240,15 @@ } }, "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", "dev": true, "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -6997,13 +7258,13 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "dev": true, "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.14" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -7026,27 +7287,30 @@ } }, "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -7070,17 +7334,18 @@ "license": "ISC" }, "node_modules/iterator.prototype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", - "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", "dev": true, "license": "MIT", "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -7103,9 +7368,9 @@ } }, "node_modules/jiti": { - "version": "1.21.6", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", - "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", "dev": true, "license": "MIT", "bin": { @@ -7174,9 +7439,9 @@ } }, "node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, "license": "MIT", "bin": { @@ -7208,16 +7473,16 @@ "license": "MIT" }, "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, "bin": { "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, "node_modules/jsx-ast-utils": { @@ -7358,11 +7623,14 @@ } }, "node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "license": "ISC" + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } }, "node_modules/lucide-react": { "version": "0.453.0", @@ -7393,6 +7661,16 @@ "@jridgewell/sourcemap-codec": "^1.5.0" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -7526,15 +7804,16 @@ } }, "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -7542,6 +7821,22 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/napi-postinstall": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.2.4.tgz", + "integrity": "sha512-ZEzHJwBhZ8qQSbknHqYcdtQVr8zUgGyM/q6h6qAyhtyVMNrSgDhrC4disf03dYW0e+czXyLnZINnCTEkWy0eJg==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -7604,13 +7899,13 @@ } }, "node_modules/next-themes": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.3.0.tgz", - "integrity": "sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==", + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.4.6.tgz", + "integrity": "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==", "license": "MIT", "peerDependencies": { - "react": "^16.8 || ^17 || ^18", - "react-dom": "^16.8 || ^17 || ^18" + "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" } }, "node_modules/next/node_modules/postcss": { @@ -7642,9 +7937,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true, "license": "MIT" }, @@ -7659,9 +7954,9 @@ } }, "node_modules/nuqs": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/nuqs/-/nuqs-2.4.1.tgz", - "integrity": "sha512-u6sngTspqDe3jWHtcmqHQg3dl35niizCZAsm5gy7PBlgG2rwl71Dp2QUv5hwBaWKI9qz0wqILZY86TsRxq66SQ==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/nuqs/-/nuqs-2.4.3.tgz", + "integrity": "sha512-BgtlYpvRwLYiJuWzxt34q2bXu/AIS66sLU1QePIMr2LWkb+XH0vKXdbLSgn9t6p7QKzwI7f38rX3Wl9llTXQ8Q==", "license": "MIT", "dependencies": { "mitt": "^3.0.1" @@ -7692,9 +7987,9 @@ } }, "node_modules/nwsapi": { - "version": "2.2.13", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz", - "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==", + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz", + "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==", "dev": true, "license": "MIT" }, @@ -7719,9 +8014,9 @@ } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, "license": "MIT", "engines": { @@ -7742,15 +8037,17 @@ } }, "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", "object-keys": "^1.1.1" }, "engines": { @@ -7761,15 +8058,16 @@ } }, "node_modules/object.entries": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "es-object-atoms": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -7810,13 +8108,14 @@ } }, "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, @@ -7845,6 +8144,24 @@ "node": ">= 0.8.0" } }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -7916,13 +8233,13 @@ } }, "node_modules/parse5": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", - "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, "license": "MIT", "dependencies": { - "entities": "^4.5.0" + "entities": "^6.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" @@ -7972,6 +8289,13 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, "node_modules/pathe": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", @@ -8019,9 +8343,9 @@ } }, "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", "dev": true, "license": "MIT", "engines": { @@ -8035,9 +8359,9 @@ "license": "MIT" }, "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", "dev": true, "license": "MIT", "engines": { @@ -8045,9 +8369,9 @@ } }, "node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "version": "8.5.4", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.4.tgz", + "integrity": "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==", "dev": true, "funding": [ { @@ -8065,7 +8389,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.8", + "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -8111,42 +8435,6 @@ "postcss": "^8.4.21" } }, - "node_modules/postcss-load-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, - "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, "node_modules/postcss-nested": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", @@ -8328,16 +8616,6 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/pretty-format/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", @@ -8351,13 +8629,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true, - "license": "MIT" - }, "node_modules/prismjs": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", @@ -8379,6 +8650,13 @@ "react-is": "^16.13.1" } }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, "node_modules/property-information": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", @@ -8460,6 +8738,68 @@ "react": ">=16" } }, + "node_modules/react-code-blocks/node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/react-code-blocks/node_modules/styled-components": { + "version": "6.1.18", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.18.tgz", + "integrity": "sha512-Mvf3gJFzZCkhjY2Y/Fx9z1m3dxbza0uI9H1CbNZm/jSHCojzJhQ0R7bByrlFJINnMzz/gPulpoFFGymNwrsMcw==", + "license": "MIT", + "dependencies": { + "@emotion/is-prop-valid": "1.2.2", + "@emotion/unitless": "0.8.1", + "@types/stylis": "4.2.5", + "css-to-react-native": "3.2.0", + "csstype": "3.1.3", + "postcss": "8.4.49", + "shallowequal": "1.1.0", + "stylis": "4.3.2", + "tslib": "2.6.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/styled-components" + }, + "peerDependencies": { + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0" + } + }, + "node_modules/react-code-blocks/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "license": "0BSD" + }, "node_modules/react-datepicker": { "version": "7.6.0", "resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-7.6.0.tgz", @@ -8475,21 +8815,6 @@ "react-dom": "^16.9.0 || ^17 || ^18 || ^19 || ^19.0.0-rc" } }, - "node_modules/react-datepicker/node_modules/@floating-ui/react": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.3.tgz", - "integrity": "sha512-CLHnes3ixIFFKVQDdICjel8muhFLOBdQH7fgtHNPY8UbCNqbeKZ262G7K66lGQOUQWWnYocf7ZbUsLJgGfsLHg==", - "license": "MIT", - "dependencies": { - "@floating-ui/react-dom": "^2.1.2", - "@floating-ui/utils": "^0.2.9", - "tabbable": "^6.0.0" - }, - "peerDependencies": { - "react": ">=17.0.0", - "react-dom": ">=17.0.0" - } - }, "node_modules/react-datepicker/node_modules/date-fns": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz", @@ -8501,17 +8826,24 @@ } }, "node_modules/react-day-picker": { - "version": "8.10.1", - "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.1.tgz", - "integrity": "sha512-TMx7fNbhLk15eqcMt+7Z7S2KF7mfTId/XJDjKE8f+IUcFn0l08/kI4FiYTL/0yuOLmEcbR4Fwe3GJf/NiiMnPA==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-9.7.0.tgz", + "integrity": "sha512-urlK4C9XJZVpQ81tmVgd2O7lZ0VQldZeHzNejbwLWZSkzHH498KnArT0EHNfKBOWwKc935iMLGZdxXPRISzUxQ==", "license": "MIT", + "dependencies": { + "@date-fns/tz": "1.2.0", + "date-fns": "4.1.0", + "date-fns-jalali": "4.1.0-0" + }, + "engines": { + "node": ">=18" + }, "funding": { "type": "individual", "url": "https://github.com/sponsors/gpbl" }, "peerDependencies": { - "date-fns": "^2.28.0 || ^3.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "react": ">=16.8.0" } }, "node_modules/react-dom": { @@ -8536,16 +8868,16 @@ } }, "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true, "license": "MIT" }, "node_modules/react-refresh": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", - "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", "dev": true, "license": "MIT", "engines": { @@ -8553,9 +8885,9 @@ } }, "node_modules/react-remove-scroll": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.3.tgz", - "integrity": "sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.0.tgz", + "integrity": "sha512-sGsQtcjMqdQyijAHytfGEELB8FufGbfXIsvUTe+NLx1GDRJCXtCFLBLUI1eyZCKXXvbEU2C6gai0PZKoIE9Vbg==", "license": "MIT", "dependencies": { "react-remove-scroll-bar": "^2.3.7", @@ -8675,19 +9007,20 @@ } }, "node_modules/reflect.getprototypeof": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", - "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-abstract": "^1.23.1", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -8720,22 +9053,18 @@ "node": ">=6" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "license": "MIT" - }, "node_modules/regexp.prototype.flags": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", - "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", "set-function-name": "^2.0.2" }, "engines": { @@ -8746,19 +9075,22 @@ } }, "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8784,9 +9116,9 @@ } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, "license": "MIT", "engines": { @@ -8795,9 +9127,9 @@ } }, "node_modules/rollup": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.38.0.tgz", - "integrity": "sha512-5SsIRtJy9bf1ErAOiFMFzl64Ex9X5V7bnJ+WlFMb+zmP459OSWCEG7b0ERZ+PEU7xPt4OG3RHbrp1LJlXxYTrw==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.1.tgz", + "integrity": "sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==", "dev": true, "license": "MIT", "dependencies": { @@ -8811,26 +9143,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.38.0", - "@rollup/rollup-android-arm64": "4.38.0", - "@rollup/rollup-darwin-arm64": "4.38.0", - "@rollup/rollup-darwin-x64": "4.38.0", - "@rollup/rollup-freebsd-arm64": "4.38.0", - "@rollup/rollup-freebsd-x64": "4.38.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.38.0", - "@rollup/rollup-linux-arm-musleabihf": "4.38.0", - "@rollup/rollup-linux-arm64-gnu": "4.38.0", - "@rollup/rollup-linux-arm64-musl": "4.38.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.38.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.38.0", - "@rollup/rollup-linux-riscv64-gnu": "4.38.0", - "@rollup/rollup-linux-riscv64-musl": "4.38.0", - "@rollup/rollup-linux-s390x-gnu": "4.38.0", - "@rollup/rollup-linux-x64-gnu": "4.38.0", - "@rollup/rollup-linux-x64-musl": "4.38.0", - "@rollup/rollup-win32-arm64-msvc": "4.38.0", - "@rollup/rollup-win32-ia32-msvc": "4.38.0", - "@rollup/rollup-win32-x64-msvc": "4.38.0", + "@rollup/rollup-android-arm-eabi": "4.41.1", + "@rollup/rollup-android-arm64": "4.41.1", + "@rollup/rollup-darwin-arm64": "4.41.1", + "@rollup/rollup-darwin-x64": "4.41.1", + "@rollup/rollup-freebsd-arm64": "4.41.1", + "@rollup/rollup-freebsd-x64": "4.41.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.41.1", + "@rollup/rollup-linux-arm-musleabihf": "4.41.1", + "@rollup/rollup-linux-arm64-gnu": "4.41.1", + "@rollup/rollup-linux-arm64-musl": "4.41.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.41.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.41.1", + "@rollup/rollup-linux-riscv64-gnu": "4.41.1", + "@rollup/rollup-linux-riscv64-musl": "4.41.1", + "@rollup/rollup-linux-s390x-gnu": "4.41.1", + "@rollup/rollup-linux-x64-gnu": "4.41.1", + "@rollup/rollup-linux-x64-musl": "4.41.1", + "@rollup/rollup-win32-arm64-msvc": "4.41.1", + "@rollup/rollup-win32-ia32-msvc": "4.41.1", + "@rollup/rollup-win32-x64-msvc": "4.41.1", "fsevents": "~2.3.2" } }, @@ -8866,15 +9198,16 @@ } }, "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", "isarray": "^2.0.5" }, "engines": { @@ -8884,16 +9217,33 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", "es-errors": "^1.3.0", - "is-regex": "^1.1.4" + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -8929,9 +9279,9 @@ "license": "MIT" }, "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -8974,6 +9324,21 @@ "node": ">= 0.4" } }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/shallowequal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", @@ -9043,16 +9408,73 @@ } }, "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -9132,6 +9554,13 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true, + "license": "MIT" + }, "node_modules/stackback": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", @@ -9140,12 +9569,26 @@ "license": "MIT" }, "node_modules/std-env": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.1.tgz", - "integrity": "sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", "dev": true, "license": "MIT" }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/streamsearch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", @@ -9188,16 +9631,6 @@ "node": ">=8" } }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -9234,24 +9667,25 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", - "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", + "es-abstract": "^1.23.6", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "regexp.prototype.flags": "^1.5.2", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", "set-function-name": "^2.0.2", - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -9272,16 +9706,19 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -9291,16 +9728,20 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9353,14 +9794,17 @@ "node": ">=8" } }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/strip-bom": { @@ -9386,68 +9830,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/styled-components": { - "version": "6.1.13", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.13.tgz", - "integrity": "sha512-M0+N2xSnAtwcVAQeFEsGWFFxXDftHUD7XrKla06QbpUMmbmtFBMMTcKWvFXtWxuD5qQkB8iU5gk6QASlx2ZRMw==", - "license": "MIT", - "dependencies": { - "@emotion/is-prop-valid": "1.2.2", - "@emotion/unitless": "0.8.1", - "@types/stylis": "4.2.5", - "css-to-react-native": "3.2.0", - "csstype": "3.1.3", - "postcss": "8.4.38", - "shallowequal": "1.1.0", - "stylis": "4.3.2", - "tslib": "2.6.2" - }, - "engines": { - "node": ">= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/styled-components" - }, - "peerDependencies": { - "react": ">= 16.8.0", - "react-dom": ">= 16.8.0" - } - }, - "node_modules/styled-components/node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/styled-components/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "license": "0BSD" - }, "node_modules/styled-jsx": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", @@ -9607,14 +9989,40 @@ "tailwindcss": ">=3.1.0" } }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, "engines": { - "node": ">=6" + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, "node_modules/thenify": { @@ -9655,9 +10063,9 @@ "license": "MIT" }, "node_modules/tinyglobby": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", - "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9672,9 +10080,9 @@ } }, "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", + "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==", "dev": true, "license": "MIT", "peerDependencies": { @@ -9730,22 +10138,22 @@ } }, "node_modules/tldts": { - "version": "6.1.64", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.64.tgz", - "integrity": "sha512-ph4AE5BXWIOsSy9stpoeo7bYe/Cy7VfpciIH4RhVZUPItCJmhqWCN0EVzxd8BOHiyNb42vuJc6NWTjJkg91Tuw==", + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", + "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^6.1.64" + "tldts-core": "^6.1.86" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "6.1.64", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.64.tgz", - "integrity": "sha512-uqnl8vGV16KsyflHOzqrYjjArjfXaU6rMPXYy2/ZWoRKCkXtghgB4VwTDXUG+t0OTGeSewNAG31/x1gCTfLt+Q==", + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", "dev": true, "license": "MIT" }, @@ -9763,9 +10171,9 @@ } }, "node_modules/tough-cookie": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.0.0.tgz", - "integrity": "sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -9776,9 +10184,9 @@ } }, "node_modules/tr46": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz", - "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", "dev": true, "license": "MIT", "dependencies": { @@ -9809,9 +10217,9 @@ "license": "Apache-2.0" }, "node_modules/tsconfck": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.4.tgz", - "integrity": "sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", "dev": true, "license": "MIT", "bin": { @@ -9842,6 +10250,19 @@ "strip-bom": "^3.0.0" } }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -9862,32 +10283,32 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -9897,18 +10318,19 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" }, "engines": { "node": ">= 0.4" @@ -9918,18 +10340,18 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-proto": "^1.0.3", "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" }, "engines": { "node": ">= 0.4" @@ -9939,9 +10361,9 @@ } }, "node_modules/typescript": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", - "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -9952,32 +10374,68 @@ } }, "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", + "call-bound": "^1.0.3", "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, + "node_modules/unrs-resolver": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.7.8.tgz", + "integrity": "sha512-2zsXwyOXmCX9nGz4vhtZRYhe30V78heAv+KDc21A/KMdovGHbZcixeD5JHEF0DrFXzdytwuzYclcPbvp8A3Jlw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.2.2" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-darwin-arm64": "1.7.8", + "@unrs/resolver-binding-darwin-x64": "1.7.8", + "@unrs/resolver-binding-freebsd-x64": "1.7.8", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.7.8", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.7.8", + "@unrs/resolver-binding-linux-arm64-gnu": "1.7.8", + "@unrs/resolver-binding-linux-arm64-musl": "1.7.8", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.7.8", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.7.8", + "@unrs/resolver-binding-linux-riscv64-musl": "1.7.8", + "@unrs/resolver-binding-linux-s390x-gnu": "1.7.8", + "@unrs/resolver-binding-linux-x64-gnu": "1.7.8", + "@unrs/resolver-binding-linux-x64-musl": "1.7.8", + "@unrs/resolver-binding-wasm32-wasi": "1.7.8", + "@unrs/resolver-binding-win32-arm64-msvc": "1.7.8", + "@unrs/resolver-binding-win32-ia32-msvc": "1.7.8", + "@unrs/resolver-binding-win32-x64-msvc": "1.7.8" + } + }, "node_modules/update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "dev": true, "funding": [ { @@ -9996,7 +10454,7 @@ "license": "MIT", "dependencies": { "escalade": "^3.2.0", - "picocolors": "^1.1.0" + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -10066,9 +10524,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.4.tgz", - "integrity": "sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw==", + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", "dev": true, "license": "MIT", "dependencies": { @@ -10141,15 +10599,15 @@ } }, "node_modules/vite-node": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.1.tgz", - "integrity": "sha512-V+IxPAE2FvXpTCHXyNem0M+gWm6J7eRyWPR6vYoG/Gl+IscNOjXzztUhimQgTxaAoUoj40Qqimaa0NLIOOAH4w==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.4.tgz", + "integrity": "sha512-6enNwYnpyDo4hEgytbmc6mYWHXDHYEn0D1/rw4Q+tnHUGtKTJsn8T1YkX6Q18wI5LCrS8CTYlBaiCqxOy2kvUA==", "dev": true, "license": "MIT", "dependencies": { "cac": "^6.7.14", "debug": "^4.4.0", - "es-module-lexer": "^1.6.0", + "es-module-lexer": "^1.7.0", "pathe": "^2.0.3", "vite": "^5.0.0 || ^6.0.0" }, @@ -10184,9 +10642,9 @@ } }, "node_modules/vite/node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", + "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==", "dev": true, "license": "MIT", "peerDependencies": { @@ -10212,31 +10670,32 @@ } }, "node_modules/vitest": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.1.tgz", - "integrity": "sha512-kiZc/IYmKICeBAZr9DQ5rT7/6bD9G7uqQEki4fxazi1jdVl2mWGzedtBs5s6llz59yQhVb7FFY2MbHzHCnT79Q==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.4.tgz", + "integrity": "sha512-Ta56rT7uWxCSJXlBtKgIlApJnT6e6IGmTYxYcmxjJ4ujuZDI59GUQgVDObXXJujOmPDBYXHK1qmaGtneu6TNIQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "3.1.1", - "@vitest/mocker": "3.1.1", - "@vitest/pretty-format": "^3.1.1", - "@vitest/runner": "3.1.1", - "@vitest/snapshot": "3.1.1", - "@vitest/spy": "3.1.1", - "@vitest/utils": "3.1.1", + "@vitest/expect": "3.1.4", + "@vitest/mocker": "3.1.4", + "@vitest/pretty-format": "^3.1.4", + "@vitest/runner": "3.1.4", + "@vitest/snapshot": "3.1.4", + "@vitest/spy": "3.1.4", + "@vitest/utils": "3.1.4", "chai": "^5.2.0", "debug": "^4.4.0", - "expect-type": "^1.2.0", + "expect-type": "^1.2.1", "magic-string": "^0.30.17", "pathe": "^2.0.3", - "std-env": "^3.8.1", + "std-env": "^3.9.0", "tinybench": "^2.9.0", "tinyexec": "^0.3.2", + "tinyglobby": "^0.2.13", "tinypool": "^1.0.2", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.1.1", + "vite-node": "3.1.4", "why-is-node-running": "^2.3.0" }, "bin": { @@ -10252,8 +10711,8 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.1.1", - "@vitest/ui": "3.1.1", + "@vitest/browser": "3.1.4", + "@vitest/ui": "3.1.4", "happy-dom": "*", "jsdom": "*" }, @@ -10328,13 +10787,13 @@ } }, "node_modules/whatwg-url": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz", - "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==", + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", "dev": true, "license": "MIT", "dependencies": { - "tr46": "^5.0.0", + "tr46": "^5.1.0", "webidl-conversions": "^7.0.0" }, "engines": { @@ -10358,41 +10817,45 @@ } }, "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", "dev": true, "license": "MIT", "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-builtin-type": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", - "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", "dev": true, "license": "MIT", "dependencies": { + "call-bound": "^1.0.2", "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", + "is-regex": "^1.2.1", "is-weakref": "^1.0.2", "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", + "which-boxed-primitive": "^1.1.0", "which-collection": "^1.0.2", - "which-typed-array": "^1.1.15" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -10421,16 +10884,18 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", - "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" }, "engines": { @@ -10504,16 +10969,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -10563,9 +11018,9 @@ } }, "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", "dev": true, "license": "MIT", "engines": { @@ -10618,16 +11073,16 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", - "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", "dev": true, "license": "ISC", "bin": { "yaml": "bin.mjs" }, "engines": { - "node": ">= 14" + "node": ">= 14.6" } }, "node_modules/yocto-queue": { @@ -10644,9 +11099,9 @@ } }, "node_modules/zod": { - "version": "3.24.2", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.2.tgz", - "integrity": "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==", + "version": "3.25.41", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.41.tgz", + "integrity": "sha512-8+sDJTGtCYIDBhdqDygp0ffj8kzziRKqAJPhpYObbElJ+3TRe/mnlnwH+/OMa3kKhueS4Drm5UMW00/u1p07zA==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" diff --git a/frontend/package.json b/frontend/package.json index 0841cbc57..16cab1b75 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -45,7 +45,7 @@ "lucide-react": "^0.453.0", "mini-svg-data-uri": "^1.4.4", "next": "15.2.4", - "next-themes": "^0.3.0", + "next-themes": "^0.4.6", "nuqs": "^2.4.1", "pocketbase": "^0.21.5", "prettier-plugin-organize-imports": "^4.1.0", @@ -53,7 +53,7 @@ "react-chartjs-2": "^5.3.0", "react-code-blocks": "^0.1.6", "react-datepicker": "^7.6.0", - "react-day-picker": "8.10.1", + "react-day-picker": "^9.7.0", "react-dom": "19.0.0", "react-icons": "^5.5.0", "react-simple-typewriter": "^5.0.1", From 5a95a745ffa1e0094a1beb6d4174d7f654de65a7 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 30 May 2025 12:52:52 +0100 Subject: [PATCH 088/274] Update CHANGELOG.md (#4849) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 759fc828e..4a6787ae5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,12 @@ All LXC instances created using this repository come pre-installed with Midnight - Alpine Traefik: Fix working directory and plugins [@tremor021](https://github.com/tremor021) ([#4838](https://github.com/community-scripts/ProxmoxVE/pull/4838)) +### 🌐 Website + + - #### 🐞 Bug Fixes + + - Update package dependencies in package.json and package-lock.json [@enough-jainil](https://github.com/enough-jainil) ([#4845](https://github.com/community-scripts/ProxmoxVE/pull/4845)) + ## 2025-05-29 ### 🚀 Updated Scripts From 131f83505c59c450d5494ec4a8cbc32dee50ba56 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 30 May 2025 14:07:17 +0200 Subject: [PATCH 089/274] Update versions.json (#4850) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 46 +++++++++++++++--------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 749bbe35d..5ca5c17e1 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,19 @@ [ + { + "name": "home-assistant/core", + "version": "2025.5.3", + "date": "2025-05-23T15:10:33Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1971", + "date": "2025-05-30T05:52:39Z" + }, + { + "name": "binwiederhier/ntfy", + "version": "v2.12.0", + "date": "2025-05-30T00:26:27Z" + }, { "name": "VictoriaMetrics/VictoriaMetrics", "version": "v1.23.2-victorialogs", @@ -19,6 +34,11 @@ "version": "v0.56.1", "date": "2025-05-29T19:09:16Z" }, + { + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" + }, { "name": "firefly-iii/firefly-iii", "version": "v6.2.16", @@ -71,23 +91,18 @@ }, { "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-05-27T19:00:14Z" + "version": "v4.1.1", + "date": "2025-05-16T17:37:30Z" }, { "name": "duplicati/duplicati", "version": "v2.1.0.119-2.1.0.119_canary_2025-05-29", "date": "2025-05-29T06:14:27Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1967", - "date": "2025-05-29T05:56:52Z" - }, { "name": "ollama/ollama", "version": "v0.9.0", - "date": "2025-05-29T02:38:52Z" + "date": "2025-05-29T05:41:01Z" }, { "name": "webmin/webmin", @@ -104,21 +119,11 @@ "version": "r6.0.24", "date": "2025-05-28T21:25:03Z" }, - { - "name": "home-assistant/core", - "version": "2025.5.3", - "date": "2025-05-23T15:10:33Z" - }, { "name": "influxdata/influxdb", "version": "v3.1.0", "date": "2025-05-28T18:48:34Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.5", - "date": "2025-05-28T06:49:43Z" - }, { "name": "jenkinsci/jenkins", "version": "jenkins-2.504.2", @@ -1214,11 +1219,6 @@ "version": "v1.0.9", "date": "2024-05-21T22:15:33Z" }, - { - "name": "binwiederhier/ntfy", - "version": "v2.11.0", - "date": "2024-05-13T20:19:54Z" - }, { "name": "pterodactyl/wings", "version": "v1.11.13", From d23aa3fda07eab2b24fed2f6bcf51f61484fecdd Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 30 May 2025 10:55:05 -0400 Subject: [PATCH 090/274] slskd: add space in sed command (#4853) --- install/slskd-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/slskd-install.sh b/install/slskd-install.sh index e2c16663e..b4b3d8b12 100644 --- a/install/slskd-install.sh +++ b/install/slskd-install.sh @@ -35,7 +35,7 @@ sed -i \ s|0.0.0.0/0,::/0|& # Replace this with your subnet|" \ -e "\|soulseek|,\|write_queue|s|^#||" \ -e "\|jwt:|,\|ttl|s|key: ~|key: $JWT_KEY|" \ - -e "s|^ picture|# picture|" \ + -e "s|^ picture|# picture|" \ /opt/${APPLICATION}/config/slskd.yml msg_ok "Setup ${APPLICATION}" From 9fcfb2fe49a1b369f29625932fc229ccf45bd118 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 30 May 2025 15:55:41 +0100 Subject: [PATCH 091/274] Update CHANGELOG.md (#4854) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a6787ae5..2040157a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - slskd: add space in sed command [@vhsdream](https://github.com/vhsdream) ([#4853](https://github.com/community-scripts/ProxmoxVE/pull/4853)) - Alpine Traefik: Fix working directory and plugins [@tremor021](https://github.com/tremor021) ([#4838](https://github.com/community-scripts/ProxmoxVE/pull/4838)) ### 🌐 Website From cb0d0bd83ebaf1b065664113becb5ea78c95fccd Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 31 May 2025 02:14:28 +0200 Subject: [PATCH 092/274] Update versions.json (#4859) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 104 ++++++++++++++--------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 5ca5c17e1..71bbe7f7a 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,54 @@ [ + { + "name": "goauthentik/authentik", + "version": "version/2025.4.1", + "date": "2025-05-15T17:48:29Z" + }, + { + "name": "pi-hole/pi-hole", + "version": "v6.1", + "date": "2025-05-30T22:07:45Z" + }, + { + "name": "moghtech/komodo", + "version": "v1.18.0", + "date": "2025-05-30T20:12:54Z" + }, + { + "name": "homarr-labs/homarr", + "version": "v1.22.0", + "date": "2025-05-30T19:17:15Z" + }, + { + "name": "msgbyte/tianji", + "version": "v1.21.2", + "date": "2025-05-30T15:17:34Z" + }, + { + "name": "element-hq/synapse", + "version": "test-pro", + "date": "2025-05-30T14:53:00Z" + }, + { + "name": "icereed/paperless-gpt", + "version": "v0.20.0", + "date": "2025-05-30T14:39:51Z" + }, + { + "name": "evcc-io/evcc", + "version": "0.204.0", + "date": "2025-05-30T14:39:02Z" + }, + { + "name": "wazuh/wazuh", + "version": "coverity-w22-4.13.0", + "date": "2025-05-26T15:04:48Z" + }, + { + "name": "nzbgetcom/nzbget", + "version": "v25.0", + "date": "2025-05-12T09:12:04Z" + }, { "name": "home-assistant/core", "version": "2025.5.3", @@ -79,11 +129,6 @@ "version": "0.19.2", "date": "2025-05-29T14:39:17Z" }, - { - "name": "nzbgetcom/nzbget", - "version": "v25.0", - "date": "2025-05-12T09:12:04Z" - }, { "name": "zwave-js/zwave-js-ui", "version": "v10.6.1", @@ -91,8 +136,8 @@ }, { "name": "runtipi/runtipi", - "version": "v4.1.1", - "date": "2025-05-16T17:37:30Z" + "version": "nightly", + "date": "2025-05-29T13:02:30Z" }, { "name": "duplicati/duplicati", @@ -134,11 +179,6 @@ "version": "2.35.0", "date": "2025-05-28T12:41:09Z" }, - { - "name": "element-hq/synapse", - "version": "v1.130.0", - "date": "2025-05-20T15:33:54Z" - }, { "name": "pocket-id/pocket-id", "version": "v1.1.0", @@ -229,11 +269,6 @@ "version": "4.8.11.0", "date": "2025-03-10T06:39:11Z" }, - { - "name": "wazuh/wazuh", - "version": "coverity-w22-4.13.0", - "date": "2025-05-26T15:04:48Z" - }, { "name": "jupyter/notebook", "version": "v7.4.3", @@ -264,11 +299,6 @@ "version": "v1.13.0", "date": "2025-05-25T20:21:13Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.21.0", - "date": "2025-05-25T16:41:43Z" - }, { "name": "Prowlarr/Prowlarr", "version": "v1.36.3.5071", @@ -314,11 +344,6 @@ "version": "v6.7.1", "date": "2025-05-24T04:51:02Z" }, - { - "name": "homarr-labs/homarr", - "version": "v1.21.0", - "date": "2025-05-23T19:17:15Z" - }, { "name": "docker/compose", "version": "v2.36.2", @@ -399,11 +424,6 @@ "version": "v4.1.0", "date": "2025-05-21T04:12:44Z" }, - { - "name": "icereed/paperless-gpt", - "version": "v0.19.0", - "date": "2025-05-21T03:46:14Z" - }, { "name": "matze/wastebin", "version": "3.1.0", @@ -479,11 +499,6 @@ "version": "v1.1.1", "date": "2025-05-17T10:10:36Z" }, - { - "name": "evcc-io/evcc", - "version": "0.203.6", - "date": "2025-05-17T07:30:49Z" - }, { "name": "prometheus/prometheus", "version": "v0.304.0", @@ -519,11 +534,6 @@ "version": "v4.100.2", "date": "2025-05-15T23:02:46Z" }, - { - "name": "goauthentik/authentik", - "version": "version/2025.4.1", - "date": "2025-05-15T17:48:29Z" - }, { "name": "cloudflare/cloudflared", "version": "2025.5.0", @@ -669,11 +679,6 @@ "version": "3.5.0", "date": "2025-05-05T16:28:24Z" }, - { - "name": "moghtech/komodo", - "version": "v1.17.5", - "date": "2025-05-04T22:17:06Z" - }, { "name": "Readarr/Readarr", "version": "v2.0.0.4645", @@ -909,11 +914,6 @@ "version": "1.5.0", "date": "2025-03-30T17:42:59Z" }, - { - "name": "pi-hole/pi-hole", - "version": "v6.0.6", - "date": "2025-03-30T16:59:06Z" - }, { "name": "aceberg/WatchYourLAN", "version": "2.1.2-alpine", From d925ae0f045ecf17b920c4eadeb4dc589d53f8e2 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 31 May 2025 01:15:09 +0100 Subject: [PATCH 093/274] Update CHANGELOG.md (#4860) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2040157a6..ea9b624a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-05-31 + ## 2025-05-30 ### 🚀 Updated Scripts From 18a9c524ae41dace575b4a51ac67fd4a1ad1608c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 31 May 2025 14:07:11 +0200 Subject: [PATCH 094/274] Update versions.json (#4865) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 44 +++++++++++++++--------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 71bbe7f7a..9fdb46e79 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,14 @@ [ + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.16", + "date": "2025-05-27T16:27:42Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1974", + "date": "2025-05-31T05:50:58Z" + }, { "name": "goauthentik/authentik", "version": "version/2025.4.1", @@ -19,6 +29,11 @@ "version": "v1.22.0", "date": "2025-05-30T19:17:15Z" }, + { + "name": "emqx/emqx", + "version": "e5.10.0-beta.1", + "date": "2025-05-30T16:49:17Z" + }, { "name": "msgbyte/tianji", "version": "v1.21.2", @@ -44,6 +59,11 @@ "version": "coverity-w22-4.13.0", "date": "2025-05-26T15:04:48Z" }, + { + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" + }, { "name": "nzbgetcom/nzbget", "version": "v25.0", @@ -54,11 +74,6 @@ "version": "2025.5.3", "date": "2025-05-23T15:10:33Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1971", - "date": "2025-05-30T05:52:39Z" - }, { "name": "binwiederhier/ntfy", "version": "v2.12.0", @@ -84,16 +99,6 @@ "version": "v0.56.1", "date": "2025-05-29T19:09:16Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.5", - "date": "2025-05-28T06:49:43Z" - }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.16", - "date": "2025-05-27T16:27:42Z" - }, { "name": "tailscale/tailscale", "version": "v1.84.1", @@ -136,8 +141,8 @@ }, { "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-05-29T13:02:30Z" + "version": "v4.1.1", + "date": "2025-05-16T17:37:30Z" }, { "name": "duplicati/duplicati", @@ -519,11 +524,6 @@ "version": "2.0.4", "date": "2025-05-16T15:09:53Z" }, - { - "name": "emqx/emqx", - "version": "e5.10.0-alpha.1", - "date": "2025-05-16T13:30:53Z" - }, { "name": "gotson/komga", "version": "1.21.3", From 92227fb9bf408f68a2ed223a81ed52520694a65f Mon Sep 17 00:00:00 2001 From: Bram Suurd <78373894+BramSuurdje@users.noreply.github.com> Date: Sat, 31 May 2025 19:33:01 +0200 Subject: [PATCH 095/274] Revert "Update package dependencies in package.json and package-lock.json (#4845)" (#4869) This reverts commit 809bc6c3022b6b826fc50079d95a836bf27dc792. --- frontend/package-lock.json | 4585 ++++++++++++++++-------------------- frontend/package.json | 4 +- 2 files changed, 2067 insertions(+), 2522 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 1f309c615..2965849b6 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -34,7 +34,7 @@ "lucide-react": "^0.453.0", "mini-svg-data-uri": "^1.4.4", "next": "15.2.4", - "next-themes": "^0.4.6", + "next-themes": "^0.3.0", "nuqs": "^2.4.1", "pocketbase": "^0.21.5", "prettier-plugin-organize-imports": "^4.1.0", @@ -42,7 +42,7 @@ "react-chartjs-2": "^5.3.0", "react-code-blocks": "^0.1.6", "react-datepicker": "^7.6.0", - "react-day-picker": "^9.7.0", + "react-day-picker": "8.10.1", "react-dom": "19.0.0", "react-icons": "^5.5.0", "react-simple-typewriter": "^5.0.1", @@ -103,46 +103,25 @@ "node": ">=6.0.0" } }, - "node_modules/@asamuzakjp/css-color": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", - "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@csstools/css-calc": "^2.1.3", - "@csstools/css-color-parser": "^3.0.9", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "lru-cache": "^10.4.3" - } - }, - "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", + "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.3.tgz", - "integrity": "sha512-V42wFfx1ymFte+ecf6iXghnnP8kWTO+ZLXIyZq+1LAXHHvTZdVxicn4yiVYdYMGaCO3tmqub11AorKkv+iodqw==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", "dev": true, "license": "MIT", "engines": { @@ -150,22 +129,22 @@ } }, "node_modules/@babel/core": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.3.tgz", - "integrity": "sha512-hyrN8ivxfvJ4i0fIJuV4EOlV0WDMz5Ui4StRTgVaAvWeiRCilXgwVvxJKtFQ3TKtHgJscB2YiXKGNJuVwhQMtA==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.3", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.27.3", - "@babel/helpers": "^7.27.3", - "@babel/parser": "^7.27.3", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.27.3", - "@babel/types": "^7.27.3", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -180,6 +159,19 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -191,14 +183,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.3.tgz", - "integrity": "sha512-xnlJYj5zepml8NXtjkG0WquFUv8RskFqyFcVgTBp5k+NaA/8uw/K+OSVf8AMGw5e9HKP2ETd5xpK5MLZQD6b4Q==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.27.3", - "@babel/types": "^7.27.3", + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -208,14 +200,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.2", - "@babel/helper-validator-option": "^7.27.1", + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -224,6 +216,16 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -235,29 +237,29 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", - "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.27.3" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -267,9 +269,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", "dev": true, "license": "MIT", "engines": { @@ -277,9 +279,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "dev": true, "license": "MIT", "engines": { @@ -287,9 +289,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, "license": "MIT", "engines": { @@ -297,9 +299,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "dev": true, "license": "MIT", "engines": { @@ -307,27 +309,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.3.tgz", - "integrity": "sha512-h/eKy9agOya1IGuLaZ9tEUgz+uIRXcbtOhRtUyyMf8JFmn1iT13vnl/IGVWSkdOCG/pC57U4S1jnAabAavTMwg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", + "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.27.3" + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.3.tgz", - "integrity": "sha512-xyYxRj6+tLNDTWi0KCBcZ9V7yg3/lwL9DWh9Uwh/RIVlIfFidggcgxKX3GCXwCiswwcGRawBKbEg2LG/Y8eJhw==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", + "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.27.3" + "@babel/types": "^7.27.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -337,13 +339,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", - "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -353,13 +355,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", - "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -369,41 +371,44 @@ } }, "node_modules/@babel/runtime": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.3.tgz", - "integrity": "sha512-7EYtGezsdiDMyY80+65EzwiGmcJqpmcZCojSXaRgdrBaGtWTgDZKq69cPIVped6MkIM78cTQ2GOiEYjwOlG4xw==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz", + "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", + "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.3.tgz", - "integrity": "sha512-lId/IfN/Ye1CIu8xG7oKBHXd2iNb2aW1ilPszzGcJug6M8RCKfVNcYhpI5+bMvFYjK7lXIM0R+a+6r8xhHp2FQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.3", - "@babel/parser": "^7.27.3", - "@babel/template": "^7.27.2", - "@babel/types": "^7.27.3", + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -411,168 +416,34 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/types": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.3.tgz", - "integrity": "sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@csstools/color-helpers": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz", - "integrity": "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - } - }, - "node_modules/@csstools/css-calc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", - "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@csstools/css-color-parser": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz", - "integrity": "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/color-helpers": "^5.0.2", - "@csstools/css-calc": "^2.1.4" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", - "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@csstools/css-tokenizer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", - "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/@date-fns/tz": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@date-fns/tz/-/tz-1.2.0.tgz", - "integrity": "sha512-LBrd7MiJZ9McsOgxqWX7AaxrDjcFVjWH/tIKJd7pnR7McaslGYOP1QmmiBXdJH/H/yLCT+rcQ7FaPBUxRGUtrg==", - "license": "MIT" - }, - "node_modules/@emnapi/core": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.3.tgz", - "integrity": "sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.0.2", - "tslib": "^2.4.0" - } - }, "node_modules/@emnapi/runtime": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz", - "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.2.tgz", - "integrity": "sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==", - "dev": true, + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", + "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", "license": "MIT", "optional": true, "dependencies": { @@ -601,9 +472,9 @@ "license": "MIT" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", - "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", + "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", "cpu": [ "ppc64" ], @@ -618,9 +489,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", - "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", + "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", "cpu": [ "arm" ], @@ -635,9 +506,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", - "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", + "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", "cpu": [ "arm64" ], @@ -652,9 +523,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", - "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", + "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", "cpu": [ "x64" ], @@ -669,9 +540,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", - "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", + "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", "cpu": [ "arm64" ], @@ -686,9 +557,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz", - "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", + "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", "cpu": [ "x64" ], @@ -703,9 +574,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz", - "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", + "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", "cpu": [ "arm64" ], @@ -720,9 +591,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz", - "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", + "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", "cpu": [ "x64" ], @@ -737,9 +608,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz", - "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", + "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", "cpu": [ "arm" ], @@ -754,9 +625,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz", - "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", + "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", "cpu": [ "arm64" ], @@ -771,9 +642,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz", - "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", + "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", "cpu": [ "ia32" ], @@ -788,9 +659,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz", - "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", + "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", "cpu": [ "loong64" ], @@ -805,9 +676,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz", - "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", + "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", "cpu": [ "mips64el" ], @@ -822,9 +693,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz", - "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", + "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", "cpu": [ "ppc64" ], @@ -839,9 +710,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz", - "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", + "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", "cpu": [ "riscv64" ], @@ -856,9 +727,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz", - "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", + "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", "cpu": [ "s390x" ], @@ -873,9 +744,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", - "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", + "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", "cpu": [ "x64" ], @@ -890,9 +761,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz", - "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", + "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", "cpu": [ "arm64" ], @@ -907,9 +778,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz", - "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", + "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", "cpu": [ "x64" ], @@ -924,9 +795,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz", - "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", + "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", "cpu": [ "arm64" ], @@ -941,9 +812,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz", - "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", + "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", "cpu": [ "x64" ], @@ -958,9 +829,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz", - "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", + "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", "cpu": [ "x64" ], @@ -975,9 +846,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz", - "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", + "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", "cpu": [ "arm64" ], @@ -992,9 +863,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz", - "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", + "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", "cpu": [ "ia32" ], @@ -1009,9 +880,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", - "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", + "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", "cpu": [ "x64" ], @@ -1026,9 +897,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", - "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", "dev": true, "license": "MIT", "dependencies": { @@ -1055,9 +926,9 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", - "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", + "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1094,9 +965,9 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.2.tgz", - "integrity": "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.0.tgz", + "integrity": "sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1104,9 +975,9 @@ } }, "node_modules/@eslint/core": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", - "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", + "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1151,29 +1022,6 @@ "concat-map": "0.0.1" } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -1188,16 +1036,13 @@ } }, "node_modules/@eslint/js": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.27.0.tgz", - "integrity": "sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==", + "version": "9.23.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.23.0.tgz", + "integrity": "sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==", "dev": true, "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" } }, "node_modules/@eslint/object-schema": { @@ -1211,13 +1056,13 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.1.tgz", - "integrity": "sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==", + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz", + "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.14.0", + "@eslint/core": "^0.12.0", "levn": "^0.4.1" }, "engines": { @@ -1225,37 +1070,22 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.0.tgz", - "integrity": "sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.8.tgz", + "integrity": "sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==", "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.9" + "@floating-ui/utils": "^0.2.8" } }, "node_modules/@floating-ui/dom": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.0.tgz", - "integrity": "sha512-lGTor4VlXcesUMh1cupTUTDoCxMb0V6bm3CnxHzQcw8Eaf1jQbgQX4i02fYgT0vJ82tb5MZ4CZk1LRGkktJCzg==", + "version": "1.6.12", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.12.tgz", + "integrity": "sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==", "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.7.0", - "@floating-ui/utils": "^0.2.9" - } - }, - "node_modules/@floating-ui/react": { - "version": "0.27.9", - "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.9.tgz", - "integrity": "sha512-Y0aCJBNtfVF6ikI1kVzA0WzSAhVBz79vFWOhvb5MLCRNODZ1ylGSLTuncchR7JsLyn9QzV6JD44DyZhhOtvpRw==", - "license": "MIT", - "dependencies": { - "@floating-ui/react-dom": "^2.1.2", - "@floating-ui/utils": "^0.2.9", - "tabbable": "^6.0.0" - }, - "peerDependencies": { - "react": ">=17.0.0", - "react-dom": ">=17.0.0" + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.8" } }, "node_modules/@floating-ui/react-dom": { @@ -1301,20 +1131,6 @@ "node": ">=18.18.0" } }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -1330,9 +1146,9 @@ } }, "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1723,9 +1539,9 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "license": "MIT", "dependencies": { @@ -1781,19 +1597,6 @@ "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", "license": "MIT" }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.10.tgz", - "integrity": "sha512-bCsCyeZEwVErsGmyPNSzwfwFn4OdxBj0mmv6hOFucB/k81Ojdu68RbZdxYsRQUPc9l6SU5F/cG+bXgWs3oUgsQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.9.0" - } - }, "node_modules/@next/env": { "version": "15.2.4", "resolved": "https://registry.npmjs.org/@next/env/-/env-15.2.4.tgz", @@ -2028,32 +1831,32 @@ } }, "node_modules/@radix-ui/number": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.1.tgz", - "integrity": "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.0.tgz", + "integrity": "sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==", "license": "MIT" }, "node_modules/@radix-ui/primitive": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.2.tgz", - "integrity": "sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.1.tgz", + "integrity": "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==", "license": "MIT" }, "node_modules/@radix-ui/react-accordion": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.11.tgz", - "integrity": "sha512-l3W5D54emV2ues7jjeG1xcyN7S3jnK3zE2zHqgn0CmMsy9lNJwmgcrmaxS+7ipw15FAivzKNzH3d5EcGoFKw0A==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.3.tgz", + "integrity": "sha512-RIQ15mrcvqIkDARJeERSuXSry2N8uYnxkdDetpfmalT/+0ntOXLkFOsh9iwlAsCv+qcmhZjbdJogIm6WBa6c4A==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.2", - "@radix-ui/react-collapsible": "1.1.11", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2" + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collapsible": "1.1.3", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { "@types/react": "*", @@ -2071,12 +1874,12 @@ } }, "node_modules/@radix-ui/react-arrow": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz", - "integrity": "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.2.tgz", + "integrity": "sha512-G+KcpzXHq24iH0uGG/pF8LyzpFJYGD4RfLjCIBfGdSLXvjLHST31RUiRVrupIBMvIppMgSzQ6l66iAxl03tdlg==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.1.3" + "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", @@ -2094,19 +1897,19 @@ } }, "node_modules/@radix-ui/react-collapsible": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.11.tgz", - "integrity": "sha512-2qrRsVGSCYasSz1RFOorXwl0H7g7J1frQtgpQgYrt+MOidtPAINHn9CPovQXb83r8ahapdx3Tu0fa/pdFFSdPg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.3.tgz", + "integrity": "sha512-jFSerheto1X03MUC0g6R7LedNW9EEGWdg9W1+MlpkMLwGkgkbUXLPBH/KIuWKXUoeYRVY11llqbTBDzuLg7qrw==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.2", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-presence": "1.1.4", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-use-layout-effect": "1.1.1" + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", @@ -2124,15 +1927,15 @@ } }, "node_modules/@radix-ui/react-collection": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz", - "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.2.tgz", + "integrity": "sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3" + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2" }, "peerDependencies": { "@types/react": "*", @@ -2150,9 +1953,9 @@ } }, "node_modules/@radix-ui/react-compose-refs": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", - "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz", + "integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -2165,9 +1968,9 @@ } }, "node_modules/@radix-ui/react-context": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", - "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.1.tgz", + "integrity": "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -2180,23 +1983,23 @@ } }, "node_modules/@radix-ui/react-dialog": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.14.tgz", - "integrity": "sha512-+CpweKjqpzTmwRwcYECQcNYbI8V9VSQt0SNFKeEBLgfucbsLssU6Ppq7wUdNXEGb573bMjFhVjKVll8rmV6zMw==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.6.tgz", + "integrity": "sha512-/IVhJV5AceX620DUJ4uYVMymzsipdKBzo3edo+omeskCKGm9FRHM0ebIdbPnlQVJqyuHbuBltQUOG2mOTq2IYw==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.2", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-dismissable-layer": "1.1.10", - "@radix-ui/react-focus-guards": "1.1.2", - "@radix-ui/react-focus-scope": "1.1.7", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-presence": "1.1.4", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.2", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-controllable-state": "1.1.0", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, @@ -2216,9 +2019,9 @@ } }, "node_modules/@radix-ui/react-direction": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", - "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.0.tgz", + "integrity": "sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -2231,16 +2034,16 @@ } }, "node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.10.tgz", - "integrity": "sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.5.tgz", + "integrity": "sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.2", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-escape-keydown": "1.1.1" + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-escape-keydown": "1.1.0" }, "peerDependencies": { "@types/react": "*", @@ -2258,18 +2061,18 @@ } }, "node_modules/@radix-ui/react-dropdown-menu": { - "version": "2.1.15", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.15.tgz", - "integrity": "sha512-mIBnOjgwo9AH3FyKaSWoSu/dYj6VdhJ7frEPiGTeXCdUFHjl9h3mFh2wwhEtINOmYXWhdpf1rY2minFsmaNgVQ==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.6.tgz", + "integrity": "sha512-no3X7V5fD487wab/ZYSHXq3H37u4NVeLDKI/Ks724X/eEFSSEFYZxWgsIlr1UBeEyDaM29HM5x9p1Nv8DuTYPA==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.2", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-menu": "2.1.15", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2" + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-menu": "2.1.6", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { "@types/react": "*", @@ -2287,9 +2090,9 @@ } }, "node_modules/@radix-ui/react-focus-guards": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.2.tgz", - "integrity": "sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.1.tgz", + "integrity": "sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -2302,14 +2105,14 @@ } }, "node_modules/@radix-ui/react-focus-scope": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", - "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.2.tgz", + "integrity": "sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1" + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", @@ -2336,12 +2139,12 @@ } }, "node_modules/@radix-ui/react-id": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", - "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz", + "integrity": "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==", "license": "MIT", "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.1" + "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", @@ -2354,12 +2157,12 @@ } }, "node_modules/@radix-ui/react-label": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.7.tgz", - "integrity": "sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.2.tgz", + "integrity": "sha512-zo1uGMTaNlHehDyFQcDZXRJhUPDuukcnHz0/jnrup0JA6qL+AFpAnty+7VKa9esuU5xTblAZzTGYJKSKaBxBhw==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.1.3" + "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", @@ -2377,27 +2180,27 @@ } }, "node_modules/@radix-ui/react-menu": { - "version": "2.1.15", - "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.15.tgz", - "integrity": "sha512-tVlmA3Vb9n8SZSd+YSbuFR66l87Wiy4du+YE+0hzKQEANA+7cWKH1WgqcEX4pXqxUFQKrWQGHdvEfw00TjFiew==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.6.tgz", + "integrity": "sha512-tBBb5CXDJW3t2mo9WlO7r6GTmWV0F0uzHZVFmlRmYpiSK1CDU5IKojP1pm7oknpBOrFZx/YgBRW9oorPO2S/Lg==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.2", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.10", - "@radix-ui/react-focus-guards": "1.1.2", - "@radix-ui/react-focus-scope": "1.1.7", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-popper": "1.2.7", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-presence": "1.1.4", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-roving-focus": "1.1.10", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.2", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-roving-focus": "1.1.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-callback-ref": "1.1.0", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, @@ -2417,25 +2220,25 @@ } }, "node_modules/@radix-ui/react-navigation-menu": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.13.tgz", - "integrity": "sha512-WG8wWfDiJlSF5hELjwfjSGOXcBR/ZMhBFCGYe8vERpC39CQYZeq1PQ2kaYHdye3V95d06H89KGMsVCIE4LWo3g==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.5.tgz", + "integrity": "sha512-myMHHQUZ3ZLTi8W381/Vu43Ia0NqakkQZ2vzynMmTUtQQ9kNkjzhOwkZC9TAM5R07OZUVIQyHC06f/9JZJpvvA==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.2", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.10", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-presence": "1.1.4", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-use-layout-effect": "1.1.1", - "@radix-ui/react-use-previous": "1.1.1", - "@radix-ui/react-visually-hidden": "1.2.3" + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0", + "@radix-ui/react-use-previous": "1.1.0", + "@radix-ui/react-visually-hidden": "1.1.2" }, "peerDependencies": { "@types/react": "*", @@ -2453,24 +2256,24 @@ } }, "node_modules/@radix-ui/react-popover": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.14.tgz", - "integrity": "sha512-ODz16+1iIbGUfFEfKx2HTPKizg2MN39uIOV8MXeHnmdd3i/N9Wt7vU46wbHsqA0xoaQyXVcs0KIlBdOA2Y95bw==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.6.tgz", + "integrity": "sha512-NQouW0x4/GnkFJ/pRqsIS3rM/k97VzKnVb2jB7Gq7VEGPy5g7uNV1ykySFt7eWSp3i2uSGFwaJcvIRJBAHmmFg==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.2", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-dismissable-layer": "1.1.10", - "@radix-ui/react-focus-guards": "1.1.2", - "@radix-ui/react-focus-scope": "1.1.7", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-popper": "1.2.7", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-presence": "1.1.4", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.2", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-controllable-state": "1.1.0", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, @@ -2490,16 +2293,431 @@ } }, "node_modules/@radix-ui/react-popper": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.7.tgz", - "integrity": "sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.2.tgz", + "integrity": "sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA==", "license": "MIT", "dependencies": { "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.1.7", + "@radix-ui/react-arrow": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0", + "@radix-ui/react-use-rect": "1.1.0", + "@radix-ui/react-use-size": "1.1.0", + "@radix-ui/rect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.4.tgz", + "integrity": "sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.2.tgz", + "integrity": "sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.2.tgz", + "integrity": "sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.2.tgz", + "integrity": "sha512-zgMQWkNO169GtGqRvYrzb0Zf8NhMHS2DuEB/TiEmVnpr5OqPU3i8lfbxaAmC2J/KYuIQxyoQQ6DxepyXp61/xw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-controllable-state": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.1.6.tgz", + "integrity": "sha512-T6ajELxRvTuAMWH0YmRJ1qez+x4/7Nq7QIx7zJ0VK3qaEWdnWpNbEDnmWldG1zBDwqrLy5aLMUWcoGirVj5kMg==", + "license": "MIT", + "dependencies": { + "@radix-ui/number": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.2", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0", + "@radix-ui/react-use-previous": "1.1.0", + "@radix-ui/react-visually-hidden": "1.1.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.2.tgz", + "integrity": "sha512-oZfHcaAp2Y6KFBX6I5P1u7CQoy4lheCGiYj+pGFrHy8E/VNRb5E39TkTr3JrV520csPBTZjkuKFdEsjS5EUNKQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz", + "integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-switch": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.1.3.tgz", + "integrity": "sha512-1nc+vjEOQkJVsJtWPSiISGT6OKm4SiOdjMo+/icLxo2G4vxz1GntC5MzfL4v8ey9OEfw787QCD1y3mUv0NiFEQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-previous": "1.1.0", + "@radix-ui/react-use-size": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tabs": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.3.tgz", + "integrity": "sha512-9mFyI30cuRDImbmFF6O2KUJdgEOsGh9Vmx9x/Dh9tOhL7BngmQPQfwW4aejKm5OHpfWIdmeV6ySyuxoOGjtNng==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-roving-focus": "1.1.2", + "@radix-ui/react-use-controllable-state": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.2.0.tgz", + "integrity": "sha512-b1Sdc75s7zN9B8ONQTGBSHL3XS8+IcjcOIY51fhM4R1Hx8s0YbgqgyNZiri4qcYMVZK8hfCZVBiyCm7N9rs0rw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.2", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-dismissable-layer": "1.1.6", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.3", + "@radix-ui/react-portal": "1.1.5", + "@radix-ui/react-presence": "1.1.3", + "@radix-ui/react-primitive": "2.0.3", + "@radix-ui/react-slot": "1.2.0", + "@radix-ui/react-use-controllable-state": "1.1.1", + "@radix-ui/react-visually-hidden": "1.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/primitive": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.2.tgz", + "integrity": "sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==", + "license": "MIT" + }, + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-arrow": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.3.tgz", + "integrity": "sha512-2dvVU4jva0qkNZH6HHWuSz5FN5GeU5tymvCgutF8WaXz9WnD1NgUhy73cqzkjkN4Zkn8lfTPv5JIfrC221W+Nw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.6.tgz", + "integrity": "sha512-7gpgMT2gyKym9Jz2ZhlRXSg2y6cNQIK8d/cqBZ0RBCaps8pFryCWXiUKI+uHGFrhMrbGUP7U6PWgiXzIxoyF3Q==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.0.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-escape-keydown": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-id": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", + "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-popper": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.3.tgz", + "integrity": "sha512-iNb9LYUMkne9zIahukgQmHlSBp9XWGeQQ7FvUGNk45ywzOb6kQa+Ca38OphXlWDiKvyneo9S+KSJsLfLt8812A==", + "license": "MIT", + "dependencies": { + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.0.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-rect": "1.1.1", @@ -2521,13 +2739,13 @@ } } }, - "node_modules/@radix-ui/react-portal": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", - "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.5.tgz", + "integrity": "sha512-ps/67ZqsFm+Mb6lSPJpfhRLrVL2i2fntgCmGMqqth4eaGUf+knAuuRtWVJrNjUhExgmdRqftSgzpf0DF0n6yXA==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-primitive": "2.0.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { @@ -2545,10 +2763,10 @@ } } }, - "node_modules/@radix-ui/react-presence": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.4.tgz", - "integrity": "sha512-ueDqRbdc4/bkaQT3GIpLQssRlFgWaL/U2z/S31qRwwLWoxHLgry3SIfCwhxeQNbirEUXFa+lq3RL3oBYXtcmIA==", + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-presence": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.3.tgz", + "integrity": "sha512-IrVLIhskYhH3nLvtcBLQFZr61tBG7wx7O3kEmdzcYwRGAEBmBicGGL7ATzNgruYJ3xBTbuzEEq9OXJM3PAX3tA==", "license": "MIT", "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", @@ -2569,13 +2787,13 @@ } } }, - "node_modules/@radix-ui/react-primitive": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", - "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.3.tgz", + "integrity": "sha512-Pf/t/GkndH7CQ8wE2hbkXA+WyZ83fhQQn5DDmwDiDo6AwN/fhaH8oqZ0jRjMrO2iaMhDi6P1HRx6AZwyMinY1g==", "license": "MIT", "dependencies": { - "@radix-ui/react-slot": "1.2.3" + "@radix-ui/react-slot": "1.2.0" }, "peerDependencies": { "@types/react": "*", @@ -2592,107 +2810,10 @@ } } }, - "node_modules/@radix-ui/react-roving-focus": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.10.tgz", - "integrity": "sha512-dT9aOXUen9JSsxnMPv/0VqySQf5eDQ6LCk5Sw28kamz8wSOW2bJdlX2Bg5VUIIcV+6XlHpWTIuTPCf/UNIyq8Q==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.2", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-select": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.2.5.tgz", - "integrity": "sha512-HnMTdXEVuuyzx63ME0ut4+sEMYW6oouHWNGUZc7ddvUWIcfCva/AMoqEW/3wnEllriMWBa0RHspCYnfCWJQYmA==", - "license": "MIT", - "dependencies": { - "@radix-ui/number": "1.1.1", - "@radix-ui/primitive": "1.1.2", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.10", - "@radix-ui/react-focus-guards": "1.1.2", - "@radix-ui/react-focus-scope": "1.1.7", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-popper": "1.2.7", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-use-layout-effect": "1.1.1", - "@radix-ui/react-use-previous": "1.1.1", - "@radix-ui/react-visually-hidden": "1.2.3", - "aria-hidden": "^1.2.4", - "react-remove-scroll": "^2.6.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-separator": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.7.tgz", - "integrity": "sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-primitive": "2.1.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-slot": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", - "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.0.tgz", + "integrity": "sha512-ujc+V6r0HNDviYqIK3rW4ffgYiZ8g5DEHrGJVk4x7kTlLXRDILnKX9vAUYeIsLOoDpDJ0ujpqMkjH4w2ofuo6w==", "license": "MIT", "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" @@ -2707,100 +2828,7 @@ } } }, - "node_modules/@radix-ui/react-switch": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.2.5.tgz", - "integrity": "sha512-5ijLkak6ZMylXsaImpZ8u4Rlf5grRmoc0p0QeX9VJtlrM4f5m3nCTX8tWga/zOA8PZYIR/t0p2Mnvd7InrJ6yQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.2", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-use-previous": "1.1.1", - "@radix-ui/react-use-size": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tabs": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.12.tgz", - "integrity": "sha512-GTVAlRVrQrSw3cEARM0nAx73ixrWDPNZAruETn3oHCNP6SbZ/hNxdxp+u7VkIEv3/sFoLq1PfcHrl7Pnp0CDpw==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-presence": "1.1.4", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-roving-focus": "1.1.10", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tooltip": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.2.7.tgz", - "integrity": "sha512-Ap+fNYwKTYJ9pzqW+Xe2HtMRbQ/EeWkj2qykZ6SuEV4iS/o1bZI5ssJbk4D2r8XuDuOBVz/tIx2JObtuqU+5Zw==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.2", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-dismissable-layer": "1.1.10", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-popper": "1.2.7", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-presence": "1.1.4", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-visually-hidden": "1.2.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-callback-ref": { + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-callback-ref": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", @@ -2815,14 +2843,13 @@ } } }, - "node_modules/@radix-ui/react-use-controllable-state": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", - "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.1.tgz", + "integrity": "sha512-YnEXIy8/ga01Y1PN0VfaNH//MhA91JlEGVBDxDzROqwrAtG5Yr2QGEPz8A/rJA3C7ZAHryOYGaUv8fLSW2H/mg==", "license": "MIT", "dependencies": { - "@radix-ui/react-use-effect-event": "0.0.2", - "@radix-ui/react-use-layout-effect": "1.1.1" + "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", @@ -2834,25 +2861,7 @@ } } }, - "node_modules/@radix-ui/react-use-effect-event": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", - "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-escape-keydown": { + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-escape-keydown": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", @@ -2870,7 +2879,7 @@ } } }, - "node_modules/@radix-ui/react-use-layout-effect": { + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-layout-effect": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", @@ -2885,22 +2894,7 @@ } } }, - "node_modules/@radix-ui/react-use-previous": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz", - "integrity": "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-rect": { + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-rect": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz", "integrity": "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==", @@ -2918,7 +2912,7 @@ } } }, - "node_modules/@radix-ui/react-use-size": { + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-size": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz", "integrity": "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==", @@ -2936,13 +2930,159 @@ } } }, - "node_modules/@radix-ui/react-visually-hidden": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz", - "integrity": "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==", + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-visually-hidden": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.3.tgz", + "integrity": "sha512-oXSF3ZQRd5fvomd9hmUCb2EHSZbPp3ZSHAHJJU/DlF9XoFkJBBW8RHU/E8WEH+RbSfJd/QFA0sl8ClJXknBwHQ==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.1.3" + "@radix-ui/react-primitive": "2.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/rect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz", + "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==", + "license": "MIT" + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz", + "integrity": "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz", + "integrity": "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz", + "integrity": "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz", + "integrity": "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.0.tgz", + "integrity": "sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.0.tgz", + "integrity": "sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/rect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.0.tgz", + "integrity": "sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.2.tgz", + "integrity": "sha512-1SzA4ns2M1aRlvxErqhLHsBHoS5eI5UUcI2awAMgGUp4LoaoWOKYmvqDY2s/tltuPkh3Yk77YF/r3IRj+Amx4Q==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", @@ -2960,22 +3100,15 @@ } }, "node_modules/@radix-ui/rect": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz", - "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==", - "license": "MIT" - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.9", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.9.tgz", - "integrity": "sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==", - "dev": true, + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.0.tgz", + "integrity": "sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==", "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.1.tgz", - "integrity": "sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.38.0.tgz", + "integrity": "sha512-ldomqc4/jDZu/xpYU+aRxo3V4mGCV9HeTgUBANI3oIQMOL+SsxB+S2lxMpkFp5UamSS3XuTMQVbsS24R4J4Qjg==", "cpu": [ "arm" ], @@ -2987,9 +3120,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.1.tgz", - "integrity": "sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.38.0.tgz", + "integrity": "sha512-VUsgcy4GhhT7rokwzYQP+aV9XnSLkkhlEJ0St8pbasuWO/vwphhZQxYEKUP3ayeCYLhk6gEtacRpYP/cj3GjyQ==", "cpu": [ "arm64" ], @@ -3001,9 +3134,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.1.tgz", - "integrity": "sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.38.0.tgz", + "integrity": "sha512-buA17AYXlW9Rn091sWMq1xGUvWQFOH4N1rqUxGJtEQzhChxWjldGCCup7r/wUnaI6Au8sKXpoh0xg58a7cgcpg==", "cpu": [ "arm64" ], @@ -3015,9 +3148,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.1.tgz", - "integrity": "sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.38.0.tgz", + "integrity": "sha512-Mgcmc78AjunP1SKXl624vVBOF2bzwNWFPMP4fpOu05vS0amnLcX8gHIge7q/lDAHy3T2HeR0TqrriZDQS2Woeg==", "cpu": [ "x64" ], @@ -3029,9 +3162,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.1.tgz", - "integrity": "sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.38.0.tgz", + "integrity": "sha512-zzJACgjLbQTsscxWqvrEQAEh28hqhebpRz5q/uUd1T7VTwUNZ4VIXQt5hE7ncs0GrF+s7d3S4on4TiXUY8KoQA==", "cpu": [ "arm64" ], @@ -3043,9 +3176,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.1.tgz", - "integrity": "sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.38.0.tgz", + "integrity": "sha512-hCY/KAeYMCyDpEE4pTETam0XZS4/5GXzlLgpi5f0IaPExw9kuB+PDTOTLuPtM10TlRG0U9OSmXJ+Wq9J39LvAg==", "cpu": [ "x64" ], @@ -3057,9 +3190,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.1.tgz", - "integrity": "sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.38.0.tgz", + "integrity": "sha512-mimPH43mHl4JdOTD7bUMFhBdrg6f9HzMTOEnzRmXbOZqjijCw8LA5z8uL6LCjxSa67H2xiLFvvO67PT05PRKGg==", "cpu": [ "arm" ], @@ -3071,9 +3204,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.1.tgz", - "integrity": "sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.38.0.tgz", + "integrity": "sha512-tPiJtiOoNuIH8XGG8sWoMMkAMm98PUwlriOFCCbZGc9WCax+GLeVRhmaxjJtz6WxrPKACgrwoZ5ia/uapq3ZVg==", "cpu": [ "arm" ], @@ -3085,9 +3218,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.1.tgz", - "integrity": "sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.38.0.tgz", + "integrity": "sha512-wZco59rIVuB0tjQS0CSHTTUcEde+pXQWugZVxWaQFdQQ1VYub/sTrNdY76D1MKdN2NB48JDuGABP6o6fqos8mA==", "cpu": [ "arm64" ], @@ -3099,9 +3232,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.1.tgz", - "integrity": "sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.38.0.tgz", + "integrity": "sha512-fQgqwKmW0REM4LomQ+87PP8w8xvU9LZfeLBKybeli+0yHT7VKILINzFEuggvnV9M3x1Ed4gUBmGUzCo/ikmFbQ==", "cpu": [ "arm64" ], @@ -3113,9 +3246,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.1.tgz", - "integrity": "sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.38.0.tgz", + "integrity": "sha512-hz5oqQLXTB3SbXpfkKHKXLdIp02/w3M+ajp8p4yWOWwQRtHWiEOCKtc9U+YXahrwdk+3qHdFMDWR5k+4dIlddg==", "cpu": [ "loong64" ], @@ -3127,9 +3260,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.1.tgz", - "integrity": "sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.38.0.tgz", + "integrity": "sha512-NXqygK/dTSibQ+0pzxsL3r4Xl8oPqVoWbZV9niqOnIHV/J92fe65pOir0xjkUZDRSPyFRvu+4YOpJF9BZHQImw==", "cpu": [ "ppc64" ], @@ -3141,9 +3274,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.1.tgz", - "integrity": "sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.38.0.tgz", + "integrity": "sha512-GEAIabR1uFyvf/jW/5jfu8gjM06/4kZ1W+j1nWTSSB3w6moZEBm7iBtzwQ3a1Pxos2F7Gz+58aVEnZHU295QTg==", "cpu": [ "riscv64" ], @@ -3155,9 +3288,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.1.tgz", - "integrity": "sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.38.0.tgz", + "integrity": "sha512-9EYTX+Gus2EGPbfs+fh7l95wVADtSQyYw4DfSBcYdUEAmP2lqSZY0Y17yX/3m5VKGGJ4UmIH5LHLkMJft3bYoA==", "cpu": [ "riscv64" ], @@ -3169,9 +3302,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.1.tgz", - "integrity": "sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.38.0.tgz", + "integrity": "sha512-Mpp6+Z5VhB9VDk7RwZXoG2qMdERm3Jw07RNlXHE0bOnEeX+l7Fy4bg+NxfyN15ruuY3/7Vrbpm75J9QHFqj5+Q==", "cpu": [ "s390x" ], @@ -3183,9 +3316,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.1.tgz", - "integrity": "sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.38.0.tgz", + "integrity": "sha512-vPvNgFlZRAgO7rwncMeE0+8c4Hmc+qixnp00/Uv3ht2x7KYrJ6ERVd3/R0nUtlE6/hu7/HiiNHJ/rP6knRFt1w==", "cpu": [ "x64" ], @@ -3197,9 +3330,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.1.tgz", - "integrity": "sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.38.0.tgz", + "integrity": "sha512-q5Zv+goWvQUGCaL7fU8NuTw8aydIL/C9abAVGCzRReuj5h30TPx4LumBtAidrVOtXnlB+RZkBtExMsfqkMfb8g==", "cpu": [ "x64" ], @@ -3211,9 +3344,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.1.tgz", - "integrity": "sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.38.0.tgz", + "integrity": "sha512-u/Jbm1BU89Vftqyqbmxdq14nBaQjQX1HhmsdBWqSdGClNaKwhjsg5TpW+5Ibs1mb8Es9wJiMdl86BcmtUVXNZg==", "cpu": [ "arm64" ], @@ -3225,9 +3358,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.1.tgz", - "integrity": "sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.38.0.tgz", + "integrity": "sha512-mqu4PzTrlpNHHbu5qleGvXJoGgHpChBlrBx/mEhTPpnAL1ZAYFlvHD7rLK839LLKQzqEQMFJfGrrOHItN4ZQqA==", "cpu": [ "ia32" ], @@ -3239,9 +3372,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.1.tgz", - "integrity": "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.38.0.tgz", + "integrity": "sha512-jjqy3uWlecfB98Psxb5cD6Fny9Fupv9LrDSPTQZUROqjvZmcCqNu4UMl7qqhlUUGpwiAkotj6GYu4SZdcr/nLw==", "cpu": [ "x64" ], @@ -3260,9 +3393,9 @@ "license": "MIT" }, "node_modules/@rushstack/eslint-patch": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.11.0.tgz", - "integrity": "sha512-zxnHvoMQVqewTJr/W4pKjF0bMGiKJv1WX7bSrkl46Hg0QjESbzBROWK0Wg4RphzSOS5Jiy7eFimmM3UgMrMZbQ==", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", + "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==", "dev": true, "license": "MIT" }, @@ -3276,15 +3409,14 @@ "version": "0.5.15", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", - "license": "Apache-2.0", "dependencies": { "tslib": "^2.8.0" } }, "node_modules/@tanstack/eslint-plugin-query": { - "version": "5.78.0", - "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.78.0.tgz", - "integrity": "sha512-hYkhWr3UP0CkAsn/phBVR98UQawbw8CmTSgWtdgEBUjI60/GBaEIkpgi/Bp/2I8eIDK4+vdY7ac6jZx+GR+hEQ==", + "version": "5.68.0", + "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.68.0.tgz", + "integrity": "sha512-w/+y5LILV1GTWBB2R/lKfUzgocKXU1B7O6jipLUJhmxCKPmJFy5zpfR1Vx7c6yCEsQoKcTbhuR/tIy+1sIGaiA==", "dev": true, "license": "MIT", "dependencies": { @@ -3299,9 +3431,9 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.79.0", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.79.0.tgz", - "integrity": "sha512-s+epTqqLM0/TbJzMAK7OEhZIzh63P9sWz5HEFc5XHL4FvKQXQkcjI8F3nee+H/xVVn7mrP610nVXwOytTSYd0w==", + "version": "5.71.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.71.1.tgz", + "integrity": "sha512-4+ZswCHOfJX+ikhXNoocamTUmJcHtB+Ljjz/oJkC7/eKB5IrzEwR4vEwZUENiPi+wISucJHR5TUbuuJ26w3kdQ==", "license": "MIT", "funding": { "type": "github", @@ -3309,12 +3441,12 @@ } }, "node_modules/@tanstack/react-query": { - "version": "5.79.0", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.79.0.tgz", - "integrity": "sha512-DjC4JIYZnYzxaTzbg3osOU63VNLP67dOrWet2cZvXgmgwAXNxfS52AMq86M5++ILuzW+BqTUEVMTjhrZ7/XBuA==", + "version": "5.71.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.71.1.tgz", + "integrity": "sha512-6BTkaSIGT58MroI4kIGXNdx/NhirXPU+75AJObLq+WBa39WmoxhzSk0YX+hqWJ/bvqZJFxslbEU4qIHaRZq+8Q==", "license": "MIT", "dependencies": { - "@tanstack/query-core": "5.79.0" + "@tanstack/query-core": "5.71.1" }, "funding": { "type": "github", @@ -3344,10 +3476,20 @@ "node": ">=18" } }, + "node_modules/@testing-library/dom/node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, "node_modules/@testing-library/react": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.0.tgz", - "integrity": "sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.2.0.tgz", + "integrity": "sha512-2cSskAvA1QNtKc8Y9VJQRv0tm3hLVgxRGDB+KYhIaPQJ1I+RHbhIXcM+zClKXzMes/wshsMVzf4B9vS4IZpqDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3372,17 +3514,6 @@ } } }, - "node_modules/@tybys/wasm-util": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", - "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, "node_modules/@types/aria-query": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", @@ -3405,9 +3536,9 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, "license": "MIT", "dependencies": { @@ -3426,9 +3557,9 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", - "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", "dev": true, "license": "MIT", "dependencies": { @@ -3466,13 +3597,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.15.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.26.tgz", - "integrity": "sha512-lgISkNrqdQ5DAzjBhnDNGKDuXDNo7/1V4FhNzsKREhWLZTOELQAptuAnJMzHtUl1qyEBBy9lNBKQ9WjyiSloTw==", + "version": "22.13.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.16.tgz", + "integrity": "sha512-15tM+qA4Ypml/N7kyRdvfRjBQT2RL461uF1Bldn06K0Nzn1lY3nAPgHlsVrJxdZ9WhZiW0Fmc1lOYMtDsAuB3w==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.21.0" + "undici-types": "~6.20.0" } }, "node_modules/@types/react": { @@ -3508,21 +3639,21 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.0.tgz", - "integrity": "sha512-CACyQuqSHt7ma3Ns601xykeBK/rDeZa3w6IS6UtMQbixO5DWy+8TilKkviGDH6jtWCo8FGRKEK5cLLkPvEammQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.0.tgz", + "integrity": "sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.33.0", - "@typescript-eslint/type-utils": "8.33.0", - "@typescript-eslint/utils": "8.33.0", - "@typescript-eslint/visitor-keys": "8.33.0", + "@typescript-eslint/scope-manager": "8.29.0", + "@typescript-eslint/type-utils": "8.29.0", + "@typescript-eslint/utils": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0", "graphemer": "^1.4.0", - "ignore": "^7.0.0", + "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.1.0" + "ts-api-utils": "^2.0.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3532,22 +3663,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.33.0", + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.33.0.tgz", - "integrity": "sha512-JaehZvf6m0yqYp34+RVnihBAChkqeH+tqqhS0GuX1qgPpwLvmTPheKEs6OeCK6hVJgXZHJ2vbjnC9j119auStQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.0.tgz", + "integrity": "sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.33.0", - "@typescript-eslint/types": "8.33.0", - "@typescript-eslint/typescript-estree": "8.33.0", - "@typescript-eslint/visitor-keys": "8.33.0", + "@typescript-eslint/scope-manager": "8.29.0", + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/typescript-estree": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0", "debug": "^4.3.4" }, "engines": { @@ -3562,34 +3693,15 @@ "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.33.0.tgz", - "integrity": "sha512-d1hz0u9l6N+u/gcrk6s6gYdl7/+pp8yHheRTqP6X5hVDKALEaTn8WfGiit7G511yueBEL3OpOEpD+3/MBdoN+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.33.0", - "@typescript-eslint/types": "^8.33.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.33.0.tgz", - "integrity": "sha512-LMi/oqrzpqxyO72ltP+dBSP6V0xiUb4saY7WLtxSfiNEBI8m321LLVFU9/QDJxjDQG9/tjSqKz/E3380TEqSTw==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.0.tgz", + "integrity": "sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.33.0", - "@typescript-eslint/visitor-keys": "8.33.0" + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3599,34 +3711,17 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.0.tgz", - "integrity": "sha512-sTkETlbqhEoiFmGr1gsdq5HyVbSOF0145SYDJ/EQmXHtKViCaGvnyLqWFFHtEXoS0J1yU8Wyou2UGmgW88fEug==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" - } - }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.33.0.tgz", - "integrity": "sha512-lScnHNCBqL1QayuSrWeqAL5GmqNdVUQAAMTaCwdYEdWfIrSrOGzyLGRCHXcCixa5NK6i5l0AfSO2oBSjCjf4XQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.0.tgz", + "integrity": "sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.33.0", - "@typescript-eslint/utils": "8.33.0", + "@typescript-eslint/typescript-estree": "8.29.0", + "@typescript-eslint/utils": "8.29.0", "debug": "^4.3.4", - "ts-api-utils": "^2.1.0" + "ts-api-utils": "^2.0.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3641,9 +3736,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.33.0.tgz", - "integrity": "sha512-DKuXOKpM5IDT1FA2g9x9x1Ug81YuKrzf4mYX8FAVSNu5Wo/LELHWQyM1pQaDkI42bX15PWl0vNPt1uGiIFUOpg==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.0.tgz", + "integrity": "sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==", "dev": true, "license": "MIT", "engines": { @@ -3655,22 +3750,20 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.0.tgz", - "integrity": "sha512-vegY4FQoB6jL97Tu/lWRsAiUUp8qJTqzAmENH2k59SJhw0Th1oszb9Idq/FyyONLuNqT1OADJPXfyUNOR8SzAQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.0.tgz", + "integrity": "sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.33.0", - "@typescript-eslint/tsconfig-utils": "8.33.0", - "@typescript-eslint/types": "8.33.0", - "@typescript-eslint/visitor-keys": "8.33.0", + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", - "ts-api-utils": "^2.1.0" + "ts-api-utils": "^2.0.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3684,16 +3777,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.33.0.tgz", - "integrity": "sha512-lPFuQaLA9aSNa7D5u2EpRiqdAUhzShwGg/nhpBlc4GR6kcTABttCuyjFs8BcEZ8VWrjCBof/bePhP3Q3fS+Yrw==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.0.tgz", + "integrity": "sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.33.0", - "@typescript-eslint/types": "8.33.0", - "@typescript-eslint/typescript-estree": "8.33.0" + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.29.0", + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/typescript-estree": "8.29.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3708,13 +3801,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.0.tgz", - "integrity": "sha512-7RW7CMYoskiz5OOGAWjJFxgb7c5UNjTG292gYhWeOAcFmYCtVCSqjqSBj5zMhxbXo2JOW95YYrUWJfU0zrpaGQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.0.tgz", + "integrity": "sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.33.0", + "@typescript-eslint/types": "8.29.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -3738,260 +3831,18 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.7.8.tgz", - "integrity": "sha512-rsRK8T7yxraNRDmpFLZCWqpea6OlXPNRRCjWMx24O1V86KFol7u2gj9zJCv6zB1oJjtnzWceuqdnCgOipFcJPA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.7.8.tgz", - "integrity": "sha512-16yEMWa+Olqkk8Kl6Bu0ltT5OgEedkSAsxcz1B3yEctrDYp3EMBu/5PPAGhWVGnwhtf3hNe3y15gfYBAjOv5tQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.7.8.tgz", - "integrity": "sha512-ST4uqF6FmdZQgv+Q73FU1uHzppeT4mhX3IIEmHlLObrv5Ep50olWRz0iQ4PWovadjHMTAmpuJAGaAuCZYb7UAQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.7.8.tgz", - "integrity": "sha512-Z/A/4Rm2VWku2g25C3tVb986fY6unx5jaaCFpx1pbAj0OKkyuJ5wcQLHvNbIcJ9qhiYwXfrkB7JNlxrAbg7YFg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.7.8.tgz", - "integrity": "sha512-HN0p7o38qKmDo3bZUiQa6gP7Qhf0sKgJZtRfSHi6JL2Gi4NaUVF0EO1sQ1RHbeQ4VvfjUGMh3QE5dxEh06BgQQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.7.8.tgz", - "integrity": "sha512-HsoVqDBt9G69AN0KWeDNJW+7i8KFlwxrbbnJffgTGpiZd6Jw+Q95sqkXp8y458KhKduKLmXfVZGnKBTNxAgPjw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.7.8.tgz", - "integrity": "sha512-VfR2yTDUbUvn+e/Aw22CC9fQg9zdShHAfwWctNBdOk7w9CHWl2OtYlcMvjzMAns8QxoHQoqn3/CEnZ4Ts7hfrA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.7.8.tgz", - "integrity": "sha512-xUauVQNz4uDgs4UJJiUAwMe3N0PA0wvtImh7V0IFu++UKZJhssXbKHBRR4ecUJpUHCX2bc4Wc8sGsB6P+7BANg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.7.8.tgz", - "integrity": "sha512-GqyIB+CuSHGhhc8ph5RrurtNetYJjb6SctSHafqmdGcRuGi6uyTMR8l18hMEhZFsXdFMc/MpInPLvmNV22xn+A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.7.8.tgz", - "integrity": "sha512-eEU3rWIFRv60xaAbtsgwHNWRZGD7cqkpCvNtio/f1TjEE3HfKLzPNB24fA9X/8ZXQrGldE65b7UKK3PmO4eWIQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.7.8.tgz", - "integrity": "sha512-GVLI0f4I4TlLqEUoOFvTWedLsJEdvsD0+sxhdvQ5s+N+m2DSynTs8h9jxR0qQbKlpHWpc2Ortz3z48NHRT4l+w==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.7.8.tgz", - "integrity": "sha512-GX1pZ/4ncUreB0Rlp1l7bhKAZ8ZmvDIgXdeb5V2iK0eRRF332+6gRfR/r5LK88xfbtOpsmRHU6mQ4N8ZnwvGEA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.7.8.tgz", - "integrity": "sha512-n1N84MnsvDupzVuYqJGj+2pb9s8BI1A5RgXHvtVFHedGZVBCFjDpQVRlmsFMt6xZiKwDPaqsM16O/1isCUGt7w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.7.8.tgz", - "integrity": "sha512-x94WnaU5g+pCPDVedfnXzoG6lCOF2xFGebNwhtbJCWfceE94Zj8aysSxdxotlrZrxnz5D3ijtyFUYtpz04n39Q==", - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.10" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.7.8.tgz", - "integrity": "sha512-vst2u8EJZ5L6jhJ6iLis3w9rg16aYqRxQuBAMYQRVrPMI43693hLP7DuqyOBRKgsQXy9/jgh204k0ViHkqQgdg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.7.8.tgz", - "integrity": "sha512-yb3LZOLMFqnA+/ShlE1E5bpYPGDsA590VHHJPB+efnyowT776GJXBoh82em6O9WmYBUq57YblGTcMYAFBm72HA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.7.8.tgz", - "integrity": "sha512-hHKFx+opG5BA3/owMXon8ypwSotBGTdblG6oda/iOu9+OEYnk0cxD2uIcGyGT8jCK578kV+xMrNxqbn8Zjlpgw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/@vitejs/plugin-react": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.5.0.tgz", - "integrity": "sha512-JuLWaEqypaJmOJPLWwO335Ig6jSgC1FTONCWAxnqcQthLTK/Yc9aH6hr9z/87xciejbQcnP3GnA1FWUSWeXaeg==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", + "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.26.10", + "@babel/core": "^7.26.0", "@babel/plugin-transform-react-jsx-self": "^7.25.9", "@babel/plugin-transform-react-jsx-source": "^7.25.9", - "@rolldown/pluginutils": "1.0.0-beta.9", "@types/babel__core": "^7.20.5", - "react-refresh": "^0.17.0" + "react-refresh": "^0.14.2" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -4001,14 +3852,14 @@ } }, "node_modules/@vitest/expect": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.4.tgz", - "integrity": "sha512-xkD/ljeliyaClDYqHPNCiJ0plY5YIcM0OlRiZizLhlPmpXWpxnGMyTZXOHFhFeG7w9P5PBeL4IdtJ/HeQwTbQA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.1.tgz", + "integrity": "sha512-q/zjrW9lgynctNbwvFtQkGK9+vvHA5UzVi2V8APrp1C6fG6/MuYYkmlx4FubuqLycCeSdHD5aadWfua/Vr0EUA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.1.4", - "@vitest/utils": "3.1.4", + "@vitest/spy": "3.1.1", + "@vitest/utils": "3.1.1", "chai": "^5.2.0", "tinyrainbow": "^2.0.0" }, @@ -4017,13 +3868,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.4.tgz", - "integrity": "sha512-8IJ3CvwtSw/EFXqWFL8aCMu+YyYXG2WUSrQbViOZkWTKTVicVwZ/YiEZDSqD00kX+v/+W+OnxhNWoeVKorHygA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.1.tgz", + "integrity": "sha512-bmpJJm7Y7i9BBELlLuuM1J1Q6EQ6K5Ye4wcyOpOMXMcePYKSIYlpcrCm4l/O6ja4VJA5G2aMJiuZkZdnxlC3SA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.1.4", + "@vitest/spy": "3.1.1", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -4044,9 +3895,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.4.tgz", - "integrity": "sha512-cqv9H9GvAEoTaoq+cYqUTCGscUjKqlJZC7PRwY5FMySVj5J+xOm1KQcCiYHJOEzOKRUhLH4R2pTwvFlWCEScsg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.1.tgz", + "integrity": "sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==", "dev": true, "license": "MIT", "dependencies": { @@ -4057,13 +3908,13 @@ } }, "node_modules/@vitest/runner": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.4.tgz", - "integrity": "sha512-djTeF1/vt985I/wpKVFBMWUlk/I7mb5hmD5oP8K9ACRmVXgKTae3TUOtXAEBfslNKPzUQvnKhNd34nnRSYgLNQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.1.tgz", + "integrity": "sha512-X/d46qzJuEDO8ueyjtKfxffiXraPRfmYasoC4i5+mlLEJ10UvPb0XH5M9C3gWuxd7BAQhpK42cJgJtq53YnWVA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "3.1.4", + "@vitest/utils": "3.1.1", "pathe": "^2.0.3" }, "funding": { @@ -4071,13 +3922,13 @@ } }, "node_modules/@vitest/snapshot": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.4.tgz", - "integrity": "sha512-JPHf68DvuO7vilmvwdPr9TS0SuuIzHvxeaCkxYcCD4jTk67XwL45ZhEHFKIuCm8CYstgI6LZ4XbwD6ANrwMpFg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.1.tgz", + "integrity": "sha512-bByMwaVWe/+1WDf9exFxWWgAixelSdiwo2p33tpqIlM14vW7PRV5ppayVXtfycqze4Qhtwag5sVhX400MLBOOw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.1.4", + "@vitest/pretty-format": "3.1.1", "magic-string": "^0.30.17", "pathe": "^2.0.3" }, @@ -4086,9 +3937,9 @@ } }, "node_modules/@vitest/spy": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.4.tgz", - "integrity": "sha512-Xg1bXhu+vtPXIodYN369M86K8shGLouNjoVI78g8iAq2rFoHFdajNvJJ5A/9bPMFcfQqdaCpOgWKEoMQg/s0Yg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.1.tgz", + "integrity": "sha512-+EmrUOOXbKzLkTDwlsc/xrwOlPDXyVk3Z6P6K4oiCndxz7YLpp/0R0UsWVOKT0IXWjjBJuSMk6D27qipaupcvQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4099,13 +3950,13 @@ } }, "node_modules/@vitest/utils": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.4.tgz", - "integrity": "sha512-yriMuO1cfFhmiGc8ataN51+9ooHRuURdfAZfwFd3usWynjzpLslZdYnRegTv32qdgtJTsj15FoeZe2g15fY1gg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.1.tgz", + "integrity": "sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.1.4", + "@vitest/pretty-format": "3.1.1", "loupe": "^3.1.3", "tinyrainbow": "^2.0.0" }, @@ -4137,11 +3988,14 @@ } }, "node_modules/agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "dev": true, "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, "engines": { "node": ">= 14" } @@ -4164,13 +4018,16 @@ } }, "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/ansi-styles": { @@ -4225,9 +4082,9 @@ "license": "Python-2.0" }, "node_modules/aria-hidden": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", - "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", + "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", "license": "MIT", "dependencies": { "tslib": "^2.0.0" @@ -4237,24 +4094,24 @@ } }, "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", "dev": true, "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" + "engines": { + "node": ">= 0.4" } }, "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" }, "engines": { "node": ">= 0.4" @@ -4306,19 +4163,18 @@ } }, "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", + "es-abstract": "^1.23.2", "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -4328,16 +4184,16 @@ } }, "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -4347,16 +4203,16 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -4383,19 +4239,20 @@ } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dev": true, "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", + "call-bind": "^1.0.5", "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -4421,16 +4278,6 @@ "dev": true, "license": "MIT" }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -4455,9 +4302,9 @@ } }, "node_modules/axe-core": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.3.tgz", - "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==", + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz", + "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==", "dev": true, "license": "MPL-2.0", "engines": { @@ -4518,9 +4365,9 @@ } }, "node_modules/browserslist": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz", - "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==", + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", "dev": true, "funding": [ { @@ -4538,10 +4385,10 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001718", - "electron-to-chromium": "^1.5.160", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.3" + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -4572,47 +4419,17 @@ } }, "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "license": "MIT", - "dependencies": { "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -4651,9 +4468,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001720", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001720.tgz", - "integrity": "sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g==", + "version": "1.0.30001676", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001676.tgz", + "integrity": "sha512-Qz6zwGCiPghQXGJvgQAem79esjitvJ+CxSbSQkW9H/UX5hg8XM88d4lp2W+MEQ81j+Hip58Il+jGVdazk1z9cw==", "funding": [ { "type": "opencollective", @@ -4735,9 +4552,9 @@ } }, "node_modules/chart.js": { - "version": "4.4.9", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.9.tgz", - "integrity": "sha512-EyZ9wWKgpAU0fLJ43YAEIF8sr5F2W3LqbS40ZJyHIner2lY14ufqv2VMp69MAiZ2rpwxEUxEhIH/0U3xyRynxg==", + "version": "4.4.8", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.8.tgz", + "integrity": "sha512-IkGZlVpXP+83QpMm4uxEiGqSI7jFizwVtF3+n5Pc3k7sMO+tkd0qxh2OzLhenM0K80xtmAONWGBn082EiBQSDA==", "license": "MIT", "dependencies": { "@kurkle/color": "^0.3.0" @@ -4983,26 +4800,18 @@ } }, "node_modules/cssstyle": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.3.1.tgz", - "integrity": "sha512-ZgW+Jgdd7i52AaLYCriF8Mxqft0gD/R9i9wi6RWBhs1pqdPEzPjym7rvRKi397WmQFf3SlyUsszhw+VVCbx79Q==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.1.0.tgz", + "integrity": "sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==", "dev": true, "license": "MIT", "dependencies": { - "@asamuzakjp/css-color": "^3.1.2", - "rrweb-cssom": "^0.8.0" + "rrweb-cssom": "^0.7.1" }, "engines": { "node": ">=18" } }, - "node_modules/cssstyle/node_modules/rrweb-cssom": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", - "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", - "dev": true, - "license": "MIT" - }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -5031,15 +4840,15 @@ } }, "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", + "call-bind": "^1.0.6", "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" + "is-data-view": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -5049,31 +4858,31 @@ } }, "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", + "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" + "is-data-view": "^1.0.1" }, "engines": { "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/inspect-js" + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", + "call-bind": "^1.0.6", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" }, @@ -5094,16 +4903,10 @@ "url": "https://github.com/sponsors/kossnocorp" } }, - "node_modules/date-fns-jalali": { - "version": "4.1.0-0", - "resolved": "https://registry.npmjs.org/date-fns-jalali/-/date-fns-jalali-4.1.0-0.tgz", - "integrity": "sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg==", - "license": "MIT" - }, "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "license": "MIT", "dependencies": { @@ -5119,9 +4922,9 @@ } }, "node_modules/decimal.js": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", - "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "dev": true, "license": "MIT" }, @@ -5199,9 +5002,9 @@ } }, "node_modules/detect-libc": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", - "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", "license": "Apache-2.0", "engines": { "node": ">=8" @@ -5247,21 +5050,6 @@ "dev": true, "license": "MIT" }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -5270,9 +5058,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.161", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.161.tgz", - "integrity": "sha512-hwtetwfKNZo/UlwHIVBlKZVdy7o8bIZxxKs0Mv/ROPiQQQmDgdm5a+KvKtBsxM8ZjFzTaCeLoodZ8jiBE3o9rA==", + "version": "1.5.65", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.65.tgz", + "integrity": "sha512-PWVzBjghx7/wop6n22vS2MLU8tKGd4Q91aCEGhG/TYmW6PP5OcSXcdnxTe1NNt0T66N8D6jxh4kC8UsdzOGaIw==", "dev": true, "license": "ISC" }, @@ -5283,10 +5071,24 @@ "dev": true, "license": "MIT" }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/entities": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", - "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -5297,66 +5099,58 @@ } }, "node_modules/es-abstract": { - "version": "1.24.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", - "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", "dev": true, "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", + "is-data-view": "^1.0.1", "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -5366,11 +5160,14 @@ } }, "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dev": true, "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, "engines": { "node": ">= 0.4" } @@ -5386,44 +5183,42 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz", + "integrity": "sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", + "es-abstract": "^1.23.3", "es-errors": "^1.3.0", "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", + "get-intrinsic": "^1.2.4", "globalthis": "^1.0.4", - "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.3", + "safe-array-concat": "^1.1.2" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", + "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", "dev": true, "license": "MIT" }, "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", "dev": true, "license": "MIT", "dependencies": { @@ -5434,44 +5229,40 @@ } }, "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", + "get-intrinsic": "^1.2.4", "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" + "hasown": "^2.0.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" + "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -5481,9 +5272,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", - "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", + "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -5494,31 +5285,31 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.5", - "@esbuild/android-arm": "0.25.5", - "@esbuild/android-arm64": "0.25.5", - "@esbuild/android-x64": "0.25.5", - "@esbuild/darwin-arm64": "0.25.5", - "@esbuild/darwin-x64": "0.25.5", - "@esbuild/freebsd-arm64": "0.25.5", - "@esbuild/freebsd-x64": "0.25.5", - "@esbuild/linux-arm": "0.25.5", - "@esbuild/linux-arm64": "0.25.5", - "@esbuild/linux-ia32": "0.25.5", - "@esbuild/linux-loong64": "0.25.5", - "@esbuild/linux-mips64el": "0.25.5", - "@esbuild/linux-ppc64": "0.25.5", - "@esbuild/linux-riscv64": "0.25.5", - "@esbuild/linux-s390x": "0.25.5", - "@esbuild/linux-x64": "0.25.5", - "@esbuild/netbsd-arm64": "0.25.5", - "@esbuild/netbsd-x64": "0.25.5", - "@esbuild/openbsd-arm64": "0.25.5", - "@esbuild/openbsd-x64": "0.25.5", - "@esbuild/sunos-x64": "0.25.5", - "@esbuild/win32-arm64": "0.25.5", - "@esbuild/win32-ia32": "0.25.5", - "@esbuild/win32-x64": "0.25.5" + "@esbuild/aix-ppc64": "0.25.2", + "@esbuild/android-arm": "0.25.2", + "@esbuild/android-arm64": "0.25.2", + "@esbuild/android-x64": "0.25.2", + "@esbuild/darwin-arm64": "0.25.2", + "@esbuild/darwin-x64": "0.25.2", + "@esbuild/freebsd-arm64": "0.25.2", + "@esbuild/freebsd-x64": "0.25.2", + "@esbuild/linux-arm": "0.25.2", + "@esbuild/linux-arm64": "0.25.2", + "@esbuild/linux-ia32": "0.25.2", + "@esbuild/linux-loong64": "0.25.2", + "@esbuild/linux-mips64el": "0.25.2", + "@esbuild/linux-ppc64": "0.25.2", + "@esbuild/linux-riscv64": "0.25.2", + "@esbuild/linux-s390x": "0.25.2", + "@esbuild/linux-x64": "0.25.2", + "@esbuild/netbsd-arm64": "0.25.2", + "@esbuild/netbsd-x64": "0.25.2", + "@esbuild/openbsd-arm64": "0.25.2", + "@esbuild/openbsd-x64": "0.25.2", + "@esbuild/sunos-x64": "0.25.2", + "@esbuild/win32-arm64": "0.25.2", + "@esbuild/win32-ia32": "0.25.2", + "@esbuild/win32-x64": "0.25.2" } }, "node_modules/escalade": { @@ -5545,20 +5336,20 @@ } }, "node_modules/eslint": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.27.0.tgz", - "integrity": "sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==", + "version": "9.23.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.23.0.tgz", + "integrity": "sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.20.0", - "@eslint/config-helpers": "^0.2.1", - "@eslint/core": "^0.14.0", + "@eslint/config-array": "^0.19.2", + "@eslint/config-helpers": "^0.2.0", + "@eslint/core": "^0.12.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.27.0", - "@eslint/plugin-kit": "^0.3.1", + "@eslint/js": "9.23.0", + "@eslint/plugin-kit": "^0.2.7", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", @@ -5656,25 +5447,26 @@ } }, "node_modules/eslint-import-resolver-typescript": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", - "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz", + "integrity": "sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==", "dev": true, "license": "ISC", "dependencies": { "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.4.0", - "get-tsconfig": "^4.10.0", - "is-bun-module": "^2.0.0", - "stable-hash": "^0.0.5", - "tinyglobby": "^0.2.13", - "unrs-resolver": "^1.6.2" + "debug": "^4.3.5", + "enhanced-resolve": "^5.15.0", + "eslint-module-utils": "^2.8.1", + "fast-glob": "^3.3.2", + "get-tsconfig": "^4.7.5", + "is-bun-module": "^1.0.2", + "is-glob": "^4.0.3" }, "engines": { "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/eslint-import-resolver-typescript" + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" }, "peerDependencies": { "eslint": "*", @@ -5826,16 +5618,6 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -5861,29 +5643,29 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "version": "7.37.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", + "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", "dev": true, "license": "MIT", "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", + "array.prototype.flatmap": "^1.3.2", "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", + "es-iterator-helpers": "^1.1.0", "estraverse": "^5.3.0", "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.9", + "object.entries": "^1.1.8", "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", + "object.values": "^1.2.0", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", + "string.prototype.matchall": "^4.0.11", "string.prototype.repeat": "^1.0.0" }, "engines": { @@ -5894,9 +5676,9 @@ } }, "node_modules/eslint-plugin-react-hooks": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", - "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz", + "integrity": "sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==", "dev": true, "license": "MIT", "engines": { @@ -5988,6 +5770,20 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/@humanwhocodes/retry": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/eslint/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -6012,16 +5808,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/eslint/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -6140,9 +5926,9 @@ "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "license": "MIT", "dependencies": { @@ -6150,7 +5936,7 @@ "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.8" + "micromatch": "^4.0.4" }, "engines": { "node": ">=8.6.0" @@ -6184,9 +5970,9 @@ "license": "MIT" }, "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, "license": "ISC", "dependencies": { @@ -6264,36 +6050,30 @@ } }, "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true, "license": "ISC" }, "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "is-callable": "^1.1.3" } }, "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.6", + "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" }, "engines": { @@ -6304,15 +6084,14 @@ } }, "node_modules/form-data": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", - "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", "dev": true, "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" }, "engines": { @@ -6380,18 +6159,16 @@ } }, "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -6430,22 +6207,17 @@ } }, "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -6463,30 +6235,16 @@ "node": ">=6" } }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", + "call-bind": "^1.0.5", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" @@ -6496,9 +6254,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz", - "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==", + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz", + "integrity": "sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==", "dev": true, "license": "MIT", "dependencies": { @@ -6543,13 +6301,16 @@ } }, "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/globalthis": { @@ -6577,18 +6338,25 @@ "license": "MIT" }, "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "get-intrinsic": "^1.1.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -6597,14 +6365,11 @@ "license": "MIT" }, "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" - }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6633,14 +6398,11 @@ } }, "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true, "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.0" - }, "engines": { "node": ">= 0.4" }, @@ -6649,9 +6411,9 @@ } }, "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, "license": "MIT", "engines": { @@ -6760,13 +6522,13 @@ } }, "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.2", + "agent-base": "^7.0.2", "debug": "4" }, "engines": { @@ -6787,9 +6549,9 @@ } }, "node_modules/ignore": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz", - "integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", "engines": { @@ -6824,15 +6586,15 @@ } }, "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" + "hasown": "^2.0.0", + "side-channel": "^1.0.4" }, "engines": { "node": ">= 0.4" @@ -6863,15 +6625,14 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -6887,17 +6648,13 @@ "license": "MIT" }, "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dev": true, "license": "MIT", "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -6907,16 +6664,13 @@ } }, "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, "license": "MIT", "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" + "has-bigints": "^1.0.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6936,14 +6690,14 @@ } }, "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -6953,13 +6707,13 @@ } }, "node_modules/is-bun-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", - "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.2.1.tgz", + "integrity": "sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==", "dev": true, "license": "MIT", "dependencies": { - "semver": "^7.7.1" + "semver": "^7.6.3" } }, "node_modules/is-callable": { @@ -6976,9 +6730,9 @@ } }, "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6992,14 +6746,12 @@ } }, "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", "is-typed-array": "^1.1.13" }, "engines": { @@ -7010,14 +6762,13 @@ } }, "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -7047,16 +6798,13 @@ } }, "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" + "call-bind": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7073,16 +6821,13 @@ } }, "node_modules/is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -7151,14 +6896,13 @@ } }, "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -7175,16 +6919,14 @@ "license": "MIT" }, "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -7207,13 +6949,13 @@ } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3" + "call-bind": "^1.0.7" }, "engines": { "node": ">= 0.4" @@ -7223,14 +6965,13 @@ } }, "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -7240,15 +6981,13 @@ } }, "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" + "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -7258,13 +6997,13 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.16" + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -7287,30 +7026,27 @@ } }, "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" + "call-bind": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" @@ -7334,18 +7070,17 @@ "license": "ISC" }, "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", + "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", "dev": true, "license": "MIT", "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -7368,9 +7103,9 @@ } }, "node_modules/jiti": { - "version": "1.21.7", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", - "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "dev": true, "license": "MIT", "bin": { @@ -7439,9 +7174,9 @@ } }, "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "dev": true, "license": "MIT", "bin": { @@ -7473,16 +7208,16 @@ "license": "MIT" }, "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, "bin": { "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" } }, "node_modules/jsx-ast-utils": { @@ -7623,14 +7358,11 @@ } }, "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } + "license": "ISC" }, "node_modules/lucide-react": { "version": "0.453.0", @@ -7661,16 +7393,6 @@ "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -7804,16 +7526,15 @@ } }, "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -7821,22 +7542,6 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/napi-postinstall": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.2.4.tgz", - "integrity": "sha512-ZEzHJwBhZ8qQSbknHqYcdtQVr8zUgGyM/q6h6qAyhtyVMNrSgDhrC4disf03dYW0e+czXyLnZINnCTEkWy0eJg==", - "dev": true, - "license": "MIT", - "bin": { - "napi-postinstall": "lib/cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/napi-postinstall" - } - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -7899,13 +7604,13 @@ } }, "node_modules/next-themes": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.4.6.tgz", - "integrity": "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.3.0.tgz", + "integrity": "sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==", "license": "MIT", "peerDependencies": { - "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" + "react": "^16.8 || ^17 || ^18", + "react-dom": "^16.8 || ^17 || ^18" } }, "node_modules/next/node_modules/postcss": { @@ -7937,9 +7642,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true, "license": "MIT" }, @@ -7954,9 +7659,9 @@ } }, "node_modules/nuqs": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/nuqs/-/nuqs-2.4.3.tgz", - "integrity": "sha512-BgtlYpvRwLYiJuWzxt34q2bXu/AIS66sLU1QePIMr2LWkb+XH0vKXdbLSgn9t6p7QKzwI7f38rX3Wl9llTXQ8Q==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/nuqs/-/nuqs-2.4.1.tgz", + "integrity": "sha512-u6sngTspqDe3jWHtcmqHQg3dl35niizCZAsm5gy7PBlgG2rwl71Dp2QUv5hwBaWKI9qz0wqILZY86TsRxq66SQ==", "license": "MIT", "dependencies": { "mitt": "^3.0.1" @@ -7987,9 +7692,9 @@ } }, "node_modules/nwsapi": { - "version": "2.2.20", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz", - "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==", + "version": "2.2.13", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz", + "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==", "dev": true, "license": "MIT" }, @@ -8014,9 +7719,9 @@ } }, "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "dev": true, "license": "MIT", "engines": { @@ -8037,17 +7742,15 @@ } }, "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", + "call-bind": "^1.0.5", "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, "engines": { @@ -8058,16 +7761,15 @@ } }, "node_modules/object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -8108,14 +7810,13 @@ } }, "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, @@ -8144,24 +7845,6 @@ "node": ">= 0.8.0" } }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -8233,13 +7916,13 @@ } }, "node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", "dev": true, "license": "MIT", "dependencies": { - "entities": "^6.0.0" + "entities": "^4.5.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" @@ -8289,13 +7972,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, "node_modules/pathe": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", @@ -8343,9 +8019,9 @@ } }, "node_modules/pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, "license": "MIT", "engines": { @@ -8359,9 +8035,9 @@ "license": "MIT" }, "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", "dev": true, "license": "MIT", "engines": { @@ -8369,9 +8045,9 @@ } }, "node_modules/postcss": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.4.tgz", - "integrity": "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==", + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", "dev": true, "funding": [ { @@ -8389,7 +8065,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.11", + "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -8435,6 +8111,42 @@ "postcss": "^8.4.21" } }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, "node_modules/postcss-nested": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", @@ -8616,6 +8328,16 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/pretty-format/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", @@ -8629,6 +8351,13 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "license": "MIT" + }, "node_modules/prismjs": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", @@ -8650,13 +8379,6 @@ "react-is": "^16.13.1" } }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true, - "license": "MIT" - }, "node_modules/property-information": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", @@ -8738,68 +8460,6 @@ "react": ">=16" } }, - "node_modules/react-code-blocks/node_modules/postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/react-code-blocks/node_modules/styled-components": { - "version": "6.1.18", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.18.tgz", - "integrity": "sha512-Mvf3gJFzZCkhjY2Y/Fx9z1m3dxbza0uI9H1CbNZm/jSHCojzJhQ0R7bByrlFJINnMzz/gPulpoFFGymNwrsMcw==", - "license": "MIT", - "dependencies": { - "@emotion/is-prop-valid": "1.2.2", - "@emotion/unitless": "0.8.1", - "@types/stylis": "4.2.5", - "css-to-react-native": "3.2.0", - "csstype": "3.1.3", - "postcss": "8.4.49", - "shallowequal": "1.1.0", - "stylis": "4.3.2", - "tslib": "2.6.2" - }, - "engines": { - "node": ">= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/styled-components" - }, - "peerDependencies": { - "react": ">= 16.8.0", - "react-dom": ">= 16.8.0" - } - }, - "node_modules/react-code-blocks/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "license": "0BSD" - }, "node_modules/react-datepicker": { "version": "7.6.0", "resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-7.6.0.tgz", @@ -8815,6 +8475,21 @@ "react-dom": "^16.9.0 || ^17 || ^18 || ^19 || ^19.0.0-rc" } }, + "node_modules/react-datepicker/node_modules/@floating-ui/react": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.3.tgz", + "integrity": "sha512-CLHnes3ixIFFKVQDdICjel8muhFLOBdQH7fgtHNPY8UbCNqbeKZ262G7K66lGQOUQWWnYocf7ZbUsLJgGfsLHg==", + "license": "MIT", + "dependencies": { + "@floating-ui/react-dom": "^2.1.2", + "@floating-ui/utils": "^0.2.9", + "tabbable": "^6.0.0" + }, + "peerDependencies": { + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, "node_modules/react-datepicker/node_modules/date-fns": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz", @@ -8826,24 +8501,17 @@ } }, "node_modules/react-day-picker": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-9.7.0.tgz", - "integrity": "sha512-urlK4C9XJZVpQ81tmVgd2O7lZ0VQldZeHzNejbwLWZSkzHH498KnArT0EHNfKBOWwKc935iMLGZdxXPRISzUxQ==", + "version": "8.10.1", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.1.tgz", + "integrity": "sha512-TMx7fNbhLk15eqcMt+7Z7S2KF7mfTId/XJDjKE8f+IUcFn0l08/kI4FiYTL/0yuOLmEcbR4Fwe3GJf/NiiMnPA==", "license": "MIT", - "dependencies": { - "@date-fns/tz": "1.2.0", - "date-fns": "4.1.0", - "date-fns-jalali": "4.1.0-0" - }, - "engines": { - "node": ">=18" - }, "funding": { "type": "individual", "url": "https://github.com/sponsors/gpbl" }, "peerDependencies": { - "react": ">=16.8.0" + "date-fns": "^2.28.0 || ^3.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/react-dom": { @@ -8868,16 +8536,16 @@ } }, "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true, "license": "MIT" }, "node_modules/react-refresh": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", - "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", "dev": true, "license": "MIT", "engines": { @@ -8885,9 +8553,9 @@ } }, "node_modules/react-remove-scroll": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.0.tgz", - "integrity": "sha512-sGsQtcjMqdQyijAHytfGEELB8FufGbfXIsvUTe+NLx1GDRJCXtCFLBLUI1eyZCKXXvbEU2C6gai0PZKoIE9Vbg==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.3.tgz", + "integrity": "sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==", "license": "MIT", "dependencies": { "react-remove-scroll-bar": "^2.3.7", @@ -9007,20 +8675,19 @@ } }, "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", + "es-abstract": "^1.23.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" }, "engines": { "node": ">= 0.4" @@ -9053,18 +8720,22 @@ "node": ">=6" } }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" + }, "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", "set-function-name": "^2.0.2" }, "engines": { @@ -9075,22 +8746,19 @@ } }, "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.16.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, - "engines": { - "node": ">= 0.4" - }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9116,9 +8784,9 @@ } }, "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, "license": "MIT", "engines": { @@ -9127,9 +8795,9 @@ } }, "node_modules/rollup": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.1.tgz", - "integrity": "sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.38.0.tgz", + "integrity": "sha512-5SsIRtJy9bf1ErAOiFMFzl64Ex9X5V7bnJ+WlFMb+zmP459OSWCEG7b0ERZ+PEU7xPt4OG3RHbrp1LJlXxYTrw==", "dev": true, "license": "MIT", "dependencies": { @@ -9143,26 +8811,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.41.1", - "@rollup/rollup-android-arm64": "4.41.1", - "@rollup/rollup-darwin-arm64": "4.41.1", - "@rollup/rollup-darwin-x64": "4.41.1", - "@rollup/rollup-freebsd-arm64": "4.41.1", - "@rollup/rollup-freebsd-x64": "4.41.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.41.1", - "@rollup/rollup-linux-arm-musleabihf": "4.41.1", - "@rollup/rollup-linux-arm64-gnu": "4.41.1", - "@rollup/rollup-linux-arm64-musl": "4.41.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.41.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.41.1", - "@rollup/rollup-linux-riscv64-gnu": "4.41.1", - "@rollup/rollup-linux-riscv64-musl": "4.41.1", - "@rollup/rollup-linux-s390x-gnu": "4.41.1", - "@rollup/rollup-linux-x64-gnu": "4.41.1", - "@rollup/rollup-linux-x64-musl": "4.41.1", - "@rollup/rollup-win32-arm64-msvc": "4.41.1", - "@rollup/rollup-win32-ia32-msvc": "4.41.1", - "@rollup/rollup-win32-x64-msvc": "4.41.1", + "@rollup/rollup-android-arm-eabi": "4.38.0", + "@rollup/rollup-android-arm64": "4.38.0", + "@rollup/rollup-darwin-arm64": "4.38.0", + "@rollup/rollup-darwin-x64": "4.38.0", + "@rollup/rollup-freebsd-arm64": "4.38.0", + "@rollup/rollup-freebsd-x64": "4.38.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.38.0", + "@rollup/rollup-linux-arm-musleabihf": "4.38.0", + "@rollup/rollup-linux-arm64-gnu": "4.38.0", + "@rollup/rollup-linux-arm64-musl": "4.38.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.38.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.38.0", + "@rollup/rollup-linux-riscv64-gnu": "4.38.0", + "@rollup/rollup-linux-riscv64-musl": "4.38.0", + "@rollup/rollup-linux-s390x-gnu": "4.38.0", + "@rollup/rollup-linux-x64-gnu": "4.38.0", + "@rollup/rollup-linux-x64-musl": "4.38.0", + "@rollup/rollup-win32-arm64-msvc": "4.38.0", + "@rollup/rollup-win32-ia32-msvc": "4.38.0", + "@rollup/rollup-win32-x64-msvc": "4.38.0", "fsevents": "~2.3.2" } }, @@ -9198,16 +8866,15 @@ } }, "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, "engines": { @@ -9217,33 +8884,16 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", + "call-bind": "^1.0.6", "es-errors": "^1.3.0", - "is-regex": "^1.2.1" + "is-regex": "^1.1.4" }, "engines": { "node": ">= 0.4" @@ -9279,9 +8929,9 @@ "license": "MIT" }, "node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -9324,21 +8974,6 @@ "node": ">= 0.4" } }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/shallowequal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", @@ -9408,73 +9043,16 @@ } }, "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, "license": "MIT", "dependencies": { + "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" }, "engines": { "node": ">= 0.4" @@ -9554,13 +9132,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/stable-hash": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", - "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", - "dev": true, - "license": "MIT" - }, "node_modules/stackback": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", @@ -9569,26 +9140,12 @@ "license": "MIT" }, "node_modules/std-env": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", - "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.1.tgz", + "integrity": "sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==", "dev": true, "license": "MIT" }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/streamsearch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", @@ -9631,6 +9188,16 @@ "node": ">=8" } }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -9667,25 +9234,24 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", + "es-abstract": "^1.23.2", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" + "side-channel": "^1.0.6" }, "engines": { "node": ">= 0.4" @@ -9706,19 +9272,16 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -9728,20 +9291,16 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, - "engines": { - "node": ">= 0.4" - }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9794,17 +9353,14 @@ "node": ">=8" } }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">=8" } }, "node_modules/strip-bom": { @@ -9830,6 +9386,68 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/styled-components": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.13.tgz", + "integrity": "sha512-M0+N2xSnAtwcVAQeFEsGWFFxXDftHUD7XrKla06QbpUMmbmtFBMMTcKWvFXtWxuD5qQkB8iU5gk6QASlx2ZRMw==", + "license": "MIT", + "dependencies": { + "@emotion/is-prop-valid": "1.2.2", + "@emotion/unitless": "0.8.1", + "@types/stylis": "4.2.5", + "css-to-react-native": "3.2.0", + "csstype": "3.1.3", + "postcss": "8.4.38", + "shallowequal": "1.1.0", + "stylis": "4.3.2", + "tslib": "2.6.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/styled-components" + }, + "peerDependencies": { + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0" + } + }, + "node_modules/styled-components/node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/styled-components/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "license": "0BSD" + }, "node_modules/styled-jsx": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", @@ -9989,40 +9607,14 @@ "tailwindcss": ">=3.1.0" } }, - "node_modules/tailwindcss/node_modules/postcss-load-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", - "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } + "node": ">=6" } }, "node_modules/thenify": { @@ -10063,9 +9655,9 @@ "license": "MIT" }, "node_modules/tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", + "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", "dev": true, "license": "MIT", "dependencies": { @@ -10080,9 +9672,9 @@ } }, "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", - "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==", + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", "dev": true, "license": "MIT", "peerDependencies": { @@ -10138,22 +9730,22 @@ } }, "node_modules/tldts": { - "version": "6.1.86", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", - "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", + "version": "6.1.64", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.64.tgz", + "integrity": "sha512-ph4AE5BXWIOsSy9stpoeo7bYe/Cy7VfpciIH4RhVZUPItCJmhqWCN0EVzxd8BOHiyNb42vuJc6NWTjJkg91Tuw==", "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^6.1.86" + "tldts-core": "^6.1.64" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "6.1.86", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", - "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", + "version": "6.1.64", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.64.tgz", + "integrity": "sha512-uqnl8vGV16KsyflHOzqrYjjArjfXaU6rMPXYy2/ZWoRKCkXtghgB4VwTDXUG+t0OTGeSewNAG31/x1gCTfLt+Q==", "dev": true, "license": "MIT" }, @@ -10171,9 +9763,9 @@ } }, "node_modules/tough-cookie": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", - "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.0.0.tgz", + "integrity": "sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -10184,9 +9776,9 @@ } }, "node_modules/tr46": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", - "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz", + "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==", "dev": true, "license": "MIT", "dependencies": { @@ -10217,9 +9809,9 @@ "license": "Apache-2.0" }, "node_modules/tsconfck": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", - "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.4.tgz", + "integrity": "sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ==", "dev": true, "license": "MIT", "bin": { @@ -10250,19 +9842,6 @@ "strip-bom": "^3.0.0" } }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -10283,32 +9862,32 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", + "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -10318,19 +9897,18 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -10340,18 +9918,18 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", + "has-proto": "^1.0.3", "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" + "possible-typed-array-names": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -10361,9 +9939,9 @@ } }, "node_modules/typescript": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", + "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -10374,68 +9952,32 @@ } }, "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", + "call-bind": "^1.0.2", "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", "dev": true, "license": "MIT" }, - "node_modules/unrs-resolver": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.7.8.tgz", - "integrity": "sha512-2zsXwyOXmCX9nGz4vhtZRYhe30V78heAv+KDc21A/KMdovGHbZcixeD5JHEF0DrFXzdytwuzYclcPbvp8A3Jlw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "napi-postinstall": "^0.2.2" - }, - "funding": { - "url": "https://opencollective.com/unrs-resolver" - }, - "optionalDependencies": { - "@unrs/resolver-binding-darwin-arm64": "1.7.8", - "@unrs/resolver-binding-darwin-x64": "1.7.8", - "@unrs/resolver-binding-freebsd-x64": "1.7.8", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.7.8", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.7.8", - "@unrs/resolver-binding-linux-arm64-gnu": "1.7.8", - "@unrs/resolver-binding-linux-arm64-musl": "1.7.8", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.7.8", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.7.8", - "@unrs/resolver-binding-linux-riscv64-musl": "1.7.8", - "@unrs/resolver-binding-linux-s390x-gnu": "1.7.8", - "@unrs/resolver-binding-linux-x64-gnu": "1.7.8", - "@unrs/resolver-binding-linux-x64-musl": "1.7.8", - "@unrs/resolver-binding-wasm32-wasi": "1.7.8", - "@unrs/resolver-binding-win32-arm64-msvc": "1.7.8", - "@unrs/resolver-binding-win32-ia32-msvc": "1.7.8", - "@unrs/resolver-binding-win32-x64-msvc": "1.7.8" - } - }, "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", "dev": true, "funding": [ { @@ -10454,7 +9996,7 @@ "license": "MIT", "dependencies": { "escalade": "^3.2.0", - "picocolors": "^1.1.1" + "picocolors": "^1.1.0" }, "bin": { "update-browserslist-db": "cli.js" @@ -10524,9 +10066,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "version": "6.3.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.4.tgz", + "integrity": "sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw==", "dev": true, "license": "MIT", "dependencies": { @@ -10599,15 +10141,15 @@ } }, "node_modules/vite-node": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.4.tgz", - "integrity": "sha512-6enNwYnpyDo4hEgytbmc6mYWHXDHYEn0D1/rw4Q+tnHUGtKTJsn8T1YkX6Q18wI5LCrS8CTYlBaiCqxOy2kvUA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.1.tgz", + "integrity": "sha512-V+IxPAE2FvXpTCHXyNem0M+gWm6J7eRyWPR6vYoG/Gl+IscNOjXzztUhimQgTxaAoUoj40Qqimaa0NLIOOAH4w==", "dev": true, "license": "MIT", "dependencies": { "cac": "^6.7.14", "debug": "^4.4.0", - "es-module-lexer": "^1.7.0", + "es-module-lexer": "^1.6.0", "pathe": "^2.0.3", "vite": "^5.0.0 || ^6.0.0" }, @@ -10642,9 +10184,9 @@ } }, "node_modules/vite/node_modules/fdir": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", - "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==", + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", "dev": true, "license": "MIT", "peerDependencies": { @@ -10670,32 +10212,31 @@ } }, "node_modules/vitest": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.4.tgz", - "integrity": "sha512-Ta56rT7uWxCSJXlBtKgIlApJnT6e6IGmTYxYcmxjJ4ujuZDI59GUQgVDObXXJujOmPDBYXHK1qmaGtneu6TNIQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.1.tgz", + "integrity": "sha512-kiZc/IYmKICeBAZr9DQ5rT7/6bD9G7uqQEki4fxazi1jdVl2mWGzedtBs5s6llz59yQhVb7FFY2MbHzHCnT79Q==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "3.1.4", - "@vitest/mocker": "3.1.4", - "@vitest/pretty-format": "^3.1.4", - "@vitest/runner": "3.1.4", - "@vitest/snapshot": "3.1.4", - "@vitest/spy": "3.1.4", - "@vitest/utils": "3.1.4", + "@vitest/expect": "3.1.1", + "@vitest/mocker": "3.1.1", + "@vitest/pretty-format": "^3.1.1", + "@vitest/runner": "3.1.1", + "@vitest/snapshot": "3.1.1", + "@vitest/spy": "3.1.1", + "@vitest/utils": "3.1.1", "chai": "^5.2.0", "debug": "^4.4.0", - "expect-type": "^1.2.1", + "expect-type": "^1.2.0", "magic-string": "^0.30.17", "pathe": "^2.0.3", - "std-env": "^3.9.0", + "std-env": "^3.8.1", "tinybench": "^2.9.0", "tinyexec": "^0.3.2", - "tinyglobby": "^0.2.13", "tinypool": "^1.0.2", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.1.4", + "vite-node": "3.1.1", "why-is-node-running": "^2.3.0" }, "bin": { @@ -10711,8 +10252,8 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.1.4", - "@vitest/ui": "3.1.4", + "@vitest/browser": "3.1.1", + "@vitest/ui": "3.1.1", "happy-dom": "*", "jsdom": "*" }, @@ -10787,13 +10328,13 @@ } }, "node_modules/whatwg-url": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", - "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz", + "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==", "dev": true, "license": "MIT", "dependencies": { - "tr46": "^5.1.0", + "tr46": "^5.0.0", "webidl-conversions": "^7.0.0" }, "engines": { @@ -10817,45 +10358,41 @@ } }, "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "license": "MIT", "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", + "is-regex": "^1.1.4", "is-weakref": "^1.0.2", "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", + "which-boxed-primitive": "^1.0.2", "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -10884,18 +10421,16 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", "has-tostringtag": "^1.0.2" }, "engines": { @@ -10969,6 +10504,16 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -11018,9 +10563,9 @@ } }, "node_modules/ws": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", - "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "license": "MIT", "engines": { @@ -11073,16 +10618,16 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", - "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", + "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", "dev": true, "license": "ISC", "bin": { "yaml": "bin.mjs" }, "engines": { - "node": ">= 14.6" + "node": ">= 14" } }, "node_modules/yocto-queue": { @@ -11099,9 +10644,9 @@ } }, "node_modules/zod": { - "version": "3.25.41", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.41.tgz", - "integrity": "sha512-8+sDJTGtCYIDBhdqDygp0ffj8kzziRKqAJPhpYObbElJ+3TRe/mnlnwH+/OMa3kKhueS4Drm5UMW00/u1p07zA==", + "version": "3.24.2", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.2.tgz", + "integrity": "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" diff --git a/frontend/package.json b/frontend/package.json index 16cab1b75..0841cbc57 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -45,7 +45,7 @@ "lucide-react": "^0.453.0", "mini-svg-data-uri": "^1.4.4", "next": "15.2.4", - "next-themes": "^0.4.6", + "next-themes": "^0.3.0", "nuqs": "^2.4.1", "pocketbase": "^0.21.5", "prettier-plugin-organize-imports": "^4.1.0", @@ -53,7 +53,7 @@ "react-chartjs-2": "^5.3.0", "react-code-blocks": "^0.1.6", "react-datepicker": "^7.6.0", - "react-day-picker": "^9.7.0", + "react-day-picker": "8.10.1", "react-dom": "19.0.0", "react-icons": "^5.5.0", "react-simple-typewriter": "^5.0.1", From 463cc624435dacc63db3922fa4c9f6575b6bec10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sat, 31 May 2025 19:33:19 +0200 Subject: [PATCH 096/274] Fix libssl url (#4868) --- install/omada-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/omada-install.sh b/install/omada-install.sh index 8fddb1938..23b60ef53 100644 --- a/install/omada-install.sh +++ b/install/omada-install.sh @@ -36,7 +36,7 @@ msg_ok "Installed Azul Zulu Java" msg_info "Installing libssl (if needed)" if ! dpkg -l | grep -q 'libssl1.1'; then - curl -fsSL "https://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u2_amd64.deb" -o "/tmp/libssl.deb" + curl -fsSL "https://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u3_amd64.deb" -o "/tmp/libssl.deb" $STD dpkg -i /tmp/libssl.deb rm -f /tmp/libssl.deb msg_ok "Installed libssl1.1" From 9923094a54801609db9431f97a76a9ec9da59f79 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 31 May 2025 18:33:37 +0100 Subject: [PATCH 097/274] Update CHANGELOG.md (#4870) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ea9b624a2..443ffd517 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,18 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-05-31 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - Omada Controller: Fix libssl url [@tremor021](https://github.com/tremor021) ([#4868](https://github.com/community-scripts/ProxmoxVE/pull/4868)) + +### 🌐 Website + + - #### 🐞 Bug Fixes + + - Revert "Update package dependencies in package.json and package-lock.json (#4845) [@BramSuurdje](https://github.com/BramSuurdje) ([#4869](https://github.com/community-scripts/ProxmoxVE/pull/4869)) + ## 2025-05-30 ### 🚀 Updated Scripts From c8308da95ef87be3c23421dc4cb8ae04b66b8c1c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 31 May 2025 18:33:52 +0100 Subject: [PATCH 098/274] Update CHANGELOG.md (#4871) Co-authored-by: github-actions[bot] From 25de119cad838ef23bd614649881271c97056b53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sat, 31 May 2025 21:48:08 +0200 Subject: [PATCH 099/274] Remove Authentik script (#4867) --- ct/authentik.sh | 91 ------------- ct/headers/authentik | 6 - frontend/public/json/authentik.json | 44 ------- install/authentik-install.sh | 198 ---------------------------- 4 files changed, 339 deletions(-) delete mode 100644 ct/authentik.sh delete mode 100644 ct/headers/authentik delete mode 100644 frontend/public/json/authentik.json delete mode 100644 install/authentik-install.sh diff --git a/ct/authentik.sh b/ct/authentik.sh deleted file mode 100644 index 855978a6b..000000000 --- a/ct/authentik.sh +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2025 community-scripts ORG -# Author: remz1337 -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://goauthentik.io/ - -APP="Authentik" -var_tags="${var_tags:-identity-provider}" -var_disk="${var_disk:-12}" -var_cpu="${var_cpu:-6}" -var_ram="${var_ram:-10240}" -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 [[ ! -f /etc/systemd/system/authentik-server.service ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - RELEASE=$(curl -fsSL https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}') - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then - NODE_VERSION="22" - PG_VERSION="16" - setup_uv - install_postgresql - install_node_and_modules - install_go - - msg_info "Stopping ${APP}" - systemctl stop authentik-server - systemctl stop authentik-worker - msg_ok "Stopped ${APP}" - - msg_info "Building ${APP} website" - mkdir -p /opt/authentik - curl -fsSL "${RELEASE}" -o "authentik.tar.gz" - tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite - rm -rf authentik.tar.gz - cd /opt/authentik/website - $STD npm install - $STD npm run build-bundled - cd /opt/authentik/web - $STD npm install - $STD npm run build - msg_ok "Built ${APP} website" - - msg_info "Building ${APP} server" - cd /opt/authentik - go mod download - go build -o /go/authentik ./cmd/server - go build -o /opt/authentik/authentik-server /opt/authentik/cmd/server/ - msg_ok "Built ${APP} server" - - msg_info "Building Authentik" - cd /opt/authentik - $STD uv sync --frozen --no-install-project --no-dev - uv run python -m lifecycle.migrate - ln -s /opt/authentik/.venv/bin/gunicorn /usr/local/bin/gunicorn - ln -s /opt/authentik/.venv/bin/celery /usr/local/bin/celery - msg_ok "Authentik built" - - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ${APP} to v${RELEASE}" - - msg_info "Starting ${APP}" - systemctl start authentik-server - systemctl start authentik-worker - msg_ok "Started ${APP}" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" - fi - exit -} - -start -build_container -description - -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}:9000/if/flow/initial-setup/${CL}" diff --git a/ct/headers/authentik b/ct/headers/authentik deleted file mode 100644 index f609964e0..000000000 --- a/ct/headers/authentik +++ /dev/null @@ -1,6 +0,0 @@ - ___ __ __ __ _ __ - / | __ __/ /_/ /_ ___ ____ / /_(_) /__ - / /| |/ / / / __/ __ \/ _ \/ __ \/ __/ / //_/ - / ___ / /_/ / /_/ / / / __/ / / / /_/ / ,< -/_/ |_\__,_/\__/_/ /_/\___/_/ /_/\__/_/_/|_| - diff --git a/frontend/public/json/authentik.json b/frontend/public/json/authentik.json deleted file mode 100644 index e502842e2..000000000 --- a/frontend/public/json/authentik.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "authentik", - "slug": "authentik", - "categories": [ - 6 - ], - "date_created": "2024-12-27", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 9000, - "documentation": "https://docs.goauthentik.io/docs/", - "website": "https://goauthentik.io/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/authentik.webp", - "config_path": "/etc/authentik/config.yml", - "description": "authentik is an IdP (Identity Provider) and SSO (single sign on) that is built with security at the forefront of every piece of code, every feature, with an emphasis on flexibility and versatility.", - "install_methods": [ - { - "type": "default", - "script": "ct/authentik.sh", - "resources": { - "cpu": 6, - "ram": 10240, - "hdd": 12, - "os": "debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Authentik is very resource-heavy, it is recommended to use at least 10GB RAM anytime!", - "type": "warning" - }, - { - "text": "Some updates don't work due to massive dependency errors, it's recommended to do a backup before updating or a pg_dump and a new LXC.", - "type": "warning" - } - ] -} diff --git a/install/authentik-install.sh b/install/authentik-install.sh deleted file mode 100644 index 8ed0dacc3..000000000 --- a/install/authentik-install.sh +++ /dev/null @@ -1,198 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: remz1337 -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://goauthentik.io/ - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -msg_info "Installing Dependencies (Patience)" -$STD apt-get install -y \ - pkg-config \ - libffi-dev \ - build-essential \ - libpq-dev \ - libkrb5-dev \ - libssl-dev \ - libsqlite3-dev \ - tk-dev \ - libgdbm-dev \ - libc6-dev \ - libbz2-dev \ - zlib1g-dev \ - libxmlsec1 \ - libxmlsec1-dev \ - libxmlsec1-openssl \ - libmaxminddb0 \ - python3-pip \ - redis-server \ - git -msg_ok "Installed Dependencies" - -setup_uv -PG_VERSION="16" PG_MODULES="contrib" install_postgresql -NODE_VERSION="22" install_node_and_modules -install_go - -msg_info "Installing yq" -cd /tmp -YQ_LATEST="$(curl -fsSL https://api.github.com/repos/mikefarah/yq/releases/latest | grep -Po '"tag_name": "\K.*?(?=")')" -curl -fsSL "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -o /usr/bin/yq -chmod +x /usr/bin/yq -msg_ok "Installed yq" - -msg_info "Installing GeoIP" -cd /tmp -GEOIP_RELEASE=$(curl -fsSL https://api.github.com/repos/maxmind/geoipupdate/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/maxmind/geoipupdate/releases/download/v${GEOIP_RELEASE}/geoipupdate_${GEOIP_RELEASE}_linux_amd64.deb" -o "geoipupdate.deb" -$STD dpkg -i geoipupdate.deb -cat </etc/GeoIP.conf -#GEOIPUPDATE_EDITION_IDS="GeoLite2-City GeoLite2-ASN" -#GEOIPUPDATE_VERBOSE="1" -#GEOIPUPDATE_ACCOUNT_ID_FILE="/run/secrets/GEOIPUPDATE_ACCOUNT_ID" -#GEOIPUPDATE_LICENSE_KEY_FILE="/run/secrets/GEOIPUPDATE_LICENSE_KEY" -EOF -msg_ok "Installed GeoIP" - -msg_info "Setup PostgreSQL Database" -DB_NAME="authentik" -DB_USER="authentik" -DB_PASS="$(openssl rand -base64 18 | cut -c1-13)" -$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME;" -$STD sudo -u postgres psql -c "CREATE USER $DB_USER WITH PASSWORD '$DB_PASS';" -$STD sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;" -$STD sudo -u postgres psql -c "ALTER DATABASE $DB_NAME OWNER TO $DB_USER;" -$STD sudo -u postgres psql -c "ALTER USER $DB_USER WITH SUPERUSER;" -msg_ok "Installed PostgreSQL" - -msg_info "Installing authentik" -RELEASE=$(curl -fsSL https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}') -mkdir -p /opt/authentik -curl -fsSL "${RELEASE}" -o "authentik.tar.gz" -tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite -export NODE_OPTIONS="--max-old-space-size=4096" -cd /opt/authentik/website -$STD npm install -$STD npm run build-bundled - -cd /opt/authentik/web -$STD npm install -$STD npm run build - -cd /opt/authentik -$STD go mod download -$STD go build -o /go/authentik ./cmd/server -$STD go build -o /opt/authentik/authentik-server /opt/authentik/cmd/server/ -$STD uv sync --frozen --no-install-project --no-dev -#$STD pip3 install --no-cache-dir --upgrade pip -#$STD pip3 install --upgrade pip -#$STD pip3 install poetry poetry-plugin-export - -#ln -s /usr/local/bin/poetry /usr/bin/poetry -#$STD poetry install --only=main --no-ansi --no-interaction --no-root -#$STD poetry export --without-hashes --without-urls -f requirements.txt --output requirements.txt -#$STD pip install --no-cache-dir -r requirements.txt -#$STD pip install . -mkdir -p /etc/authentik -mv /opt/authentik/authentik/lib/default.yml /etc/authentik/config.yml -$STD yq -i ".secret_key = \"$(openssl rand -hex 32)\"" /etc/authentik/config.yml -$STD yq -i ".postgresql.password = \"${DB_PASS}\"" /etc/authentik/config.yml -$STD yq -i ".geoip = \"/opt/authentik/tests/GeoLite2-City-Test.mmdb\"" /etc/authentik/config.yml -cp -r /opt/authentik/authentik/blueprints /opt/authentik/blueprints -$STD yq -i ".blueprints_dir = \"/opt/authentik/blueprints\"" /etc/authentik/config.yml -#ln -s /usr/bin/python3 /usr/bin/python -#ln -s /usr/local/bin/gunicorn /usr/bin/gunicorn -#ln -s /usr/local/bin/celery /usr/bin/celery -#$STD bash /opt/authentik/lifecycle/ak migrate -cd /opt/authentik -uv run python -m lifecycle.migrate -ln -s /opt/authentik/.venv/bin/gunicorn /usr/local/bin/gunicorn -ln -s /opt/authentik/.venv/bin/celery /usr/local/bin/celery -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -msg_ok "Installed authentik" - -msg_info "Creating Services" -cat </etc/systemd/system/authentik-server.service -[Unit] -Description=authentik Go Server (API Gateway) -After=network.target -Wants=redis.service postgresql.service - -[Service] -WorkingDirectory=/opt/authentik/ -ExecStart=/opt/authentik/authentik-server -Restart=always -RestartSec=5 -Environment=DJANGO_SETTINGS_MODULE=authentik.root.settings - -[Install] -WantedBy=multi-user.target -EOF - -cat </etc/systemd/system/authentik-worker.service -[Unit] -Description=authentik Celery Worker -After=network.target redis.service postgresql.service -Requires=redis.service - -[Service] -Type=simple -WorkingDirectory=/opt/authentik -ExecStart=/opt/authentik/.venv/bin/celery \ - -A authentik.root.celery worker \ - -Ofair \ - --max-tasks-per-child=1 \ - --autoscale 3,1 \ - -Q authentik,authentik_scheduled,authentik_events \ - -E -Restart=always -RestartSec=5 -Environment=DJANGO_SETTINGS_MODULE=authentik.root.settings - -[Install] -WantedBy=multi-user.target -EOF - -cat </etc/systemd/system/authentik-celery-beat.service -[Unit] -Description=authentik Celery Beat Scheduler -After=network.target - -[Service] -Type=simple -WorkingDirectory=/opt/authentik -ExecStart=/opt/authentik/.venv/bin/celery \ - -A authentik.root.celery beat \ - -s /tmp/celerybeat-schedule -Restart=always -RestartSec=5 -#User=authentik -Environment=DJANGO_SETTINGS_MODULE=authentik.root.settings - -[Install] -WantedBy=multi-user.target -EOF - -systemctl enable -q --now authentik-server authentik-worker authentik-celery-beat -msg_ok "Created Services" - -motd_ssh -customize - -msg_info "Cleaning up" -rm -rf /tmp/Python-3.12.1 -rm -rf /tmp/Python.tgz -rm -rf go/ -rm -rf /tmp/geoipupdate.deb -rm -rf authentik.tar.gz -$STD apt-get -y remove yq -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" From e56436d3f2dd0b9f8d4307e826f9cb161ed23faa Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 31 May 2025 20:48:33 +0100 Subject: [PATCH 100/274] Update CHANGELOG.md (#4875) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 443ffd517..c8ea68d1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🌐 Website + - Remove Authentik script [@tremor021](https://github.com/tremor021) ([#4867](https://github.com/community-scripts/ProxmoxVE/pull/4867)) + - #### 🐞 Bug Fixes - Revert "Update package dependencies in package.json and package-lock.json (#4845) [@BramSuurdje](https://github.com/BramSuurdje) ([#4869](https://github.com/community-scripts/ProxmoxVE/pull/4869)) From 7af6bf3fe712a2ef878911e5e3c4493de52e7be1 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sat, 31 May 2025 22:16:52 +0200 Subject: [PATCH 101/274] ActualBudget: fix update check (file instead of folder check) (#4874) --- ct/actualbudget.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ct/actualbudget.sh b/ct/actualbudget.sh index 21da48ca9..6cd6188c6 100644 --- a/ct/actualbudget.sh +++ b/ct/actualbudget.sh @@ -24,7 +24,7 @@ function update_script() { check_container_storage check_container_resources - if [[ ! -d /opt/actualbudget ]]; then + if [[ ! -f /opt/actualbudget_version.txt ]]; then msg_error "No ${APP} Installation Found!" exit fi From 12723c33d0e7b45e58022851b2508b0db110afe4 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 31 May 2025 21:17:26 +0100 Subject: [PATCH 102/274] Update CHANGELOG.md (#4877) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c8ea68d1f..469b4b3a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,16 +20,19 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - ActualBudget: fix update check (file instead of folder check) [@MickLesk](https://github.com/MickLesk) ([#4874](https://github.com/community-scripts/ProxmoxVE/pull/4874)) - Omada Controller: Fix libssl url [@tremor021](https://github.com/tremor021) ([#4868](https://github.com/community-scripts/ProxmoxVE/pull/4868)) ### 🌐 Website - - Remove Authentik script [@tremor021](https://github.com/tremor021) ([#4867](https://github.com/community-scripts/ProxmoxVE/pull/4867)) - - #### 🐞 Bug Fixes - Revert "Update package dependencies in package.json and package-lock.json (#4845) [@BramSuurdje](https://github.com/BramSuurdje) ([#4869](https://github.com/community-scripts/ProxmoxVE/pull/4869)) +### 💥 Breaking Changes + + - Remove Authentik script [@tremor021](https://github.com/tremor021) ([#4867](https://github.com/community-scripts/ProxmoxVE/pull/4867)) + ## 2025-05-30 ### 🚀 Updated Scripts From 72c7abeb698df0c818b796d7b2c3f6a904fa0e25 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sat, 31 May 2025 22:19:08 +0200 Subject: [PATCH 103/274] Silverbullet: Fix Installation (wrong path) (#4873) --- install/silverbullet-install.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/install/silverbullet-install.sh b/install/silverbullet-install.sh index 590235e29..beb1aa4ea 100644 --- a/install/silverbullet-install.sh +++ b/install/silverbullet-install.sh @@ -16,7 +16,8 @@ update_os msg_info "Installing Silverbullet" RELEASE=$(curl -fsSL https://api.github.com/repos/silverbulletmd/silverbullet/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') mkdir -p /opt/silverbullet/bin /opt/silverbullet/space -curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o "/opt/silverbullet/bin/silverbullet-server-linux-x86_64.zip" +cd /opt +curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o "silverbullet-server-linux-x86_64.zip" $STD unzip -o -d /opt/silverbullet/bin/ silverbullet-server-linux-x86_64.zip chmod +x /opt/silverbullet/bin/silverbullet echo "${RELEASE}" >/opt/${APPLICATION}_version.txt @@ -46,7 +47,7 @@ motd_ssh customize msg_info "Cleaning up" -rm -rf silverbullet-server-linux-x86_64.zip +rm -rf /opt/silverbullet-server-linux-x86_64.zip $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From afaeadd77e2d21b54fb11034ef52d8e99b0a1e2a Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 31 May 2025 21:19:32 +0100 Subject: [PATCH 104/274] Update CHANGELOG.md (#4878) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 469b4b3a0..0e9532271 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - Silverbullet: Fix Installation (wrong path) [@MickLesk](https://github.com/MickLesk) ([#4873](https://github.com/community-scripts/ProxmoxVE/pull/4873)) - ActualBudget: fix update check (file instead of folder check) [@MickLesk](https://github.com/MickLesk) ([#4874](https://github.com/community-scripts/ProxmoxVE/pull/4874)) - Omada Controller: Fix libssl url [@tremor021](https://github.com/tremor021) ([#4868](https://github.com/community-scripts/ProxmoxVE/pull/4868)) From 5f175b4f7be0b19d037c35782fdf5d820cab7fdc Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 1 Jun 2025 02:17:38 +0200 Subject: [PATCH 105/274] Update versions.json (#4882) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 60 +++++++++++++++--------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 9fdb46e79..8e84b7ac8 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,34 @@ [ + { + "name": "home-assistant/core", + "version": "2025.5.3", + "date": "2025-05-23T15:10:33Z" + }, + { + "name": "kimai/kimai", + "version": "2.35.1", + "date": "2025-05-31T15:05:27Z" + }, + { + "name": "prometheus/prometheus", + "version": "v3.4.1", + "date": "2025-05-31T13:45:40Z" + }, + { + "name": "BookStackApp/BookStack", + "version": "v25.05", + "date": "2025-05-31T13:36:23Z" + }, + { + "name": "Forceu/Gokapi", + "version": "v2.0.0", + "date": "2025-05-31T12:32:40Z" + }, + { + "name": "blakeblackshear/frigate", + "version": "v0.14.1", + "date": "2024-08-29T22:32:51Z" + }, { "name": "firefly-iii/firefly-iii", "version": "v6.2.16", @@ -69,11 +99,6 @@ "version": "v25.0", "date": "2025-05-12T09:12:04Z" }, - { - "name": "home-assistant/core", - "version": "2025.5.3", - "date": "2025-05-23T15:10:33Z" - }, { "name": "binwiederhier/ntfy", "version": "v2.12.0", @@ -179,11 +204,6 @@ "version": "jenkins-2.504.2", "date": "2025-05-28T14:36:54Z" }, - { - "name": "kimai/kimai", - "version": "2.35.0", - "date": "2025-05-28T12:41:09Z" - }, { "name": "pocket-id/pocket-id", "version": "v1.1.0", @@ -464,11 +484,6 @@ "version": "v1.6.1", "date": "2025-03-15T17:29:17Z" }, - { - "name": "Forceu/Gokapi", - "version": "v1.9.6", - "date": "2024-12-18T14:35:37Z" - }, { "name": "Part-DB/Part-DB-server", "version": "v1.17.1", @@ -494,21 +509,11 @@ "version": "v25.05.2", "date": "2025-05-17T12:53:29Z" }, - { - "name": "BookStackApp/BookStack", - "version": "v25.02.5", - "date": "2025-05-17T11:24:01Z" - }, { "name": "Paymenter/Paymenter", "version": "v1.1.1", "date": "2025-05-17T10:10:36Z" }, - { - "name": "prometheus/prometheus", - "version": "v0.304.0", - "date": "2025-05-17T07:29:09Z" - }, { "name": "advplyr/audiobookshelf", "version": "v2.23.0", @@ -559,11 +564,6 @@ "version": "0.42.1", "date": "2020-06-07T07:27:04Z" }, - { - "name": "blakeblackshear/frigate", - "version": "v0.14.1", - "date": "2024-08-29T22:32:51Z" - }, { "name": "TandoorRecipes/recipes", "version": "2.0.0-alpha-4", From fc780646d2bf1f0c918b9063dbc8bc1c6ca3807f Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 1 Jun 2025 01:18:20 +0100 Subject: [PATCH 106/274] Update CHANGELOG.md (#4883) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e9532271..e3e55f69a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-06-01 + ## 2025-05-31 ### 🚀 Updated Scripts From 1fd24bd60d5143dac799779db10f53bce7e03e8e Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Sun, 1 Jun 2025 10:50:08 +0200 Subject: [PATCH 107/274] immich (#4886) --- ct/headers/immich | 6 + ct/immich.sh | 319 +++++++++++++++++++++ frontend/public/json/immich.json | 48 ++++ install/immich-install.sh | 459 +++++++++++++++++++++++++++++++ 4 files changed, 832 insertions(+) create mode 100644 ct/headers/immich create mode 100644 ct/immich.sh create mode 100644 frontend/public/json/immich.json create mode 100644 install/immich-install.sh diff --git a/ct/headers/immich b/ct/headers/immich new file mode 100644 index 000000000..3b08b432a --- /dev/null +++ b/ct/headers/immich @@ -0,0 +1,6 @@ + _ _ __ + (_)___ ___ ____ ___ (_)____/ /_ + / / __ `__ \/ __ `__ \/ / ___/ __ \ + / / / / / / / / / / / / / /__/ / / / +/_/_/ /_/ /_/_/ /_/ /_/_/\___/_/ /_/ + diff --git a/ct/immich.sh b/ct/immich.sh new file mode 100644 index 000000000..c925c52b0 --- /dev/null +++ b/ct/immich.sh @@ -0,0 +1,319 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: vhsdream +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://immich.app + +APP="immich" +var_tags="${var_tags:-photos}" +var_disk="${var_disk:-20}" +var_cpu="${var_cpu:-4}" +var_ram="${var_ram:-4096}" +var_os="${var_os:-debian}" +var_version="${var_version:-12}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/immich ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + STAGING_DIR=/opt/staging + BASE_DIR=${STAGING_DIR}/base-images + SOURCE_DIR=${STAGING_DIR}/image-source + if [[ -f ~/.intel_version ]]; then + curl -fsSLO https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/machine-learning/Dockerfile + readarray -t INTEL_URLS < <(sed -n "/intel/p" ./Dockerfile | awk '{print $3}') + INTEL_RELEASE="$(grep "intel-opencl-icd" ./Dockerfile | awk -F '_' '{print $2}')" + if [[ "$INTEL_RELEASE" != "$(cat ~/.intel_version)" ]]; then + msg_info "Updating Intel iGPU dependencies" + for url in "${INTEL_URLS[@]}"; do + curl -fsSLO "$url" + done + $STD dpkg -i ./*.deb + rm ./*.deb + msg_ok "Intel iGPU dependencies updated" + fi + rm ~/Dockerfile + fi + if [[ -f ~/.immich_library_revisions ]]; then + libraries=("libjxl" "libheif" "libraw" "imagemagick" "libvips") + readarray -d '' NEW_REVISIONS < <(for library in "${libraries[@]}"; do + echo "$library: $(curl -fsSL https://raw.githubusercontent.com/immich-app/base-images/refs/heads/main/server/sources/"$library".json | jq -cr '.revision' -)" + done) + UPDATED_REVISIONS="$(comm -13 <(sort ~/.immich_library_revisions) <(echo -n "${NEW_REVISIONS[@]}" | sort))" + if [[ "$UPDATED_REVISIONS" ]]; then + readarray -t NAMES < <(echo "$UPDATED_REVISIONS" | awk -F ':' '{print $1}') + rm -rf "$SOURCE_DIR" + mkdir -p "$SOURCE_DIR" + cd "$BASE_DIR" + $STD git pull + cd "$STAGING_DIR" + for name in "${NAMES[@]}"; do + if [[ "$name" == "libjxl" ]]; then + msg_info "Recompiling libjxl" + SOURCE=${SOURCE_DIR}/libjxl + JPEGLI_LIBJPEG_LIBRARY_SOVERSION="62" + JPEGLI_LIBJPEG_LIBRARY_VERSION="62.3.0" + : "${LIBJXL_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libjxl.json)}" + $STD git clone https://github.com/libjxl/libjxl.git "$SOURCE" + cd "$SOURCE" + $STD git reset --hard "$LIBJXL_REVISION" + $STD git submodule update --init --recursive --depth 1 --recommend-shallow + $STD git apply "$BASE_DIR"/server/sources/libjxl-patches/jpegli-empty-dht-marker.patch + $STD git apply "$BASE_DIR"/server/sources/libjxl-patches/jpegli-icc-warning.patch + mkdir build + cd build + $STD cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_TESTING=OFF \ + -DJPEGXL_ENABLE_DOXYGEN=OFF \ + -DJPEGXL_ENABLE_MANPAGES=OFF \ + -DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF \ + -DJPEGXL_ENABLE_BENCHMARK=OFF \ + -DJPEGXL_ENABLE_EXAMPLES=OFF \ + -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \ + -DJPEGXL_FORCE_SYSTEM_HWY=ON \ + -DJPEGXL_ENABLE_JPEGLI=ON \ + -DJPEGXL_ENABLE_JPEGLI_LIBJPEG=ON \ + -DJPEGXL_INSTALL_JPEGLI_LIBJPEG=ON \ + -DJPEGXL_ENABLE_PLUGINS=ON \ + -DJPEGLI_LIBJPEG_LIBRARY_SOVERSION="$JPEGLI_LIBJPEG_LIBRARY_SOVERSION" \ + -DJPEGLI_LIBJPEG_LIBRARY_VERSION="$JPEGLI_LIBJPEG_LIBRARY_VERSION" \ + -DLIBJPEG_TURBO_VERSION_NUMBER=2001005 \ + .. + $STD cmake --build . -- -j"$(nproc)" + $STD cmake --install . + ldconfig /usr/local/lib + $STD make clean + cd "$STAGING_DIR" + rm -rf "$SOURCE"/{build,third_party} + msg_ok "Recompiled libjxl" + fi + if [[ "$name" == "libheif" ]]; then + msg_info "Recompiling libheif" + SOURCE=${SOURCE_DIR}/libheif + : "${LIBHEIF_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libheif.json)}" + $STD git clone https://github.com/strukturag/libheif.git "$SOURCE" + cd "$SOURCE" + $STD git reset --hard "$LIBHEIF_REVISION" + mkdir build + cd build + $STD cmake --preset=release-noplugins \ + -DWITH_DAV1D=ON \ + -DENABLE_PARALLEL_TILE_DECODING=ON \ + -DWITH_LIBSHARPYUV=ON \ + -DWITH_LIBDE265=ON \ + -DWITH_AOM_DECODER=OFF \ + -DWITH_AOM_ENCODER=OFF \ + -DWITH_X265=OFF \ + -DWITH_EXAMPLES=OFF \ + .. + $STD make install -j "$(nproc)" + ldconfig /usr/local/lib + $STD make clean + cd "$STAGING_DIR" + rm -rf "$SOURCE"/build + msg_ok "Recompiled libheif" + fi + if [[ "$name" == "libraw" ]]; then + msg_info "Recompiling libraw" + SOURCE=${SOURCE_DIR}/libraw + : "${LIBRAW_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libraw.json)}" + $STD git clone https://github.com/libraw/libraw.git "$SOURCE" + cd "$SOURCE" + $STD git reset --hard "$LIBRAW_REVISION" + $STD autoreconf --install + $STD ./configure + $STD make -j"$(nproc)" + $STD make install + ldconfig /usr/local/lib + $STD make clean + cd "$STAGING_DIR" + msg_ok "Recompiled libraw" + fi + if [[ "$name" == "imagemagick" ]]; then + msg_info "Recompiling ImageMagick" + SOURCE=$SOURCE_DIR/imagemagick + : "${IMAGEMAGICK_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/imagemagick.json)}" + $STD git clone https://github.com/ImageMagick/ImageMagick.git "$SOURCE" + cd "$SOURCE" + $STD git reset --hard "$IMAGEMAGICK_REVISION" + $STD ./configure --with-modules + $STD make -j"$(nproc)" + $STD make install + ldconfig /usr/local/lib + $STD make clean + cd "$STAGING_DIR" + msg_ok "Recompiled ImageMagick" + fi + if [[ "$name" == "libvips" ]]; then + msg_info "Recompiling libvips" + SOURCE=$SOURCE_DIR/libvips + : "${LIBVIPS_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libvips.json)}" + $STD git clone https://github.com/libvips/libvips.git "$SOURCE" + cd "$SOURCE" + $STD git reset --hard "$LIBVIPS_REVISION" + $STD meson setup build --buildtype=release --libdir=lib -Dintrospection=disabled -Dtiff=disabled + cd build + $STD ninja install + ldconfig /usr/local/lib + cd "$STAGING_DIR" + rm -rf "$SOURCE"/build + msg_ok "Recompiled libvips" + fi + done + echo -n "${NEW_REVISIONS[@]}" >~/.immich_library_revisions + msg_ok "Image-processing libraries compiled" + fi + fi + RELEASE=$(curl -s https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then + msg_info "Stopping ${APP} services" + systemctl stop immich-web + systemctl stop immich-ml + msg_ok "Stopped ${APP}" + if [[ "$(cat /opt/${APP}_version.txt)" < "1.133.0" ]]; then + msg_info "Upgrading to the VectorChord PostgreSQL extension" + NUMBER="$( + sed -n '2p' <( + sudo -u postgres psql -A -d immich < 0 + AND c.relname = 'smart_search'::text + AND f.attname = 'embedding'::text; +EOF + ) + )" + $STD sudo -u postgres psql -d immich </opt/"${APP}"_version.txt + msg_ok "Updated ${APP} to v${RELEASE}" + + msg_info "Cleaning up" + rm -f "$immich_zip" + $STD apt-get -y autoremove + $STD apt-get -y autoclean + msg_ok "Cleaned" + else + msg_ok "${APP} is already at v${RELEASE}" + fi + systemctl restart immich-ml immich-web + 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}:2283${CL}" diff --git a/frontend/public/json/immich.json b/frontend/public/json/immich.json new file mode 100644 index 000000000..550b1713f --- /dev/null +++ b/frontend/public/json/immich.json @@ -0,0 +1,48 @@ +{ + "name": "Immich", + "slug": "immich", + "categories": [ + 13 + ], + "date_created": "2025-03-30", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 2283, + "documentation": "https://immich.app/docs/overview/introduction", + "website": "https://immich.app", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/immich.webp", + "config_path": "/opt/immich/.env", + "description": "High performance self-hosted photo and video management solution.", + "install_methods": [ + { + "type": "default", + "script": "ct/immich.sh", + "resources": { + "cpu": 4, + "ram": 4096, + "hdd": 20, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "During installation, HW-accelerated machine-learning (with OpenVINO) is an available option. This also allows for HW-accelerated transcoding, but it must be enabled in Video Transcoding Settings", + "type": "info" + }, + { + "text": "If using OpenVINO HW machine-learning, increase RAM because OpenVINO is memory-intensive", + "type": "info" + }, + { + "text": "To change upload location, edit 'IMMICH_MEDIA_LOCATION' in `/opt/immich/.env`", + "type": "info" + } + ] +} diff --git a/install/immich-install.sh b/install/immich-install.sh new file mode 100644 index 000000000..ae766de05 --- /dev/null +++ b/install/immich-install.sh @@ -0,0 +1,459 @@ +#!/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://immich.app + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Configuring apt and installing dependencies" +echo "deb http://deb.debian.org/debian testing main contrib" >/etc/apt/sources.list.d/immich.list +cat </etc/apt/preferences.d/immich +Package: * +Pin: release a=testing +Pin-Priority: -10 +EOF + +$STD apt-get update +$STD apt-get install --no-install-recommends -y \ + git \ + redis \ + autoconf \ + build-essential \ + python3-venv \ + python3-dev \ + cmake \ + jq \ + libbrotli-dev \ + libde265-dev \ + libexif-dev \ + libexpat1-dev \ + libglib2.0-dev \ + libgsf-1-dev \ + libjpeg62-turbo-dev \ + librsvg2-dev \ + libspng-dev \ + meson \ + ninja-build \ + pkg-config \ + cpanminus \ + libde265-0 \ + libexif12 \ + libexpat1 \ + libgcc-s1 \ + libglib2.0-0 \ + libgomp1 \ + libgsf-1-114 \ + liblcms2-dev \ + liblqr-1-0 \ + libltdl7 \ + libmimalloc2.0 \ + libopenexr-dev \ + libgif-dev \ + libopenjp2-7 \ + librsvg2-2 \ + libspng0 \ + mesa-utils \ + mesa-va-drivers \ + mesa-vulkan-drivers \ + tini \ + zlib1g +$STD apt-get install -y \ + libgdk-pixbuf-2.0-dev librsvg2-dev libtool +curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key | gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg +DPKG_ARCHITECTURE="$(dpkg --print-architecture)" +export DPKG_ARCHITECTURE +cat </etc/apt/sources.list.d/jellyfin.sources +Types: deb +URIs: https://repo.jellyfin.org/debian +Suites: bookworm +Components: main +Architectures: ${DPKG_ARCHITECTURE} +Signed-By: /etc/apt/keyrings/jellyfin.gpg +EOF +$STD apt-get update +$STD apt-get install -y jellyfin-ffmpeg7 +ln -s /usr/lib/jellyfin-ffmpeg/ffmpeg /usr/bin/ffmpeg +ln -s /usr/lib/jellyfin-ffmpeg/ffprobe /usr/bin/ffprobe +msg_ok "Dependencies Installed" + +NODE_VERSION="22" install_node_and_modules +PG_VERSION="16" install_postgresql + +read -r -p "Install OpenVINO dependencies for Intel HW-accelerated machine-learning? " prompt +if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then + msg_info "Installing OpenVINO dependencies" + touch ~/.openvino + $STD apt-get -y install --no-install-recommends ocl-icd-libopencl1 + tmp_dir=$(mktemp -d) + $STD pushd "$tmp_dir" + curl -fsSL https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17384.11/intel-igc-core_1.0.17384.11_amd64.deb -O + curl -fsSL https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17384.11/intel-igc-opencl_1.0.17384.11_amd64.deb -O + curl -fsSL https://github.com/intel/compute-runtime/releases/download/24.31.30508.7/intel-opencl-icd_24.31.30508.7_amd64.deb -O + curl -fsSL https://github.com/intel/compute-runtime/releases/download/24.31.30508.7/libigdgmm12_22.4.1_amd64.deb -O + $STD dpkg -i ./*.deb + $STD popd + rm -rf "$tmp_dir" + dpkg -l | grep "intel-opencl-icd" | awk '{print $3}' >~/.intel_version + 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 + fi + msg_ok "Installed OpenVINO dependencies" +fi + +msg_info "Setting up Postgresql Database" +$STD apt-get install postgresql-16-pgvector +curl -fsSL https://github.com/tensorchord/VectorChord/releases/download/0.3.0/postgresql-16-vchord_0.3.0-1_amd64.deb -o vchord.deb +$STD dpkg -i vchord.deb +rm vchord.deb +DB_NAME="immich" +DB_USER="immich" +DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c18) +sed -i -e "/^#shared_preload/s/^#//;/^shared_preload/s/''/'vchord.so'/" /etc/postgresql/16/main/postgresql.conf +systemctl restart postgresql.service +$STD sudo -u postgres psql -c "CREATE USER $DB_USER WITH ENCRYPTED PASSWORD '$DB_PASS';" +$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;" +$STD sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME to $DB_USER;" +$STD sudo -u postgres psql -c "ALTER USER $DB_USER WITH SUPERUSER;" +{ + echo "${APPLICATION} DB Credentials" + echo "Database User: $DB_USER" + echo "Database Password: $DB_PASS" + echo "Database Name: $DB_NAME" +} >>~/"$APPLICATION".creds +msg_ok "Set up Postgresql Database" + +msg_info "Installing Packages from Testing Repo" +export APT_LISTCHANGES_FRONTEND=none +export DEBIAN_FRONTEND=noninteractive +$STD apt-get install -t testing --no-install-recommends -y \ + libio-compress-brotli-perl \ + libwebp7 \ + libwebpdemux2 \ + libwebpmux3 \ + libhwy1t64 \ + libdav1d-dev \ + libhwy-dev \ + libwebp-dev +if [[ -f ~/.openvino ]]; then + $STD apt-get install -t testing -y patchelf +fi +msg_ok "Packages from Testing Repo Installed" + +# Fix default DB collation issue after libc update +$STD sudo -u postgres psql -c "ALTER DATABASE postgres REFRESH COLLATION VERSION;" +$STD sudo -u postgres psql -c "ALTER DATABASE $DB_NAME REFRESH COLLATION VERSION;" + +msg_info "Compiling Custom Photo-processing Library (extreme patience)" +LD_LIBRARY_PATH=/usr/local/lib +export LD_RUN_PATH=/usr/local/lib +STAGING_DIR=/opt/staging +BASE_REPO="https://github.com/immich-app/base-images" +BASE_DIR=${STAGING_DIR}/base-images +SOURCE_DIR=${STAGING_DIR}/image-source +$STD git clone -b main "$BASE_REPO" "$BASE_DIR" +mkdir -p "$SOURCE_DIR" + +cd "$STAGING_DIR" +SOURCE=${SOURCE_DIR}/libjxl +JPEGLI_LIBJPEG_LIBRARY_SOVERSION="62" +JPEGLI_LIBJPEG_LIBRARY_VERSION="62.3.0" +: "${LIBJXL_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libjxl.json)}" +$STD git clone https://github.com/libjxl/libjxl.git "$SOURCE" +cd "$SOURCE" +$STD git reset --hard "$LIBJXL_REVISION" +$STD git submodule update --init --recursive --depth 1 --recommend-shallow +$STD git apply "$BASE_DIR"/server/sources/libjxl-patches/jpegli-empty-dht-marker.patch +$STD git apply "$BASE_DIR"/server/sources/libjxl-patches/jpegli-icc-warning.patch +mkdir build +cd build +$STD cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_TESTING=OFF \ + -DJPEGXL_ENABLE_DOXYGEN=OFF \ + -DJPEGXL_ENABLE_MANPAGES=OFF \ + -DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF \ + -DJPEGXL_ENABLE_BENCHMARK=OFF \ + -DJPEGXL_ENABLE_EXAMPLES=OFF \ + -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \ + -DJPEGXL_FORCE_SYSTEM_HWY=ON \ + -DJPEGXL_ENABLE_JPEGLI=ON \ + -DJPEGXL_ENABLE_JPEGLI_LIBJPEG=ON \ + -DJPEGXL_INSTALL_JPEGLI_LIBJPEG=ON \ + -DJPEGXL_ENABLE_PLUGINS=ON \ + -DJPEGLI_LIBJPEG_LIBRARY_SOVERSION="$JPEGLI_LIBJPEG_LIBRARY_SOVERSION" \ + -DJPEGLI_LIBJPEG_LIBRARY_VERSION="$JPEGLI_LIBJPEG_LIBRARY_VERSION" \ + -DLIBJPEG_TURBO_VERSION_NUMBER=2001005 \ + .. +$STD cmake --build . -- -j"$(nproc)" +$STD cmake --install . +ldconfig /usr/local/lib +$STD make clean +cd "$STAGING_DIR" +rm -rf "$SOURCE"/{build,third_party} + +SOURCE=${SOURCE_DIR}/libheif +: "${LIBHEIF_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libheif.json)}" +$STD git clone https://github.com/strukturag/libheif.git "$SOURCE" +cd "$SOURCE" +$STD git reset --hard "$LIBHEIF_REVISION" +mkdir build +cd build +$STD cmake --preset=release-noplugins \ + -DWITH_DAV1D=ON \ + -DENABLE_PARALLEL_TILE_DECODING=ON \ + -DWITH_LIBSHARPYUV=ON \ + -DWITH_LIBDE265=ON \ + -DWITH_AOM_DECODER=OFF \ + -DWITH_AOM_ENCODER=OFF \ + -DWITH_X265=OFF \ + -DWITH_EXAMPLES=OFF \ + .. +$STD make install -j "$(nproc)" +ldconfig /usr/local/lib +$STD make clean +cd "$STAGING_DIR" +rm -rf "$SOURCE"/build + +SOURCE=${SOURCE_DIR}/libraw +: "${LIBRAW_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libraw.json)}" +$STD git clone https://github.com/libraw/libraw.git "$SOURCE" +cd "$SOURCE" +$STD git reset --hard "$LIBRAW_REVISION" +$STD autoreconf --install +$STD ./configure +$STD make -j"$(nproc)" +$STD make install +ldconfig /usr/local/lib +$STD make clean +cd "$STAGING_DIR" + +SOURCE=$SOURCE_DIR/imagemagick +: "${IMAGEMAGICK_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/imagemagick.json)}" +$STD git clone https://github.com/ImageMagick/ImageMagick.git "$SOURCE" +cd "$SOURCE" +$STD git reset --hard "$IMAGEMAGICK_REVISION" +$STD ./configure --with-modules +$STD make -j"$(nproc)" +$STD make install +ldconfig /usr/local/lib +$STD make clean +cd "$STAGING_DIR" + +SOURCE=$SOURCE_DIR/libvips +: "${LIBVIPS_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libvips.json)}" +$STD git clone https://github.com/libvips/libvips.git "$SOURCE" +cd "$SOURCE" +$STD git reset --hard "$LIBVIPS_REVISION" +$STD meson setup build --buildtype=release --libdir=lib -Dintrospection=disabled -Dtiff=disabled +cd build +$STD ninja install +ldconfig /usr/local/lib +cd "$STAGING_DIR" +rm -rf "$SOURCE"/build +{ + echo "imagemagick: $IMAGEMAGICK_REVISION" + echo "libheif: $LIBHEIF_REVISION" + echo "libjxl: $LIBJXL_REVISION" + echo "libraw: $LIBRAW_REVISION" + echo "libvips: $LIBVIPS_REVISION" +} >~/.immich_library_revisions +msg_ok "Custom Photo-processing Library Compiled" + +msg_info "Installing ${APPLICATION} (more patience please)" +tmp_file=$(mktemp) +RELEASE=$(curl -s https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/immich-app/immich/archive/refs/tags/v${RELEASE}.zip" -o "$tmp_file" +unzip -q "$tmp_file" +INSTALL_DIR="/opt/${APPLICATION}" +UPLOAD_DIR="${INSTALL_DIR}/upload" +SRC_DIR="${INSTALL_DIR}/source" +APP_DIR="${INSTALL_DIR}/app" +ML_DIR="${APP_DIR}/machine-learning" +GEO_DIR="${INSTALL_DIR}/geodata" +mkdir -p "$INSTALL_DIR" +mv "$APPLICATION-$RELEASE"/ "$SRC_DIR" +mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${ML_DIR}","${INSTALL_DIR}"/cache} + +cd "$SRC_DIR"/server +$STD npm install -g node-gyp node-pre-gyp +$STD npm ci +$STD npm run build +$STD npm prune --omit=dev --omit=optional +cd "$SRC_DIR"/open-api/typescript-sdk +$STD npm ci +$STD npm run build +cd "$SRC_DIR"/web +$STD npm ci +$STD npm run build +cd "$SRC_DIR" +cp -a server/{node_modules,dist,bin,resources,package.json,package-lock.json,start*.sh} "$APP_DIR"/ +cp -a web/build "$APP_DIR"/www +cp LICENSE "$APP_DIR" +msg_ok "Installed Immich Web Components" + +cd "$SRC_DIR"/machine-learning +$STD python3 -m venv "$ML_DIR/ml-venv" +if [[ -f ~/.openvino ]]; then + msg_info "Installing HW-accelerated machine-learning" + ( + source "$ML_DIR"/ml-venv/bin/activate + $STD pip3 install uv + uv -q sync --extra openvino --no-cache --active + ) + patchelf --clear-execstack "$ML_DIR"/ml-venv/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so + msg_ok "Installed HW-accelerated machine-learning" +else + msg_info "Installing machine-learning" + ( + source "$ML_DIR"/ml-venv/bin/activate + $STD pip3 install uv + uv -q sync --extra cpu --no-cache --active + ) + msg_ok "Installed machine-learning" +fi +cd "$SRC_DIR" +cp -a machine-learning/{ann,immich_ml} "$ML_DIR" +if [[ -f ~/.openvino ]]; then + sed -i "/intra_op/s/int = 0/int = os.cpu_count() or 0/" "$ML_DIR"/immich_ml/config.py +fi +ln -sf "$APP_DIR"/resources "$INSTALL_DIR" + +cd "$APP_DIR" +grep -Rl /usr/src | xargs -n1 sed -i "s|\/usr/src|$INSTALL_DIR|g" +grep -RlE "'/build'" | xargs -n1 sed -i "s|'/build'|'$APP_DIR'|g" +sed -i "s@\"/cache\"@\"$INSTALL_DIR/cache\"@g" "$ML_DIR"/immich_ml/config.py +ln -s "$UPLOAD_DIR" "$APP_DIR"/upload +ln -s "$UPLOAD_DIR" "$ML_DIR"/upload + +msg_info "Installing Immich CLI" +$STD npm install --build-from-source sharp +rm -rf "$APP_DIR"/node_modules/@img/sharp-{libvips*,linuxmusl-x64} +$STD npm i -g @immich/cli +msg_ok "Installed Immich CLI" + +msg_info "Installing GeoNames data" +cd "$GEO_DIR" +URL_LIST=( + https://download.geonames.org/export/dump/admin1CodesASCII.txt + https://download.geonames.org/export/dump/admin2Codes.txt + https://download.geonames.org/export/dump/cities500.zip + https://raw.githubusercontent.com/nvkelso/natural-earth-vector/v5.1.2/geojson/ne_10m_admin_0_countries.geojson +) +echo "${URL_LIST[@]}" | xargs -n1 -P 8 wget -q +unzip -q cities500.zip +date --iso-8601=seconds | tr -d "\n" >geodata-date.txt +rm cities500.zip +cd "$INSTALL_DIR" +ln -s "$GEO_DIR" "$APP_DIR" +msg_ok "Installed GeoNames data" + +mkdir -p /var/log/immich +touch /var/log/immich/{web.log,ml.log} +echo "$RELEASE" >/opt/"${APPLICATION}"_version.txt +msg_ok "Installed ${APPLICATION}" + +msg_info "Creating user, env file, scripts & services" +$STD useradd -U -s /usr/sbin/nologin -r -M -d "$INSTALL_DIR" immich +if [[ -f ~/.openvino ]]; then + usermod -aG video,render immich +fi +cat <"${INSTALL_DIR}"/.env +TZ=$(cat /etc/timezone) +IMMICH_VERSION=release +NODE_ENV=production + +DB_HOSTNAME=127.0.0.1 +DB_USERNAME=${DB_USER} +DB_PASSWORD=${DB_PASS} +DB_DATABASE_NAME=${DB_NAME} +DB_VECTOR_EXTENSION=vectorchord + +REDIS_HOSTNAME=127.0.0.1 +IMMICH_MACHINE_LEARNING_URL=http://127.0.0.1:3003 +MACHINE_LEARNING_CACHE_FOLDER=${INSTALL_DIR}/cache + +IMMICH_MEDIA_LOCATION=${UPLOAD_DIR} +EOF +cat <"${ML_DIR}"/ml_start.sh +#!/usr/bin/env bash + +cd ${ML_DIR} +. ml-venv/bin/activate + +set -a +. ${INSTALL_DIR}/.env +set +a + +python -m immich_ml +EOF +chmod +x "$ML_DIR"/ml_start.sh +cat </etc/systemd/system/"${APPLICATION}"-web.service +[Unit] +Description=${APPLICATION} Web Service +After=network.target +Requires=redis-server.service +Requires=postgresql.service +Requires=immich-ml.service + +[Service] +Type=simple +User=immich +Group=immich +UMask=0077 +WorkingDirectory=${APP_DIR} +EnvironmentFile=${INSTALL_DIR}/.env +ExecStart=/usr/bin/node ${APP_DIR}/dist/main +Restart=on-failure +SyslogIdentifier=immich-web +StandardOutput=append:/var/log/immich/web.log +StandardError=append:/var/log/immich/web.log + +[Install] +WantedBy=multi-user.target +EOF +cat </etc/systemd/system/"${APPLICATION}"-ml.service +[Unit] +Description=${APPLICATION} Machine-Learning +After=network.target + +[Service] +Type=simple +UMask=0077 +User=immich +Group=immich +WorkingDirectory=${APP_DIR} +EnvironmentFile=${INSTALL_DIR}/.env +ExecStart=${ML_DIR}/ml_start.sh +Restart=on-failure +SyslogIdentifier=immich-machine-learning +StandardOutput=append:/var/log/immich/ml.log +StandardError=append:/var/log/immich/ml.log + +[Install] +WantedBy=multi-user.target +EOF +chown -R immich:immich "$INSTALL_DIR" /var/log/immich +systemctl enable -q --now "$APPLICATION"-ml.service "$APPLICATION"-web.service +msg_ok "Created user, env file, scripts and services" + +sed -i "$ a VERSION_ID=12" /etc/os-release # otherwise the motd_ssh function will fail +motd_ssh +customize + +msg_info "Cleaning up" +rm -f "$tmp_file" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From ac3d8c6b5477e12d49dbc89c9c20660d572b93d0 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 1 Jun 2025 09:50:30 +0100 Subject: [PATCH 108/274] Update date in json (#4888) Co-authored-by: GitHub Actions --- frontend/public/json/immich.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/immich.json b/frontend/public/json/immich.json index 550b1713f..845f31efb 100644 --- a/frontend/public/json/immich.json +++ b/frontend/public/json/immich.json @@ -4,7 +4,7 @@ "categories": [ 13 ], - "date_created": "2025-03-30", + "date_created": "2025-06-01", "type": "ct", "updateable": true, "privileged": false, From 82707e1defc8c666cf84c151f7dd41723fbdb1ba Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 1 Jun 2025 09:50:50 +0100 Subject: [PATCH 109/274] Update CHANGELOG.md (#4889) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e3e55f69a..51ed4a16d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-01 +### 🆕 New Scripts + + - immich ([#4886](https://github.com/community-scripts/ProxmoxVE/pull/4886)) + ## 2025-05-31 ### 🚀 Updated Scripts From a413750562b790fedb5e4890b7efa8f40fa1f54c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 1 Jun 2025 09:52:07 +0100 Subject: [PATCH 110/274] Update CHANGELOG.md (#4890) Co-authored-by: github-actions[bot] From 1a49970ae22ce5f5463477c025ad8fb87edf4e89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sun, 1 Jun 2025 10:52:56 +0200 Subject: [PATCH 111/274] Add note to json about credentials (#4887) --- frontend/public/json/adventurelog.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frontend/public/json/adventurelog.json b/frontend/public/json/adventurelog.json index 95753564e..5502eb0e5 100644 --- a/frontend/public/json/adventurelog.json +++ b/frontend/public/json/adventurelog.json @@ -35,6 +35,10 @@ { "text": "AdventureLog uses an initial local IP, if you change your LXC-IP, you need to change the IP here: `/opt/adventurelog/backend/server/.env` and here: `/opt/adventurelog/frontend/.env`", "type": "warning" + }, + { + "text": "Use `cat ~/adventurelog.creds` to see login credentials.", + "type": "info" } ] } From 7afae355537e29e5036a90f12bb0f4edbc655d6f Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 1 Jun 2025 09:55:50 +0100 Subject: [PATCH 112/274] Update CHANGELOG.md (#4891) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51ed4a16d..0d169a5af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,12 @@ All LXC instances created using this repository come pre-installed with Midnight - immich ([#4886](https://github.com/community-scripts/ProxmoxVE/pull/4886)) +### 🌐 Website + + - #### 📝 Script Information + + - AdventureLog: add login credentials info [@tremor021](https://github.com/tremor021) ([#4887](https://github.com/community-scripts/ProxmoxVE/pull/4887)) + ## 2025-05-31 ### 🚀 Updated Scripts From a174177357efdfa494465f2ec649a0cb53b4952d Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 1 Jun 2025 14:06:59 +0200 Subject: [PATCH 113/274] Update versions.json (#4893) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 66 +++++++++++++++--------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 8e84b7ac8..3dc8229ee 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,34 @@ [ + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.16", + "date": "2025-05-27T16:27:42Z" + }, + { + "name": "msgbyte/tianji", + "version": "v1.21.3", + "date": "2025-06-01T10:27:50Z" + }, + { + "name": "evcc-io/evcc", + "version": "0.204.1", + "date": "2025-06-01T08:19:18Z" + }, + { + "name": "Radarr/Radarr", + "version": "v5.25.0.10024", + "date": "2025-05-26T21:58:37Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1975", + "date": "2025-06-01T05:58:55Z" + }, + { + "name": "gethomepage/homepage", + "version": "v1.3.0", + "date": "2025-06-01T02:03:31Z" + }, { "name": "home-assistant/core", "version": "2025.5.3", @@ -30,14 +60,9 @@ "date": "2024-08-29T22:32:51Z" }, { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.16", - "date": "2025-05-27T16:27:42Z" - }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1974", - "date": "2025-05-31T05:50:58Z" + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" }, { "name": "goauthentik/authentik", @@ -64,11 +89,6 @@ "version": "e5.10.0-beta.1", "date": "2025-05-30T16:49:17Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.21.2", - "date": "2025-05-30T15:17:34Z" - }, { "name": "element-hq/synapse", "version": "test-pro", @@ -79,21 +99,11 @@ "version": "v0.20.0", "date": "2025-05-30T14:39:51Z" }, - { - "name": "evcc-io/evcc", - "version": "0.204.0", - "date": "2025-05-30T14:39:02Z" - }, { "name": "wazuh/wazuh", "version": "coverity-w22-4.13.0", "date": "2025-05-26T15:04:48Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.5", - "date": "2025-05-28T06:49:43Z" - }, { "name": "nzbgetcom/nzbget", "version": "v25.0", @@ -274,11 +284,6 @@ "version": "v2.14.12", "date": "2025-05-27T03:58:59Z" }, - { - "name": "Radarr/Radarr", - "version": "v5.25.0.10024", - "date": "2025-05-26T21:58:37Z" - }, { "name": "dani-garcia/vaultwarden", "version": "1.34.1", @@ -749,11 +754,6 @@ "version": "deluge-2.2.0", "date": "2025-04-28T21:31:06Z" }, - { - "name": "gethomepage/homepage", - "version": "v1.2.0", - "date": "2025-04-28T17:55:01Z" - }, { "name": "karakeep-app/karakeep", "version": "v0.24.1", From 85dd171b480af76d70e940d699d0f85c9071fa7c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 02:15:25 +0200 Subject: [PATCH 114/274] Update versions.json (#4902) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 80 +++++++++++++++--------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 3dc8229ee..052338489 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,39 @@ [ + { + "name": "advplyr/audiobookshelf", + "version": "v2.24.0", + "date": "2025-06-01T21:38:08Z" + }, + { + "name": "TriliumNext/Notes", + "version": "v0.93.0", + "date": "2025-04-17T20:05:25Z" + }, + { + "name": "traccar/traccar", + "version": "v6.7.2", + "date": "2025-06-01T20:40:00Z" + }, + { + "name": "gethomepage/homepage", + "version": "v1.3.2", + "date": "2025-06-01T19:02:46Z" + }, + { + "name": "Koenkk/zigbee2mqtt", + "version": "2.4.0", + "date": "2025-06-01T18:08:44Z" + }, + { + "name": "OliveTin/OliveTin", + "version": "2025.6.1", + "date": "2025-06-01T12:31:14Z" + }, + { + "name": "runtipi/runtipi", + "version": "v4.2.0", + "date": "2025-06-01T12:31:14Z" + }, { "name": "firefly-iii/firefly-iii", "version": "v6.2.16", @@ -24,11 +59,6 @@ "version": "v0.22.1975", "date": "2025-06-01T05:58:55Z" }, - { - "name": "gethomepage/homepage", - "version": "v1.3.0", - "date": "2025-06-01T02:03:31Z" - }, { "name": "home-assistant/core", "version": "2025.5.3", @@ -139,6 +169,11 @@ "version": "v1.84.1", "date": "2025-05-29T17:41:04Z" }, + { + "name": "influxdata/influxdb", + "version": "v2.7.12", + "date": "2025-05-29T17:08:26Z" + }, { "name": "HabitRPG/habitica", "version": "v5.36.5", @@ -174,11 +209,6 @@ "version": "v10.6.1", "date": "2025-05-29T13:36:09Z" }, - { - "name": "runtipi/runtipi", - "version": "v4.1.1", - "date": "2025-05-16T17:37:30Z" - }, { "name": "duplicati/duplicati", "version": "v2.1.0.119-2.1.0.119_canary_2025-05-29", @@ -204,11 +234,6 @@ "version": "r6.0.24", "date": "2025-05-28T21:25:03Z" }, - { - "name": "influxdata/influxdb", - "version": "v3.1.0", - "date": "2025-05-28T18:48:34Z" - }, { "name": "jenkinsci/jenkins", "version": "jenkins-2.504.2", @@ -309,11 +334,6 @@ "version": "6.3.0-beta.3", "date": "2025-05-26T12:40:56Z" }, - { - "name": "OliveTin/OliveTin", - "version": "2025.5.26", - "date": "2025-05-26T11:30:11Z" - }, { "name": "Luligu/matterbridge", "version": "3.0.4", @@ -369,11 +389,6 @@ "version": "v0.28.2", "date": "2025-05-24T07:59:15Z" }, - { - "name": "traccar/traccar", - "version": "v6.7.1", - "date": "2025-05-24T04:51:02Z" - }, { "name": "docker/compose", "version": "v2.36.2", @@ -519,11 +534,6 @@ "version": "v1.1.1", "date": "2025-05-17T10:10:36Z" }, - { - "name": "advplyr/audiobookshelf", - "version": "v2.23.0", - "date": "2025-05-16T22:13:53Z" - }, { "name": "NodeBB/NodeBB", "version": "v4.4.1", @@ -714,11 +724,6 @@ "version": "v3.5.4", "date": "2025-05-02T13:42:06Z" }, - { - "name": "Koenkk/zigbee2mqtt", - "version": "2.3.0", - "date": "2025-05-01T18:24:31Z" - }, { "name": "WordPress/WordPress", "version": "6.8.1", @@ -819,11 +824,6 @@ "version": "v2.10.0", "date": "2025-04-18T20:46:28Z" }, - { - "name": "TriliumNext/Notes", - "version": "v0.93.0", - "date": "2025-04-17T20:05:25Z" - }, { "name": "benzino77/tasmocompiler", "version": "v12.6.1", From 60ae9bba5df0c62320523007313e900e1e2b57a6 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 01:16:11 +0100 Subject: [PATCH 115/274] Update CHANGELOG.md (#4903) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d169a5af..51e73ac56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-06-02 + ## 2025-06-01 ### 🆕 New Scripts From 04ee11aab76eadbc547197f6c5359ebb1991b6ef Mon Sep 17 00:00:00 2001 From: Bidyut Mukherjee Date: Mon, 2 Jun 2025 01:25:09 -0500 Subject: [PATCH 116/274] Fix tinyauth configuration parsing (#4901) Co-authored-by: Bidyut Mukherjee --- install/alpine-tinyauth-install.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/install/alpine-tinyauth-install.sh b/install/alpine-tinyauth-install.sh index a96bac541..f24bbe4f8 100644 --- a/install/alpine-tinyauth-install.sh +++ b/install/alpine-tinyauth-install.sh @@ -61,7 +61,15 @@ pidfile="/var/run/tinyauth.pid" start_pre() { if [ -f "/opt/tinyauth/.env" ]; then - export \$(grep -v '^#' /opt/tinyauth/.env | xargs) + while IFS= read -r line || [ -n "$line" ]; do + [ -z "$line" ] && continue + case "$line" in + '#'*) + continue + ;; + esac + export "$line" + done < "/opt/tinyauth/.env" fi } From 6239075c2da87fcccaee822c678974e8b2315e70 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 07:25:36 +0100 Subject: [PATCH 117/274] Update CHANGELOG.md (#4904) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51e73ac56..082872f6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-02 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - Fix alpine-tinyauth env configuration parsing logic [@gokussjx](https://github.com/gokussjx) ([#4901](https://github.com/community-scripts/ProxmoxVE/pull/4901)) + ## 2025-06-01 ### 🆕 New Scripts From 87f6c9ebde952a8d226025e1b1d209ec4ad62dec Mon Sep 17 00:00:00 2001 From: risc Date: Mon, 2 Jun 2025 02:56:23 -0500 Subject: [PATCH 118/274] Display default password even if there isn't a default username (#4900) This fixes the display of the Deluge script. --- .../ScriptItems/DefaultPassword.tsx | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/frontend/src/app/scripts/_components/ScriptItems/DefaultPassword.tsx b/frontend/src/app/scripts/_components/ScriptItems/DefaultPassword.tsx index 5034bc939..8c5a3d00f 100644 --- a/frontend/src/app/scripts/_components/ScriptItems/DefaultPassword.tsx +++ b/frontend/src/app/scripts/_components/ScriptItems/DefaultPassword.tsx @@ -5,7 +5,7 @@ import { Script } from "@/lib/types"; export default function DefaultPassword({ item }: { item: Script }) { const { username, password } = item.default_credentials; - const hasDefaultLogin = username && password; + const hasDefaultLogin = username || password; if (!hasDefaultLogin) return null; @@ -23,14 +23,17 @@ export default function DefaultPassword({ item }: { item: Script }) {

You can use the following credentials to login to the {item.name} {item.type}.

- {["username", "password"].map((type) => ( -
- {type.charAt(0).toUpperCase() + type.slice(1)}:{" "} - -
- ))} + {["username", "password"].map((type) => { + const value = item.default_credentials[type as "username" | "password"]; + return value && value.trim() !== "" ? ( +
+ {type.charAt(0).toUpperCase() + type.slice(1)}:{" "} + +
+ ) : null; + })} ); From 6ee8349d283acdc860aa9994168d0c776792e651 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 08:56:48 +0100 Subject: [PATCH 119/274] Update CHANGELOG.md (#4905) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 082872f6d..0cce19993 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,12 @@ All LXC instances created using this repository come pre-installed with Midnight - Fix alpine-tinyauth env configuration parsing logic [@gokussjx](https://github.com/gokussjx) ([#4901](https://github.com/community-scripts/ProxmoxVE/pull/4901)) +### 🌐 Website + + - #### 🐞 Bug Fixes + + - Display default password even if there isn't a default username [@0risc](https://github.com/0risc) ([#4900](https://github.com/community-scripts/ProxmoxVE/pull/4900)) + ## 2025-06-01 ### 🆕 New Scripts From e08a5874397c416f1600cf57267c48d2b84d1b0f Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 2 Jun 2025 10:25:24 +0200 Subject: [PATCH 120/274] kimai revert failed mariadb quickfix due failed migration of mariadb for kimai #4880 --- install/kimai-install.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/install/kimai-install.sh b/install/kimai-install.sh index 7020ed615..0b4bc9443 100644 --- a/install/kimai-install.sh +++ b/install/kimai-install.sh @@ -23,7 +23,7 @@ $STD apt-get install -y \ lsb-release msg_ok "Installed Dependencies" -install_mariadb +install_mysql msg_info "Adding PHP8.4 Repository" $STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb @@ -45,9 +45,9 @@ DB_NAME=kimai_db DB_USER=kimai DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) MYSQL_VERSION=$(mysql --version | grep -oP 'Distrib \K[0-9]+\.[0-9]+\.[0-9]+') -mariadb -u root -e "CREATE DATABASE $DB_NAME;" -mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +mysql -u root -e "CREATE DATABASE $DB_NAME;" +mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "Kimai-Credentials" echo "Kimai Database User: $DB_USER" From 4e3286f11b19f9aeceb5707063dadf2affc83126 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 2 Jun 2025 10:39:46 +0200 Subject: [PATCH 121/274] Introducing core.func (#4907) --- misc/core.func | 544 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 544 insertions(+) create mode 100644 misc/core.func diff --git a/misc/core.func b/misc/core.func new file mode 100644 index 000000000..cbabf2f03 --- /dev/null +++ b/misc/core.func @@ -0,0 +1,544 @@ +# Copyright (c) 2021-2025 community-scripts ORG +# License: MIT | https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/LICENSE + +# if ! declare -f wait_for >/dev/null; then +# echo "[DEBUG] Undefined function 'wait_for' used from: ${BASH_SOURCE[*]}" >&2 +# wait_for() { +# echo "[DEBUG] Fallback: wait_for called with: $*" >&2 +# true +# } +# fi + +trap 'on_error $? $LINENO' ERR +trap 'on_exit' EXIT +trap 'on_interrupt' INT +trap 'on_terminate' TERM + +if ! declare -f wait_for >/dev/null; then + wait_for() { + true + } +fi + +declare -A MSG_INFO_SHOWN=() +SPINNER_PID="" +SPINNER_ACTIVE=0 +SPINNER_MSG="" + +# ------------------------------------------------------------------------------ +# Loads core utility groups once (colors, formatting, icons, defaults). +# ------------------------------------------------------------------------------ + +[[ -n "${_CORE_FUNC_LOADED:-}" ]] && return +_CORE_FUNC_LOADED=1 + +load_functions() { + [[ -n "${__FUNCTIONS_LOADED:-}" ]] && return + __FUNCTIONS_LOADED=1 + color + formatting + icons + default_vars + set_std_mode + # add more +} + +on_error() { + local exit_code="$1" + local lineno="$2" + msg_error "Script failed at line $lineno with exit code $exit_code" + # Optionally log to your API or file here + exit "$exit_code" +} + +on_exit() { + # Always called on script exit, success or failure + cleanup_temp_files || true + msg_info "Script exited" +} + +on_interrupt() { + msg_error "Interrupted by user (CTRL+C)" + exit 130 +} + +on_terminate() { + msg_error "Terminated by signal (TERM)" + exit 143 +} + +setup_trap_abort_handling() { + trap '__handle_signal_abort SIGINT' SIGINT + trap '__handle_signal_abort SIGTERM' SIGTERM + trap '__handle_unexpected_error $?' ERR +} + +__handle_signal_abort() { + local signal="$1" + echo + [ -n "${SPINNER_PID:-}" ] && kill "$SPINNER_PID" 2>/dev/null && wait "$SPINNER_PID" 2>/dev/null + + case "$signal" in + SIGINT) + msg_error "Script aborted by user (CTRL+C)" + exit 130 + ;; + SIGTERM) + msg_error "Script terminated (SIGTERM)" + exit 143 + ;; + *) + msg_error "Script interrupted (unknown signal: $signal)" + exit 1 + ;; + esac +} + +__handle_unexpected_error() { + local exit_code="$1" + echo + [ -n "${SPINNER_PID:-}" ] && kill "$SPINNER_PID" 2>/dev/null && wait "$SPINNER_PID" 2>/dev/null + + case "$exit_code" in + 1) + msg_error "Generic error occurred (exit code 1)" + ;; + 2) + msg_error "Misuse of shell builtins (exit code 2)" + ;; + 126) + msg_error "Command invoked cannot execute (exit code 126)" + ;; + 127) + msg_error "Command not found (exit code 127)" + ;; + 128) + msg_error "Invalid exit argument (exit code 128)" + ;; + 130) + msg_error "Script aborted by user (CTRL+C)" + ;; + 143) + msg_error "Script terminated by SIGTERM" + ;; + *) + msg_error "Unexpected error occurred (exit code $exit_code)" + ;; + esac + exit "$exit_code" +} + +# ------------------------------------------------------------------------------ +# Sets ANSI color codes used for styled terminal output. +# ------------------------------------------------------------------------------ +color() { + YW=$(echo "\033[33m") + YWB=$'\e[93m' + BL=$(echo "\033[36m") + RD=$(echo "\033[01;31m") + BGN=$(echo "\033[4;92m") + GN=$(echo "\033[1;92m") + DGN=$(echo "\033[32m") + CL=$(echo "\033[m") +} + +# ------------------------------------------------------------------------------ +# Defines formatting helpers like tab, bold, and line reset sequences. +# ------------------------------------------------------------------------------ +formatting() { + BFR="\\r\\033[K" + BOLD=$(echo "\033[1m") + HOLD=" " + TAB=" " + TAB3=" " +} + +# ------------------------------------------------------------------------------ +# Sets symbolic icons used throughout user feedback and prompts. +# ------------------------------------------------------------------------------ +icons() { + CM="${TAB}✔️${TAB}" + CROSS="${TAB}✖️${TAB}" + DNSOK="✔️ " + DNSFAIL="${TAB}✖️${TAB}" + INFO="${TAB}💡${TAB}${CL}" + OS="${TAB}🖥️${TAB}${CL}" + OSVERSION="${TAB}🌟${TAB}${CL}" + CONTAINERTYPE="${TAB}📦${TAB}${CL}" + DISKSIZE="${TAB}💾${TAB}${CL}" + CPUCORE="${TAB}🧠${TAB}${CL}" + RAMSIZE="${TAB}🛠️${TAB}${CL}" + SEARCH="${TAB}🔍${TAB}${CL}" + VERBOSE_CROPPED="🔍${TAB}" + VERIFYPW="${TAB}🔐${TAB}${CL}" + CONTAINERID="${TAB}🆔${TAB}${CL}" + HOSTNAME="${TAB}🏠${TAB}${CL}" + BRIDGE="${TAB}🌉${TAB}${CL}" + NETWORK="${TAB}📡${TAB}${CL}" + GATEWAY="${TAB}🌐${TAB}${CL}" + DISABLEIPV6="${TAB}🚫${TAB}${CL}" + DEFAULT="${TAB}⚙️${TAB}${CL}" + MACADDRESS="${TAB}🔗${TAB}${CL}" + VLANTAG="${TAB}🏷️${TAB}${CL}" + ROOTSSH="${TAB}🔑${TAB}${CL}" + CREATING="${TAB}🚀${TAB}${CL}" + ADVANCED="${TAB}🧩${TAB}${CL}" + FUSE="${TAB}🗂️${TAB}${CL}" +} + +# ------------------------------------------------------------------------------ +# Sets default retry and wait variables used for system actions. +# ------------------------------------------------------------------------------ +default_vars() { + RETRY_NUM=10 + RETRY_EVERY=3 + i=$RETRY_NUM + #[[ "${VAR_OS:-}" == "unknown" ]] +} + +# ------------------------------------------------------------------------------ +# Sets default verbose mode for script and os execution. +# ------------------------------------------------------------------------------ +set_std_mode() { + if [ "${VERBOSE:-no}" = "yes" ]; then + STD="" + else + STD="silent" + fi +} + +# Silent execution function +silent() { + "$@" >/dev/null 2>&1 +} + +# Function to download & save header files +get_header() { + local app_name=$(echo "${APP,,}" | tr -d ' ') + local app_type=${APP_TYPE:-ct} # Default 'ct' + local header_url="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/${app_type}/headers/${app_name}" + local local_header_path="/usr/local/community-scripts/headers/${app_type}/${app_name}" + + mkdir -p "$(dirname "$local_header_path")" + + if [ ! -s "$local_header_path" ]; then + if ! curl -fsSL "$header_url" -o "$local_header_path"; then + return 1 + fi + fi + + cat "$local_header_path" 2>/dev/null || true +} + +header_info() { + local app_name=$(echo "${APP,,}" | tr -d ' ') + local header_content + + header_content=$(get_header "$app_name") || header_content="" + + clear + local term_width + term_width=$(tput cols 2>/dev/null || echo 120) + + if [ -n "$header_content" ]; then + echo "$header_content" + fi +} + +# ------------------------------------------------------------------------------ +# Performs a curl request with retry logic and inline feedback. +# ------------------------------------------------------------------------------ + +run_curl() { + if [ "$VERBOSE" = "no" ]; then + $STD curl "$@" + else + curl "$@" + fi +} + +curl_handler() { + set +e + trap 'set -e' RETURN + local args=() + local url="" + local max_retries=3 + local delay=2 + local attempt=1 + local exit_code + local has_output_file=false + local result="" + + # Parse arguments + for arg in "$@"; do + if [[ "$arg" != -* && -z "$url" ]]; then + url="$arg" + fi + [[ "$arg" == "-o" || "$arg" == --output ]] && has_output_file=true + args+=("$arg") + done + + if [[ -z "$url" ]]; then + msg_error "No valid URL or option entered for curl_handler" + return 1 + fi + + $STD msg_info "Fetching: $url" + + while [[ $attempt -le $max_retries ]]; do + if $has_output_file; then + $STD run_curl "${args[@]}" + exit_code=$? + else + result=$(run_curl "${args[@]}") + exit_code=$? + fi + + if [[ $exit_code -eq 0 ]]; then + $STD msg_ok "Fetched: $url" + $has_output_file || printf '%s' "$result" + return 0 + fi + + if ((attempt >= max_retries)); then + # Read error log if it exists + if [ -s /tmp/curl_error.log ]; then + local curl_stderr + curl_stderr=$(&2 + sleep "$delay" + ((attempt++)) + done + set -e +} + +# ------------------------------------------------------------------------------ +# Handles specific curl error codes and displays descriptive messages. +# ------------------------------------------------------------------------------ +__curl_err_handler() { + local exit_code="$1" + local target="$2" + local curl_msg="$3" + + case $exit_code in + 1) msg_error "Unsupported protocol: $target" ;; + 2) msg_error "Curl init failed: $target" ;; + 3) msg_error "Malformed URL: $target" ;; + 5) msg_error "Proxy resolution failed: $target" ;; + 6) msg_error "Host resolution failed: $target" ;; + 7) msg_error "Connection failed: $target" ;; + 9) msg_error "Access denied: $target" ;; + 18) msg_error "Partial file transfer: $target" ;; + 22) msg_error "HTTP error (e.g. 400/404): $target" ;; + 23) msg_error "Write error on local system: $target" ;; + 26) msg_error "Read error from local file: $target" ;; + 28) msg_error "Timeout: $target" ;; + 35) msg_error "SSL connect error: $target" ;; + 47) msg_error "Too many redirects: $target" ;; + 51) msg_error "SSL cert verify failed: $target" ;; + 52) msg_error "Empty server response: $target" ;; + 55) msg_error "Send error: $target" ;; + 56) msg_error "Receive error: $target" ;; + 60) msg_error "SSL CA not trusted: $target" ;; + 67) msg_error "Login denied by server: $target" ;; + 78) msg_error "Remote file not found (404): $target" ;; + *) msg_error "Curl failed with code $exit_code: $target" ;; + esac + + [[ -n "$curl_msg" ]] && printf "%s\n" "$curl_msg" >&2 + exit 1 +} + +fatal() { + msg_error "$1" + kill -INT $$ +} + +# Ensure POSIX compatibility across Alpine and Debian/Ubuntu +# === Spinner Start === +# Trap cleanup on various signals +trap 'cleanup_spinner' EXIT INT TERM HUP + +spinner_frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏') + +# === Spinner Start === +start_spinner() { + local msg="$1" + local spin_i=0 + local interval=0.1 + + stop_spinner + SPINNER_MSG="$msg" + SPINNER_ACTIVE=1 + + { + while [[ "$SPINNER_ACTIVE" -eq 1 ]]; do + if [[ -t 2 ]]; then + printf "\r\e[2K%s %b" "${TAB}${spinner_frames[spin_i]}${TAB}" "${YW}${SPINNER_MSG}${CL}" >&2 + else + printf "%s...\n" "$SPINNER_MSG" >&2 + break + fi + spin_i=$(((spin_i + 1) % ${#spinner_frames[@]})) + sleep "$interval" + done + } & + + local pid=$! + if ps -p "$pid" >/dev/null 2>&1; then + SPINNER_PID="$pid" + else + SPINNER_ACTIVE=0 + SPINNER_PID="" + fi +} + +# === Spinner Stop === +stop_spinner() { + if [[ "$SPINNER_ACTIVE" -eq 1 && -n "$SPINNER_PID" ]]; then + SPINNER_ACTIVE=0 + + if kill -0 "$SPINNER_PID" 2>/dev/null; then + kill "$SPINNER_PID" 2>/dev/null || true + for _ in $(seq 1 10); do + sleep 0.05 + kill -0 "$SPINNER_PID" 2>/dev/null || break + done + fi + + if [[ "$SPINNER_PID" =~ ^[0-9]+$ ]]; then + ps -p "$SPINNER_PID" -o pid= >/dev/null 2>&1 && wait "$SPINNER_PID" 2>/dev/null || true + fi + + printf "\r\e[2K" >&2 + SPINNER_PID="" + fi +} + +cleanup_spinner() { + stop_spinner +} + +msg_info() { + local msg="$1" + [[ -z "$msg" || -n "${MSG_INFO_SHOWN["$msg"]+x}" ]] && return + MSG_INFO_SHOWN["$msg"]=1 + stop_spinner + start_spinner "$msg" +} + +msg_ok() { + local msg="$1" + [[ -z "$msg" ]] && return + stop_spinner + printf "\r\e[2K%s %b\n" "$CM" "${GN}${msg}${CL}" >&2 + unset MSG_INFO_SHOWN["$msg"] +} + +msg_error() { + local msg="$1" + [[ -z "$msg" ]] && return + stop_spinner + printf "\r\e[2K%s %b\n" "$CROSS" "${RD}${msg}${CL}" >&2 +} + +msg_warn() { + local msg="$1" + [[ -z "$msg" ]] && return + stop_spinner + printf "\r\e[2K%s %b\n" "$INFO" "${YWB}${msg}${CL}" >&2 + unset MSG_INFO_SHOWN["$msg"] +} + +msg_custom() { + local symbol="${1:-"[*]"}" + local color="${2:-"\e[36m"}" # Default: Cyan + local msg="${3:-}" + + [[ -z "$msg" ]] && return + stop_spinner 2>/dev/null || true + printf "\r\e[2K%s %b\n" "$symbol" "${color}${msg}${CL:-\e[0m}" >&2 +} + +msg_progress() { + local current="$1" + local total="$2" + local label="$3" + local width=40 + local filled percent bar empty + local fill_char="#" + local empty_char="-" + + if ! [[ "$current" =~ ^[0-9]+$ ]] || ! [[ "$total" =~ ^[0-9]+$ ]] || [[ "$total" -eq 0 ]]; then + printf "\r\e[2K%s %b\n" "$CROSS" "${RD}Invalid progress input${CL}" >&2 + return + fi + + percent=$(((current * 100) / total)) + filled=$(((current * width) / total)) + empty=$((width - filled)) + + bar=$(printf "%${filled}s" | tr ' ' "$fill_char") + bar+=$(printf "%${empty}s" | tr ' ' "$empty_char") + + printf "\r\e[2K%s [%s] %3d%% %s" "${TAB}" "$bar" "$percent" "$label" >&2 + + if [[ "$current" -eq "$total" ]]; then + printf "\n" >&2 + fi +} + +run_container_safe() { + local ct="$1" + shift + local cmd="$*" + + lxc-attach -n "$ct" -- bash -euo pipefail -c " + trap 'echo Aborted in container; exit 130' SIGINT SIGTERM + $cmd + " || __handle_general_error "lxc-attach to CT $ct" +} + +check_or_create_swap() { + msg_info "Checking for active swap" + + if swapon --noheadings --show | grep -q 'swap'; then + msg_ok "Swap is active" + return 0 + fi + + msg_error "No active swap detected" + + read -p "Do you want to create a swap file? [y/N]: " create_swap + create_swap="${create_swap,,}" # to lowercase + + if [[ "$create_swap" != "y" && "$create_swap" != "yes" ]]; then + msg_info "Skipping swap file creation" + return 1 + fi + + read -p "Enter swap size in MB (e.g., 2048 for 2GB): " swap_size_mb + if ! [[ "$swap_size_mb" =~ ^[0-9]+$ ]]; then + msg_error "Invalid size input. Aborting." + return 1 + fi + + local swap_file="/swapfile" + + msg_info "Creating ${swap_size_mb}MB swap file at $swap_file" + if dd if=/dev/zero of="$swap_file" bs=1M count="$swap_size_mb" status=progress && + chmod 600 "$swap_file" && + mkswap "$swap_file" && + swapon "$swap_file"; then + msg_ok "Swap file created and activated successfully" + else + msg_error "Failed to create or activate swap" + return 1 + fi +} From 8d50a5d8a9664474f48a8e469c6b619e8dea53d2 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 09:40:13 +0100 Subject: [PATCH 122/274] Update CHANGELOG.md (#4908) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0cce19993..d61700850 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-02 +### 🆕 New Scripts + + - core.func - Centralized Utility and Trap Framework for Community Scripts [@MickLesk](https://github.com/MickLesk) ([#4907](https://github.com/community-scripts/ProxmoxVE/pull/4907)) + ### 🚀 Updated Scripts - #### 🐞 Bug Fixes From f2bf6c9a6fbbc8cae90a85b5a71ae31e7ad3836b Mon Sep 17 00:00:00 2001 From: rcourtman Date: Mon, 2 Jun 2025 09:45:00 +0100 Subject: [PATCH 123/274] make Pulse installation non-interactive (#4848) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: streamline Pulse installation for web-based configuration - Remove all interactive prompts during installation - Remove .env setup (handled by web UI) - Remove configuration messages (handled by web UI) - Change install directory from /opt/pulse-proxmox to /opt/pulse - Update JSON note to reflect web-based setup wizard Pulse now features a complete web-based configuration system with automatic setup detection, making manual .env configuration obsolete. The new workflow: 1. Script installs Pulse without any user interaction 2. Service starts automatically 3. User navigates to the provided URL 4. Pulse shows setup wizard for configuration 5. No SSH or manual file editing required This provides the ideal community script experience - completely hands-off installation with configuration through the web interface. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude * Update pulse.sh to align with non-interactive installation - Change paths from /opt/pulse-proxmox to /opt/pulse - Remove .env file backup/restore logic since Pulse now uses web-based configuration - Simplify permissions setting to match new installation approach 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude * little fixes * Update pulse.sh --------- Co-authored-by: Claude Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> --- ct/pulse.sh | 33 +++++++++++++---------------- frontend/public/json/pulse.json | 6 +++++- install/pulse-install.sh | 37 ++++++++++----------------------- 3 files changed, 31 insertions(+), 45 deletions(-) diff --git a/ct/pulse.sh b/ct/pulse.sh index 8d8a379b8..9abed3d9d 100644 --- a/ct/pulse.sh +++ b/ct/pulse.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s 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 community-scripts ORG # Author: rcourtman # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -23,40 +23,37 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -d /opt/pulse-proxmox ]]; then + if [[ ! -d /opt/pulse ]]; then msg_error "No ${APP} Installation Found!" exit fi + if [[ -d /opt/pulse-monitor ]]; then + msg_error "An old installation was detected. Please recreate the LXC from scratch (https://github.com/community-scripts/ProxmoxVE/pull/4848)" + exit 1 + fi RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/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 pulse-monitor + systemctl stop pulse msg_ok "Stopped ${APP}" msg_info "Updating Pulse" - if [[ -f /opt/pulse-proxmox/.env ]]; then - cp /opt/pulse-proxmox/.env /tmp/.env.backup.pulse - fi temp_file=$(mktemp) - mkdir -p /opt/pulse-proxmox - rm -rf /opt/pulse-proxmox/* + mkdir -p /opt/pulse + rm -rf /opt/pulse/* curl -fsSL "https://github.com/rcourtman/Pulse/releases/download/v${RELEASE}/pulse-v${RELEASE}.tar.gz" -o "$temp_file" - tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox - if [[ -f /tmp/.env.backup.pulse ]]; then - mv /tmp/.env.backup.pulse /opt/pulse-proxmox/.env - fi + tar zxf "$temp_file" --strip-components=1 -C /opt/pulse echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated Pulse to ${RELEASE}" - msg_info "Setting permissions for /opt/pulse-proxmox..." - chown -R pulse:pulse "/opt/pulse-proxmox" - find "/opt/pulse-proxmox" -type d -exec chmod 755 {} \; - find "/opt/pulse-proxmox" -type f -exec chmod 644 {} \; - chmod 600 /opt/pulse-proxmox/.env + msg_info "Setting permissions for /opt/pulse..." + chown -R pulse:pulse "/opt/pulse" + find "/opt/pulse" -type d -exec chmod 755 {} \; + find "/opt/pulse" -type f -exec chmod 644 {} \; msg_ok "Set permissions." msg_info "Starting ${APP}" - systemctl start pulse-monitor + systemctl start pulse msg_ok "Started ${APP}" else msg_ok "No update required. ${APP} is already at ${RELEASE}." diff --git a/frontend/public/json/pulse.json b/frontend/public/json/pulse.json index 6dbef9a03..e3cae4a9d 100644 --- a/frontend/public/json/pulse.json +++ b/frontend/public/json/pulse.json @@ -12,7 +12,7 @@ "documentation": null, "website": "https://github.com/rcourtman/Pulse", "logo": "https://raw.githubusercontent.com/rcourtman/Pulse/main/src/public/logos/pulse-logo-256x256.png", - "config_path": "/opt/pulse-proxmox/.env", + "config_path": "/opt/pulse/.env", "description": "A lightweight monitoring application for Proxmox VE that displays real-time status for VMs and containers via a simple web interface.", "install_methods": [ { @@ -35,6 +35,10 @@ { "text": "Create Proxmox-API-Token first: `https://github.com/rcourtman/Pulse?tab=readme-ov-file#creating-a-proxmox-api-token`", "type": "Info" + }, + { + "text": "After installation, access the web interface to configure your Proxmox connection details through the built-in setup wizard", + "type": "Info" } ] } diff --git a/install/pulse-install.sh b/install/pulse-install.sh index 5742a9662..50362c417 100644 --- a/install/pulse-install.sh +++ b/install/pulse-install.sh @@ -17,7 +17,7 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ diffutils -msg_ok "Installed Core Dependencies" +msg_ok "Installed Dependencies" msg_info "Creating dedicated user pulse..." if useradd -r -m -d /opt/pulse-home -s /bin/bash pulse; then @@ -32,36 +32,21 @@ NODE_VERSION="20" install_node_and_modules msg_info "Setup Pulse" RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') temp_file=$(mktemp) -mkdir -p /opt/pulse-proxmox +mkdir -p /opt/pulse curl -fsSL "https://github.com/rcourtman/Pulse/releases/download/v${RELEASE}/pulse-v${RELEASE}.tar.gz" -o "$temp_file" -tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox +tar zxf "$temp_file" --strip-components=1 -C /opt/pulse echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed Pulse" -read -rp "${TAB3}Proxmox Host (z. B. https://proxmox.example.com:8006): " PROXMOX_HOST -read -rp "${TAB3}Proxmox Token ID (z. B. user@pam!mytoken): " PROXMOX_TOKEN_ID -read -rp "${TAB3}Proxmox Token Secret: " PROXMOX_TOKEN_SECRET -read -rp "${TAB3}Port (default: 7655): " PORT -PORT="${PORT:-7655}" -msg_info "Creating .env file" -cat </opt/pulse-proxmox/.env -PROXMOX_HOST=${PROXMOX_HOST} -PROXMOX_TOKEN_ID=${PROXMOX_TOKEN_ID} -PROXMOX_TOKEN_SECRET=${PROXMOX_TOKEN_SECRET} -PORT=${PORT} -EOF -msg_ok "Created .env file" - -msg_info "Setting permissions for /opt/pulse-proxmox..." -chown -R pulse:pulse "/opt/pulse-proxmox" -find "/opt/pulse-proxmox" -type d -exec chmod 755 {} \; -find "/opt/pulse-proxmox" -type f -exec chmod 644 {} \; -chmod 600 /opt/pulse-proxmox/.env +msg_info "Setting permissions for /opt/pulse..." +chown -R pulse:pulse "/opt/pulse" +find "/opt/pulse" -type d -exec chmod 755 {} \; +find "/opt/pulse" -type f -exec chmod 644 {} \; msg_ok "Set permissions." msg_info "Creating Service" -cat </etc/systemd/system/pulse-monitor.service +cat </etc/systemd/system/pulse.service [Unit] Description=Pulse Monitoring Application After=network.target @@ -70,8 +55,8 @@ After=network.target Type=simple User=pulse Group=pulse -WorkingDirectory=/opt/pulse-proxmox -EnvironmentFile=/opt/pulse-proxmox/.env +WorkingDirectory=/opt/pulse +EnvironmentFile=/opt/pulse/.env ExecStart=/usr/bin/npm run start Restart=on-failure RestartSec=5 @@ -81,7 +66,7 @@ StandardError=journal [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now pulse-monitor +systemctl enable -q --now pulse msg_ok "Created Service" motd_ssh From 6650e0bdd8119a49e645583c4c0ef0c631c0eeea Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 2 Jun 2025 10:46:00 +0200 Subject: [PATCH 124/274] PVE-Privilege-Converter (#4906) --- .../public/json/pve-privilege-converter.json | 48 +++++ tools/pve/pve-privilege-converter.sh | 196 ++++++++++++++++++ 2 files changed, 244 insertions(+) create mode 100644 frontend/public/json/pve-privilege-converter.json create mode 100644 tools/pve/pve-privilege-converter.sh diff --git a/frontend/public/json/pve-privilege-converter.json b/frontend/public/json/pve-privilege-converter.json new file mode 100644 index 000000000..087847d9f --- /dev/null +++ b/frontend/public/json/pve-privilege-converter.json @@ -0,0 +1,48 @@ +{ + "name": "PVE Privilege Converter", + "slug": "pve-privilege-converter", + "categories": [ + 1 + ], + "date_created": "2025-05-22", + "type": "pve", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": "https://github.com/onethree7/proxmox-lxc-privilege-converter", + "website": null, + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp", + "config_path": "", + "description": "This script allows converting Proxmox LXC containers between privileged and unprivileged modes using vzdump backup and restore. It guides you through container selection, backup storage, ID assignment, and privilege flipping via automated restore. Useful for applying changes that require different LXC modes.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/pve-privilege-converter.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute this script inside the Proxmox shell as root.", + "type": "info" + }, + { + "text": "Ensure that the backup and target storage have enough space.", + "type": "warning" + }, + { + "text": "The container will be recreated with a new ID and desired privilege setting.", + "type": "info" + } + ] +} diff --git a/tools/pve/pve-privilege-converter.sh b/tools/pve/pve-privilege-converter.sh new file mode 100644 index 000000000..f26f02ab1 --- /dev/null +++ b/tools/pve/pve-privilege-converter.sh @@ -0,0 +1,196 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk +# Adapted from onethree7 (https://github.com/onethree7/proxmox-lxc-privilege-converter) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE + +if ! command -v curl >/dev/null 2>&1; then + printf "\r\e[2K%b" '\033[93m Setup Source \033[m' >&2 + apt-get update >/dev/null 2>&1 + apt-get install -y curl >/dev/null 2>&1 +fi +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/core.func) +load_functions + +set -euo pipefail +shopt -s inherit_errexit nullglob + +APP="PVE-Privilege-Converter" +APP_TYPE="tools" +header_info "$APP" + +check_root() { + if [[ $EUID -ne 0 ]]; then + msg_error "Script must be run as root" + exit 1 + fi +} + +select_target_storage_and_container_id() { + echo -e "\nSelect target storage for restored container:\n" + mapfile -t target_storages < <(pvesm status --content images | awk 'NR > 1 {print $1}') + for i in "${!target_storages[@]}"; do + printf "%s) %s\n" "$((i + 1))" "${target_storages[$i]}" + done + + while true; do + read -rp "Enter number of target storage: " choice + if [[ "$choice" =~ ^[0-9]+$ ]] && ((choice >= 1 && choice <= ${#target_storages[@]})); then + TARGET_STORAGE="${target_storages[$((choice - 1))]}" + break + else + echo "Invalid selection. Try again." + fi + done + + next_free_id=$(pvesh get /cluster/nextid 2>/dev/null || echo 999) + [[ "$next_free_id" =~ ^[0-9]+$ ]] || next_free_id=999 + + echo "" + read -rp "Suggested next free container ID: $next_free_id. Enter new container ID [default: $next_free_id]: " NEW_CONTAINER_ID + NEW_CONTAINER_ID="${NEW_CONTAINER_ID:-$next_free_id}" +} + +select_container() { + mapfile -t lxc_list_raw < <(pct list | awk 'NR > 1 {print $1, $3}') + lxc_list=() + for entry in "${lxc_list_raw[@]}"; do + [[ -n "$entry" ]] && lxc_list+=("$entry") + done + + if [[ ${#lxc_list[@]} -eq 0 ]]; then + msg_error "No containers found" + exit 1 + fi + + PS3="Enter number of container to convert: " + select opt in "${lxc_list[@]}"; do + if [[ -n "$opt" ]]; then + read -r CONTAINER_ID CONTAINER_NAME <<<"$opt" + CONTAINER_NAME="${CONTAINER_NAME:-}" + break + else + echo "Invalid selection. Try again." + fi + done +} + +select_backup_storage() { + echo -e "Select backup storage (temporary vzdump location):" + mapfile -t backup_storages < <(pvesm status --content backup | awk 'NR > 1 {print $1}') + local PS3="Enter number of backup storage: " + + select opt in "${backup_storages[@]}"; do + if [[ -n "$opt" ]]; then + BACKUP_STORAGE="$opt" + break + else + echo "Invalid selection. Try again." + fi + done +} + +backup_container() { + msg_custom "📦" "\e[36m" "Backing up container $CONTAINER_ID" + vzdump_output=$(mktemp) + vzdump "$CONTAINER_ID" --compress zstd --storage "$BACKUP_STORAGE" --mode snapshot | tee "$vzdump_output" + BACKUP_PATH=$(awk '/tar.zst/ {print $NF}' "$vzdump_output" | tr -d "'") + if [ -z "$BACKUP_PATH" ] || ! grep -q "Backup job finished successfully" "$vzdump_output"; then + rm "$vzdump_output" + msg_error "Backup failed" + exit 1 + fi + rm "$vzdump_output" + msg_ok "Backup complete: $BACKUP_PATH" +} + +perform_conversion() { + if pct config "$CONTAINER_ID" | grep -q 'unprivileged: 1'; then + UNPRIVILEGED=true + else + UNPRIVILEGED=false + fi + + msg_custom "🛠️" "\e[36m" "Restoring as $(if $UNPRIVILEGED; then echo privileged; else echo unprivileged; fi) container" + restore_opts=("$NEW_CONTAINER_ID" "$BACKUP_PATH" --storage "$TARGET_STORAGE") + if $UNPRIVILEGED; then + restore_opts+=(--unprivileged false) + else + restore_opts+=(--unprivileged) + fi + + if pct restore "${restore_opts[@]}" -ignore-unpack-errors 1; then + msg_ok "Conversion successful" + else + msg_error "Conversion failed" + exit 1 + fi +} + +manage_states() { + read -rp "Shutdown source and start new container? [Y/n]: " answer + answer=${answer:-Y} + if [[ $answer =~ ^[Yy] ]]; then + pct shutdown "$CONTAINER_ID" + for i in {1..36}; do + sleep 5 + ! pct status "$CONTAINER_ID" | grep -q running && break + done + if pct status "$CONTAINER_ID" | grep -q running; then + read -rp "Timeout reached. Force shutdown? [Y/n]: " force + if [[ ${force:-Y} =~ ^[Yy] ]]; then + pkill -9 -f "lxc-start -F -n $CONTAINER_ID" + fi + fi + pct start "$NEW_CONTAINER_ID" + msg_ok "New container started" + else + msg_custom "ℹ️" "\e[36m" "Skipped container state change" + fi +} + +cleanup_files() { + read -rp "Delete backup archive? [$BACKUP_PATH] [Y/n]: " cleanup + if [[ ${cleanup:-Y} =~ ^[Yy] ]]; then + rm -f "$BACKUP_PATH" && msg_ok "Removed backup archive" + else + msg_custom "💾" "\e[36m" "Retained backup archive" + fi +} + +summary() { + local conversion="Unknown" + if [[ -n "${UNPRIVILEGED:-}" ]]; then + if $UNPRIVILEGED; then + conversion="Unprivileged → Privileged" + else + conversion="Privileged → Unprivileged" + fi + fi + + echo + msg_custom "📄" "\e[36m" "Summary:" + msg_custom " " "\e[36m" "$(printf "%-22s %s" "Original Container:" "$CONTAINER_ID ($CONTAINER_NAME)")" + msg_custom " " "\e[36m" "$(printf "%-22s %s" "Backup Storage:" "$BACKUP_STORAGE")" + msg_custom " " "\e[36m" "$(printf "%-22s %s" "Target Storage:" "$TARGET_STORAGE")" + msg_custom " " "\e[36m" "$(printf "%-22s %s" "Backup Path:" "$BACKUP_PATH")" + msg_custom " " "\e[36m" "$(printf "%-22s %s" "New Container ID:" "$NEW_CONTAINER_ID")" + msg_custom " " "\e[36m" "$(printf "%-22s %s" "Privilege Conversion:" "$conversion")" + echo +} + +main() { + header_info + check_root + select_container + select_backup_storage + backup_container + select_target_storage_and_container_id + perform_conversion + manage_states + cleanup_files + summary +} + +main From bf9f5d62e2d5645c9c3c09b03c15ec4a0adb859c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 09:46:10 +0100 Subject: [PATCH 125/274] Update CHANGELOG.md (#4910) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d61700850..1ca4f7ee4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,16 +16,16 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-02 -### 🆕 New Scripts - - - core.func - Centralized Utility and Trap Framework for Community Scripts [@MickLesk](https://github.com/MickLesk) ([#4907](https://github.com/community-scripts/ProxmoxVE/pull/4907)) - ### 🚀 Updated Scripts - #### 🐞 Bug Fixes - Fix alpine-tinyauth env configuration parsing logic [@gokussjx](https://github.com/gokussjx) ([#4901](https://github.com/community-scripts/ProxmoxVE/pull/4901)) + - #### 💥 Breaking Changes + + - make Pulse installation non-interactive [@rcourtman](https://github.com/rcourtman) ([#4848](https://github.com/community-scripts/ProxmoxVE/pull/4848)) + ### 🌐 Website - #### 🐞 Bug Fixes From 53c40775eef1374526460eeb8c539a2b46e7866a Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 09:47:02 +0100 Subject: [PATCH 126/274] Update date in json (#4912) Co-authored-by: GitHub Actions --- frontend/public/json/pve-privilege-converter.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/pve-privilege-converter.json b/frontend/public/json/pve-privilege-converter.json index 087847d9f..530bd9bdb 100644 --- a/frontend/public/json/pve-privilege-converter.json +++ b/frontend/public/json/pve-privilege-converter.json @@ -4,7 +4,7 @@ "categories": [ 1 ], - "date_created": "2025-05-22", + "date_created": "2025-06-02", "type": "pve", "updateable": false, "privileged": false, From 807870e73959136dd3c13bc171e96061fcf765de Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 09:47:23 +0100 Subject: [PATCH 127/274] Update CHANGELOG.md (#4911) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ca4f7ee4..b59273365 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-02 +### 🆕 New Scripts + + - PVE-Privilege-Converter [@MickLesk](https://github.com/MickLesk) ([#4906](https://github.com/community-scripts/ProxmoxVE/pull/4906)) + ### 🚀 Updated Scripts - #### 🐞 Bug Fixes From d97ce713ac1116b54aa59a69104ed5a4fbe8f7e2 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 09:49:32 +0100 Subject: [PATCH 128/274] Update CHANGELOG.md (#4913) Co-authored-by: github-actions[bot] From a307f9086ba3dba31209a260a1e5560f65848e67 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 2 Jun 2025 11:41:25 +0200 Subject: [PATCH 129/274] tools.func: Bugfix old gpg key for mysql & little improvements (#4916) --- misc/tools.func | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/misc/tools.func b/misc/tools.func index 71d0a8ba2..430ff0275 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -302,28 +302,34 @@ install_mysql() { msg_info "MySQL $CURRENT_VERSION found, replacing with $MYSQL_VERSION" NEED_INSTALL=true else - msg_ok "MySQL $MYSQL_VERSION already installed" + # Check for patch-level updates + if apt list --upgradable 2>/dev/null | grep -q '^mysql-server/'; then + msg_info "MySQL $CURRENT_VERSION available for upgrade" + $STD apt-get update + $STD apt-get install --only-upgrade -y mysql-server + msg_ok "MySQL upgraded" + fi + return fi else - msg_info "MySQL not found, installing version $MYSQL_VERSION" + msg_info "Installing MySQL $MYSQL_VERSION" NEED_INSTALL=true fi if [[ "$NEED_INSTALL" == true ]]; then - msg_info "Removing conflicting MySQL packages" $STD systemctl stop mysql >/dev/null 2>&1 || true - $STD apt-get purge -y 'mysql*' + $STD apt-get purge -y "^mysql-server.*" "^mysql-client.*" "^mysql-common.*" || true rm -f /etc/apt/sources.list.d/mysql.list /etc/apt/trusted.gpg.d/mysql.gpg - msg_info "Setting up MySQL APT Repository" + local DISTRO_CODENAME DISTRO_CODENAME="$(awk -F= '/VERSION_CODENAME/ { print $2 }' /etc/os-release)" - curl -fsSL https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 | gpg --dearmor -o /etc/apt/trusted.gpg.d/mysql.gpg + curl -fsSL https://repo.mysql.com/RPM-GPG-KEY-mysql-2023 | gpg --dearmor -o /etc/apt/trusted.gpg.d/mysql.gpg echo "deb [signed-by=/etc/apt/trusted.gpg.d/mysql.gpg] https://repo.mysql.com/apt/debian/ ${DISTRO_CODENAME} mysql-${MYSQL_VERSION}" \ >/etc/apt/sources.list.d/mysql.list + export DEBIAN_FRONTEND=noninteractive $STD apt-get update $STD apt-get install -y mysql-server - msg_ok "Installed MySQL $MYSQL_VERSION" fi } From feacacc368bf19f50bca1e6e8d176d3dba2f3c0e Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 10:42:00 +0100 Subject: [PATCH 130/274] Update CHANGELOG.md (#4917) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b59273365..f13b7c4d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts + - tools.func: Bugfix old gpg key for mysql & little improvements [@MickLesk](https://github.com/MickLesk) ([#4916](https://github.com/community-scripts/ProxmoxVE/pull/4916)) + - #### 🐞 Bug Fixes - Fix alpine-tinyauth env configuration parsing logic [@gokussjx](https://github.com/gokussjx) ([#4901](https://github.com/community-scripts/ProxmoxVE/pull/4901)) From 824fd22aae8efdc7df9742a17d2a20f64783997d Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 2 Jun 2025 12:07:11 +0200 Subject: [PATCH 131/274] fix mysql_version --- install/kimai-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/kimai-install.sh b/install/kimai-install.sh index 0b4bc9443..2820693bc 100644 --- a/install/kimai-install.sh +++ b/install/kimai-install.sh @@ -44,7 +44,7 @@ msg_info "Setting up database" DB_NAME=kimai_db DB_USER=kimai DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -MYSQL_VERSION=$(mysql --version | grep -oP 'Distrib \K[0-9]+\.[0-9]+\.[0-9]+') +MYSQL_VERSION=$(mysql --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+') mysql -u root -e "CREATE DATABASE $DB_NAME;" mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" From b4a58b907f5eef6f4686f23b4916bfbe83483d55 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 2 Jun 2025 13:11:41 +0200 Subject: [PATCH 132/274] MySQL/MariaDB: fix create user with password (#4918) * MySQL/MariaDB: Fix Authentification with password * add apache guac * harmonize $STD value --- install/2fauth-install.sh | 2 +- install/alpine-nextcloud-install.sh | 2 +- install/apache-guacamole-install.sh | 6 +++--- install/bookstack-install.sh | 6 +++--- install/dolibarr-install.sh | 2 +- install/firefly-install.sh | 6 +++--- install/ghost-install.sh | 6 +++--- install/glpi-install.sh | 8 ++++---- install/kimai-install.sh | 6 +++--- install/monica-install.sh | 2 +- install/paymenter-install.sh | 6 +++--- install/pelican-panel-install.sh | 2 +- install/phpipam-install.sh | 4 ++-- install/plant-it-install.sh | 2 +- install/projectsend-install.sh | 2 +- install/pterodactyl-panel-install.sh | 2 +- install/shinobi-install.sh | 2 +- install/snipeit-install.sh | 6 +++--- install/wavelog-install.sh | 2 +- 19 files changed, 37 insertions(+), 37 deletions(-) diff --git a/install/2fauth-install.sh b/install/2fauth-install.sh index 650c7f7fc..f32f55457 100644 --- a/install/2fauth-install.sh +++ b/install/2fauth-install.sh @@ -33,7 +33,7 @@ DB_NAME=2fauth_db DB_USER=2fauth DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) $STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" -$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" $STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "2FAuth Credentials" diff --git a/install/alpine-nextcloud-install.sh b/install/alpine-nextcloud-install.sh index f149bf6ae..3ac5d98a1 100644 --- a/install/alpine-nextcloud-install.sh +++ b/install/alpine-nextcloud-install.sh @@ -48,7 +48,7 @@ $STD apk add nextcloud-mysql mariadb mariadb-client $STD mariadb-install-db --user=mysql --datadir=/var/lib/mysql $STD service mariadb start $STD rc-update add mariadb -mariadb -uroot -p"$ADMIN_PASS" -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '$ADMIN_PASS' WITH GRANT OPTION; DELETE FROM mysql.user WHERE User=''; DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'); DROP DATABASE test; DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'; CREATE DATABASE $DB_NAME; GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS'; GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost.localdomain' IDENTIFIED BY '$DB_PASS'; FLUSH PRIVILEGES;" +$STD mariadb -uroot -p"$ADMIN_PASS" -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '$ADMIN_PASS' WITH GRANT OPTION; DELETE FROM mysql.user WHERE User=''; DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'); DROP DATABASE test; DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'; CREATE DATABASE $DB_NAME; GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS'; GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost.localdomain' IDENTIFIED BY '$DB_PASS'; FLUSH PRIVILEGES;" $STD apk del mariadb-client msg_ok "Installed MySQL Database" diff --git a/install/apache-guacamole-install.sh b/install/apache-guacamole-install.sh index 80fe549fe..fc2c99de3 100644 --- a/install/apache-guacamole-install.sh +++ b/install/apache-guacamole-install.sh @@ -76,9 +76,9 @@ msg_info "Setup Database" DB_NAME=guacamole_db DB_USER=guacamole_user DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -mariadb -u root -e "CREATE DATABASE $DB_NAME;" -mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" +$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "Guacamole-Credentials" echo "Database User: $DB_USER" diff --git a/install/bookstack-install.sh b/install/bookstack-install.sh index 01d307a62..3f145ceee 100644 --- a/install/bookstack-install.sh +++ b/install/bookstack-install.sh @@ -28,9 +28,9 @@ msg_info "Setting up Database" DB_NAME=bookstack DB_USER=bookstack DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD sudo mariadb -u root -e "CREATE DATABASE $DB_NAME;" -$STD sudo mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -$STD sudo mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" +$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "Bookstack-Credentials" echo "Bookstack Database User: $DB_USER" diff --git a/install/dolibarr-install.sh b/install/dolibarr-install.sh index 03f95cc6b..c81c56684 100644 --- a/install/dolibarr-install.sh +++ b/install/dolibarr-install.sh @@ -23,7 +23,7 @@ install_mariadb msg_info "Setting up Database" ROOT_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD sudo mariadb -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$ROOT_PASS'); flush privileges;" +$STD mariadb -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$ROOT_PASS'); flush privileges;" { echo "Dolibarr DB Credentials" echo "MariaDB Root Password: $ROOT_PASS" diff --git a/install/firefly-install.sh b/install/firefly-install.sh index 05e564409..c10e9ca8e 100644 --- a/install/firefly-install.sh +++ b/install/firefly-install.sh @@ -31,9 +31,9 @@ DB_NAME=firefly DB_USER=firefly DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) MYSQL_VERSION=$(mariadb --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -n1) -mysql -u root -e "CREATE DATABASE $DB_NAME;" -mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" +mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "Firefly-Credentials" echo "Firefly Database User: $DB_USER" diff --git a/install/ghost-install.sh b/install/ghost-install.sh index a3160dcec..14604051d 100644 --- a/install/ghost-install.sh +++ b/install/ghost-install.sh @@ -25,9 +25,9 @@ msg_info "Configuring Database" DB_NAME=ghost DB_USER=ghostuser DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -mariadb -u root -e "CREATE DATABASE $DB_NAME;" -mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" -mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" +$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "Ghost-Credentials" diff --git a/install/glpi-install.sh b/install/glpi-install.sh index 10be6a755..2e9563b6a 100644 --- a/install/glpi-install.sh +++ b/install/glpi-install.sh @@ -29,10 +29,10 @@ DB_NAME=glpi_db DB_USER=glpi DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql mysql -mariadb -u root -e "CREATE DATABASE $DB_NAME;" -mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" -mariadb -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';" -mariadb -u root -e "GRANT SELECT ON \`mysql\`.\`time_zone_name\` TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" +$STD mariadb -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';" +$STD mariadb -u root -e "GRANT SELECT ON \`mysql\`.\`time_zone_name\` TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "GLPI Database Credentials" echo "Database: $DB_NAME" diff --git a/install/kimai-install.sh b/install/kimai-install.sh index 2820693bc..d2816274c 100644 --- a/install/kimai-install.sh +++ b/install/kimai-install.sh @@ -45,9 +45,9 @@ DB_NAME=kimai_db DB_USER=kimai DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) MYSQL_VERSION=$(mysql --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+') -mysql -u root -e "CREATE DATABASE $DB_NAME;" -mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +$STD root -e "CREATE DATABASE $DB_NAME;" +$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" +$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "Kimai-Credentials" echo "Kimai Database User: $DB_USER" diff --git a/install/monica-install.sh b/install/monica-install.sh index bce3ccc60..823150342 100644 --- a/install/monica-install.sh +++ b/install/monica-install.sh @@ -29,7 +29,7 @@ DB_NAME=monica DB_USER=monica DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) $STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" -$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" $STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "monica-Credentials" diff --git a/install/paymenter-install.sh b/install/paymenter-install.sh index 561c7494d..c36585341 100644 --- a/install/paymenter-install.sh +++ b/install/paymenter-install.sh @@ -58,9 +58,9 @@ DB_NAME=paymenter DB_USER=paymenter DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql mysql -mariadb -u root -e "CREATE DATABASE $DB_NAME;" -mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" -mariadb -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost' WITH GRANT OPTION;" +$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" +$STD mariadb -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost' WITH GRANT OPTION;" { echo "Paymenter Database Credentials" echo "Database: $DB_NAME" diff --git a/install/pelican-panel-install.sh b/install/pelican-panel-install.sh index 6b722f85a..c78013f25 100644 --- a/install/pelican-panel-install.sh +++ b/install/pelican-panel-install.sh @@ -42,7 +42,7 @@ DB_NAME=panel DB_USER=pelican DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) $STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" -$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" $STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "Pelican Panel-Credentials" diff --git a/install/phpipam-install.sh b/install/phpipam-install.sh index 52b3e90ca..df903dea3 100644 --- a/install/phpipam-install.sh +++ b/install/phpipam-install.sh @@ -28,7 +28,7 @@ DB_NAME=phpipam DB_USER=phpipam DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) $STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" -$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" $STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { echo "phpIPAM-Credentials" @@ -43,7 +43,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/phpipam/phpipam/releases/lates cd /opt curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -o "phpipam-v${RELEASE}.zip" $STD unzip "phpipam-v${RELEASE}.zip" -mariadb -u root "${DB_NAME}" Date: Mon, 2 Jun 2025 12:12:21 +0100 Subject: [PATCH 133/274] Update CHANGELOG.md (#4919) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f13b7c4d1..c49fb42ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - MySQL/MariaDB: fix create user with password [@MickLesk](https://github.com/MickLesk) ([#4918](https://github.com/community-scripts/ProxmoxVE/pull/4918)) - Fix alpine-tinyauth env configuration parsing logic [@gokussjx](https://github.com/gokussjx) ([#4901](https://github.com/community-scripts/ProxmoxVE/pull/4901)) - #### 💥 Breaking Changes From 912c92d6f3046e39bd3095e20f8f37b838f50fd7 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 2 Jun 2025 13:17:20 +0200 Subject: [PATCH 134/274] update_install error for pulse --- ct/pulse.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ct/pulse.sh b/ct/pulse.sh index 9abed3d9d..d45190b36 100644 --- a/ct/pulse.sh +++ b/ct/pulse.sh @@ -23,14 +23,14 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -d /opt/pulse ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi if [[ -d /opt/pulse-monitor ]]; then msg_error "An old installation was detected. Please recreate the LXC from scratch (https://github.com/community-scripts/ProxmoxVE/pull/4848)" exit 1 fi + if [[ ! -d /opt/pulse ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/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}" From 7f513afcf205d50728dbe078e17f63e63bf588fe Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 13:19:49 +0200 Subject: [PATCH 135/274] Update .app files (#4921) Co-authored-by: GitHub Actions --- tools/headers/pve-privilege-converter | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 tools/headers/pve-privilege-converter diff --git a/tools/headers/pve-privilege-converter b/tools/headers/pve-privilege-converter new file mode 100644 index 000000000..47d0c3657 --- /dev/null +++ b/tools/headers/pve-privilege-converter @@ -0,0 +1,6 @@ + ____ _ ________ ____ _ _ __ ______ __ + / __ \ | / / ____/ / __ \_____(_) __(_) /__ ____ ____ / ____/___ ____ _ _____ _____/ /____ _____ + / /_/ / | / / __/______/ /_/ / ___/ / | / / / / _ \/ __ `/ _ \______/ / / __ \/ __ \ | / / _ \/ ___/ __/ _ \/ ___/ + / ____/| |/ / /__/_____/ ____/ / / /| |/ / / / __/ /_/ / __/_____/ /___/ /_/ / / / / |/ / __/ / / /_/ __/ / +/_/ |___/_____/ /_/ /_/ /_/ |___/_/_/\___/\__, /\___/ \____/\____/_/ /_/|___/\___/_/ \__/\___/_/ + /____/ From dd9e285962cd7e6807bc6e625728c20695ddf6f4 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 2 Jun 2025 13:23:18 +0200 Subject: [PATCH 136/274] Update kimai-install.sh --- install/kimai-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/kimai-install.sh b/install/kimai-install.sh index d2816274c..1df625cba 100644 --- a/install/kimai-install.sh +++ b/install/kimai-install.sh @@ -45,7 +45,7 @@ DB_NAME=kimai_db DB_USER=kimai DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) MYSQL_VERSION=$(mysql --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+') -$STD root -e "CREATE DATABASE $DB_NAME;" +$STD mysql -u root -e "CREATE DATABASE $DB_NAME;" $STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" $STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" { From bf2545ce405c0a66df47c3dffa3e1dfeb0221334 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 2 Jun 2025 13:44:28 +0200 Subject: [PATCH 137/274] Pulse: fix missing .env on service startup --- install/pulse-install.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/install/pulse-install.sh b/install/pulse-install.sh index 50362c417..1e4efcada 100644 --- a/install/pulse-install.sh +++ b/install/pulse-install.sh @@ -35,6 +35,8 @@ temp_file=$(mktemp) mkdir -p /opt/pulse curl -fsSL "https://github.com/rcourtman/Pulse/releases/download/v${RELEASE}/pulse-v${RELEASE}.tar.gz" -o "$temp_file" tar zxf "$temp_file" --strip-components=1 -C /opt/pulse +touch /opt/pulse/.env +chown pulse:pulse /opt/pulse/.env echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed Pulse" From 623c8d993da2e0cee685d78b526a02acb9b204b0 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 14:07:38 +0200 Subject: [PATCH 138/274] Update versions.json (#4923) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 94 +++++++++++++++--------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 052338489..0f321602e 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,49 @@ [ + { + "name": "Graylog2/graylog2-server", + "version": "6.3.0-beta.4", + "date": "2025-06-02T11:21:42Z" + }, + { + "name": "zitadel/zitadel", + "version": "v2.68.11", + "date": "2025-06-02T09:32:57Z" + }, + { + "name": "msgbyte/tianji", + "version": "v1.21.5", + "date": "2025-06-02T08:17:29Z" + }, + { + "name": "openobserve/openobserve", + "version": "v0.0.0-dev", + "date": "2025-06-02T08:16:35Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.2.0p43-rc2", + "date": "2025-06-02T06:25:37Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1978", + "date": "2025-06-02T05:52:50Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.16", + "date": "2025-05-27T16:27:42Z" + }, + { + "name": "usememos/memos", + "version": "v0.24.4", + "date": "2025-06-02T02:49:05Z" + }, + { + "name": "pi-hole/pi-hole", + "version": "v6.1.1", + "date": "2025-06-02T01:36:09Z" + }, { "name": "advplyr/audiobookshelf", "version": "v2.24.0", @@ -6,8 +51,8 @@ }, { "name": "TriliumNext/Notes", - "version": "v0.93.0", - "date": "2025-04-17T20:05:25Z" + "version": "v0.94.0", + "date": "2025-06-01T21:23:25Z" }, { "name": "traccar/traccar", @@ -34,16 +79,6 @@ "version": "v4.2.0", "date": "2025-06-01T12:31:14Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.16", - "date": "2025-05-27T16:27:42Z" - }, - { - "name": "msgbyte/tianji", - "version": "v1.21.3", - "date": "2025-06-01T10:27:50Z" - }, { "name": "evcc-io/evcc", "version": "0.204.1", @@ -54,11 +89,6 @@ "version": "v5.25.0.10024", "date": "2025-05-26T21:58:37Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1975", - "date": "2025-06-01T05:58:55Z" - }, { "name": "home-assistant/core", "version": "2025.5.3", @@ -99,11 +129,6 @@ "version": "version/2025.4.1", "date": "2025-05-15T17:48:29Z" }, - { - "name": "pi-hole/pi-hole", - "version": "v6.1", - "date": "2025-05-30T22:07:45Z" - }, { "name": "moghtech/komodo", "version": "v1.18.0", @@ -244,16 +269,6 @@ "version": "v1.1.0", "date": "2025-05-28T09:39:00Z" }, - { - "name": "zitadel/zitadel", - "version": "v2.71.11", - "date": "2025-05-28T09:16:41Z" - }, - { - "name": "Checkmk/checkmk", - "version": "v2.2.0p43-rc1", - "date": "2025-05-28T06:23:13Z" - }, { "name": "Athou/commafeed", "version": "5.10.0", @@ -329,11 +344,6 @@ "version": "v7.4.3", "date": "2025-05-26T14:27:27Z" }, - { - "name": "Graylog2/graylog2-server", - "version": "6.3.0-beta.3", - "date": "2025-05-26T12:40:56Z" - }, { "name": "Luligu/matterbridge", "version": "3.0.4", @@ -604,11 +614,6 @@ "version": "v2025-05-11", "date": "2025-05-12T19:14:57Z" }, - { - "name": "usememos/memos", - "version": "v0.24.3", - "date": "2025-05-12T15:23:21Z" - }, { "name": "stackblitz-labs/bolt.diy", "version": "1.0.0", @@ -659,11 +664,6 @@ "version": "2025-05-07-r1", "date": "2025-05-07T12:18:42Z" }, - { - "name": "openobserve/openobserve", - "version": "v0.14.7", - "date": "2025-05-07T11:32:23Z" - }, { "name": "sysadminsmedia/homebox", "version": "v0.19.0", From 43697716ae42c4d537a5fee81b95d915e0e0385c Mon Sep 17 00:00:00 2001 From: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> Date: Mon, 2 Jun 2025 14:16:11 +0200 Subject: [PATCH 139/274] Various fixes (#4924) --- misc/build.func | 8 +++++--- misc/config-file.func | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/misc/build.func b/misc/build.func index 00bf82ad8..7c127b248 100644 --- a/misc/build.func +++ b/misc/build.func @@ -385,7 +385,7 @@ HN="${HN}" BRG="${BRG}" APT_CACHER_IP="${APT_CACHER_IP:-none}" DISABLEIP6="${DISABLEIP6}" -PW="${PW:-none}" +PW='${PW:-none}' SSH="${SSH}" SSH_AUTHORIZED_KEY="${SSH_AUTHORIZED_KEY}" VERBOSE="${VERBOSE}" @@ -397,6 +397,7 @@ SD="${SD:-none}" MAC="${MAC:-none}" NS="${NS:-none}" NET="${NET}" +FUSE="${ENABLE_FUSE}" EOF echo -e "${INFO}${BOLD}${GN}Writing configuration to ${FILEPATH}${CL}" @@ -416,7 +417,7 @@ HN="${HN}" BRG="${BRG}" APT_CACHER_IP="${APT_CACHER_IP:-none}" DISABLEIP6="${DISABLEIP6}" -PW="${PW:-none}" +PW='${PW:-none}' SSH="${SSH}" SSH_AUTHORIZED_KEY="${SSH_AUTHORIZED_KEY}" VERBOSE="${VERBOSE}" @@ -428,6 +429,7 @@ SD="${SD:-none}" MAC="${MAC:-none}" NS="${NS:-none}" NET="${NET}" +FUSE="${ENABLE_FUSE}" EOF echo -e "${INFO}${BOLD}${GN}Writing configuration to ${FILEPATH}${CL}" @@ -795,7 +797,7 @@ advanced_settings() { echo -e "${ROOTSSH}${BOLD}${DGN}Root SSH Access: ${BGN}$SSH${CL}" fi - if (whiptail --backtitle "[dev] Proxmox VE Helper Scripts" --defaultno --title "FUSE Support" --yesno "Enable FUSE support?\nRequired for tools like rclone, mergerfs, AppImage, etc." 10 58); then + if (whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "FUSE Support" --yesno "Enable FUSE support?\nRequired for tools like rclone, mergerfs, AppImage, etc." 10 58); then ENABLE_FUSE="yes" else ENABLE_FUSE="no" diff --git a/misc/config-file.func b/misc/config-file.func index 01e8af66e..efaa2de82 100644 --- a/misc/config-file.func +++ b/misc/config-file.func @@ -618,6 +618,24 @@ config_file() { fi fi + if [[ -n "$ENABLE_FUSE" ]]; then + if [[ "$ENABLE_FUSE" == "yes" ]]; then + echo -e "${FUSE}${BOLD}${DGN}Enable FUSE: ${BGN}Yes${CL}" + elif [[ "$ENABLE_FUSE" == "no" ]]; then + echo -e "${FUSE}${BOLD}${DGN}Enable FUSE: ${BGN}No${CL}" + else + msg_error "Enable FUSE needs to be 'yes' or 'no', was ${ENABLE_FUSE}" + exit + fi + else + if (whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "FUSE" --yesno "Enable FUSE?" 10 58); then + ENABLE_FUSE="yes" + else + ENABLE_FUSE="no" + fi + echo -e "${FUSE}${BOLD}${DGN}Enable FUSE: ${BGN}$ENABLE_FUSE${CL}" + fi + if [[ -n "${VERBOSE-}" ]]; then if [[ "$VERBOSE" == "yes" ]]; then echo -e "${SEARCH}${BOLD}${DGN}Verbose Mode: ${BGN}$VERBOSE${CL}" From 805bbc5ee34f87b076d568f0a843a5934e29ea57 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 13:16:50 +0100 Subject: [PATCH 140/274] Update CHANGELOG.md (#4925) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c49fb42ff..6b473134c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,7 +22,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts - - tools.func: Bugfix old gpg key for mysql & little improvements [@MickLesk](https://github.com/MickLesk) ([#4916](https://github.com/community-scripts/ProxmoxVE/pull/4916)) + - [core] Varius fixes to Config file feature [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4924](https://github.com/community-scripts/ProxmoxVE/pull/4924)) +- tools.func: Bugfix old gpg key for mysql & little improvements [@MickLesk](https://github.com/MickLesk) ([#4916](https://github.com/community-scripts/ProxmoxVE/pull/4916)) - #### 🐞 Bug Fixes From 16ac1adf75026fa48ac29ee8888fea728d6b07d6 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 14:54:14 +0100 Subject: [PATCH 141/274] Update CHANGELOG.md (#4928) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b473134c..0fae86c86 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,8 +22,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts - - [core] Varius fixes to Config file feature [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4924](https://github.com/community-scripts/ProxmoxVE/pull/4924)) -- tools.func: Bugfix old gpg key for mysql & little improvements [@MickLesk](https://github.com/MickLesk) ([#4916](https://github.com/community-scripts/ProxmoxVE/pull/4916)) + - [core] tools.func: Bugfix old gpg key for mysql & little improvements [@MickLesk](https://github.com/MickLesk) ([#4916](https://github.com/community-scripts/ProxmoxVE/pull/4916)) +- [core] Varius fixes to Config file feature [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4924](https://github.com/community-scripts/ProxmoxVE/pull/4924)) - #### 🐞 Bug Fixes From 91d8efcde02543e1f7b443939de399fa074f64fa Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 15:00:32 +0100 Subject: [PATCH 142/274] Update CHANGELOG.md (#4929) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fae86c86..deffd3184 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,9 +22,6 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts - - [core] tools.func: Bugfix old gpg key for mysql & little improvements [@MickLesk](https://github.com/MickLesk) ([#4916](https://github.com/community-scripts/ProxmoxVE/pull/4916)) -- [core] Varius fixes to Config file feature [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4924](https://github.com/community-scripts/ProxmoxVE/pull/4924)) - - #### 🐞 Bug Fixes - MySQL/MariaDB: fix create user with password [@MickLesk](https://github.com/MickLesk) ([#4918](https://github.com/community-scripts/ProxmoxVE/pull/4918)) @@ -34,6 +31,13 @@ All LXC instances created using this repository come pre-installed with Midnight - make Pulse installation non-interactive [@rcourtman](https://github.com/rcourtman) ([#4848](https://github.com/community-scripts/ProxmoxVE/pull/4848)) +### 🧰 Maintenance + + - #### 💾 Core + + - [core] tools.func: Bugfix old gpg key for mysql & little improvements [@MickLesk](https://github.com/MickLesk) ([#4916](https://github.com/community-scripts/ProxmoxVE/pull/4916)) + - [core] Varius fixes to Config file feature [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4924](https://github.com/community-scripts/ProxmoxVE/pull/4924)) + ### 🌐 Website - #### 🐞 Bug Fixes From 05c008241eae89c4db040dc4ae7b2448a7dfe558 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 2 Jun 2025 16:40:08 +0200 Subject: [PATCH 143/274] add hw for immich, openwebui / remove scrypted (#4927) --- misc/build.func | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/build.func b/misc/build.func index 7c127b248..f4fa0a2f8 100644 --- a/misc/build.func +++ b/misc/build.func @@ -1141,7 +1141,7 @@ EOF fi if [ "$CT_TYPE" == "0" ]; then - if [[ "$APP" == "Channels" || "$APP" == "Emby" || "$APP" == "ErsatzTV" || "$APP" == "Frigate" || "$APP" == "Jellyfin" || "$APP" == "Plex" || "$APP" == "Scrypted" || "$APP" == "Tdarr" || "$APP" == "Unmanic" || "$APP" == "Ollama" || "$APP" == "FileFlows" ]]; then + if [[ "$APP" == "Channels" || "$APP" == "Emby" || "$APP" == "ErsatzTV" || "$APP" == "Frigate" || "$APP" == "Jellyfin" || "$APP" == "Plex" || "$APP" == "Immich" || "$APP" == "Tdarr" || "$APP" == "Open WebUI" || "$APP" == "Unmanic" || "$APP" == "Ollama" || "$APP" == "FileFlows" ]]; then cat <>"$LXC_CONFIG" # VAAPI hardware transcoding lxc.cgroup2.devices.allow: c 226:0 rwm @@ -1153,7 +1153,7 @@ lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,creat EOF fi else - if [[ "$APP" == "Channels" || "$APP" == "Emby" || "$APP" == "ErsatzTV" || "$APP" == "Frigate" || "$APP" == "Jellyfin" || "$APP" == "Plex" || "$APP" == "Scrypted" || "$APP" == "Tdarr" || "$APP" == "Unmanic" || "$APP" == "Ollama" || "$APP" == "FileFlows" ]]; then + if [[ "$APP" == "Channels" || "$APP" == "Emby" || "$APP" == "ErsatzTV" || "$APP" == "Frigate" || "$APP" == "Jellyfin" || "$APP" == "Plex" || "$APP" == "Immich" || "$APP" == "Tdarr" || "$APP" == "Open WebUI" || "$APP" == "Unmanic" || "$APP" == "Ollama" || "$APP" == "FileFlows" ]]; then if [[ -e "/dev/dri/renderD128" ]]; then if [[ -e "/dev/dri/card0" ]]; then cat <>"$LXC_CONFIG" From 3aa1f0534331b45200f960f2e2fd953855a87806 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 15:40:44 +0100 Subject: [PATCH 144/274] Update CHANGELOG.md (#4930) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index deffd3184..2e63dac1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 💾 Core + - [core] add hw-accelerated for immich, openwebui / remove scrypted [@MickLesk](https://github.com/MickLesk) ([#4927](https://github.com/community-scripts/ProxmoxVE/pull/4927)) - [core] tools.func: Bugfix old gpg key for mysql & little improvements [@MickLesk](https://github.com/MickLesk) ([#4916](https://github.com/community-scripts/ProxmoxVE/pull/4916)) - [core] Varius fixes to Config file feature [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4924](https://github.com/community-scripts/ProxmoxVE/pull/4924)) From 1e3d0e501bed16b87be68f2071c0e5789fd42cee Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 2 Jun 2025 18:14:47 +0200 Subject: [PATCH 145/274] lowercase immich --- misc/build.func | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/build.func b/misc/build.func index f4fa0a2f8..531ca1a03 100644 --- a/misc/build.func +++ b/misc/build.func @@ -1141,7 +1141,7 @@ EOF fi if [ "$CT_TYPE" == "0" ]; then - if [[ "$APP" == "Channels" || "$APP" == "Emby" || "$APP" == "ErsatzTV" || "$APP" == "Frigate" || "$APP" == "Jellyfin" || "$APP" == "Plex" || "$APP" == "Immich" || "$APP" == "Tdarr" || "$APP" == "Open WebUI" || "$APP" == "Unmanic" || "$APP" == "Ollama" || "$APP" == "FileFlows" ]]; then + if [[ "$APP" == "Channels" || "$APP" == "Emby" || "$APP" == "ErsatzTV" || "$APP" == "Frigate" || "$APP" == "Jellyfin" || "$APP" == "Plex" || "$APP" == "immich" || "$APP" == "Tdarr" || "$APP" == "Open WebUI" || "$APP" == "Unmanic" || "$APP" == "Ollama" || "$APP" == "FileFlows" ]]; then cat <>"$LXC_CONFIG" # VAAPI hardware transcoding lxc.cgroup2.devices.allow: c 226:0 rwm @@ -1153,7 +1153,7 @@ lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,creat EOF fi else - if [[ "$APP" == "Channels" || "$APP" == "Emby" || "$APP" == "ErsatzTV" || "$APP" == "Frigate" || "$APP" == "Jellyfin" || "$APP" == "Plex" || "$APP" == "Immich" || "$APP" == "Tdarr" || "$APP" == "Open WebUI" || "$APP" == "Unmanic" || "$APP" == "Ollama" || "$APP" == "FileFlows" ]]; then + if [[ "$APP" == "Channels" || "$APP" == "Emby" || "$APP" == "ErsatzTV" || "$APP" == "Frigate" || "$APP" == "Jellyfin" || "$APP" == "Plex" || "$APP" == "immich" || "$APP" == "Tdarr" || "$APP" == "Open WebUI" || "$APP" == "Unmanic" || "$APP" == "Ollama" || "$APP" == "FileFlows" ]]; then if [[ -e "/dev/dri/renderD128" ]]; then if [[ -e "/dev/dri/card0" ]]; then cat <>"$LXC_CONFIG" From b2a80b6971fe50d60ff6494613c8577cffbb8c66 Mon Sep 17 00:00:00 2001 From: Dan Beghin Date: Mon, 2 Jun 2025 14:01:19 -0500 Subject: [PATCH 146/274] fix(wastebin): use tar asset (#4934) * fix(wastebin): use tar asset * and install script... * testing * Revert "testing" This reverts commit 74d2fd163b22a08d029d6ad71201d6312e57ea15. --- ct/wastebin.sh | 4 ++-- install/wastebin-install.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ct/wastebin.sh b/ct/wastebin.sh index 3cfb6644d..500106700 100644 --- a/ct/wastebin.sh +++ b/ct/wastebin.sh @@ -64,8 +64,8 @@ EOF msg_info "Updating Wastebin" temp_file=$(mktemp) - curl -fsSL "https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.zip" -o "$temp_file" - $STD unzip -o $temp_file + curl -fsSL "https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst" -o "$temp_file" + tar -xf $temp_file cp -f wastebin /opt/wastebin/ chmod +x /opt/wastebin/wastebin echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/install/wastebin-install.sh b/install/wastebin-install.sh index 030681b39..98bf7b2fc 100644 --- a/install/wastebin-install.sh +++ b/install/wastebin-install.sh @@ -16,8 +16,8 @@ update_os msg_info "Installing Wastebin" temp_file=$(mktemp) RELEASE=$(curl -fsSL https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.zip" -o "$temp_file" -$STD unzip $temp_file +curl -fsSL "https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst" -o "$temp_file" +tar -xf $temp_file mkdir -p /opt/wastebin mv wastebin /opt/wastebin/ chmod +x /opt/wastebin/wastebin From 9bd4f5bb1b789b3c4204c7278fa177dd01fac1bd Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 20:01:56 +0100 Subject: [PATCH 147/274] Update CHANGELOG.md (#4935) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e63dac1c..d09148e7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - fix(wastebin): use tar asset [@dbeg](https://github.com/dbeg) ([#4934](https://github.com/community-scripts/ProxmoxVE/pull/4934)) - MySQL/MariaDB: fix create user with password [@MickLesk](https://github.com/MickLesk) ([#4918](https://github.com/community-scripts/ProxmoxVE/pull/4918)) - Fix alpine-tinyauth env configuration parsing logic [@gokussjx](https://github.com/gokussjx) ([#4901](https://github.com/community-scripts/ProxmoxVE/pull/4901)) From 644a365c69e675ca5480cba4539d1440282901a7 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 3 Jun 2025 02:14:48 +0200 Subject: [PATCH 148/274] Update versions.json (#4938) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 140 ++++++++++++++--------------- 1 file changed, 70 insertions(+), 70 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 0f321602e..ebdc0afad 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,74 @@ [ + { + "name": "FreshRSS/FreshRSS", + "version": "1.26.3", + "date": "2025-06-02T22:00:14Z" + }, + { + "name": "TandoorRecipes/recipes", + "version": "2.0.0-alpha-4", + "date": "2025-05-14T05:01:45Z" + }, + { + "name": "VictoriaMetrics/VictoriaMetrics", + "version": "v1.23.3-victorialogs", + "date": "2025-06-02T19:44:31Z" + }, + { + "name": "syncthing/syncthing", + "version": "2.0.0-rc.19", + "date": "2025-06-02T17:56:25Z" + }, + { + "name": "tailscale/tailscale", + "version": "v1.84.1", + "date": "2025-06-02T18:35:35Z" + }, + { + "name": "grokability/snipe-it", + "version": "v8.1.15", + "date": "2025-06-02T17:38:24Z" + }, + { + "name": "msgbyte/tianji", + "version": "v1.21.6", + "date": "2025-06-02T17:12:58Z" + }, + { + "name": "mattermost/mattermost", + "version": "server/public/v0.1.14", + "date": "2025-05-29T15:35:16Z" + }, + { + "name": "n8n-io/n8n", + "version": "n8n@1.94.1", + "date": "2025-05-27T10:36:43Z" + }, + { + "name": "NodeBB/NodeBB", + "version": "v4.4.2", + "date": "2025-06-02T15:06:31Z" + }, + { + "name": "wazuh/wazuh", + "version": "coverity-w22-4.13.0", + "date": "2025-05-26T15:04:48Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.2.0p43-rc3", + "date": "2025-06-02T13:53:47Z" + }, + { + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" + }, + { + "name": "inventree/InvenTree", + "version": "0.17.13", + "date": "2025-06-02T12:44:20Z" + }, { "name": "Graylog2/graylog2-server", "version": "6.3.0-beta.4", @@ -9,21 +79,11 @@ "version": "v2.68.11", "date": "2025-06-02T09:32:57Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.21.5", - "date": "2025-06-02T08:17:29Z" - }, { "name": "openobserve/openobserve", "version": "v0.0.0-dev", "date": "2025-06-02T08:16:35Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.2.0p43-rc2", - "date": "2025-06-02T06:25:37Z" - }, { "name": "Jackett/Jackett", "version": "v0.22.1978", @@ -119,11 +179,6 @@ "version": "v0.14.1", "date": "2024-08-29T22:32:51Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.5", - "date": "2025-05-28T06:49:43Z" - }, { "name": "goauthentik/authentik", "version": "version/2025.4.1", @@ -154,11 +209,6 @@ "version": "v0.20.0", "date": "2025-05-30T14:39:51Z" }, - { - "name": "wazuh/wazuh", - "version": "coverity-w22-4.13.0", - "date": "2025-05-26T15:04:48Z" - }, { "name": "nzbgetcom/nzbget", "version": "v25.0", @@ -169,11 +219,6 @@ "version": "v2.12.0", "date": "2025-05-30T00:26:27Z" }, - { - "name": "VictoriaMetrics/VictoriaMetrics", - "version": "v1.23.2-victorialogs", - "date": "2025-05-29T22:26:27Z" - }, { "name": "open-webui/open-webui", "version": "v0.6.13", @@ -189,11 +234,6 @@ "version": "v0.56.1", "date": "2025-05-29T19:09:16Z" }, - { - "name": "tailscale/tailscale", - "version": "v1.84.1", - "date": "2025-05-29T17:41:04Z" - }, { "name": "influxdata/influxdb", "version": "v2.7.12", @@ -209,21 +249,6 @@ "version": "flowise@3.0.1", "date": "2025-05-29T17:00:06Z" }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.94.1", - "date": "2025-05-27T10:36:43Z" - }, - { - "name": "syncthing/syncthing", - "version": "v1.29.6", - "date": "2025-05-06T07:57:02Z" - }, - { - "name": "mattermost/mattermost", - "version": "server/public/v0.1.14", - "date": "2025-05-29T15:35:16Z" - }, { "name": "readeck/readeck", "version": "0.19.2", @@ -404,11 +429,6 @@ "version": "v2.36.2", "date": "2025-05-23T14:21:20Z" }, - { - "name": "grokability/snipe-it", - "version": "v8.1.4", - "date": "2025-05-23T12:29:19Z" - }, { "name": "rogerfar/rdt-client", "version": "v2.0.113", @@ -469,11 +489,6 @@ "version": "10.0.18", "date": "2025-02-12T11:07:02Z" }, - { - "name": "inventree/InvenTree", - "version": "0.17.12", - "date": "2025-05-21T05:44:55Z" - }, { "name": "diced/zipline", "version": "v4.1.0", @@ -544,11 +559,6 @@ "version": "v1.1.1", "date": "2025-05-17T10:10:36Z" }, - { - "name": "NodeBB/NodeBB", - "version": "v4.4.1", - "date": "2025-05-16T16:37:51Z" - }, { "name": "wavelog/wavelog", "version": "2.0.4", @@ -589,11 +599,6 @@ "version": "0.42.1", "date": "2020-06-07T07:27:04Z" }, - { - "name": "TandoorRecipes/recipes", - "version": "2.0.0-alpha-4", - "date": "2025-05-14T05:01:45Z" - }, { "name": "netbox-community/netbox", "version": "v4.3.1", @@ -699,11 +704,6 @@ "version": "v2.0.0.4645", "date": "2017-03-07T18:56:06Z" }, - { - "name": "FreshRSS/FreshRSS", - "version": "1.26.2", - "date": "2025-05-03T20:23:27Z" - }, { "name": "actualbudget/actual", "version": "v25.5.0", From 1cac2afc410d4cacb724d29a9dca29f1acb075fa Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 3 Jun 2025 01:15:31 +0100 Subject: [PATCH 149/274] Update CHANGELOG.md (#4939) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d09148e7c..2a2dd6bc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-06-03 + ## 2025-06-02 ### 🆕 New Scripts From 8d38c1d7242a474784c4819322b4e54519b32bc0 Mon Sep 17 00:00:00 2001 From: Omar Minaya Date: Tue, 3 Jun 2025 04:08:37 -0400 Subject: [PATCH 150/274] Kasm: Swap fix (#4937) * init * added warning back. did not mean to remove. --- ct/kasm.sh | 2 +- install/kasm-install.sh | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/ct/kasm.sh b/ct/kasm.sh index e64ae4903..c02d76373 100644 --- a/ct/kasm.sh +++ b/ct/kasm.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-4192}" var_disk="${var_disk:-30}" var_os="${var_os:-debian}" var_version="${var_version:-12}" -var_unprivileged="${var_unprivileged:-1}" +var_unprivileged="${var_unprivileged:-0}" var_fuse="${var_fuse:-yes}" var_tun="${var_tun:-yes}" diff --git a/install/kasm-install.sh b/install/kasm-install.sh index edf88bf47..b1d7913aa 100644 --- a/install/kasm-install.sh +++ b/install/kasm-install.sh @@ -16,10 +16,9 @@ update_os msg_info "Installing Kasm Workspaces" KASM_VERSION=$(curl -fsSL 'https://www.kasmweb.com/downloads' | grep -o 'https://kasm-static-content.s3.amazonaws.com/kasm_release_[^"]*\.tar\.gz' | head -n 1 | sed -E 's/.*release_(.*)\.tar\.gz/\1/') curl -fsSL -o "/opt/kasm_release_${KASM_VERSION}.tar.gz" "https://kasm-static-content.s3.amazonaws.com/kasm_release_${KASM_VERSION}.tar.gz" -cd /opt -tar -xf "kasm_release_${KASM_VERSION}.tar.gz" -chmod +x /opt/kasm_release/install.sh -printf 'y\ny\ny\n4\n' | bash /opt/kasm_release/install.sh | tee ~/kasm-install.output +tar -xf "/opt/kasm_release_${KASM_VERSION}.tar.gz" -C /opt +printf 'y\ny\ny\n4\n' | bash /opt/kasm_release/install.sh +touch ~/kasm-install.output sed -n '/Kasm UI Login Credentials/,$p' ~/kasm-install.output >~/kasm.creds msg_ok "Installed Kasm Workspaces" @@ -27,7 +26,7 @@ motd_ssh customize msg_info "Cleaning up" -$STD rm -f /opt/kasm_release_${KASM_VERSION}.tar.gz +$STD rm -f "/opt/kasm_release_${KASM_VERSION}.tar.gz" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From bbe226218c87131a1273e841959b4eede243121f Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 3 Jun 2025 09:09:13 +0100 Subject: [PATCH 151/274] Update CHANGELOG.md (#4942) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a2dd6bc1..9e389a5a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-03 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - Kasm: Swap fix [@omiinaya](https://github.com/omiinaya) ([#4937](https://github.com/community-scripts/ProxmoxVE/pull/4937)) + ## 2025-06-02 ### 🆕 New Scripts From 1fcf9f9520665f8b5b35a263b75a41cdd9accbf2 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 3 Jun 2025 14:07:48 +0200 Subject: [PATCH 152/274] Update versions.json (#4945) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 70 +++++++++++++++--------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index ebdc0afad..275befb6b 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,9 +1,44 @@ [ + { + "name": "n8n-io/n8n", + "version": "n8n@1.95.3", + "date": "2025-06-03T11:09:42Z" + }, + { + "name": "esphome/esphome", + "version": "2025.5.2", + "date": "2025-06-03T08:45:14Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.2.0p43-rc4", + "date": "2025-06-03T06:59:25Z" + }, + { + "name": "openobserve/openobserve", + "version": "v0.0.1-dev", + "date": "2025-06-03T06:50:25Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1984", + "date": "2025-06-03T06:09:13Z" + }, + { + "name": "FlareSolverr/FlareSolverr", + "version": "v3.3.22", + "date": "2025-06-03T04:54:48Z" + }, { "name": "FreshRSS/FreshRSS", "version": "1.26.3", "date": "2025-06-02T22:00:14Z" }, + { + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" + }, { "name": "TandoorRecipes/recipes", "version": "2.0.0-alpha-4", @@ -39,11 +74,6 @@ "version": "server/public/v0.1.14", "date": "2025-05-29T15:35:16Z" }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.94.1", - "date": "2025-05-27T10:36:43Z" - }, { "name": "NodeBB/NodeBB", "version": "v4.4.2", @@ -54,16 +84,6 @@ "version": "coverity-w22-4.13.0", "date": "2025-05-26T15:04:48Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.2.0p43-rc3", - "date": "2025-06-02T13:53:47Z" - }, - { - "name": "keycloak/keycloak", - "version": "26.2.5", - "date": "2025-05-28T06:49:43Z" - }, { "name": "inventree/InvenTree", "version": "0.17.13", @@ -79,16 +99,6 @@ "version": "v2.68.11", "date": "2025-06-02T09:32:57Z" }, - { - "name": "openobserve/openobserve", - "version": "v0.0.0-dev", - "date": "2025-06-02T08:16:35Z" - }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1978", - "date": "2025-06-02T05:52:50Z" - }, { "name": "firefly-iii/firefly-iii", "version": "v6.2.16", @@ -339,11 +349,6 @@ "version": "v0.107.62", "date": "2025-05-27T12:10:19Z" }, - { - "name": "esphome/esphome", - "version": "2025.5.1", - "date": "2025-05-27T09:01:29Z" - }, { "name": "semaphoreui/semaphore", "version": "v2.14.12", @@ -1199,11 +1204,6 @@ "version": "v0.15.4", "date": "2024-07-13T11:03:43Z" }, - { - "name": "FlareSolverr/FlareSolverr", - "version": "v3.3.21", - "date": "2024-06-26T01:14:46Z" - }, { "name": "Forceu/barcodebuddy", "version": "v1.8.1.8", From e9477e7a07f83cf5f897982a7e2978f37b0b25ca Mon Sep 17 00:00:00 2001 From: theincrediblenoone Date: Tue, 3 Jun 2025 18:36:59 -0400 Subject: [PATCH 153/274] Update netbox.json (#4952) Website link lead to commercial product website. Community version is only referenced in the FAQ of the pricing page. Updated link to point to product page for community version. --- frontend/public/json/netbox.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/netbox.json b/frontend/public/json/netbox.json index d88192135..7b6030a1f 100644 --- a/frontend/public/json/netbox.json +++ b/frontend/public/json/netbox.json @@ -10,7 +10,7 @@ "privileged": false, "interface_port": 443, "documentation": "https://netboxlabs.com/docs/netbox/en/stable/", - "website": "https://netboxlabs.com/", + "website": "https://netboxlabs.com/products/netbox/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/netbox.webp", "config_path": "/opt/netbox/netbox/netbox/configuration.py", "description": "NetBox is the source of truth for everything on your network, from physical components like power systems and cabling to virtual assets like IP addresses and VLANs. Network automation and observability tools depend on NetBox’s authoritative data to roll out configurations, monitor changes, and accelerate operations across the enterprise", From 9ef727419976208713d9a189b9869857ebc795f3 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 3 Jun 2025 23:37:24 +0100 Subject: [PATCH 154/274] Update CHANGELOG.md (#4953) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e389a5a4..4bdbd85ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,12 @@ All LXC instances created using this repository come pre-installed with Midnight - Kasm: Swap fix [@omiinaya](https://github.com/omiinaya) ([#4937](https://github.com/community-scripts/ProxmoxVE/pull/4937)) +### 🌐 Website + + - #### 📝 Script Information + + - netbox: correct website URL [@theincrediblenoone](https://github.com/theincrediblenoone) ([#4952](https://github.com/community-scripts/ProxmoxVE/pull/4952)) + ## 2025-06-02 ### 🆕 New Scripts From f154249ddedd2fa5ecbb66a70189587ee11969fc Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 4 Jun 2025 02:15:02 +0200 Subject: [PATCH 155/274] Update versions.json (#4956) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 130 ++++++++++++++--------------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 275befb6b..ecdc01c35 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,69 @@ [ + { + "name": "coder/code-server", + "version": "v4.100.3", + "date": "2025-06-03T21:06:41Z" + }, + { + "name": "pocket-id/pocket-id", + "version": "v1.2.0", + "date": "2025-06-03T20:42:28Z" + }, + { + "name": "runtipi/runtipi", + "version": "v4.2.1", + "date": "2025-06-03T20:04:28Z" + }, + { + "name": "goauthentik/authentik", + "version": "version/2025.6.0", + "date": "2025-06-03T20:04:09Z" + }, + { + "name": "jenkinsci/jenkins", + "version": "jenkins-2.513", + "date": "2025-06-03T17:53:03Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.16", + "date": "2025-05-27T16:27:42Z" + }, + { + "name": "mattermost/mattermost", + "version": "server/public/v0.1.14", + "date": "2025-05-29T15:35:16Z" + }, + { + "name": "dgtlmoon/changedetection.io", + "version": "0.50.2", + "date": "2025-06-03T14:29:07Z" + }, + { + "name": "element-hq/synapse", + "version": "v1.131.0", + "date": "2025-06-03T14:13:00Z" + }, + { + "name": "zitadel/zitadel", + "version": "v2.71.12", + "date": "2025-06-03T14:11:41Z" + }, + { + "name": "influxdata/influxdb", + "version": "v1.12.1rc3", + "date": "2025-06-03T14:05:52Z" + }, + { + "name": "nzbgetcom/nzbget", + "version": "v25.0", + "date": "2025-05-12T09:12:04Z" + }, + { + "name": "Pf2eToolsOrg/Pf2eTools", + "version": "v0.9.0", + "date": "2025-06-03T11:49:40Z" + }, { "name": "n8n-io/n8n", "version": "n8n@1.95.3", @@ -69,11 +134,6 @@ "version": "v1.21.6", "date": "2025-06-02T17:12:58Z" }, - { - "name": "mattermost/mattermost", - "version": "server/public/v0.1.14", - "date": "2025-05-29T15:35:16Z" - }, { "name": "NodeBB/NodeBB", "version": "v4.4.2", @@ -94,16 +154,6 @@ "version": "6.3.0-beta.4", "date": "2025-06-02T11:21:42Z" }, - { - "name": "zitadel/zitadel", - "version": "v2.68.11", - "date": "2025-06-02T09:32:57Z" - }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.16", - "date": "2025-05-27T16:27:42Z" - }, { "name": "usememos/memos", "version": "v0.24.4", @@ -144,11 +194,6 @@ "version": "2025.6.1", "date": "2025-06-01T12:31:14Z" }, - { - "name": "runtipi/runtipi", - "version": "v4.2.0", - "date": "2025-06-01T12:31:14Z" - }, { "name": "evcc-io/evcc", "version": "0.204.1", @@ -189,11 +234,6 @@ "version": "v0.14.1", "date": "2024-08-29T22:32:51Z" }, - { - "name": "goauthentik/authentik", - "version": "version/2025.4.1", - "date": "2025-05-15T17:48:29Z" - }, { "name": "moghtech/komodo", "version": "v1.18.0", @@ -209,21 +249,11 @@ "version": "e5.10.0-beta.1", "date": "2025-05-30T16:49:17Z" }, - { - "name": "element-hq/synapse", - "version": "test-pro", - "date": "2025-05-30T14:53:00Z" - }, { "name": "icereed/paperless-gpt", "version": "v0.20.0", "date": "2025-05-30T14:39:51Z" }, - { - "name": "nzbgetcom/nzbget", - "version": "v25.0", - "date": "2025-05-12T09:12:04Z" - }, { "name": "binwiederhier/ntfy", "version": "v2.12.0", @@ -244,11 +274,6 @@ "version": "v0.56.1", "date": "2025-05-29T19:09:16Z" }, - { - "name": "influxdata/influxdb", - "version": "v2.7.12", - "date": "2025-05-29T17:08:26Z" - }, { "name": "HabitRPG/habitica", "version": "v5.36.5", @@ -294,16 +319,6 @@ "version": "r6.0.24", "date": "2025-05-28T21:25:03Z" }, - { - "name": "jenkinsci/jenkins", - "version": "jenkins-2.504.2", - "date": "2025-05-28T14:36:54Z" - }, - { - "name": "pocket-id/pocket-id", - "version": "v1.1.0", - "date": "2025-05-28T09:39:00Z" - }, { "name": "Athou/commafeed", "version": "5.10.0", @@ -359,11 +374,6 @@ "version": "1.34.1", "date": "2025-05-26T21:40:54Z" }, - { - "name": "dgtlmoon/changedetection.io", - "version": "0.49.18", - "date": "2025-05-26T18:36:33Z" - }, { "name": "MediaBrowser/Emby.Releases", "version": "4.8.11.0", @@ -574,11 +584,6 @@ "version": "1.21.3", "date": "2025-05-16T04:31:05Z" }, - { - "name": "coder/code-server", - "version": "v4.100.2", - "date": "2025-05-15T23:02:46Z" - }, { "name": "cloudflare/cloudflared", "version": "2025.5.0", @@ -1194,11 +1199,6 @@ "version": "r1720", "date": "2024-08-03T04:07:20Z" }, - { - "name": "Pf2eToolsOrg/Pf2eTools", - "version": "v0.8.13", - "date": "2024-07-29T12:54:27Z" - }, { "name": "hywax/mafl", "version": "v0.15.4", From c9eaaee0c0c46a7f273912c3a16715acf16f2150 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 4 Jun 2025 01:15:48 +0100 Subject: [PATCH 156/274] Update CHANGELOG.md (#4957) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4bdbd85ac..e22a4ba8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-06-04 + ## 2025-06-03 ### 🚀 Updated Scripts From 02b753eb128fcc81b42fa8a09267389a0fd84d38 Mon Sep 17 00:00:00 2001 From: rcourtman Date: Wed, 4 Jun 2025 06:02:07 +0100 Subject: [PATCH 157/274] fix: show specific port 7655 in Pulse container setup output (#4951) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace generic (:your_port) with actual port 7655 in ct/pulse.sh - Provides users with correct access URL immediately after setup - Fixes incomplete access information shown at container creation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Claude --- ct/pulse.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ct/pulse.sh b/ct/pulse.sh index d45190b36..c0379b3b7 100644 --- a/ct/pulse.sh +++ b/ct/pulse.sh @@ -67,4 +67,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}(:your_port)${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7655${CL}" From ff12d802ccf18c26ab7c18bcdced5aa8d92dc56b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 4 Jun 2025 06:02:44 +0100 Subject: [PATCH 158/274] Update CHANGELOG.md (#4959) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e22a4ba8b..cace89995 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-04 +### 🚀 Updated Scripts + + - Pulse: add correct Port for URL output [@rcourtman](https://github.com/rcourtman) ([#4951](https://github.com/community-scripts/ProxmoxVE/pull/4951)) + ## 2025-06-03 ### 🚀 Updated Scripts From 03eff3a2e13e4adf69f7e50698dbbb1334ef8581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Wed, 4 Jun 2025 10:10:05 +0200 Subject: [PATCH 159/274] [refactor] Seelf (#4954) * Refactor seelf * Update * Update * Update --- ct/seelf.sh | 66 +++++++++++++++------------------------- install/seelf-install.sh | 20 ++++-------- 2 files changed, 30 insertions(+), 56 deletions(-) diff --git a/ct/seelf.sh b/ct/seelf.sh index 195258cac..d36de48b9 100644 --- a/ct/seelf.sh +++ b/ct/seelf.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG -# Author: tremor021 +# Author: Slaviša Arežina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/YuukanOO/seelf @@ -20,49 +20,31 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources + header_info + check_container_storage + check_container_resources - if [[ ! -d /opt/seelf ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - RELEASE=$(curl -fsSL https://api.github.com/repos/YuukanOO/seelf/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then - msg_info "Updating $APP" - - msg_info "Stopping $APP" - systemctl stop seelf - msg_ok "Stopped $APP" - - msg_info "Updating $APP to v${RELEASE}. Patience" - export PATH=$PATH:/usr/local/go/bin - source ~/.bashrc - curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz") - tar -xzf v${RELEASE}.tar.gz - cp -r seelf-${RELEASE}/ /opt/seelf - cd /opt/seelf - $STD make build - msg_ok "Updated $APP to v${RELEASE}" - - msg_info "Starting $APP" - systemctl start seelf - msg_ok "Started $APP" - - # Cleaning up - msg_info "Cleaning Up" - rm -f ~/*.tar.gz - rm -rf ~/seelf-${RELEASE} - msg_ok "Cleanup Completed" - - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Update Successful" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" - fi + if [[ ! -d /opt/seelf ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + if fetch_and_deploy_gh_release "YuukanOO/seelf"; then + msg_ok "$APP already at the latest version. No update required." + else + msg_info "Stopping $APP" + systemctl stop seelf + msg_ok "Stopped $APP" + + msg_info "Updating $APP" + cd /opt/seelf + $STD make build + msg_ok "Updated $APP" + + msg_info "Starting $APP" + systemctl start seelf + msg_ok "Started $APP" + fi + exit } start diff --git a/install/seelf-install.sh b/install/seelf-install.sh index 6c9c8c31d..24bf5740c 100644 --- a/install/seelf-install.sh +++ b/install/seelf-install.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # Copyright (c) 2021-2025 community-scripts ORG -# Author: tremor021 +# Author: Slaviša Arežina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/YuukanOO/seelf @@ -21,21 +21,17 @@ msg_ok "Installed Dependencies" install_go NODE_VERSION="22" install_node_and_modules +fetch_and_deploy_gh_release "YuukanOO/seelf" msg_info "Setting up seelf. Patience" -RELEASE=$(curl -fsSL https://api.github.com/repos/YuukanOO/seelf/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -o "v${RELEASE}.tar.gz" -tar -xzf v"${RELEASE}".tar.gz -mv seelf-"${RELEASE}"/ /opt/seelf cd /opt/seelf $STD make build PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) +mkdir -p /opt/seelf/data { echo "ADMIN_EMAIL=admin@example.com" echo "ADMIN_PASSWORD=$PASS" } | tee .env ~/seelf.creds >/dev/null - -echo "${RELEASE}" >/opt/seelf_version.txt SEELF_ADMIN_EMAIL=admin@example.com SEELF_ADMIN_PASSWORD=$PASS ./seelf serve &>/dev/null & sleep 5 kill $! @@ -51,8 +47,10 @@ After=network.target Type=simple User=root Group=root +EnvironmentFile=/opt/seelf/.env +Environment=DATA_PATH=/opt/seelf/data WorkingDirectory=/opt/seelf -ExecStart=/opt/seelf/./seelf serve +ExecStart=/opt/seelf/./seelf -c data/conf.yml serve Restart=always [Install] @@ -64,13 +62,7 @@ msg_ok "Created Service" motd_ssh customize -# Cleanup msg_info "Cleaning up" -rm -f ~/v"${RELEASE}".tar.gz -rm -f "$temp_file" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" - -motd_ssh -customize From a25009bdb1e85eecfccdda3585e19cded3e5cac0 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 4 Jun 2025 09:10:29 +0100 Subject: [PATCH 160/274] Update CHANGELOG.md (#4962) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cace89995..859cd7263 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,10 @@ All LXC instances created using this repository come pre-installed with Midnight - Pulse: add correct Port for URL output [@rcourtman](https://github.com/rcourtman) ([#4951](https://github.com/community-scripts/ProxmoxVE/pull/4951)) + - #### 🐞 Bug Fixes + + - [refactor] Seelf [@tremor021](https://github.com/tremor021) ([#4954](https://github.com/community-scripts/ProxmoxVE/pull/4954)) + ## 2025-06-03 ### 🚀 Updated Scripts From 176946bd45ebb659fa1f26fc586be9c6f09c423a Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 4 Jun 2025 14:07:57 +0200 Subject: [PATCH 161/274] Update versions.json (#4966) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 134 ++++++++++++++--------------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index ecdc01c35..931fea1ab 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,64 @@ [ + { + "name": "Prowlarr/Prowlarr", + "version": "v1.37.0.5076", + "date": "2025-06-04T11:04:53Z" + }, + { + "name": "nzbgetcom/nzbget", + "version": "v25.0", + "date": "2025-05-12T09:12:04Z" + }, + { + "name": "zabbix/zabbix", + "version": "7.4.0rc1", + "date": "2025-06-04T09:06:57Z" + }, + { + "name": "home-assistant/core", + "version": "2025.5.3", + "date": "2025-05-23T15:10:33Z" + }, + { + "name": "glpi-project/glpi", + "version": "10.0.18", + "date": "2025-02-12T11:07:02Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.2.0p43-rc5", + "date": "2025-06-04T08:14:03Z" + }, + { + "name": "openobserve/openobserve", + "version": "v0.14.6-rc7-pb10", + "date": "2025-06-04T06:55:01Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1987", + "date": "2025-06-04T06:23:49Z" + }, + { + "name": "mattermost/mattermost", + "version": "server/public/v0.1.14", + "date": "2025-05-29T15:35:16Z" + }, + { + "name": "actualbudget/actual", + "version": "v25.6.0", + "date": "2025-06-04T05:09:24Z" + }, + { + "name": "louislam/uptime-kuma", + "version": "2.0.0-beta.2-temp", + "date": "2025-03-28T08:45:58Z" + }, + { + "name": "webmin/webmin", + "version": "2.401", + "date": "2025-06-04T02:53:03Z" + }, { "name": "coder/code-server", "version": "v4.100.3", @@ -24,16 +84,16 @@ "version": "jenkins-2.513", "date": "2025-06-03T17:53:03Z" }, + { + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" + }, { "name": "firefly-iii/firefly-iii", "version": "v6.2.16", "date": "2025-05-27T16:27:42Z" }, - { - "name": "mattermost/mattermost", - "version": "server/public/v0.1.14", - "date": "2025-05-29T15:35:16Z" - }, { "name": "dgtlmoon/changedetection.io", "version": "0.50.2", @@ -54,11 +114,6 @@ "version": "v1.12.1rc3", "date": "2025-06-03T14:05:52Z" }, - { - "name": "nzbgetcom/nzbget", - "version": "v25.0", - "date": "2025-05-12T09:12:04Z" - }, { "name": "Pf2eToolsOrg/Pf2eTools", "version": "v0.9.0", @@ -74,21 +129,6 @@ "version": "2025.5.2", "date": "2025-06-03T08:45:14Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.2.0p43-rc4", - "date": "2025-06-03T06:59:25Z" - }, - { - "name": "openobserve/openobserve", - "version": "v0.0.1-dev", - "date": "2025-06-03T06:50:25Z" - }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1984", - "date": "2025-06-03T06:09:13Z" - }, { "name": "FlareSolverr/FlareSolverr", "version": "v3.3.22", @@ -99,11 +139,6 @@ "version": "1.26.3", "date": "2025-06-02T22:00:14Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.5", - "date": "2025-05-28T06:49:43Z" - }, { "name": "TandoorRecipes/recipes", "version": "2.0.0-alpha-4", @@ -141,8 +176,8 @@ }, { "name": "wazuh/wazuh", - "version": "coverity-w22-4.13.0", - "date": "2025-05-26T15:04:48Z" + "version": "coverity-w23-4.13.0", + "date": "2025-05-30T15:39:11Z" }, { "name": "inventree/InvenTree", @@ -204,11 +239,6 @@ "version": "v5.25.0.10024", "date": "2025-05-26T21:58:37Z" }, - { - "name": "home-assistant/core", - "version": "2025.5.3", - "date": "2025-05-23T15:10:33Z" - }, { "name": "kimai/kimai", "version": "2.35.1", @@ -304,11 +334,6 @@ "version": "v0.9.0", "date": "2025-05-29T05:41:01Z" }, - { - "name": "webmin/webmin", - "version": "2.400", - "date": "2025-05-28T22:36:05Z" - }, { "name": "apache/cassandra", "version": "cassandra-4.0.18", @@ -399,11 +424,6 @@ "version": "v1.13.0", "date": "2025-05-25T20:21:13Z" }, - { - "name": "Prowlarr/Prowlarr", - "version": "v1.36.3.5071", - "date": "2025-05-25T13:59:43Z" - }, { "name": "Lidarr/Lidarr", "version": "v2.11.2.4629", @@ -499,11 +519,6 @@ "version": "v11.9.9", "date": "2025-05-21T13:13:31Z" }, - { - "name": "glpi-project/glpi", - "version": "10.0.18", - "date": "2025-02-12T11:07:02Z" - }, { "name": "diced/zipline", "version": "v4.1.0", @@ -524,11 +539,6 @@ "version": "v0.46.2", "date": "2025-05-20T11:21:04Z" }, - { - "name": "zabbix/zabbix", - "version": "7.2.7", - "date": "2025-05-20T11:00:56Z" - }, { "name": "crafty-controller/crafty-4", "version": "v4.4.9", @@ -714,11 +724,6 @@ "version": "v2.0.0.4645", "date": "2017-03-07T18:56:06Z" }, - { - "name": "actualbudget/actual", - "version": "v25.5.0", - "date": "2025-05-03T19:03:17Z" - }, { "name": "forgejo/forgejo", "version": "v11.0.1", @@ -939,11 +944,6 @@ "version": "v4.5.0", "date": "2025-03-28T19:02:22Z" }, - { - "name": "louislam/uptime-kuma", - "version": "2.0.0-beta.2-temp", - "date": "2025-03-28T08:45:58Z" - }, { "name": "hakimel/reveal.js", "version": "5.2.1", From 2400f98f7520d75b4b1daa8ef0e978f3e24d7dc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Wed, 4 Jun 2025 14:39:18 +0200 Subject: [PATCH 162/274] Update wavelog.json (#4965) --- frontend/public/json/wavelog.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/wavelog.json b/frontend/public/json/wavelog.json index 6e679e341..ba2232ae9 100644 --- a/frontend/public/json/wavelog.json +++ b/frontend/public/json/wavelog.json @@ -33,7 +33,7 @@ }, "notes": [ { - "text": "Database credentials: `cat wavelog.creds`", + "text": "Database credentials: `cat ~/wavelog.creds`", "type": "info" } ] From d2482e5c8206969e78e73e41ab579471ef6f7ef0 Mon Sep 17 00:00:00 2001 From: rcourtman Date: Wed, 4 Jun 2025 20:16:07 +0100 Subject: [PATCH 163/274] Pulse: add polkit for sudoless web updates (#4970) --- install/pulse-install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/pulse-install.sh b/install/pulse-install.sh index 1e4efcada..5fe6b016c 100644 --- a/install/pulse-install.sh +++ b/install/pulse-install.sh @@ -16,7 +16,8 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - diffutils + diffutils \ + policykit-1 msg_ok "Installed Dependencies" msg_info "Creating dedicated user pulse..." From 0178742308be8d8fe36781117a8a81f255079af0 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 4 Jun 2025 20:21:16 +0100 Subject: [PATCH 164/274] Update CHANGELOG.md (#4973) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 859cd7263..52f4334f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts - - Pulse: add correct Port for URL output [@rcourtman](https://github.com/rcourtman) ([#4951](https://github.com/community-scripts/ProxmoxVE/pull/4951)) + - Pulse: add polkit for sudoless web updates [@rcourtman](https://github.com/rcourtman) ([#4970](https://github.com/community-scripts/ProxmoxVE/pull/4970)) +- Pulse: add correct Port for URL output [@rcourtman](https://github.com/rcourtman) ([#4951](https://github.com/community-scripts/ProxmoxVE/pull/4951)) - #### 🐞 Bug Fixes From a0d2bece1d4e93cd84f7bcd77893e0a00cb530fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Wed, 4 Jun 2025 21:24:44 +0200 Subject: [PATCH 165/274] Tianji: Update dependencies (#4968) * Update tianji-install.sh * Also check jq in update --- ct/tianji.sh | 3 +++ install/tianji-install.sh | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ct/tianji.sh b/ct/tianji.sh index ed89d07d2..1e9065782 100644 --- a/ct/tianji.sh +++ b/ct/tianji.sh @@ -26,6 +26,9 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + if ! command -v jq &>/dev/null; then + $STD apt-get install -y jq + fi if ! command -v node >/dev/null || [[ "$(/usr/bin/env node -v | grep -oP '^v\K[0-9]+')" != "22" ]]; then msg_info "Installing Node.js 22" $STD apt-get purge -y nodejs diff --git a/install/tianji-install.sh b/install/tianji-install.sh index 56d079a38..5f7742855 100644 --- a/install/tianji-install.sh +++ b/install/tianji-install.sh @@ -22,7 +22,8 @@ $STD apt-get install -y \ build-essential \ git \ make \ - ca-certificates + ca-certificates \ + jq 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]')" install_node_and_modules From 077db6c52ffd552538b78ec0aadd1303c2f86cd7 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 02:14:54 +0200 Subject: [PATCH 166/274] Update versions.json (#4977) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 150 ++++++++++++++--------------- 1 file changed, 75 insertions(+), 75 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 931fea1ab..d2f3a1062 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,79 @@ [ + { + "name": "actualbudget/actual", + "version": "v25.6.1", + "date": "2025-06-04T22:24:31Z" + }, + { + "name": "msgbyte/tianji", + "version": "v1.21.9", + "date": "2025-06-04T19:17:58Z" + }, + { + "name": "rabbitmq/rabbitmq-server", + "version": "v4.1.1", + "date": "2025-06-04T19:10:05Z" + }, + { + "name": "FlareSolverr/FlareSolverr", + "version": "v3.3.24", + "date": "2025-06-04T18:02:30Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.16", + "date": "2025-05-27T16:27:42Z" + }, + { + "name": "cockpit-project/cockpit", + "version": "340", + "date": "2025-06-04T16:41:44Z" + }, + { + "name": "donaldzou/WGDashboard", + "version": "v4.2.3", + "date": "2025-05-07T15:35:04Z" + }, + { + "name": "openobserve/openobserve", + "version": "v0.15.0-rc1", + "date": "2025-06-04T15:12:56Z" + }, + { + "name": "theonedev/onedev", + "version": "v11.10.0", + "date": "2025-06-04T14:29:05Z" + }, + { + "name": "goauthentik/authentik", + "version": "version/2025.6.0", + "date": "2025-06-04T14:26:01Z" + }, + { + "name": "crowdsecurity/crowdsec", + "version": "v1.6.8", + "date": "2025-03-25T13:33:10Z" + }, + { + "name": "MariaDB/server", + "version": "mariadb-11.8.2", + "date": "2025-06-04T13:35:16Z" + }, + { + "name": "n8n-io/n8n", + "version": "n8n@1.95.3", + "date": "2025-06-03T11:09:42Z" + }, + { + "name": "Graylog2/graylog2-server", + "version": "6.1.12", + "date": "2025-06-04T12:48:55Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.4.0p3-rc1", + "date": "2025-06-04T11:32:09Z" + }, { "name": "Prowlarr/Prowlarr", "version": "v1.37.0.5076", @@ -24,16 +99,6 @@ "version": "10.0.18", "date": "2025-02-12T11:07:02Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.2.0p43-rc5", - "date": "2025-06-04T08:14:03Z" - }, - { - "name": "openobserve/openobserve", - "version": "v0.14.6-rc7-pb10", - "date": "2025-06-04T06:55:01Z" - }, { "name": "Jackett/Jackett", "version": "v0.22.1987", @@ -44,11 +109,6 @@ "version": "server/public/v0.1.14", "date": "2025-05-29T15:35:16Z" }, - { - "name": "actualbudget/actual", - "version": "v25.6.0", - "date": "2025-06-04T05:09:24Z" - }, { "name": "louislam/uptime-kuma", "version": "2.0.0-beta.2-temp", @@ -74,11 +134,6 @@ "version": "v4.2.1", "date": "2025-06-03T20:04:28Z" }, - { - "name": "goauthentik/authentik", - "version": "version/2025.6.0", - "date": "2025-06-03T20:04:09Z" - }, { "name": "jenkinsci/jenkins", "version": "jenkins-2.513", @@ -89,11 +144,6 @@ "version": "26.2.5", "date": "2025-05-28T06:49:43Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.16", - "date": "2025-05-27T16:27:42Z" - }, { "name": "dgtlmoon/changedetection.io", "version": "0.50.2", @@ -119,21 +169,11 @@ "version": "v0.9.0", "date": "2025-06-03T11:49:40Z" }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.95.3", - "date": "2025-06-03T11:09:42Z" - }, { "name": "esphome/esphome", "version": "2025.5.2", "date": "2025-06-03T08:45:14Z" }, - { - "name": "FlareSolverr/FlareSolverr", - "version": "v3.3.22", - "date": "2025-06-03T04:54:48Z" - }, { "name": "FreshRSS/FreshRSS", "version": "1.26.3", @@ -164,11 +204,6 @@ "version": "v8.1.15", "date": "2025-06-02T17:38:24Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.21.6", - "date": "2025-06-02T17:12:58Z" - }, { "name": "NodeBB/NodeBB", "version": "v4.4.2", @@ -184,11 +219,6 @@ "version": "0.17.13", "date": "2025-06-02T12:44:20Z" }, - { - "name": "Graylog2/graylog2-server", - "version": "6.3.0-beta.4", - "date": "2025-06-02T11:21:42Z" - }, { "name": "usememos/memos", "version": "v0.24.4", @@ -474,16 +504,6 @@ "version": "v11.2.10", "date": "2025-05-22T23:50:45Z" }, - { - "name": "crowdsecurity/crowdsec", - "version": "v1.6.8", - "date": "2025-03-25T13:33:10Z" - }, - { - "name": "MariaDB/server", - "version": "mariadb-11.4.7", - "date": "2025-05-22T14:22:22Z" - }, { "name": "0xERR0R/blocky", "version": "v0.26.2", @@ -509,16 +529,6 @@ "version": "v0.35.0", "date": "2025-05-21T18:00:32Z" }, - { - "name": "cockpit-project/cockpit", - "version": "339", - "date": "2025-05-21T14:49:36Z" - }, - { - "name": "theonedev/onedev", - "version": "v11.9.9", - "date": "2025-05-21T13:13:31Z" - }, { "name": "diced/zipline", "version": "v4.1.0", @@ -674,11 +684,6 @@ "version": "10.1.41", "date": "2025-05-08T12:45:44Z" }, - { - "name": "donaldzou/WGDashboard", - "version": "v4.2.3", - "date": "2025-05-07T15:35:04Z" - }, { "name": "Brandawg93/PeaNUT", "version": "v5.7.5", @@ -849,11 +854,6 @@ "version": "v0.4.15", "date": "2024-12-19T03:19:49Z" }, - { - "name": "rabbitmq/rabbitmq-server", - "version": "v4.1.0", - "date": "2025-04-15T16:18:29Z" - }, { "name": "slskd/slskd", "version": "0.22.5", From 1564d4d6d3b2ffed02d2cb156604d3a6b7c31649 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 01:15:36 +0100 Subject: [PATCH 167/274] Update CHANGELOG.md (#4978) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 52f4334f4..ee2f0e264 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-06-05 + ## 2025-06-04 ### 🚀 Updated Scripts From 3f43cd557538ef70654c24b5a590521d2fca1039 Mon Sep 17 00:00:00 2001 From: bitspill Date: Thu, 5 Jun 2025 02:11:13 -0500 Subject: [PATCH 168/274] Fix clean-lxcs.sh type categorization (#4980) --- frontend/public/json/clean-lxcs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/clean-lxcs.json b/frontend/public/json/clean-lxcs.json index 547744374..c464d734d 100644 --- a/frontend/public/json/clean-lxcs.json +++ b/frontend/public/json/clean-lxcs.json @@ -5,7 +5,7 @@ 1 ], "date_created": "2024-04-29", - "type": "addon", + "type": "pve", "updateable": false, "privileged": false, "interface_port": null, From b91cbbcbe94d02feb693abfa4c95e236566b5081 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 08:11:55 +0100 Subject: [PATCH 169/274] Update CHANGELOG.md (#4981) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee2f0e264..1be243baf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-05 +### 🌐 Website + + - #### 📝 Script Information + + - Fix clean-lxcs.sh type categorization [@bitspill](https://github.com/bitspill) ([#4980](https://github.com/community-scripts/ProxmoxVE/pull/4980)) + ## 2025-06-04 ### 🚀 Updated Scripts From 2e3f41624250150132ef210b2b63b5a2f9ebbf1a Mon Sep 17 00:00:00 2001 From: Frankmaaan <155917085+Frankmaaan@users.noreply.github.com> Date: Thu, 5 Jun 2025 09:13:33 +0200 Subject: [PATCH 170/274] add FUSE to rclone (#4972) * Update rclone-install.sh fuse3 is needed for mounting * Update alpine-rclone.sh activate FUSE by default * Update rclone.sh activate FUSE by default * Update alpine-rclone-install.sh install fuse3 which is needed for mounting --- ct/alpine-rclone.sh | 1 + ct/rclone.sh | 1 + install/alpine-rclone-install.sh | 2 +- install/rclone-install.sh | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ct/alpine-rclone.sh b/ct/alpine-rclone.sh index b3451ba24..04bc8d75a 100644 --- a/ct/alpine-rclone.sh +++ b/ct/alpine-rclone.sh @@ -13,6 +13,7 @@ var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.21}" var_unprivileged="${var_unprivileged:-1}" +var_fuse="${var_fuse:-yes}" header_info "$APP" variables diff --git a/ct/rclone.sh b/ct/rclone.sh index 18107d911..66700cf28 100644 --- a/ct/rclone.sh +++ b/ct/rclone.sh @@ -13,6 +13,7 @@ var_disk="${var_disk:-2}" var_os="${var_os:-debian}" var_version="${var_version:-12}" var_unprivileged="${var_unprivileged:-1}" +var_fuse="${var_fuse:-yes}" header_info "$APP" variables diff --git a/install/alpine-rclone-install.sh b/install/alpine-rclone-install.sh index ed0b3cc70..8c09f697e 100644 --- a/install/alpine-rclone-install.sh +++ b/install/alpine-rclone-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing dependencies" $STD apk add --no-cache \ - apache2-utils + apache2-utils fuse3 msg_ok "Installed dependencies" msg_info "Installing rclone" diff --git a/install/rclone-install.sh b/install/rclone-install.sh index 920564143..5340ab753 100644 --- a/install/rclone-install.sh +++ b/install/rclone-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y apache2-utils +$STD apt-get install -y apache2-utils fuse3 msg_ok "Installed Dependencies" msg_info "Installing rclone" From 27d3909df51f6f5b660d31d0bcce93604409af8c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 08:14:55 +0100 Subject: [PATCH 171/274] Update CHANGELOG.md (#4982) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1be243baf..2b2c2300f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-05 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - add FUSE to rclone [@Frankmaaan](https://github.com/Frankmaaan) ([#4972](https://github.com/community-scripts/ProxmoxVE/pull/4972)) + ### 🌐 Website - #### 📝 Script Information From 27384ad89aae33f0dd9551c80ce44969469c32ae Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 09:58:45 +0200 Subject: [PATCH 172/274] gitea-mirror (#4967) * 'Add new script' * Update gitea-mirror.sh * Update gitea-mirror-install.sh --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com> --- ct/gitea-mirror.sh | 83 ++++++++++++++++++++++++++ ct/headers/gitea-mirror | 6 ++ frontend/public/json/gitea-mirror.json | 35 +++++++++++ install/gitea-mirror-install.sh | 70 ++++++++++++++++++++++ 4 files changed, 194 insertions(+) create mode 100644 ct/gitea-mirror.sh create mode 100644 ct/headers/gitea-mirror create mode 100644 frontend/public/json/gitea-mirror.json create mode 100644 install/gitea-mirror-install.sh diff --git a/ct/gitea-mirror.sh b/ct/gitea-mirror.sh new file mode 100644 index 000000000..9122e5f80 --- /dev/null +++ b/ct/gitea-mirror.sh @@ -0,0 +1,83 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: CrazyWolf13 +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/arunavo4/gitea-mirror + +APP="gitea-mirror" +var_tags="${var_tags:-mirror;gitea}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-1024}" +var_disk="${var_disk:-5}" +var_os="${var_os:-debian}" +var_version="${var_version:-12}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" + +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/gitea-mirror ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/arunavo4/gitea-mirror/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 Services" + systemctl stop gitea-mirror + msg_ok "Services Stopped" + + msg_info "Backup Data" + mkdir -p /opt/gitea-mirror-backup/data + cp /opt/gitea-mirror/data/* /opt/gitea-mirror-backup/data/ + msg_ok "Backup Data" + + msg_info "Installing Bun" + export BUN_INSTALL=/opt/bun + curl -fsSL https://bun.sh/install | $STD bash + ln -sf /opt/bun/bin/bun /usr/local/bin/bun + ln -sf /opt/bun/bin/bun /usr/local/bin/bunx + msg_ok "Installed Bun" + + rm -rf /opt/gitea-mirror + fetch_and_deploy_gh_release "arunavo4/gitea-mirror" + + msg_info "Updating and rebuilding ${APP} to v${RELEASE}" + cd /opt/gitea-mirror + $STD bun run setup + $STD bun run build + APP_VERSION=$(grep -o '"version": *"[^"]*"' package.json | cut -d'"' -f4) + sudo sed -i.bak "s|^Environment=npm_package_version=.*|Environment=npm_package_version=${APP_VERSION}|" /etc/systemd/system/gitea-mirror.service + msg_ok "Updated and rebuilt ${APP} to v${RELEASE}" + + msg_info "Restoring Data" + cp /opt/gitea-mirror-backup/data/* /opt/gitea-mirror/data + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Restored Data" + + msg_info "Starting Service" + systemctl daemon-reload + systemctl start gitea-mirror + msg_ok "Service Started" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" + fi + exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4321${CL}" diff --git a/ct/headers/gitea-mirror b/ct/headers/gitea-mirror new file mode 100644 index 000000000..57003b058 --- /dev/null +++ b/ct/headers/gitea-mirror @@ -0,0 +1,6 @@ + _ __ _ + ____ _(_) /____ ____ _ ____ ___ (_)_____________ _____ + / __ `/ / __/ _ \/ __ `/_____/ __ `__ \/ / ___/ ___/ __ \/ ___/ + / /_/ / / /_/ __/ /_/ /_____/ / / / / / / / / / / /_/ / / + \__, /_/\__/\___/\__,_/ /_/ /_/ /_/_/_/ /_/ \____/_/ +/____/ diff --git a/frontend/public/json/gitea-mirror.json b/frontend/public/json/gitea-mirror.json new file mode 100644 index 000000000..667ff2104 --- /dev/null +++ b/frontend/public/json/gitea-mirror.json @@ -0,0 +1,35 @@ +{ + "name": "Gitea-Mirror", + "slug": "gitea-mirror", + "categories": [ + 7 + ], + "date_created": "2025-06-02", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 4321, + "documentation": "https://github.com/arunavo4/gitea-mirror/", + "config_path": "/etc/systemd/system/gitea-mirror.service", + "website": "https://github.com/arunavo4/gitea-mirror/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/gitea-mirror.webp", + "description": "Gitea Mirror auto-syncs GitHub repos to your self-hosted Gitea, with a sleek Web UI and easy Docker deployment. ", + "install_methods": [ + { + "type": "default", + "script": "ct/gitea-mirror.sh", + "resources": { + "cpu": 1, + "ram": 1024, + "hdd": 5, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/install/gitea-mirror-install.sh b/install/gitea-mirror-install.sh new file mode 100644 index 000000000..2a44477b9 --- /dev/null +++ b/install/gitea-mirror-install.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: CrazyWolf13 +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/arunavo4/gitea-mirror + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing dependencies" +$STD apt-get install -y \ + build-essential \ + openssl \ + sqlite3 \ + unzip +msg_ok "Installed Dependencies" + +msg_info "Installing Bun" +export BUN_INSTALL=/opt/bun +curl -fsSL https://bun.sh/install | $STD bash +ln -sf /opt/bun/bin/bun /usr/local/bin/bun +ln -sf /opt/bun/bin/bun /usr/local/bin/bunx +msg_ok "Installed Bun" + +fetch_and_deploy_gh_release "arunavo4/gitea-mirror" + +msg_info "Installing gitea-mirror" +cd /opt/gitea-mirror +$STD bun run setup +$STD bun run build +msg_ok "Installed gitea-mirror" + +msg_info "Creating Services" +JWT_SECRET=$(openssl rand -hex 32) +APP_VERSION=$(grep -o '"version": *"[^"]*"' package.json | cut -d'"' -f4) +cat </etc/systemd/system/gitea-mirror.service +[Unit] +Description=Gitea Mirror +After=network.target +[Service] +Type=simple +WorkingDirectory=/opt/gitea-mirror +ExecStart=/usr/local/bin/bun dist/server/entry.mjs +Restart=on-failure +RestartSec=10 +Environment=NODE_ENV=production +Environment=HOST=0.0.0.0 +Environment=PORT=4321 +Environment=DATABASE_URL=file:/opt/gitea-mirror/data/gitea-mirror.db +Environment=JWT_SECRET=${JWT_SECRET} +Environment=npm_package_version=${APP_VERSION} +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now gitea-mirror +msg_ok "Created Service" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From 1e81c11e7423d187fa3cc580d262262603624372 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 08:59:09 +0100 Subject: [PATCH 173/274] Update date in json (#4984) Co-authored-by: GitHub Actions --- frontend/public/json/gitea-mirror.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/gitea-mirror.json b/frontend/public/json/gitea-mirror.json index 667ff2104..387c611b9 100644 --- a/frontend/public/json/gitea-mirror.json +++ b/frontend/public/json/gitea-mirror.json @@ -4,7 +4,7 @@ "categories": [ 7 ], - "date_created": "2025-06-02", + "date_created": "2025-06-05", "type": "ct", "updateable": true, "privileged": false, From 835893e589144953b861796ef95d45522253658d Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 08:59:22 +0100 Subject: [PATCH 174/274] Update CHANGELOG.md (#4985) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b2c2300f..7d9f89d94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-05 +### 🆕 New Scripts + + - gitea-mirror ([#4967](https://github.com/community-scripts/ProxmoxVE/pull/4967)) + ### 🚀 Updated Scripts - #### 🐞 Bug Fixes From 338d351c29fe0d9e133f4e154275741475b2e604 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 5 Jun 2025 09:59:32 +0200 Subject: [PATCH 175/274] Update phpMyAdmin for MariaDB and MySQL LXC's (#4983) * Update mariadb-install.sh * Update --- install/mariadb-install.sh | 4 ++-- install/mysql-install.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/install/mariadb-install.sh b/install/mariadb-install.sh index 99c09b369..8dd25864f 100644 --- a/install/mariadb-install.sh +++ b/install/mariadb-install.sh @@ -33,9 +33,9 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then php-json \ php-curl - curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -o "phpMyAdmin-5.2.1-all-languages.tar.gz" + curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.2/phpMyAdmin-5.2.2-all-languages.tar.gz" -o "phpMyAdmin-5.2.2-all-languages.tar.gz" mkdir -p /var/www/html/phpMyAdmin - tar xf phpMyAdmin-5.2.1-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpMyAdmin + tar xf phpMyAdmin-5.2.2-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpMyAdmin cp /var/www/html/phpMyAdmin/config.sample.inc.php /var/www/html/phpMyAdmin/config.inc.php SECRET=$(openssl rand -base64 24) sed -i "s#\$cfg\['blowfish_secret'\] = '';#\$cfg['blowfish_secret'] = '${SECRET}';#" /var/www/html/phpMyAdmin/config.inc.php diff --git a/install/mysql-install.sh b/install/mysql-install.sh index d1c8a7222..0f4723a39 100644 --- a/install/mysql-install.sh +++ b/install/mysql-install.sh @@ -62,9 +62,9 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then php-json \ php-curl - curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -o "phpMyAdmin-5.2.1-all-languages.tar.gz" + curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.2/phpMyAdmin-5.2.2-all-languages.tar.gz" -o "phpMyAdmin-5.2.2-all-languages.tar.gz" mkdir -p /var/www/html/phpMyAdmin - tar xf phpMyAdmin-5.2.1-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpMyAdmin + tar xf phpMyAdmin-5.2.2-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpMyAdmin cp /var/www/html/phpMyAdmin/config.sample.inc.php /var/www/html/phpMyAdmin/config.inc.php SECRET=$(openssl rand -base64 24) sed -i "s#\$cfg\['blowfish_secret'\] = '';#\$cfg['blowfish_secret'] = '${SECRET}';#" /var/www/html/phpMyAdmin/config.inc.php From 4e53abbd481656e1c82212ac52099a7fec3f7ba3 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 09:00:24 +0100 Subject: [PATCH 176/274] Update CHANGELOG.md (#4986) Co-authored-by: github-actions[bot] From ec573be7e0d31b430f2fe2a6e8c462c0190e2279 Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Thu, 5 Jun 2025 10:05:20 +0200 Subject: [PATCH 177/274] Update homarr.sh (#4974) --- ct/homarr.sh | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/ct/homarr.sh b/ct/homarr.sh index 223dc989d..dd448cfe9 100644 --- a/ct/homarr.sh +++ b/ct/homarr.sh @@ -92,6 +92,19 @@ EOF cp /opt/homarr/.env /opt/homarr-data-backup/.env msg_ok "Backup Data" + msg_info "Updating Nodejs" + $STD apt update + $STD apt upgrade nodejs -y + msg_ok "Updated Nodejs" + + $STD command -v jq || $STD apt-get update && $STD apt-get install -y jq + NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]') + NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')" + install_node_and_modules + + rm -rf /opt/homarr + fetch_and_deploy_gh_release "homarr-labs/homarr" + msg_info "Updating and rebuilding ${APP} to v${RELEASE} (Patience)" rm /opt/run_homarr.sh cat <<'EOF' >/opt/run_homarr.sh @@ -117,12 +130,6 @@ node apps/nextjs/server.js & PID=$! wait $PID EOF chmod +x /opt/run_homarr.sh - $STD command -v jq || $STD apt-get update && $STD apt-get install -y jq - NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]') - NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')" - install_node_and_modules - rm -rf /opt/homarr - fetch_and_deploy_gh_release "homarr-labs/homarr" mv /opt/homarr-data-backup/.env /opt/homarr/.env cd /opt/homarr $STD pnpm install --recursive --frozen-lockfile --shamefully-hoist From 64c47bd335295e9124444c5c297e9dce1e43bc4c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 09:06:30 +0100 Subject: [PATCH 178/274] Update CHANGELOG.md (#4987) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d9f89d94..ee3500c3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - Homarr: add nodejs upgrade [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4974](https://github.com/community-scripts/ProxmoxVE/pull/4974)) - add FUSE to rclone [@Frankmaaan](https://github.com/Frankmaaan) ([#4972](https://github.com/community-scripts/ProxmoxVE/pull/4972)) ### 🌐 Website From e8061a9f6e9b2aef00a0f09b468a05a6cc47fbbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 5 Jun 2025 11:57:41 +0200 Subject: [PATCH 179/274] Zipline fix (#4989) --- install/zipline-install.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/install/zipline-install.sh b/install/zipline-install.sh index a984d001a..26cae0658 100644 --- a/install/zipline-install.sh +++ b/install/zipline-install.sh @@ -14,11 +14,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y \ - postgresql -msg_ok "Installed Dependencies" - NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules PG_VERSION="16" install_postgresql From f0206a6252377a2dfe4e5db558e098aa19df67e5 Mon Sep 17 00:00:00 2001 From: Frankmaaan <155917085+Frankmaaan@users.noreply.github.com> Date: Thu, 5 Jun 2025 12:01:28 +0200 Subject: [PATCH 180/274] Update cron-update-lxcs.json (#4990) the cronjob doesn't work with single quotes --- frontend/public/json/cron-update-lxcs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/cron-update-lxcs.json b/frontend/public/json/cron-update-lxcs.json index 85714bd20..f2c6c0fe8 100644 --- a/frontend/public/json/cron-update-lxcs.json +++ b/frontend/public/json/cron-update-lxcs.json @@ -37,7 +37,7 @@ "type": "info" }, { - "text": "To exclude LXCs from updating, edit the crontab using `crontab -e` and add CTID as shown in the example below:\n\n\n\n`0 0 * * 0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/bash -c '$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/update-lxcs-cron.sh)' -s 103 111 >>/var/log/update-lxcs-cron.log 2>/dev/null`", + "text": "To exclude LXCs from updating, edit the crontab using `crontab -e` and add CTID as shown in the example below:\n\n\n\n`0 0 * * 0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/update-lxcs-cron.sh)\" -s 103 111 >>/var/log/update-lxcs-cron.log 2>/dev/null`", "type": "info" } ] From a991908a372aa9d032caae5d779f5b6f527ad52c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 13:51:46 +0200 Subject: [PATCH 181/274] Update CHANGELOG.md (#4994) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee3500c3e..ebf4c243f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - Zipline: Fix PostgreSQL install [@tremor021](https://github.com/tremor021) ([#4989](https://github.com/community-scripts/ProxmoxVE/pull/4989)) - Homarr: add nodejs upgrade [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4974](https://github.com/community-scripts/ProxmoxVE/pull/4974)) - add FUSE to rclone [@Frankmaaan](https://github.com/Frankmaaan) ([#4972](https://github.com/community-scripts/ProxmoxVE/pull/4972)) From 2c1e101135183d913cd2234b0c9a6edb625859e9 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 14:07:41 +0200 Subject: [PATCH 182/274] Update versions.json (#4995) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 60 +++++++++++++++--------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index d2f3a1062..3551c437d 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,34 @@ [ + { + "name": "mattermost/mattermost", + "version": "server/public/v0.1.14", + "date": "2025-05-29T15:35:16Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1992", + "date": "2025-06-05T05:56:42Z" + }, + { + "name": "MariaDB/server", + "version": "mariadb-11.8.2", + "date": "2025-06-04T13:35:16Z" + }, + { + "name": "theonedev/onedev", + "version": "v11.10.1", + "date": "2025-06-05T03:43:29Z" + }, + { + "name": "donaldzou/WGDashboard", + "version": "v4.2.3", + "date": "2025-05-07T15:35:04Z" + }, + { + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" + }, { "name": "actualbudget/actual", "version": "v25.6.1", @@ -29,21 +59,11 @@ "version": "340", "date": "2025-06-04T16:41:44Z" }, - { - "name": "donaldzou/WGDashboard", - "version": "v4.2.3", - "date": "2025-05-07T15:35:04Z" - }, { "name": "openobserve/openobserve", "version": "v0.15.0-rc1", "date": "2025-06-04T15:12:56Z" }, - { - "name": "theonedev/onedev", - "version": "v11.10.0", - "date": "2025-06-04T14:29:05Z" - }, { "name": "goauthentik/authentik", "version": "version/2025.6.0", @@ -54,11 +74,6 @@ "version": "v1.6.8", "date": "2025-03-25T13:33:10Z" }, - { - "name": "MariaDB/server", - "version": "mariadb-11.8.2", - "date": "2025-06-04T13:35:16Z" - }, { "name": "n8n-io/n8n", "version": "n8n@1.95.3", @@ -99,16 +114,6 @@ "version": "10.0.18", "date": "2025-02-12T11:07:02Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1987", - "date": "2025-06-04T06:23:49Z" - }, - { - "name": "mattermost/mattermost", - "version": "server/public/v0.1.14", - "date": "2025-05-29T15:35:16Z" - }, { "name": "louislam/uptime-kuma", "version": "2.0.0-beta.2-temp", @@ -139,11 +144,6 @@ "version": "jenkins-2.513", "date": "2025-06-03T17:53:03Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.5", - "date": "2025-05-28T06:49:43Z" - }, { "name": "dgtlmoon/changedetection.io", "version": "0.50.2", From db9ffe31058c87ba432840edc52f278194ee9b50 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu, 5 Jun 2025 22:04:04 +0200 Subject: [PATCH 183/274] update Zitadel PSQL (#5000) --- install/zitadel-install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/zitadel-install.sh b/install/zitadel-install.sh index 9fe6edd6f..a97c68f86 100644 --- a/install/zitadel-install.sh +++ b/install/zitadel-install.sh @@ -17,8 +17,9 @@ msg_info "Installing Dependencies (Patience)" $STD apt-get install -y ca-certificates msg_ok "Installed Dependecies" +PG_VERSION="17" PG_MODULES="common" install_postgresql + msg_info "Installing Postgresql" -$STD apt-get install -y postgresql postgresql-common DB_NAME="zitadel" DB_USER="zitadel" DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13) From b2307f1bb98283b739d490385657375368e9efbd Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 21:04:32 +0100 Subject: [PATCH 184/274] Update CHANGELOG.md (#5004) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ebf4c243f..879d286f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,10 @@ All LXC instances created using this repository come pre-installed with Midnight - Homarr: add nodejs upgrade [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4974](https://github.com/community-scripts/ProxmoxVE/pull/4974)) - add FUSE to rclone [@Frankmaaan](https://github.com/Frankmaaan) ([#4972](https://github.com/community-scripts/ProxmoxVE/pull/4972)) + - #### ✨ New Features + + - Zitadel: Upgrade Install to PSQL 17 [@MickLesk](https://github.com/MickLesk) ([#5000](https://github.com/community-scripts/ProxmoxVE/pull/5000)) + ### 🌐 Website - #### 📝 Script Information From 8e88379c1bcb0c17aad0e2effeab78769999633e Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 22:15:11 +0200 Subject: [PATCH 185/274] lyrionmusicserver (#4992) * 'Add new script' * Update lyrionmusicserver.sh --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> --- ct/headers/lyrionmusicserver | 6 ++ ct/lyrionmusicserver.sh | 61 +++++++++++++++++++++ frontend/public/json/lyrionmusicserver.json | 35 ++++++++++++ install/lyrionmusicserver-install.sh | 32 +++++++++++ 4 files changed, 134 insertions(+) create mode 100644 ct/headers/lyrionmusicserver create mode 100644 ct/lyrionmusicserver.sh create mode 100644 frontend/public/json/lyrionmusicserver.json create mode 100644 install/lyrionmusicserver-install.sh diff --git a/ct/headers/lyrionmusicserver b/ct/headers/lyrionmusicserver new file mode 100644 index 000000000..f23c024e8 --- /dev/null +++ b/ct/headers/lyrionmusicserver @@ -0,0 +1,6 @@ + __ _ __ ___ _ _____ + / / __ _______(_)___ ____ / |/ /_ _______(_)____ / ___/___ ______ _____ _____ + / / / / / / ___/ / __ \/ __ \ / /|_/ / / / / ___/ / ___/ \__ \/ _ \/ ___/ | / / _ \/ ___/ + / /___/ /_/ / / / / /_/ / / / / / / / / /_/ (__ ) / /__ ___/ / __/ / | |/ / __/ / +/_____/\__, /_/ /_/\____/_/ /_/ /_/ /_/\__,_/____/_/\___/ /____/\___/_/ |___/\___/_/ + /____/ diff --git a/ct/lyrionmusicserver.sh b/ct/lyrionmusicserver.sh new file mode 100644 index 000000000..533aad25b --- /dev/null +++ b/ct/lyrionmusicserver.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash + +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Omar Minaya +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://lyrion.org/getting-started/ + +APP="Lyrion Music Server" +var_tags="${var_tags:-media}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-1024}" +var_disk="${var_disk:-3}" +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 [[ ! -f /lib/systemd/system/lyrionmusicserver.service ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + DEB_URL=$(curl -s 'https://lyrion.org/getting-started/' | grep -oP ']*href="\K[^"]*amd64\.deb(?="[^>]*>)' | head -n 1) + RELEASE=$(echo "$DEB_URL" | grep -oP 'lyrionmusicserver_\K[0-9.]+(?=_amd64\.deb)') + DEB_FILE="/tmp/lyrionmusicserver_${RELEASE}_amd64.deb" + if [[ ! -f /opt/lyrion_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/lyrion_version.txt)" ]]; then + msg_info "Updating $APP to ${RELEASE}" + curl -fsSL -o "$DEB_FILE" "$DEB_URL" + $STD apt install "$DEB_FILE" -y + systemctl restart lyrion + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Updated $APP to ${RELEASE}" + + msg_info "Cleaning up" + $STD rm -f "$DEB_FILE" + $STD apt-get -y autoremove + $STD apt-get -y autoclean + msg_ok "Cleaned" + else + msg_ok "$APP is already up to date (${RELEASE})" + fi +} + +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 the web interface at:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000${CL}" diff --git a/frontend/public/json/lyrionmusicserver.json b/frontend/public/json/lyrionmusicserver.json new file mode 100644 index 000000000..f4bd55536 --- /dev/null +++ b/frontend/public/json/lyrionmusicserver.json @@ -0,0 +1,35 @@ +{ + "name": "Lyrion Music Server", + "slug": "lyrionmusicserver", + "categories": [ + 9 + ], + "date_created": "2025-05-21", + "type": "ct", + "updateable": true, + "privileged": false, + "config_path": "/etc/default/lyrionmusicserver", + "interface_port": 9000, + "documentation": "https://lyrion.org/", + "website": "https://lyrion.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/lyrion-media-server.webp", + "description": "Lyrion Music Server is an open-source server software to stream local music collections, internet radio, and music services to Squeezebox and compatible audio players.", + "install_methods": [ + { + "type": "default", + "script": "ct/lyrionmusicserver.sh", + "resources": { + "cpu": 1, + "ram": 1024, + "hdd": 3, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/install/lyrionmusicserver-install.sh b/install/lyrionmusicserver-install.sh new file mode 100644 index 000000000..9061c4ddd --- /dev/null +++ b/install/lyrionmusicserver-install.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Omar Minaya +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://lyrion.org/getting-started/ + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Setup Lyrion Music Server" +DEB_URL=$(curl -fsSL 'https://lyrion.org/getting-started/' | grep -oP ']*href="\K[^"]*amd64\.deb(?="[^>]*>)' | head -n 1) +RELEASE=$(echo "$DEB_URL" | grep -oP 'lyrionmusicserver_\K[0-9.]+(?=_amd64\.deb)') +DEB_FILE="/tmp/lyrionmusicserver_${RELEASE}_amd64.deb" +curl -fsSL -o "$DEB_FILE" "$DEB_URL" +$STD apt install "$DEB_FILE" -y +echo "${RELEASE}" >"/opt/lyrion_version.txt" +msg_ok "Setup Lyrion Music Server v${RELEASE}" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD rm -f "$DEB_FILE" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From b890fae8084a7538529a307d0c939dd52ebae5ab Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 21:15:45 +0100 Subject: [PATCH 186/274] Update date in json (#5005) Co-authored-by: GitHub Actions --- frontend/public/json/lyrionmusicserver.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/lyrionmusicserver.json b/frontend/public/json/lyrionmusicserver.json index f4bd55536..2c49721c5 100644 --- a/frontend/public/json/lyrionmusicserver.json +++ b/frontend/public/json/lyrionmusicserver.json @@ -4,7 +4,7 @@ "categories": [ 9 ], - "date_created": "2025-05-21", + "date_created": "2025-06-05", "type": "ct", "updateable": true, "privileged": false, From a28a4fd752b599501389d961844825294b67f186 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 21:15:50 +0100 Subject: [PATCH 187/274] Update CHANGELOG.md (#5006) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 879d286f0..241219bf2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🆕 New Scripts - - gitea-mirror ([#4967](https://github.com/community-scripts/ProxmoxVE/pull/4967)) + - Lyrion Music Server ([#4992](https://github.com/community-scripts/ProxmoxVE/pull/4992)) +- gitea-mirror ([#4967](https://github.com/community-scripts/ProxmoxVE/pull/4967)) ### 🚀 Updated Scripts From f5705621b2aff61d16369ad03a1574bea27a0c47 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Jun 2025 21:16:50 +0100 Subject: [PATCH 188/274] Update CHANGELOG.md (#5007) Co-authored-by: github-actions[bot] From e2790814b8a90fcde2e79f0d4dd9aca960352447 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 6 Jun 2025 02:14:46 +0200 Subject: [PATCH 189/274] Update versions.json (#5010) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 120 ++++++++++++++--------------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 3551c437d..7258dedd1 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,64 @@ [ + { + "name": "apache/tomcat", + "version": "10.1.42", + "date": "2025-06-05T22:39:40Z" + }, + { + "name": "paperless-ngx/paperless-ngx", + "version": "v2.16.3", + "date": "2025-06-05T21:16:59Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.4.0p3", + "date": "2025-06-05T20:11:58Z" + }, + { + "name": "netbox-community/netbox", + "version": "v4.3.2", + "date": "2025-06-05T19:57:01Z" + }, + { + "name": "msgbyte/tianji", + "version": "v1.21.10", + "date": "2025-06-05T18:18:52Z" + }, + { + "name": "ollama/ollama", + "version": "v0.9.1-ci0", + "date": "2025-06-05T17:42:55Z" + }, + { + "name": "nzbgetcom/nzbget", + "version": "v25.0", + "date": "2025-05-12T09:12:04Z" + }, + { + "name": "benjaminjonard/koillection", + "version": "1.6.14", + "date": "2025-06-05T16:40:52Z" + }, + { + "name": "emqx/emqx", + "version": "e5.10.0-rc.1", + "date": "2025-06-05T16:11:30Z" + }, + { + "name": "docker/compose", + "version": "v2.37.0", + "date": "2025-06-05T15:11:49Z" + }, + { + "name": "theonedev/onedev", + "version": "v11.10.3", + "date": "2025-06-05T14:31:58Z" + }, + { + "name": "pi-hole/pi-hole", + "version": "v6.1.2", + "date": "2025-06-05T11:32:45Z" + }, { "name": "mattermost/mattermost", "version": "server/public/v0.1.14", @@ -14,11 +74,6 @@ "version": "mariadb-11.8.2", "date": "2025-06-04T13:35:16Z" }, - { - "name": "theonedev/onedev", - "version": "v11.10.1", - "date": "2025-06-05T03:43:29Z" - }, { "name": "donaldzou/WGDashboard", "version": "v4.2.3", @@ -34,11 +89,6 @@ "version": "v25.6.1", "date": "2025-06-04T22:24:31Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.21.9", - "date": "2025-06-04T19:17:58Z" - }, { "name": "rabbitmq/rabbitmq-server", "version": "v4.1.1", @@ -84,21 +134,11 @@ "version": "6.1.12", "date": "2025-06-04T12:48:55Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.4.0p3-rc1", - "date": "2025-06-04T11:32:09Z" - }, { "name": "Prowlarr/Prowlarr", "version": "v1.37.0.5076", "date": "2025-06-04T11:04:53Z" }, - { - "name": "nzbgetcom/nzbget", - "version": "v25.0", - "date": "2025-05-12T09:12:04Z" - }, { "name": "zabbix/zabbix", "version": "7.4.0rc1", @@ -224,11 +264,6 @@ "version": "v0.24.4", "date": "2025-06-02T02:49:05Z" }, - { - "name": "pi-hole/pi-hole", - "version": "v6.1.1", - "date": "2025-06-02T01:36:09Z" - }, { "name": "advplyr/audiobookshelf", "version": "v2.24.0", @@ -304,11 +339,6 @@ "version": "v1.22.0", "date": "2025-05-30T19:17:15Z" }, - { - "name": "emqx/emqx", - "version": "e5.10.0-beta.1", - "date": "2025-05-30T16:49:17Z" - }, { "name": "icereed/paperless-gpt", "version": "v0.20.0", @@ -359,11 +389,6 @@ "version": "v2.1.0.119-2.1.0.119_canary_2025-05-29", "date": "2025-05-29T06:14:27Z" }, - { - "name": "ollama/ollama", - "version": "v0.9.0", - "date": "2025-05-29T05:41:01Z" - }, { "name": "apache/cassandra", "version": "cassandra-4.0.18", @@ -474,11 +499,6 @@ "version": "RELEASE.2025-05-24T17-08-30Z", "date": "2025-05-24T21:42:19Z" }, - { - "name": "paperless-ngx/paperless-ngx", - "version": "v2.16.2", - "date": "2025-05-24T18:52:35Z" - }, { "name": "ioBroker/ioBroker", "version": "2025-05-24", @@ -489,11 +509,6 @@ "version": "v0.28.2", "date": "2025-05-24T07:59:15Z" }, - { - "name": "docker/compose", - "version": "v2.36.2", - "date": "2025-05-23T14:21:20Z" - }, { "name": "rogerfar/rdt-client", "version": "v2.0.113", @@ -629,11 +644,6 @@ "version": "0.42.1", "date": "2020-06-07T07:27:04Z" }, - { - "name": "netbox-community/netbox", - "version": "v4.3.1", - "date": "2025-05-13T19:45:00Z" - }, { "name": "OctoPrint/OctoPrint", "version": "1.11.1", @@ -679,11 +689,6 @@ "version": "v1.0.0-beta21", "date": "2025-05-09T23:14:23Z" }, - { - "name": "apache/tomcat", - "version": "10.1.41", - "date": "2025-05-08T12:45:44Z" - }, { "name": "Brandawg93/PeaNUT", "version": "v5.7.5", @@ -749,11 +754,6 @@ "version": "6.8.1", "date": "2025-04-30T16:44:16Z" }, - { - "name": "benjaminjonard/koillection", - "version": "1.6.13", - "date": "2025-04-30T16:38:35Z" - }, { "name": "docmost/docmost", "version": "v0.20.4", From 781471f37a1f54029343c5b9a75b6680de245356 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 6 Jun 2025 01:15:20 +0100 Subject: [PATCH 190/274] Update CHANGELOG.md (#5011) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 241219bf2..5d034cf32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-06-06 + ## 2025-06-05 ### 🆕 New Scripts From 1ac4b0c10fd19a3a0a5ea91aa4bc30fe322f597a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 6 Jun 2025 07:59:14 +0200 Subject: [PATCH 191/274] Update emby.json (#4998) --- frontend/public/json/emby.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/emby.json b/frontend/public/json/emby.json index 6da8807bd..c7b985a02 100644 --- a/frontend/public/json/emby.json +++ b/frontend/public/json/emby.json @@ -6,7 +6,7 @@ ], "date_created": "2024-05-02", "type": "ct", - "updateable": false, + "updateable": true, "privileged": false, "interface_port": 8096, "documentation": "https://emby.media/support/articles/Home.html", From 85e13c9ac5d182c4610ea47a7a3a6c0f8860e374 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 6 Jun 2025 09:35:05 +0200 Subject: [PATCH 192/274] Rename metube.json to metube.json.bak (#5014) --- frontend/public/json/{metube.json => metube.json.bak} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename frontend/public/json/{metube.json => metube.json.bak} (100%) diff --git a/frontend/public/json/metube.json b/frontend/public/json/metube.json.bak similarity index 100% rename from frontend/public/json/metube.json rename to frontend/public/json/metube.json.bak From 01ced07bff1f00c9abaee6657037c3d5eb5d8f84 Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Fri, 6 Jun 2025 12:05:28 +0200 Subject: [PATCH 193/274] Zot-Registry (#5016) * 'Add new script' * fix curl call * update json --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> --- ct/headers/zot-registry | 6 +++ ct/zot-registry.sh | 59 +++++++++++++++++++++++ frontend/public/json/zot-registry.json | 35 ++++++++++++++ install/zot-registry-install.sh | 65 ++++++++++++++++++++++++++ 4 files changed, 165 insertions(+) create mode 100644 ct/headers/zot-registry create mode 100644 ct/zot-registry.sh create mode 100644 frontend/public/json/zot-registry.json create mode 100644 install/zot-registry-install.sh diff --git a/ct/headers/zot-registry b/ct/headers/zot-registry new file mode 100644 index 000000000..81c1fefd9 --- /dev/null +++ b/ct/headers/zot-registry @@ -0,0 +1,6 @@ + _____ __ ____ _ __ +/__ / ____ / /_ / __ \___ ____ _(_)____/ /________ __ + / / / __ \/ __/_____/ /_/ / _ \/ __ `/ / ___/ __/ ___/ / / / + / /__/ /_/ / /_/_____/ _, _/ __/ /_/ / (__ ) /_/ / / /_/ / +/____/\____/\__/ /_/ |_|\___/\__, /_/____/\__/_/ \__, / + /____/ /____/ diff --git a/ct/zot-registry.sh b/ct/zot-registry.sh new file mode 100644 index 000000000..a57223559 --- /dev/null +++ b/ct/zot-registry.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://zotregistry.dev/ + +APP="Zot-Registry" +var_tags="${var_tags:-registry;oci}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-2048}" +var_disk="${var_disk:-5}" +var_os="${var_os:-debian}" +var_version="${var_version:-12}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + + if [[ ! -f /usr/bin/zot ]]; then + msg_error "No ${APP} installation found!" + exit + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/project-zot/zot/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}') + if [[ ! -f ~/.${APP} ]] || [[ "${RELEASE}" != "$(cat ~/.${APP})" ]]; then + msg_info "Stopping Zot service" + systemctl stop zot + msg_ok "Stopped Zot service" + + msg_info "Updating Zot to ${RELEASE}" + curl -fsSL "https://github.com/project-zot/zot/releases/download/${RELEASE}/zot-linux-amd64" -o /usr/bin/zot + chmod +x /usr/bin/zot + chown root:root /usr/bin/zot + echo "${RELEASE}" >~/.${APP} + systemctl restart zot + msg_ok "Updated Zot to ${RELEASE}" + else + msg_ok "Zot is already up to date (${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}:8080${CL}" diff --git a/frontend/public/json/zot-registry.json b/frontend/public/json/zot-registry.json new file mode 100644 index 000000000..d716c2dcf --- /dev/null +++ b/frontend/public/json/zot-registry.json @@ -0,0 +1,35 @@ +{ + "name": "Zot Registry", + "slug": "zot", + "categories": [ + 13 + ], + "date_created": "2025-06-05", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 8080, + "documentation": "https://zotregistry.dev/docs/intro/", + "website": "https://zotregistry.dev/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zot-registry.webp", + "config_path": "/etc/zot/config.json", + "description": "Zot is a cloud-native OCI image registry focused on extensibility, maintainability, and performance. It supports advanced features such as Web UI, security scanning, authentication via htpasswd and OIDC, and more.", + "install_methods": [ + { + "type": "default", + "script": "ct/zot-registry.sh", + "resources": { + "cpu": 1, + "ram": 2048, + "hdd": 5, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/install/zot-registry-install.sh b/install/zot-registry-install.sh new file mode 100644 index 000000000..f8d56190d --- /dev/null +++ b/install/zot-registry-install.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://zotregistry.dev/ + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y apache2-utils +msg_ok "Installed Dependencies" + +msg_info "Installing Zot Registry" +RELEASE=$(curl -fsSL https://api.github.com/repos/project-zot/zot/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/project-zot/zot/releases/download/${RELEASE}/zot-linux-amd64" -o /usr/bin/zot +chmod +x /usr/bin/zot +chown root:root /usr/bin/zot +mkdir -p /etc/zot +curl -fsSL https://raw.githubusercontent.com/project-zot/zot/refs/heads/main/examples/config-ui.json -o /etc/zot/config.json +ZOTPASSWORD=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) +$STD htpasswd -b -B -c /etc/zot/htpasswd admin "$ZOTPASSWORD" +{ + echo "Zot-Credentials" + echo "Zot User: admin" + echo "Zot Password: $ZOTPASSWORD" +} >>~/zot.creds +echo "${RELEASE}" >~/.${APP} +msg_ok "Installed Zot Registry" + +msg_info "Setup Service" +cat </etc/systemd/system/zot.service +[Unit] +Description=OCI Distribution Registry +Documentation=https://zotregistry.dev/ +After=network.target auditd.service local-fs.target + +[Service] +Type=simple +ExecStart=/usr/bin/zot serve /etc/zot/config.json +Restart=on-failure +User=root +LimitNOFILE=500000 +MemoryHigh=2G +MemoryMax=4G + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now zot +msg_ok "Setup Service" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From cc4f5c4478b5150f6eb67f668e42115833c2d401 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 6 Jun 2025 11:06:02 +0100 Subject: [PATCH 194/274] Update date in json (#5017) Co-authored-by: GitHub Actions --- frontend/public/json/zot-registry.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/zot-registry.json b/frontend/public/json/zot-registry.json index d716c2dcf..4cfb98b22 100644 --- a/frontend/public/json/zot-registry.json +++ b/frontend/public/json/zot-registry.json @@ -4,7 +4,7 @@ "categories": [ 13 ], - "date_created": "2025-06-05", + "date_created": "2025-06-06", "type": "ct", "updateable": true, "privileged": false, From dc2b585e6b37b3d0d4f45b30599bfa8fe84c2a64 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 6 Jun 2025 11:06:07 +0100 Subject: [PATCH 195/274] Update CHANGELOG.md (#5018) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d034cf32..d360b7d0e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-06 +### 🆕 New Scripts + + - Zot-Registry ([#5016](https://github.com/community-scripts/ProxmoxVE/pull/5016)) + ## 2025-06-05 ### 🆕 New Scripts From 4cca5062af6a96890d20f2a0582942d7fc149cbe Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 6 Jun 2025 11:07:32 +0100 Subject: [PATCH 196/274] Update CHANGELOG.md (#5019) Co-authored-by: github-actions[bot] From 6c08814cc5aff910826724bbec1daaf68ce2edd0 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri, 6 Jun 2025 13:30:01 +0200 Subject: [PATCH 197/274] zipline: fix old upload copy from v3 to v4 (#5015) * zipline: fix old upload copy from v3 to v4 * rm for install --- ct/zipline.sh | 4 +++- install/zipline-install.sh | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ct/zipline.sh b/ct/zipline.sh index 2920d0db4..fbcec6f18 100644 --- a/ct/zipline.sh +++ b/ct/zipline.sh @@ -41,7 +41,9 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" cp /opt/zipline/.env /opt/ mkdir -p /opt/zipline-upload - cp -R /opt/zipline/upload/* /opt/zipline-upload/ + if [ -d /opt/zipline/upload ] && [ "$(ls -A /opt/zipline/upload)" ]; then + cp -R /opt/zipline/upload/* /opt/zipline-upload/ + fi curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip") $STD unzip v"${RELEASE}".zip rm -R /opt/zipline diff --git a/install/zipline-install.sh b/install/zipline-install.sh index 26cae0658..c23f685a6 100644 --- a/install/zipline-install.sh +++ b/install/zipline-install.sh @@ -78,6 +78,7 @@ msg_ok "Created Service" motd_ssh customize msg_info "Cleaning up" +rm -f /opt/v${RELEASE}.zip $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From e46e9a3372d52b814a548bdcb1790cc46653c6da Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 6 Jun 2025 12:30:31 +0100 Subject: [PATCH 198/274] Update CHANGELOG.md (#5020) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d360b7d0e..528e31381 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,12 @@ All LXC instances created using this repository come pre-installed with Midnight - Zot-Registry ([#5016](https://github.com/community-scripts/ProxmoxVE/pull/5016)) +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - zipline: fix old upload copy from v3 to v4 [@MickLesk](https://github.com/MickLesk) ([#5015](https://github.com/community-scripts/ProxmoxVE/pull/5015)) + ## 2025-06-05 ### 🆕 New Scripts From df6bd2a68abee275e16b790c211c2d34bd918a75 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 6 Jun 2025 14:07:32 +0200 Subject: [PATCH 199/274] Update versions.json (#5021) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 60 +++++++++++++++--------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 7258dedd1..0bd52abd7 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,29 @@ [ + { + "name": "juanfont/headscale", + "version": "v0.26.1", + "date": "2025-06-06T11:22:02Z" + }, + { + "name": "syncthing/syncthing", + "version": "2.0.0-rc.19", + "date": "2025-06-02T17:56:25Z" + }, + { + "name": "nzbgetcom/nzbget", + "version": "v25.0", + "date": "2025-05-12T09:12:04Z" + }, + { + "name": "diced/zipline", + "version": "v4.1.1", + "date": "2025-06-06T06:00:46Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1995", + "date": "2025-06-06T05:53:35Z" + }, { "name": "apache/tomcat", "version": "10.1.42", @@ -24,16 +49,16 @@ "version": "v1.21.10", "date": "2025-06-05T18:18:52Z" }, + { + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" + }, { "name": "ollama/ollama", "version": "v0.9.1-ci0", "date": "2025-06-05T17:42:55Z" }, - { - "name": "nzbgetcom/nzbget", - "version": "v25.0", - "date": "2025-05-12T09:12:04Z" - }, { "name": "benjaminjonard/koillection", "version": "1.6.14", @@ -64,11 +89,6 @@ "version": "server/public/v0.1.14", "date": "2025-05-29T15:35:16Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1992", - "date": "2025-06-05T05:56:42Z" - }, { "name": "MariaDB/server", "version": "mariadb-11.8.2", @@ -79,11 +99,6 @@ "version": "v4.2.3", "date": "2025-05-07T15:35:04Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.5", - "date": "2025-05-28T06:49:43Z" - }, { "name": "actualbudget/actual", "version": "v25.6.1", @@ -229,11 +244,6 @@ "version": "v1.23.3-victorialogs", "date": "2025-06-02T19:44:31Z" }, - { - "name": "syncthing/syncthing", - "version": "2.0.0-rc.19", - "date": "2025-06-02T17:56:25Z" - }, { "name": "tailscale/tailscale", "version": "v1.84.1", @@ -544,11 +554,6 @@ "version": "v0.35.0", "date": "2025-05-21T18:00:32Z" }, - { - "name": "diced/zipline", - "version": "v4.1.0", - "date": "2025-05-21T04:12:44Z" - }, { "name": "matze/wastebin", "version": "3.1.0", @@ -634,11 +639,6 @@ "version": "v4.47.1", "date": "2025-01-05T21:14:23Z" }, - { - "name": "juanfont/headscale", - "version": "v0.26.0", - "date": "2025-05-14T15:12:14Z" - }, { "name": "motioneye-project/motioneye", "version": "0.42.1", From ee7090f271bae930f8e9644dd2b40d09b2d517d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 6 Jun 2025 23:29:01 +0200 Subject: [PATCH 200/274] Update lyrionmusicserver.json (#5028) --- frontend/public/json/lyrionmusicserver.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/lyrionmusicserver.json b/frontend/public/json/lyrionmusicserver.json index 2c49721c5..88dc0a0c9 100644 --- a/frontend/public/json/lyrionmusicserver.json +++ b/frontend/public/json/lyrionmusicserver.json @@ -2,7 +2,7 @@ "name": "Lyrion Music Server", "slug": "lyrionmusicserver", "categories": [ - 9 + 13 ], "date_created": "2025-06-05", "type": "ct", From ab32878b636942bd91433fdc9b96405883090dfc Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 7 Jun 2025 02:14:48 +0200 Subject: [PATCH 201/274] Update versions.json (#5030) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 80 +++++++++++++++--------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 0bd52abd7..fa1d2868e 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,44 @@ [ + { + "name": "OliveTin/OliveTin", + "version": "2025.6.6", + "date": "2025-06-06T21:39:22Z" + }, + { + "name": "ollama/ollama", + "version": "v0.9.1-ci1", + "date": "2025-06-06T21:28:30Z" + }, + { + "name": "homarr-labs/homarr", + "version": "v1.23.0", + "date": "2025-06-06T19:16:19Z" + }, + { + "name": "diced/zipline", + "version": "v4.1.2", + "date": "2025-06-06T17:44:58Z" + }, + { + "name": "documenso/documenso", + "version": "v1.12.0-rc.2", + "date": "2025-06-06T16:25:14Z" + }, + { + "name": "goauthentik/authentik", + "version": "version/2025.6.1", + "date": "2025-06-06T15:28:21Z" + }, + { + "name": "ioBroker/ioBroker", + "version": "2025-05-31", + "date": "2025-06-06T14:50:56Z" + }, + { + "name": "bunkerity/bunkerweb", + "version": "v1.6.1", + "date": "2025-03-15T17:29:17Z" + }, { "name": "juanfont/headscale", "version": "v0.26.1", @@ -14,11 +54,6 @@ "version": "v25.0", "date": "2025-05-12T09:12:04Z" }, - { - "name": "diced/zipline", - "version": "v4.1.1", - "date": "2025-06-06T06:00:46Z" - }, { "name": "Jackett/Jackett", "version": "v0.22.1995", @@ -54,11 +89,6 @@ "version": "26.2.5", "date": "2025-05-28T06:49:43Z" }, - { - "name": "ollama/ollama", - "version": "v0.9.1-ci0", - "date": "2025-06-05T17:42:55Z" - }, { "name": "benjaminjonard/koillection", "version": "1.6.14", @@ -129,11 +159,6 @@ "version": "v0.15.0-rc1", "date": "2025-06-04T15:12:56Z" }, - { - "name": "goauthentik/authentik", - "version": "version/2025.6.0", - "date": "2025-06-04T14:26:01Z" - }, { "name": "crowdsecurity/crowdsec", "version": "v1.6.8", @@ -299,11 +324,6 @@ "version": "2.4.0", "date": "2025-06-01T18:08:44Z" }, - { - "name": "OliveTin/OliveTin", - "version": "2025.6.1", - "date": "2025-06-01T12:31:14Z" - }, { "name": "evcc-io/evcc", "version": "0.204.1", @@ -344,11 +364,6 @@ "version": "v1.18.0", "date": "2025-05-30T20:12:54Z" }, - { - "name": "homarr-labs/homarr", - "version": "v1.22.0", - "date": "2025-05-30T19:17:15Z" - }, { "name": "icereed/paperless-gpt", "version": "v0.20.0", @@ -509,11 +524,6 @@ "version": "RELEASE.2025-05-24T17-08-30Z", "date": "2025-05-24T21:42:19Z" }, - { - "name": "ioBroker/ioBroker", - "version": "2025-05-24", - "date": "2025-05-24T13:56:54Z" - }, { "name": "pocketbase/pocketbase", "version": "v0.28.2", @@ -559,11 +569,6 @@ "version": "3.1.0", "date": "2025-05-20T19:20:03Z" }, - { - "name": "documenso/documenso", - "version": "v1.11.1", - "date": "2025-05-20T12:37:46Z" - }, { "name": "Stirling-Tools/Stirling-PDF", "version": "v0.46.2", @@ -579,11 +584,6 @@ "version": "v0.8.3", "date": "2025-05-19T20:45:10Z" }, - { - "name": "bunkerity/bunkerweb", - "version": "v1.6.1", - "date": "2025-03-15T17:29:17Z" - }, { "name": "Part-DB/Part-DB-server", "version": "v1.17.1", From 5fd5d78a2a7f659f43f4b1f5f1e82be81177ac72 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 7 Jun 2025 01:15:20 +0100 Subject: [PATCH 202/274] Update CHANGELOG.md (#5031) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 528e31381..009ba050d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-06-07 + ## 2025-06-06 ### 🆕 New Scripts From 0a6f7e64260210cf4368c486b2027850177fec82 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 7 Jun 2025 14:06:43 +0200 Subject: [PATCH 203/274] Update versions.json (#5036) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 90 +++++++++++++++--------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index fa1d2868e..c5bf7d5cc 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,44 @@ [ + { + "name": "jordan-dalby/ByteStash", + "version": "v1.5.8", + "date": "2025-06-07T11:39:10Z" + }, + { + "name": "syncthing/syncthing", + "version": "2.0.0-rc.19", + "date": "2025-06-02T17:56:25Z" + }, + { + "name": "evcc-io/evcc", + "version": "0.204.2", + "date": "2025-06-07T11:38:28Z" + }, + { + "name": "TriliumNext/Notes", + "version": "v0.94.1", + "date": "2025-06-07T10:32:38Z" + }, + { + "name": "homebridge/homebridge", + "version": "v1.10.0", + "date": "2025-06-07T08:31:48Z" + }, + { + "name": "moghtech/komodo", + "version": "v1.18.1", + "date": "2025-06-07T06:25:20Z" + }, + { + "name": "morpheus65535/bazarr", + "version": "v1.5.2", + "date": "2025-05-11T16:40:55Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1997", + "date": "2025-06-07T05:54:23Z" + }, { "name": "OliveTin/OliveTin", "version": "2025.6.6", @@ -19,6 +59,11 @@ "version": "v4.1.2", "date": "2025-06-06T17:44:58Z" }, + { + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" + }, { "name": "documenso/documenso", "version": "v1.12.0-rc.2", @@ -44,21 +89,11 @@ "version": "v0.26.1", "date": "2025-06-06T11:22:02Z" }, - { - "name": "syncthing/syncthing", - "version": "2.0.0-rc.19", - "date": "2025-06-02T17:56:25Z" - }, { "name": "nzbgetcom/nzbget", "version": "v25.0", "date": "2025-05-12T09:12:04Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1995", - "date": "2025-06-06T05:53:35Z" - }, { "name": "apache/tomcat", "version": "10.1.42", @@ -84,11 +119,6 @@ "version": "v1.21.10", "date": "2025-06-05T18:18:52Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.5", - "date": "2025-05-28T06:49:43Z" - }, { "name": "benjaminjonard/koillection", "version": "1.6.14", @@ -304,11 +334,6 @@ "version": "v2.24.0", "date": "2025-06-01T21:38:08Z" }, - { - "name": "TriliumNext/Notes", - "version": "v0.94.0", - "date": "2025-06-01T21:23:25Z" - }, { "name": "traccar/traccar", "version": "v6.7.2", @@ -324,11 +349,6 @@ "version": "2.4.0", "date": "2025-06-01T18:08:44Z" }, - { - "name": "evcc-io/evcc", - "version": "0.204.1", - "date": "2025-06-01T08:19:18Z" - }, { "name": "Radarr/Radarr", "version": "v5.25.0.10024", @@ -359,11 +379,6 @@ "version": "v0.14.1", "date": "2024-08-29T22:32:51Z" }, - { - "name": "moghtech/komodo", - "version": "v1.18.0", - "date": "2025-05-30T20:12:54Z" - }, { "name": "icereed/paperless-gpt", "version": "v0.20.0", @@ -494,11 +509,6 @@ "version": "3.0.4", "date": "2025-05-26T08:33:33Z" }, - { - "name": "morpheus65535/bazarr", - "version": "v1.5.2", - "date": "2025-05-11T16:40:55Z" - }, { "name": "stonith404/pingvin-share", "version": "v1.13.0", @@ -1034,11 +1044,6 @@ "version": "2.8.0", "date": "2025-03-02T04:30:50Z" }, - { - "name": "jordan-dalby/ByteStash", - "version": "v1.5.7", - "date": "2025-02-27T20:04:08Z" - }, { "name": "silverbulletmd/silverbullet", "version": "0.10.4", @@ -1084,11 +1089,6 @@ "version": "v1.27.0", "date": "2025-02-13T15:55:36Z" }, - { - "name": "homebridge/homebridge", - "version": "v1.9.0", - "date": "2025-02-11T13:26:42Z" - }, { "name": "actualbudget/actual-server", "version": "v25.2.1", From 33e49b75567a695b002d691f0b47287bcb179f3d Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Sat, 7 Jun 2025 20:19:56 +0200 Subject: [PATCH 204/274] fix alpine-it-tools update (#5039) --- ct/alpine-it-tools.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/ct/alpine-it-tools.sh b/ct/alpine-it-tools.sh index 17df5d144..9050745de 100644 --- a/ct/alpine-it-tools.sh +++ b/ct/alpine-it-tools.sh @@ -21,8 +21,6 @@ catch_errors function update_script() { header_info - check_container_storage - check_container_resources if [ ! -d /usr/share/nginx/html ]; then msg_error "No ${APP} Installation Found!" From 85b80bfb2216bdb1c4168f1f995022fc53b7c1a7 Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Sat, 7 Jun 2025 20:20:14 +0200 Subject: [PATCH 205/274] declare pingvin-share as updateable (#5038) --- frontend/public/json/pingvin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/pingvin.json b/frontend/public/json/pingvin.json index ee3f8b26c..0e9515f5c 100644 --- a/frontend/public/json/pingvin.json +++ b/frontend/public/json/pingvin.json @@ -6,7 +6,7 @@ ], "date_created": "2024-05-02", "type": "ct", - "updateable": false, + "updateable": true, "privileged": false, "interface_port": 3000, "documentation": "https://stonith404.github.io/pingvin-share/introduction", From 50ad6410d54ccedf030aea352478d0b974ac7436 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 7 Jun 2025 19:20:22 +0100 Subject: [PATCH 206/274] Update CHANGELOG.md (#5043) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 009ba050d..467bb0309 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-07 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - alpine-it-tools fix update [@CrazyWolf13](https://github.com/CrazyWolf13) ([#5039](https://github.com/community-scripts/ProxmoxVE/pull/5039)) + ## 2025-06-06 ### 🆕 New Scripts From 590db0d148e9b4bf289c5d8cb4fe8231d36a056c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 7 Jun 2025 19:20:43 +0100 Subject: [PATCH 207/274] Update CHANGELOG.md (#5044) Co-authored-by: github-actions[bot] From 4b7c734b9a1367231e6e83fd8719f6a39aca2a28 Mon Sep 17 00:00:00 2001 From: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> Date: Sat, 7 Jun 2025 20:57:55 +0200 Subject: [PATCH 208/274] Fix typo in build.func (#5041) --- misc/build.func | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/build.func b/misc/build.func index 531ca1a03..7ec76bc37 100644 --- a/misc/build.func +++ b/misc/build.func @@ -379,7 +379,7 @@ write_config() { CT_TYPE="${CT_TYPE}" DISK_SIZE="${DISK_SIZE}" -CORE_COUNT="${DISK_SIZE}" +CORE_COUNT="${CORE_COUNT}" RAM_SIZE="${RAM_SIZE}" HN="${HN}" BRG="${BRG}" @@ -411,7 +411,7 @@ EOF CT_TYPE="${CT_TYPE}" DISK_SIZE="${DISK_SIZE}" -CORE_COUNT="${DISK_SIZE}" +CORE_COUNT="${CORE_COUNT}" RAM_SIZE="${RAM_SIZE}" HN="${HN}" BRG="${BRG}" From 37a2f6a71579dc40ab4571bd0f43064d9dfd0161 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 7 Jun 2025 19:58:31 +0100 Subject: [PATCH 209/274] Update CHANGELOG.md (#5045) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 467bb0309..af6b3914c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,12 @@ All LXC instances created using this repository come pre-installed with Midnight - alpine-it-tools fix update [@CrazyWolf13](https://github.com/CrazyWolf13) ([#5039](https://github.com/community-scripts/ProxmoxVE/pull/5039)) +### 🧰 Maintenance + + - #### 💾 Core + + - Fix typo in build.func [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#5041](https://github.com/community-scripts/ProxmoxVE/pull/5041)) + ## 2025-06-06 ### 🆕 New Scripts From 75273e86b6516d930a182f88e9bce1d06f2ae585 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sat, 7 Jun 2025 23:32:22 +0200 Subject: [PATCH 210/274] Align read -p text (#5046) --- install/immich-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/immich-install.sh b/install/immich-install.sh index ae766de05..be7312767 100644 --- a/install/immich-install.sh +++ b/install/immich-install.sh @@ -87,7 +87,7 @@ msg_ok "Dependencies Installed" NODE_VERSION="22" install_node_and_modules PG_VERSION="16" install_postgresql -read -r -p "Install OpenVINO dependencies for Intel HW-accelerated machine-learning? " prompt +read -r -p "${TAB3}Install OpenVINO dependencies for Intel HW-accelerated machine-learning? " prompt if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then msg_info "Installing OpenVINO dependencies" touch ~/.openvino From 70d6815d91910a55db8a432a6887bdaa784b56f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sat, 7 Jun 2025 23:32:38 +0200 Subject: [PATCH 211/274] Remove storage checks (#5047) --- ct/alpine-rclone.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/ct/alpine-rclone.sh b/ct/alpine-rclone.sh index 04bc8d75a..07872bdfe 100644 --- a/ct/alpine-rclone.sh +++ b/ct/alpine-rclone.sh @@ -22,9 +22,6 @@ catch_errors function update_script() { header_info - check_container_storage - check_container_resources - if [ ! -d /opt/rclone ]; then msg_error "No ${APP} Installation Found!" exit 1 From ce8b9aa5b4355065661940fc4dcce38b88805439 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 8 Jun 2025 02:16:07 +0200 Subject: [PATCH 212/274] Update versions.json (#5048) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 40 +++++++++++++++--------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index c5bf7d5cc..8b9720540 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,24 @@ [ + { + "name": "matze/wastebin", + "version": "3.2.0", + "date": "2025-06-07T21:33:22Z" + }, + { + "name": "cross-seed/cross-seed", + "version": "v6.12.6", + "date": "2025-05-28T00:13:19Z" + }, + { + "name": "jellyfin/jellyfin", + "version": "v10.10.7", + "date": "2025-04-05T19:14:59Z" + }, + { + "name": "ollama/ollama", + "version": "v0.9.1-ci3", + "date": "2025-06-07T16:12:57Z" + }, { "name": "jordan-dalby/ByteStash", "version": "v1.5.8", @@ -44,11 +64,6 @@ "version": "2025.6.6", "date": "2025-06-06T21:39:22Z" }, - { - "name": "ollama/ollama", - "version": "v0.9.1-ci1", - "date": "2025-06-06T21:28:30Z" - }, { "name": "homarr-labs/homarr", "version": "v1.23.0", @@ -444,11 +459,6 @@ "version": "5.10.0", "date": "2025-05-28T05:48:20Z" }, - { - "name": "cross-seed/cross-seed", - "version": "v6.12.6", - "date": "2025-05-28T00:13:19Z" - }, { "name": "bluenviron/mediamtx", "version": "v1.12.3", @@ -574,11 +584,6 @@ "version": "v0.35.0", "date": "2025-05-21T18:00:32Z" }, - { - "name": "matze/wastebin", - "version": "3.1.0", - "date": "2025-05-20T19:20:03Z" - }, { "name": "Stirling-Tools/Stirling-PDF", "version": "v0.46.2", @@ -904,11 +909,6 @@ "version": "21.0.1", "date": "2025-04-06T19:22:59Z" }, - { - "name": "jellyfin/jellyfin", - "version": "v10.10.7", - "date": "2025-04-05T19:14:59Z" - }, { "name": "azukaar/Cosmos-Server", "version": "v0.18.4", From 336e70f059fb89e7335d545eed271753cc4c0aed Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 8 Jun 2025 01:16:43 +0100 Subject: [PATCH 213/274] Update CHANGELOG.md (#5049) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index af6b3914c..4d004aaf4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-06-08 + ## 2025-06-07 ### 🚀 Updated Scripts From 99174cb9c26af3cb73aa6273ea7903a7e0e635d2 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 8 Jun 2025 14:06:49 +0200 Subject: [PATCH 214/274] Update versions.json (#5053) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 50 +++++++++++++++--------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 8b9720540..e3d5aacea 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,29 @@ [ + { + "name": "karakeep-app/karakeep", + "version": "mcp/v0.25.0", + "date": "2025-06-08T09:59:49Z" + }, + { + "name": "Lidarr/Lidarr", + "version": "v2.11.2.4629", + "date": "2025-04-28T11:59:37Z" + }, + { + "name": "Readarr/Readarr", + "version": "v2.0.0.4645", + "date": "2017-03-07T18:56:06Z" + }, + { + "name": "Radarr/Radarr", + "version": "v5.25.0.10024", + "date": "2025-05-26T21:58:37Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1999", + "date": "2025-06-08T05:53:33Z" + }, { "name": "matze/wastebin", "version": "3.2.0", @@ -54,11 +79,6 @@ "version": "v1.5.2", "date": "2025-05-11T16:40:55Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1997", - "date": "2025-06-07T05:54:23Z" - }, { "name": "OliveTin/OliveTin", "version": "2025.6.6", @@ -364,11 +384,6 @@ "version": "2.4.0", "date": "2025-06-01T18:08:44Z" }, - { - "name": "Radarr/Radarr", - "version": "v5.25.0.10024", - "date": "2025-05-26T21:58:37Z" - }, { "name": "kimai/kimai", "version": "2.35.1", @@ -524,11 +539,6 @@ "version": "v1.13.0", "date": "2025-05-25T20:21:13Z" }, - { - "name": "Lidarr/Lidarr", - "version": "v2.11.2.4629", - "date": "2025-04-28T11:59:37Z" - }, { "name": "Kozea/Radicale", "version": "v3.5.4", @@ -744,11 +754,6 @@ "version": "3.5.0", "date": "2025-05-05T16:28:24Z" }, - { - "name": "Readarr/Readarr", - "version": "v2.0.0.4645", - "date": "2017-03-07T18:56:06Z" - }, { "name": "forgejo/forgejo", "version": "v11.0.1", @@ -794,11 +799,6 @@ "version": "deluge-2.2.0", "date": "2025-04-28T21:31:06Z" }, - { - "name": "karakeep-app/karakeep", - "version": "v0.24.1", - "date": "2025-04-28T08:21:37Z" - }, { "name": "gotify/server", "version": "v2.6.3", From a5c698408708f7ab6d6cdd698117ced0a6e7811e Mon Sep 17 00:00:00 2001 From: Chris Date: Sun, 8 Jun 2025 09:28:50 -0400 Subject: [PATCH 215/274] karakeep: Add more configuration defaults (#5054) --- install/karakeep-install.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/install/karakeep-install.sh b/install/karakeep-install.sh index e74854123..f94956757 100644 --- a/install/karakeep-install.sh +++ b/install/karakeep-install.sh @@ -91,10 +91,26 @@ BROWSER_WEB_URL="http://127.0.0.1:9222" # If you're planning to use ollama for tagging, uncomment the following lines: # OLLAMA_BASE_URL="" +# OLLAMA_KEEP_ALIVE="5m" # You can change the models used by uncommenting the following lines, and changing them according to your needs: # INFERENCE_TEXT_MODEL="gpt-4o-mini" # INFERENCE_IMAGE_MODEL="gpt-4o-mini" + +# Additional inference defaults +# INFERENCE_CONTEXT_LENGTH="2048" +# INFERENCE_ENABLE_AUTO_TAGGING=true +# INFERENCE_ENABLE_AUTO_SUMMARIZATION=false + +# Crawler defaults +# CRAWLER_NUM_WORKERS="1" +# CRAWLER_DOWNLOAD_BANNER_IMAGE=true +# CRAWLER_STORE_SCREENSHOT=true +# CRAWLER_FULL_PAGE_SCREENSHOT=false +# CRAWLER_FULL_PAGE_ARCHIVE=false +# CRAWLER_VIDEO_DOWNLOAD=false +# CRAWLER_VIDEO_DOWNLOAD_MAX_SIZE="50" +# CRAWLER_ENABLE_ADBLOCKER=true EOF echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" msg_ok "Installed karakeep" From 08230e9089a2498723cd1f20a0ef2ddfcc740d64 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 8 Jun 2025 14:29:18 +0100 Subject: [PATCH 216/274] Update CHANGELOG.md (#5055) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d004aaf4..638e887a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-08 +### 🚀 Updated Scripts + + - #### ✨ New Features + + - karakeep: Add more configuration defaults [@vhsdream](https://github.com/vhsdream) ([#5054](https://github.com/community-scripts/ProxmoxVE/pull/5054)) + ## 2025-06-07 ### 🚀 Updated Scripts From a9e3520df1b19802f41193917a5f03fb36f2caa6 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sun, 8 Jun 2025 17:10:20 +0200 Subject: [PATCH 217/274] zot: fix missing var (Dev -> Main) (#5056) --- install/zot-registry-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/zot-registry-install.sh b/install/zot-registry-install.sh index f8d56190d..beaf3ea91 100644 --- a/install/zot-registry-install.sh +++ b/install/zot-registry-install.sh @@ -31,7 +31,7 @@ $STD htpasswd -b -B -c /etc/zot/htpasswd admin "$ZOTPASSWORD" echo "Zot User: admin" echo "Zot Password: $ZOTPASSWORD" } >>~/zot.creds -echo "${RELEASE}" >~/.${APP} +echo "${RELEASE}" >~/.${APPLICATION} msg_ok "Installed Zot Registry" msg_info "Setup Service" From 6a1738c52a1b6f8b96acc3f0cb4fdade5e7b9a5b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 8 Jun 2025 16:10:46 +0100 Subject: [PATCH 218/274] Update CHANGELOG.md (#5057) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 638e887a6..10b6d7226 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts + - #### 🐞 Bug Fixes + + - zot: fix missing var (Dev -> Main) [@MickLesk](https://github.com/MickLesk) ([#5056](https://github.com/community-scripts/ProxmoxVE/pull/5056)) + - #### ✨ New Features - karakeep: Add more configuration defaults [@vhsdream](https://github.com/vhsdream) ([#5054](https://github.com/community-scripts/ProxmoxVE/pull/5054)) From f6638b095dcfd44e377e32c27861caabdc99880f Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Sun, 8 Jun 2025 22:14:41 +0200 Subject: [PATCH 219/274] Minarca (#5058) --- ct/headers/minarca | 6 ++++ ct/minarca.sh | 54 +++++++++++++++++++++++++++++++ frontend/public/json/minarca.json | 35 ++++++++++++++++++++ install/minarca-install.sh | 36 +++++++++++++++++++++ 4 files changed, 131 insertions(+) create mode 100644 ct/headers/minarca create mode 100644 ct/minarca.sh create mode 100644 frontend/public/json/minarca.json create mode 100644 install/minarca-install.sh diff --git a/ct/headers/minarca b/ct/headers/minarca new file mode 100644 index 000000000..0c6cbdf78 --- /dev/null +++ b/ct/headers/minarca @@ -0,0 +1,6 @@ + __ ____ + / |/ (_)___ ____ _______________ _ + / /|_/ / / __ \/ __ `/ ___/ ___/ __ `/ + / / / / / / / / /_/ / / / /__/ /_/ / +/_/ /_/_/_/ /_/\__,_/_/ \___/\__,_/ + diff --git a/ct/minarca.sh b/ct/minarca.sh new file mode 100644 index 000000000..b7a4032a8 --- /dev/null +++ b/ct/minarca.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Slaviša Arežina (tremor021) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://minarca.org/en_CA + +APP="Minarca" +var_tags="${var_tags:-backup}" +var_cpu="${var_cpu:-2}" +var_ram="${var_ram:-4096}" +var_disk="${var_disk:-10}" +var_os="${var_os:-debian}" +var_version="${var_version:-12}" +var_unprivileged="${var_unprivileged:-1}" +var_fuse="${var_fuse:-yes}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + + if [[ ! -d /opt/minarca-server ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Stopping ${APP}" + systemctl stop minarca-server + msg_ok "${APP} Stopped" + + msg_info "Updating ${APP} LXC" + $STD apt-get update + $STD apt-get upgrade -y + msg_ok "Updated ${APP} LXC" + + msg_info "Starting ${APP}" + systemctl start minarca-server + msg_ok "Restarted ${APP}" + 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}:8080${CL}" diff --git a/frontend/public/json/minarca.json b/frontend/public/json/minarca.json new file mode 100644 index 000000000..e81e530aa --- /dev/null +++ b/frontend/public/json/minarca.json @@ -0,0 +1,35 @@ +{ + "name": "Minarca", + "slug": "minarca", + "categories": [ + 7 + ], + "date_created": "2025-05-27", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 8080, + "documentation": "https://nexus.ikus-soft.com/repository/archive/minarca/6.0.3/doc/index.html", + "config_path": "/etc/minarca/minarca-server.conf", + "website": "https://minarca.org/en_CA", + "logo": "https://minarca.org/web/image/1256-3f4f1dad/logo_principal-negatif.svg", + "description": "Minarca is a self-hosted open source data backup software that allows you to manage your computer and server backups for free from a direct online accessible centralized view of your data with easy retrieval.", + "install_methods": [ + { + "type": "default", + "script": "ct/minarca.sh", + "resources": { + "cpu": 2, + "ram": 4096, + "hdd": 10, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": "admin", + "password": "admin123" + }, + "notes": [] +} diff --git a/install/minarca-install.sh b/install/minarca-install.sh new file mode 100644 index 000000000..2faf101b0 --- /dev/null +++ b/install/minarca-install.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Slaviša Arežina (tremor021) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://minarca.org/en_CA + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y \ + apt-transport-https \ + ca-certificates \ + lsb-release +msg_ok "Installed Dependencies" + +msg_info "Installing Minarca" +curl -fsSL https://www.ikus-soft.com/archive/minarca/public.key | gpg --dearmor >/usr/share/keyrings/minarca-keyring.gpg +echo "deb [arch=amd64 signed-by=/usr/share/keyrings/minarca-keyring.gpg] https://nexus.ikus-soft.com/repository/apt-release-$(lsb_release -sc)/ $(lsb_release -sc) main" >/etc/apt/sources.list.d/minarca.list +$STD apt-get update +$STD apt-get install -y minarca-server +msg_ok "Installed Minarca" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From 1956c8740b411c1160cd7d8d0627c7117f1c48f0 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 8 Jun 2025 21:15:16 +0100 Subject: [PATCH 220/274] Update date in json (#5059) Co-authored-by: GitHub Actions --- frontend/public/json/minarca.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/minarca.json b/frontend/public/json/minarca.json index e81e530aa..030282a4f 100644 --- a/frontend/public/json/minarca.json +++ b/frontend/public/json/minarca.json @@ -4,7 +4,7 @@ "categories": [ 7 ], - "date_created": "2025-05-27", + "date_created": "2025-06-08", "type": "ct", "updateable": true, "privileged": false, From 45bb824101f467db6d418dc49bbe6ee527c9cf3f Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 8 Jun 2025 22:16:28 +0200 Subject: [PATCH 221/274] Update CHANGELOG.md (#5060) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 10b6d7226..fb542841c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-08 +### 🆕 New Scripts + + - Minarca ([#5058](https://github.com/community-scripts/ProxmoxVE/pull/5058)) + ### 🚀 Updated Scripts - #### 🐞 Bug Fixes From ff239ff3cd4f6c444d92c701191fd72bf007fe65 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 8 Jun 2025 21:16:48 +0100 Subject: [PATCH 222/274] Update CHANGELOG.md (#5061) Co-authored-by: github-actions[bot] From eff985ca0258fcf8fd7151d2a4114484cbb28745 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 02:15:39 +0200 Subject: [PATCH 223/274] Update versions.json (#5067) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 64 +++++++++++++++--------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index e3d5aacea..77ab1613e 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,8 +1,38 @@ [ { "name": "karakeep-app/karakeep", - "version": "mcp/v0.25.0", - "date": "2025-06-08T09:59:49Z" + "version": "ios/v1.7.0-1", + "date": "2025-06-08T22:02:33Z" + }, + { + "name": "ellite/Wallos", + "version": "v3.2.0", + "date": "2025-06-08T16:54:37Z" + }, + { + "name": "msgbyte/tianji", + "version": "v1.21.11", + "date": "2025-06-08T16:49:06Z" + }, + { + "name": "Luligu/matterbridge", + "version": "3.0.5", + "date": "2025-06-08T15:53:53Z" + }, + { + "name": "Forceu/Gokapi", + "version": "v2.0.1", + "date": "2025-06-08T14:40:24Z" + }, + { + "name": "redis/redis", + "version": "8.2-m01-int", + "date": "2025-06-08T13:48:51Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.16", + "date": "2025-05-27T16:27:42Z" }, { "name": "Lidarr/Lidarr", @@ -149,11 +179,6 @@ "version": "v4.3.2", "date": "2025-06-05T19:57:01Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.21.10", - "date": "2025-06-05T18:18:52Z" - }, { "name": "benjaminjonard/koillection", "version": "1.6.14", @@ -209,11 +234,6 @@ "version": "v3.3.24", "date": "2025-06-04T18:02:30Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.16", - "date": "2025-05-27T16:27:42Z" - }, { "name": "cockpit-project/cockpit", "version": "340", @@ -399,11 +419,6 @@ "version": "v25.05", "date": "2025-05-31T13:36:23Z" }, - { - "name": "Forceu/Gokapi", - "version": "v2.0.0", - "date": "2025-05-31T12:32:40Z" - }, { "name": "blakeblackshear/frigate", "version": "v0.14.1", @@ -494,11 +509,6 @@ "version": "5.26.7", "date": "2025-05-27T14:59:35Z" }, - { - "name": "redis/redis", - "version": "7.2.9", - "date": "2025-05-27T14:08:53Z" - }, { "name": "traefik/traefik", "version": "v3.4.1", @@ -529,11 +539,6 @@ "version": "v7.4.3", "date": "2025-05-26T14:27:27Z" }, - { - "name": "Luligu/matterbridge", - "version": "3.0.4", - "date": "2025-05-26T08:33:33Z" - }, { "name": "stonith404/pingvin-share", "version": "v1.13.0", @@ -654,11 +659,6 @@ "version": "2025.5.0", "date": "2025-05-15T17:09:50Z" }, - { - "name": "ellite/Wallos", - "version": "v3.1.1", - "date": "2025-05-15T15:17:57Z" - }, { "name": "Ombi-app/Ombi", "version": "v4.47.1", From 4efa882558583e0e9d8108b69a9edb9561048684 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 01:16:16 +0100 Subject: [PATCH 224/274] Update CHANGELOG.md (#5068) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb542841c..9ae970dec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-06-09 + ## 2025-06-08 ### 🆕 New Scripts From 943a5f4d8fc59ccff536ca91652859624edfc156 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Mon, 9 Jun 2025 09:19:15 +0200 Subject: [PATCH 225/274] Authelia: Fix the URL of the container (#5064) * Update authelia.sh * Update authelia.json --- ct/authelia.sh | 2 +- frontend/public/json/authelia.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ct/authelia.sh b/ct/authelia.sh index 64123b767..2ab3bce03 100644 --- a/ct/authelia.sh +++ b/ct/authelia.sh @@ -55,4 +55,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${CL}" +echo -e "${TAB}${GATEWAY}${BGN}https://YOUR_AUTHELIA_URL${CL}" diff --git a/frontend/public/json/authelia.json b/frontend/public/json/authelia.json index 62af2fcdf..e94491c0d 100644 --- a/frontend/public/json/authelia.json +++ b/frontend/public/json/authelia.json @@ -8,7 +8,7 @@ "type": "ct", "updateable": true, "privileged": false, - "interface_port": 9091, + "interface_port": 443, "documentation": "https://www.authelia.com/integration/deployment/bare-metal/", "website": "https://www.authelia.com/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/authelia.webp", From 6e6b279b88b796e39a22938ad0642f155a86527c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 08:19:41 +0100 Subject: [PATCH 226/274] Update CHANGELOG.md (#5069) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ae970dec..4d4021c67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-09 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - Authelia: Fix the URL of the container [@tremor021](https://github.com/tremor021) ([#5064](https://github.com/community-scripts/ProxmoxVE/pull/5064)) + ## 2025-06-08 ### 🆕 New Scripts From 598acc20480bc1afea9c2749f4327555e7b9f24c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 14:07:42 +0200 Subject: [PATCH 227/274] Update versions.json (#5071) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 70 +++++++++++++++--------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 77ab1613e..c4b5924db 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,39 @@ [ + { + "name": "nzbgetcom/nzbget", + "version": "v25.0", + "date": "2025-05-12T09:12:04Z" + }, + { + "name": "VictoriaMetrics/VictoriaMetrics", + "version": "v1.110.10", + "date": "2025-06-09T11:10:10Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.4.0p4-rc1", + "date": "2025-06-09T09:27:36Z" + }, + { + "name": "silverbulletmd/silverbullet", + "version": "0.10.4", + "date": "2025-02-25T18:13:42Z" + }, + { + "name": "morpheus65535/bazarr", + "version": "v1.5.2", + "date": "2025-05-11T16:40:55Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2002", + "date": "2025-06-09T05:54:35Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "develop-20250609.1", + "date": "2025-06-09T03:59:04Z" + }, { "name": "karakeep-app/karakeep", "version": "ios/v1.7.0-1", @@ -29,11 +64,6 @@ "version": "8.2-m01-int", "date": "2025-06-08T13:48:51Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.16", - "date": "2025-05-27T16:27:42Z" - }, { "name": "Lidarr/Lidarr", "version": "v2.11.2.4629", @@ -49,11 +79,6 @@ "version": "v5.25.0.10024", "date": "2025-05-26T21:58:37Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1999", - "date": "2025-06-08T05:53:33Z" - }, { "name": "matze/wastebin", "version": "3.2.0", @@ -104,11 +129,6 @@ "version": "v1.18.1", "date": "2025-06-07T06:25:20Z" }, - { - "name": "morpheus65535/bazarr", - "version": "v1.5.2", - "date": "2025-05-11T16:40:55Z" - }, { "name": "OliveTin/OliveTin", "version": "2025.6.6", @@ -154,11 +174,6 @@ "version": "v0.26.1", "date": "2025-06-06T11:22:02Z" }, - { - "name": "nzbgetcom/nzbget", - "version": "v25.0", - "date": "2025-05-12T09:12:04Z" - }, { "name": "apache/tomcat", "version": "10.1.42", @@ -169,11 +184,6 @@ "version": "v2.16.3", "date": "2025-06-05T21:16:59Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.4.0p3", - "date": "2025-06-05T20:11:58Z" - }, { "name": "netbox-community/netbox", "version": "v4.3.2", @@ -349,11 +359,6 @@ "version": "2.0.0-alpha-4", "date": "2025-05-14T05:01:45Z" }, - { - "name": "VictoriaMetrics/VictoriaMetrics", - "version": "v1.23.3-victorialogs", - "date": "2025-06-02T19:44:31Z" - }, { "name": "tailscale/tailscale", "version": "v1.84.1", @@ -1044,11 +1049,6 @@ "version": "2.8.0", "date": "2025-03-02T04:30:50Z" }, - { - "name": "silverbulletmd/silverbullet", - "version": "0.10.4", - "date": "2025-02-25T18:13:42Z" - }, { "name": "schlagmichdoch/PairDrop", "version": "v1.11.2", From c59f9f421cb15335cc866e1f7b2e6f957daa9a5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Mon, 9 Jun 2025 21:03:03 +0200 Subject: [PATCH 228/274] Update minarca.json (#5070) --- frontend/public/json/minarca.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/minarca.json b/frontend/public/json/minarca.json index 030282a4f..1ae621804 100644 --- a/frontend/public/json/minarca.json +++ b/frontend/public/json/minarca.json @@ -12,7 +12,7 @@ "documentation": "https://nexus.ikus-soft.com/repository/archive/minarca/6.0.3/doc/index.html", "config_path": "/etc/minarca/minarca-server.conf", "website": "https://minarca.org/en_CA", - "logo": "https://minarca.org/web/image/1256-3f4f1dad/logo_principal-negatif.svg", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/minarca.webp", "description": "Minarca is a self-hosted open source data backup software that allows you to manage your computer and server backups for free from a direct online accessible centralized view of your data with easy retrieval.", "install_methods": [ { From 2de03f573497e5a71051d604be7a1bda7b32d1b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Mon, 9 Jun 2025 21:04:22 +0200 Subject: [PATCH 229/274] Remove GoMFT from website temporarily (#5065) --- frontend/public/json/{gomft.json => gomft.json.bak} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename frontend/public/json/{gomft.json => gomft.json.bak} (100%) diff --git a/frontend/public/json/gomft.json b/frontend/public/json/gomft.json.bak similarity index 100% rename from frontend/public/json/gomft.json rename to frontend/public/json/gomft.json.bak From 78a2201a93f992905b686796de48261eb8e0cdb2 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 20:21:31 +0100 Subject: [PATCH 230/274] Update CHANGELOG.md (#5076) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d4021c67..9706e5bc4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,10 @@ All LXC instances created using this repository come pre-installed with Midnight - Authelia: Fix the URL of the container [@tremor021](https://github.com/tremor021) ([#5064](https://github.com/community-scripts/ProxmoxVE/pull/5064)) +### 🌐 Website + + - GoMFT: Remove from website temporarily [@tremor021](https://github.com/tremor021) ([#5065](https://github.com/community-scripts/ProxmoxVE/pull/5065)) + ## 2025-06-08 ### 🆕 New Scripts From 98c277f471384024c2b5df5c690c9b14a09a21d5 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 02:14:55 +0200 Subject: [PATCH 231/274] Update versions.json (#5078) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 130 ++++++++++++++--------------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index c4b5924db..e34674f9e 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,14 +1,69 @@ [ + { + "name": "fallenbagel/jellyseerr", + "version": "v2.6.0", + "date": "2025-06-09T23:28:38Z" + }, + { + "name": "tailscale/tailscale", + "version": "v1.84.2", + "date": "2025-06-09T23:43:27Z" + }, + { + "name": "pocket-id/pocket-id", + "version": "v1.3.1", + "date": "2025-06-09T21:07:27Z" + }, + { + "name": "pocketbase/pocketbase", + "version": "v0.28.3", + "date": "2025-06-09T18:11:46Z" + }, + { + "name": "Lidarr/Lidarr", + "version": "v2.12.4.4658", + "date": "2025-06-09T17:27:45Z" + }, + { + "name": "ollama/ollama", + "version": "v0.9.1-ci3", + "date": "2025-06-07T16:12:57Z" + }, + { + "name": "Brandawg93/PeaNUT", + "version": "v5.8.0", + "date": "2025-06-09T16:08:33Z" + }, + { + "name": "ellite/Wallos", + "version": "v3.3.0", + "date": "2025-06-09T15:58:04Z" + }, + { + "name": "NodeBB/NodeBB", + "version": "v2.8.19", + "date": "2025-06-09T15:32:25Z" + }, + { + "name": "seanmorley15/AdventureLog", + "version": "v0.10.0", + "date": "2025-06-09T13:37:07Z" + }, + { + "name": "crowdsecurity/crowdsec", + "version": "v1.6.8", + "date": "2025-03-25T13:33:10Z" + }, + { + "name": "VictoriaMetrics/VictoriaMetrics", + "version": "pmm-6401-v1.119.0", + "date": "2025-06-09T12:26:37Z" + }, { "name": "nzbgetcom/nzbget", "version": "v25.0", "date": "2025-05-12T09:12:04Z" }, - { - "name": "VictoriaMetrics/VictoriaMetrics", - "version": "v1.110.10", - "date": "2025-06-09T11:10:10Z" - }, { "name": "Checkmk/checkmk", "version": "v2.4.0p4-rc1", @@ -34,16 +89,16 @@ "version": "develop-20250609.1", "date": "2025-06-09T03:59:04Z" }, + { + "name": "neo4j/neo4j", + "version": "5.26.8", + "date": "2025-06-08T22:50:58Z" + }, { "name": "karakeep-app/karakeep", "version": "ios/v1.7.0-1", "date": "2025-06-08T22:02:33Z" }, - { - "name": "ellite/Wallos", - "version": "v3.2.0", - "date": "2025-06-08T16:54:37Z" - }, { "name": "msgbyte/tianji", "version": "v1.21.11", @@ -64,11 +119,6 @@ "version": "8.2-m01-int", "date": "2025-06-08T13:48:51Z" }, - { - "name": "Lidarr/Lidarr", - "version": "v2.11.2.4629", - "date": "2025-04-28T11:59:37Z" - }, { "name": "Readarr/Readarr", "version": "v2.0.0.4645", @@ -94,11 +144,6 @@ "version": "v10.10.7", "date": "2025-04-05T19:14:59Z" }, - { - "name": "ollama/ollama", - "version": "v0.9.1-ci3", - "date": "2025-06-07T16:12:57Z" - }, { "name": "jordan-dalby/ByteStash", "version": "v1.5.8", @@ -254,11 +299,6 @@ "version": "v0.15.0-rc1", "date": "2025-06-04T15:12:56Z" }, - { - "name": "crowdsecurity/crowdsec", - "version": "v1.6.8", - "date": "2025-03-25T13:33:10Z" - }, { "name": "n8n-io/n8n", "version": "n8n@1.95.3", @@ -304,11 +344,6 @@ "version": "v4.100.3", "date": "2025-06-03T21:06:41Z" }, - { - "name": "pocket-id/pocket-id", - "version": "v1.2.0", - "date": "2025-06-03T20:42:28Z" - }, { "name": "runtipi/runtipi", "version": "v4.2.1", @@ -359,21 +394,11 @@ "version": "2.0.0-alpha-4", "date": "2025-05-14T05:01:45Z" }, - { - "name": "tailscale/tailscale", - "version": "v1.84.1", - "date": "2025-06-02T18:35:35Z" - }, { "name": "grokability/snipe-it", "version": "v8.1.15", "date": "2025-06-02T17:38:24Z" }, - { - "name": "NodeBB/NodeBB", - "version": "v4.4.2", - "date": "2025-06-02T15:06:31Z" - }, { "name": "wazuh/wazuh", "version": "coverity-w23-4.13.0", @@ -509,11 +534,6 @@ "version": "v1.134.0", "date": "2025-05-27T17:28:27Z" }, - { - "name": "neo4j/neo4j", - "version": "5.26.7", - "date": "2025-05-27T14:59:35Z" - }, { "name": "traefik/traefik", "version": "v3.4.1", @@ -564,11 +584,6 @@ "version": "RELEASE.2025-05-24T17-08-30Z", "date": "2025-05-24T21:42:19Z" }, - { - "name": "pocketbase/pocketbase", - "version": "v0.28.2", - "date": "2025-05-24T07:59:15Z" - }, { "name": "rogerfar/rdt-client", "version": "v2.0.113", @@ -719,11 +734,6 @@ "version": "v1.0.0-beta21", "date": "2025-05-09T23:14:23Z" }, - { - "name": "Brandawg93/PeaNUT", - "version": "v5.7.5", - "date": "2025-05-07T14:01:45Z" - }, { "name": "ZoeyVid/NPMplus", "version": "2025-05-07-r1", @@ -739,11 +749,6 @@ "version": "v2.10.2", "date": "2025-05-06T03:12:53Z" }, - { - "name": "fallenbagel/jellyseerr", - "version": "preview-tvdb", - "date": "2025-05-06T01:32:52Z" - }, { "name": "autobrr/autobrr", "version": "v1.62.0", @@ -984,11 +989,6 @@ "version": "v4.3.1", "date": "2025-03-23T09:02:54Z" }, - { - "name": "seanmorley15/AdventureLog", - "version": "v0.9.0", - "date": "2025-03-19T13:30:02Z" - }, { "name": "Donkie/Spoolman", "version": "v0.22.1", From 2aeb7cf79aaef7aa38279c4cee7bfbbc439b1363 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 01:15:38 +0100 Subject: [PATCH 232/274] Update CHANGELOG.md (#5079) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9706e5bc4..5de43cf85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-06-10 + ## 2025-06-09 ### 🚀 Updated Scripts From 2574e41ee89e6d20eceb9a8e9a1c65bc97cd36de Mon Sep 17 00:00:00 2001 From: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> Date: Tue, 10 Jun 2025 09:24:20 +0200 Subject: [PATCH 233/274] Prevent api from posing if disabled (#5080) --- misc/api.func | 12 +++++++++--- misc/build.func | 2 ++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/misc/api.func b/misc/api.func index 4e77247c0..67f0b6510 100644 --- a/misc/api.func +++ b/misc/api.func @@ -39,9 +39,11 @@ post_to_api() { EOF ) - RESPONSE=$(curl -fsSL -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \ + if [[ "$DIAGNOSTICS" == "yes" ]]; then + RESPONSE=$(curl -s -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \ -H "Content-Type: application/json" \ -d "$JSON_PAYLOAD") || true + fi } post_to_api_vm() { @@ -87,9 +89,11 @@ post_to_api_vm() { EOF ) - RESPONSE=$(curl -fsSL -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \ + if [[ "$DIAGNOSTICS" == "yes" ]]; then + RESPONSE=$(curl -s -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \ -H "Content-Type: application/json" \ -d "$JSON_PAYLOAD") || true + fi } POST_UPDATE_DONE=false @@ -115,9 +119,11 @@ post_update_to_api() { EOF ) - RESPONSE=$(curl -fsSL -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \ + if [[ "$DIAGNOSTICS" == "yes" ]]; then + RESPONSE=$(curl -s -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \ -H "Content-Type: application/json" \ -d "$JSON_PAYLOAD") || true + fi POST_UPDATE_DONE=true } diff --git a/misc/build.func b/misc/build.func index 7ec76bc37..265c32a56 100644 --- a/misc/build.func +++ b/misc/build.func @@ -1090,6 +1090,8 @@ build_container() { else export FUNCTIONS_FILE_PATH="$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/install.func)" fi + + export DIAGNOSTICS="$DIAGNOSTICS" export RANDOM_UUID="$RANDOM_UUID" export CACHER="$APT_CACHER" export CACHER_IP="$APT_CACHER_IP" From 201f7c46516ac69f1002b11234c5699c62d7864a Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 08:24:46 +0100 Subject: [PATCH 234/274] Update CHANGELOG.md (#5081) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5de43cf85..8dd687bc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-10 +### 🧰 Maintenance + + - #### 📡 API + + - [core] Prevent API form sending Data when disabled [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#5080](https://github.com/community-scripts/ProxmoxVE/pull/5080)) + ## 2025-06-09 ### 🚀 Updated Scripts From b1f89929339c09534e760e01a8c797040891d157 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 14:07:47 +0200 Subject: [PATCH 235/274] Update versions.json (#5084) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 106 ++++++++++++++--------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index e34674f9e..f8a0fcc27 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,14 +1,59 @@ [ { - "name": "fallenbagel/jellyseerr", - "version": "v2.6.0", - "date": "2025-06-09T23:28:38Z" + "name": "OctoPrint/OctoPrint", + "version": "1.11.2", + "date": "2025-06-10T11:07:14Z" + }, + { + "name": "VictoriaMetrics/VictoriaMetrics", + "version": "v1.110.11", + "date": "2025-06-10T10:00:25Z" + }, + { + "name": "emqx/emqx", + "version": "e5.10.0-rc.2", + "date": "2025-06-10T09:46:15Z" + }, + { + "name": "glanceapp/glance", + "version": "v0.8.4", + "date": "2025-06-10T07:57:14Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2004", + "date": "2025-06-10T05:57:54Z" + }, + { + "name": "documenso/documenso", + "version": "v1.12.0-rc.3", + "date": "2025-06-10T02:49:37Z" + }, + { + "name": "go-gitea/gitea", + "version": "v1.24.0", + "date": "2025-06-10T02:00:38Z" + }, + { + "name": "Sonarr/Sonarr", + "version": "v4.0.14.2939", + "date": "2025-03-17T19:12:37Z" + }, + { + "name": "cross-seed/cross-seed", + "version": "v6.12.6", + "date": "2025-05-28T00:13:19Z" }, { "name": "tailscale/tailscale", "version": "v1.84.2", "date": "2025-06-09T23:43:27Z" }, + { + "name": "fallenbagel/jellyseerr", + "version": "v2.6.0", + "date": "2025-06-09T23:28:38Z" + }, { "name": "pocket-id/pocket-id", "version": "v1.3.1", @@ -19,6 +64,11 @@ "version": "v0.28.3", "date": "2025-06-09T18:11:46Z" }, + { + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" + }, { "name": "Lidarr/Lidarr", "version": "v2.12.4.4658", @@ -54,11 +104,6 @@ "version": "v1.6.8", "date": "2025-03-25T13:33:10Z" }, - { - "name": "VictoriaMetrics/VictoriaMetrics", - "version": "pmm-6401-v1.119.0", - "date": "2025-06-09T12:26:37Z" - }, { "name": "nzbgetcom/nzbget", "version": "v25.0", @@ -79,11 +124,6 @@ "version": "v1.5.2", "date": "2025-05-11T16:40:55Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2002", - "date": "2025-06-09T05:54:35Z" - }, { "name": "firefly-iii/firefly-iii", "version": "develop-20250609.1", @@ -134,11 +174,6 @@ "version": "3.2.0", "date": "2025-06-07T21:33:22Z" }, - { - "name": "cross-seed/cross-seed", - "version": "v6.12.6", - "date": "2025-05-28T00:13:19Z" - }, { "name": "jellyfin/jellyfin", "version": "v10.10.7", @@ -189,16 +224,6 @@ "version": "v4.1.2", "date": "2025-06-06T17:44:58Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.5", - "date": "2025-05-28T06:49:43Z" - }, - { - "name": "documenso/documenso", - "version": "v1.12.0-rc.2", - "date": "2025-06-06T16:25:14Z" - }, { "name": "goauthentik/authentik", "version": "version/2025.6.1", @@ -239,11 +264,6 @@ "version": "1.6.14", "date": "2025-06-05T16:40:52Z" }, - { - "name": "emqx/emqx", - "version": "e5.10.0-rc.1", - "date": "2025-06-05T16:11:30Z" - }, { "name": "docker/compose", "version": "v2.37.0", @@ -629,11 +649,6 @@ "version": "v4.4.9", "date": "2025-05-20T00:08:29Z" }, - { - "name": "glanceapp/glance", - "version": "v0.8.3", - "date": "2025-05-19T20:45:10Z" - }, { "name": "Part-DB/Part-DB-server", "version": "v1.17.1", @@ -689,16 +704,6 @@ "version": "0.42.1", "date": "2020-06-07T07:27:04Z" }, - { - "name": "OctoPrint/OctoPrint", - "version": "1.11.1", - "date": "2025-05-13T13:32:07Z" - }, - { - "name": "go-gitea/gitea", - "version": "v1.23.8", - "date": "2025-05-12T22:40:50Z" - }, { "name": "leiweibau/Pi.Alert", "version": "v2025-05-11", @@ -994,11 +999,6 @@ "version": "v0.22.1", "date": "2025-03-18T21:01:22Z" }, - { - "name": "Sonarr/Sonarr", - "version": "v4.0.14.2939", - "date": "2025-03-17T19:12:37Z" - }, { "name": "transmission/transmission", "version": "4.0.1-beta.1", From ed834bf424116739616db1b07bc49e8e0683ed09 Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 10 Jun 2025 10:01:48 -0400 Subject: [PATCH 236/274] Immich: Update JSON (#5085) - Provide more clarity around OpenVINO, hardware transcoding, and how to change upload locations --- frontend/public/json/immich.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/public/json/immich.json b/frontend/public/json/immich.json index 845f31efb..b29bb2c35 100644 --- a/frontend/public/json/immich.json +++ b/frontend/public/json/immich.json @@ -33,15 +33,15 @@ }, "notes": [ { - "text": "During installation, HW-accelerated machine-learning (with OpenVINO) is an available option. This also allows for HW-accelerated transcoding, but it must be enabled in Video Transcoding Settings", + "text": "During installation, you will be prompted with the option to install Intel OpenVINO for hardware-accelerated machine-learning. If you opt in, increase your LXC RAM after installation, as OpenVINO is memory-intensive", "type": "info" }, { - "text": "If using OpenVINO HW machine-learning, increase RAM because OpenVINO is memory-intensive", + "text": "HW-accelerated video transcoding is supported, but must be enabled in Immich Settings", "type": "info" }, { - "text": "To change upload location, edit 'IMMICH_MEDIA_LOCATION' in `/opt/immich/.env`", + "text": "To change upload location, edit 'IMMICH_MEDIA_LOCATION' in `/opt/immich/.env`, and create the symlink 'upload' in /opt/immich/app & /opt/immich/app/machine-learning to your new upload location", "type": "info" } ] From 84c295a10b7ea0ef18fdb5d84a150f9fb7bd9fa8 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 15:02:17 +0100 Subject: [PATCH 237/274] Update CHANGELOG.md (#5086) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8dd687bc8..abb77133a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,12 @@ All LXC instances created using this repository come pre-installed with Midnight - [core] Prevent API form sending Data when disabled [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#5080](https://github.com/community-scripts/ProxmoxVE/pull/5080)) +### 🌐 Website + + - #### 📝 Script Information + + - Immich: Update JSON [@vhsdream](https://github.com/vhsdream) ([#5085](https://github.com/community-scripts/ProxmoxVE/pull/5085)) + ## 2025-06-09 ### 🚀 Updated Scripts From 61bfa1664581f4573dbf297b0ca67316411d23f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Tue, 10 Jun 2025 19:36:33 +0200 Subject: [PATCH 238/274] Update alpine-tinyauth-install.sh (#5090) --- install/alpine-tinyauth-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/alpine-tinyauth-install.sh b/install/alpine-tinyauth-install.sh index f24bbe4f8..9aea59a69 100644 --- a/install/alpine-tinyauth-install.sh +++ b/install/alpine-tinyauth-install.sh @@ -49,7 +49,7 @@ EOF sed -i -e 's/\$/\$\$/g' /opt/tinyauth/.env -cat </etc/init.d/tinyauth +cat <<'EOF' >/etc/init.d/tinyauth #!/sbin/openrc-run description="Tinyauth Service" From e92dfe1b2b43224d6bdad1be5474ed5c6d4a722b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Tue, 10 Jun 2025 19:36:48 +0200 Subject: [PATCH 239/274] Update dolibarr-install.sh (#5091) --- install/dolibarr-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/dolibarr-install.sh b/install/dolibarr-install.sh index c81c56684..c90d013a3 100644 --- a/install/dolibarr-install.sh +++ b/install/dolibarr-install.sh @@ -23,7 +23,7 @@ install_mariadb msg_info "Setting up Database" ROOT_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD mariadb -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$ROOT_PASS'); flush privileges;" +$STD mariadb -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$ROOT_PASS'; flush privileges;" { echo "Dolibarr DB Credentials" echo "MariaDB Root Password: $ROOT_PASS" From 77fb5ea5160265f32050b66aa1927279876914fc Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 18:37:00 +0100 Subject: [PATCH 240/274] Update CHANGELOG.md (#5092) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index abb77133a..fe358508f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,13 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-10 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - Dolibarr: Fix typo in SQL command [@tremor021](https://github.com/tremor021) ([#5091](https://github.com/community-scripts/ProxmoxVE/pull/5091)) + - Tinyauth: Fix creation of service file [@tremor021](https://github.com/tremor021) ([#5090](https://github.com/community-scripts/ProxmoxVE/pull/5090)) + ### 🧰 Maintenance - #### 📡 API From 7cf8300b477e5b82fa3068a42781e136544e53ae Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 18:37:20 +0100 Subject: [PATCH 241/274] Update CHANGELOG.md (#5093) Co-authored-by: github-actions[bot] From b8ba409e5cad40526fe1c9b69f38d5deb81a1db8 Mon Sep 17 00:00:00 2001 From: Frankmaaan <155917085+Frankmaaan@users.noreply.github.com> Date: Tue, 10 Jun 2025 20:13:00 +0200 Subject: [PATCH 242/274] Element Synapse: switched from development to production mode and fixed update (#5066) * Update elementsynapse.sh * Update elementsynapse-install.sh * Update elementsynapse.sh removed comment --- ct/elementsynapse.sh | 11 ++++++++++- install/elementsynapse-install.sh | 7 ++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ct/elementsynapse.sh b/ct/elementsynapse.sh index eb36d66b4..8560ee6b6 100644 --- a/ct/elementsynapse.sh +++ b/ct/elementsynapse.sh @@ -47,7 +47,7 @@ function update_script() { $STD apt-get -y upgrade msg_ok "Updated $APP LXC" - if [[ -f /systemd/system/synapse-admin.service ]]; then + if [[ -f /etc/systemd/system/synapse-admin.service ]]; then msg_info "Updating Synapse-Admin" RELEASE=$(curl -fsSL https://api.github.com/repos/etkecc/synapse-admin/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if [[ "${RELEASE}" != "$(cat /opt/"${APP}"_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then @@ -58,7 +58,16 @@ function update_script() { curl -fsSL "https://github.com/etkecc/synapse-admin/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar xzf "$temp_file" -C /opt/synapse-admin --strip-components=1 cd /opt/synapse-admin + $STD yarn global add serve $STD yarn install --ignore-engines + $STD yarn build + mv ./dist ../ && \ + rm -rf * && \ + mv ../dist ./ + if [[ -z $(grep "ExecStart=/usr/local/bin/serve" /etc/systemd/system/synapse-admin.service) ]]; then + sed -i 's|^ExecStart=.*|ExecStart=/usr/local/bin/serve -s dist -l 5173|' /etc/systemd/system/synapse-admin.service + systemctl reenable synapse-admin + fi systemctl start synapse-admin echo "${RELEASE}" >/opt/"${APP}"_version.txt rm -f "$temp_file" diff --git a/install/elementsynapse-install.sh b/install/elementsynapse-install.sh index edad49544..f9c654f1e 100644 --- a/install/elementsynapse-install.sh +++ b/install/elementsynapse-install.sh @@ -54,7 +54,12 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/etkecc/synapse-admin/releases/ curl -fsSL "https://github.com/etkecc/synapse-admin/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar xzf "$temp_file" -C /opt/synapse-admin --strip-components=1 cd /opt/synapse-admin +$STD yarn global add serve $STD yarn install --ignore-engines +$STD yarn build +mv ./dist ../ && \ + rm -rf * && \ + mv ../dist ./ msg_ok "Installed Element Synapse" msg_info "Creating Service" @@ -67,7 +72,7 @@ Requires=matrix-synapse.service [Service] Type=simple WorkingDirectory=/opt/synapse-admin -ExecStart=/usr/bin/yarn start --host +ExecStart=/usr/local/bin/serve -s dist -l 5173 Restart=always [Install] From 677008c77947164574ff77162a54f533bd738054 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 19:13:25 +0100 Subject: [PATCH 243/274] Update CHANGELOG.md (#5094) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe358508f..eeac54b78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,8 +20,9 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes - - Dolibarr: Fix typo in SQL command [@tremor021](https://github.com/tremor021) ([#5091](https://github.com/community-scripts/ProxmoxVE/pull/5091)) + - Element Synapse: switched from development to production mode and fixed update [@Frankmaaan](https://github.com/Frankmaaan) ([#5066](https://github.com/community-scripts/ProxmoxVE/pull/5066)) - Tinyauth: Fix creation of service file [@tremor021](https://github.com/tremor021) ([#5090](https://github.com/community-scripts/ProxmoxVE/pull/5090)) + - Dolibarr: Fix typo in SQL command [@tremor021](https://github.com/tremor021) ([#5091](https://github.com/community-scripts/ProxmoxVE/pull/5091)) ### 🧰 Maintenance From 3aefe199f7cc2a453f172648c4b52f53b7a7a4b8 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 11 Jun 2025 02:14:59 +0200 Subject: [PATCH 244/274] Update versions.json (#5097) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 100 ++++++++++++++--------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index f8a0fcc27..c0372c23f 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,54 @@ [ + { + "name": "Checkmk/checkmk", + "version": "v2.3.0p34-rc1", + "date": "2025-06-10T20:08:37Z" + }, + { + "name": "autobrr/autobrr", + "version": "v1.63.0", + "date": "2025-06-10T20:02:15Z" + }, + { + "name": "home-assistant/core", + "version": "2025.5.3", + "date": "2025-05-23T15:10:33Z" + }, + { + "name": "emqx/emqx", + "version": "e5.10.0", + "date": "2025-06-10T16:03:18Z" + }, + { + "name": "node-red/node-red", + "version": "4.1.0-beta.1", + "date": "2025-06-10T15:47:59Z" + }, + { + "name": "AdguardTeam/AdGuardHome", + "version": "v0.107.62", + "date": "2025-05-27T12:10:19Z" + }, + { + "name": "jenkinsci/jenkins", + "version": "jenkins-2.514", + "date": "2025-06-10T14:27:57Z" + }, + { + "name": "open-webui/open-webui", + "version": "v0.6.14", + "date": "2025-06-10T14:18:04Z" + }, + { + "name": "element-hq/synapse", + "version": "v1.131.0", + "date": "2025-06-03T14:13:00Z" + }, + { + "name": "Graylog2/graylog2-server", + "version": "6.3.0-beta.5", + "date": "2025-06-10T11:19:42Z" + }, { "name": "OctoPrint/OctoPrint", "version": "1.11.2", @@ -9,11 +59,6 @@ "version": "v1.110.11", "date": "2025-06-10T10:00:25Z" }, - { - "name": "emqx/emqx", - "version": "e5.10.0-rc.2", - "date": "2025-06-10T09:46:15Z" - }, { "name": "glanceapp/glance", "version": "v0.8.4", @@ -109,11 +154,6 @@ "version": "v25.0", "date": "2025-05-12T09:12:04Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.4.0p4-rc1", - "date": "2025-06-09T09:27:36Z" - }, { "name": "silverbulletmd/silverbullet", "version": "0.10.4", @@ -324,11 +364,6 @@ "version": "n8n@1.95.3", "date": "2025-06-03T11:09:42Z" }, - { - "name": "Graylog2/graylog2-server", - "version": "6.1.12", - "date": "2025-06-04T12:48:55Z" - }, { "name": "Prowlarr/Prowlarr", "version": "v1.37.0.5076", @@ -339,11 +374,6 @@ "version": "7.4.0rc1", "date": "2025-06-04T09:06:57Z" }, - { - "name": "home-assistant/core", - "version": "2025.5.3", - "date": "2025-05-23T15:10:33Z" - }, { "name": "glpi-project/glpi", "version": "10.0.18", @@ -369,21 +399,11 @@ "version": "v4.2.1", "date": "2025-06-03T20:04:28Z" }, - { - "name": "jenkinsci/jenkins", - "version": "jenkins-2.513", - "date": "2025-06-03T17:53:03Z" - }, { "name": "dgtlmoon/changedetection.io", "version": "0.50.2", "date": "2025-06-03T14:29:07Z" }, - { - "name": "element-hq/synapse", - "version": "v1.131.0", - "date": "2025-06-03T14:13:00Z" - }, { "name": "zitadel/zitadel", "version": "v2.71.12", @@ -484,11 +504,6 @@ "version": "v2.12.0", "date": "2025-05-30T00:26:27Z" }, - { - "name": "open-webui/open-webui", - "version": "v0.6.13", - "date": "2025-05-29T21:37:38Z" - }, { "name": "gristlabs/grist-core", "version": "v1.6.0", @@ -559,11 +574,6 @@ "version": "v3.4.1", "date": "2025-05-27T12:53:58Z" }, - { - "name": "AdguardTeam/AdGuardHome", - "version": "v0.107.62", - "date": "2025-05-27T12:10:19Z" - }, { "name": "semaphoreui/semaphore", "version": "v2.14.12", @@ -754,11 +764,6 @@ "version": "v2.10.2", "date": "2025-05-06T03:12:53Z" }, - { - "name": "autobrr/autobrr", - "version": "v1.62.0", - "date": "2025-05-05T20:35:18Z" - }, { "name": "postgres/postgres", "version": "REL_13_21", @@ -1074,11 +1079,6 @@ "version": "v7.4.1", "date": "2025-02-15T20:54:00Z" }, - { - "name": "node-red/node-red", - "version": "4.0.9", - "date": "2025-02-14T17:10:20Z" - }, { "name": "mayswind/AriaNg", "version": "1.3.10", From b0bd2f48045380a3ab4edfe79c061ca060717985 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 11 Jun 2025 01:15:34 +0100 Subject: [PATCH 245/274] Update CHANGELOG.md (#5098) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index eeac54b78..5cff818e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-06-11 + ## 2025-06-10 ### 🚀 Updated Scripts From 31e0b5fae32f573a617d6a841c01909a6770b9c3 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 11 Jun 2025 14:07:38 +0200 Subject: [PATCH 246/274] Update versions.json (#5099) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 96 +++++++++++++++--------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index c0372c23f..11f1b4b54 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,18 +1,58 @@ [ + { + "name": "cloudflare/cloudflared", + "version": "2025.6.0", + "date": "2025-06-11T11:13:21Z" + }, + { + "name": "autobrr/autobrr", + "version": "v1.63.1", + "date": "2025-06-11T11:05:42Z" + }, + { + "name": "home-assistant/core", + "version": "2025.5.3", + "date": "2025-05-23T15:10:33Z" + }, + { + "name": "n8n-io/n8n", + "version": "n8n@1.95.3", + "date": "2025-06-03T11:09:42Z" + }, + { + "name": "wazuh/wazuh", + "version": "coverity-w24-4.13.0", + "date": "2025-06-11T04:04:55Z" + }, + { + "name": "zabbix/zabbix", + "version": "7.2.8rc1", + "date": "2025-06-11T06:50:19Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2008", + "date": "2025-06-11T05:58:00Z" + }, + { + "name": "openobserve/openobserve", + "version": "v0.15.0-rc2", + "date": "2025-06-11T04:29:22Z" + }, + { + "name": "mattermost/mattermost", + "version": "server/public/v0.1.15", + "date": "2025-06-11T03:56:25Z" + }, { "name": "Checkmk/checkmk", "version": "v2.3.0p34-rc1", "date": "2025-06-10T20:08:37Z" }, { - "name": "autobrr/autobrr", - "version": "v1.63.0", - "date": "2025-06-10T20:02:15Z" - }, - { - "name": "home-assistant/core", - "version": "2025.5.3", - "date": "2025-05-23T15:10:33Z" + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" }, { "name": "emqx/emqx", @@ -64,11 +104,6 @@ "version": "v0.8.4", "date": "2025-06-10T07:57:14Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2004", - "date": "2025-06-10T05:57:54Z" - }, { "name": "documenso/documenso", "version": "v1.12.0-rc.3", @@ -109,11 +144,6 @@ "version": "v0.28.3", "date": "2025-06-09T18:11:46Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.5", - "date": "2025-05-28T06:49:43Z" - }, { "name": "Lidarr/Lidarr", "version": "v2.12.4.4658", @@ -319,11 +349,6 @@ "version": "v6.1.2", "date": "2025-06-05T11:32:45Z" }, - { - "name": "mattermost/mattermost", - "version": "server/public/v0.1.14", - "date": "2025-05-29T15:35:16Z" - }, { "name": "MariaDB/server", "version": "mariadb-11.8.2", @@ -354,26 +379,11 @@ "version": "340", "date": "2025-06-04T16:41:44Z" }, - { - "name": "openobserve/openobserve", - "version": "v0.15.0-rc1", - "date": "2025-06-04T15:12:56Z" - }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.95.3", - "date": "2025-06-03T11:09:42Z" - }, { "name": "Prowlarr/Prowlarr", "version": "v1.37.0.5076", "date": "2025-06-04T11:04:53Z" }, - { - "name": "zabbix/zabbix", - "version": "7.4.0rc1", - "date": "2025-06-04T09:06:57Z" - }, { "name": "glpi-project/glpi", "version": "10.0.18", @@ -439,11 +449,6 @@ "version": "v8.1.15", "date": "2025-06-02T17:38:24Z" }, - { - "name": "wazuh/wazuh", - "version": "coverity-w23-4.13.0", - "date": "2025-05-30T15:39:11Z" - }, { "name": "inventree/InvenTree", "version": "0.17.13", @@ -699,11 +704,6 @@ "version": "1.21.3", "date": "2025-05-16T04:31:05Z" }, - { - "name": "cloudflare/cloudflared", - "version": "2025.5.0", - "date": "2025-05-15T17:09:50Z" - }, { "name": "Ombi-app/Ombi", "version": "v4.47.1", From d9facc0e62a2512173197d3b4d4da4cbb81042dd Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 12 Jun 2025 02:14:56 +0200 Subject: [PATCH 247/274] Update versions.json (#5103) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 150 ++++++++++++++--------------- 1 file changed, 75 insertions(+), 75 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 11f1b4b54..da8f568dc 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,74 @@ [ + { + "name": "theonedev/onedev", + "version": "v11.10.4", + "date": "2025-06-11T22:36:05Z" + }, + { + "name": "Radarr/Radarr", + "version": "v5.26.2.10099", + "date": "2025-06-11T20:10:39Z" + }, + { + "name": "TandoorRecipes/recipes", + "version": "2.0.0-alpha-4", + "date": "2025-05-14T05:01:45Z" + }, + { + "name": "esphome/esphome", + "version": "2025.5.2", + "date": "2025-06-03T08:45:14Z" + }, + { + "name": "home-assistant/core", + "version": "2025.6.0", + "date": "2025-06-11T19:35:25Z" + }, + { + "name": "MediaBrowser/Emby.Releases", + "version": "4.8.11.0", + "date": "2025-03-10T06:39:11Z" + }, + { + "name": "bunkerity/bunkerweb", + "version": "testing", + "date": "2025-06-11T16:35:40Z" + }, + { + "name": "crowdsecurity/crowdsec", + "version": "v1.6.8", + "date": "2025-03-25T13:33:10Z" + }, + { + "name": "msgbyte/tianji", + "version": "v1.21.12", + "date": "2025-06-11T16:25:27Z" + }, + { + "name": "dgtlmoon/changedetection.io", + "version": "0.50.3", + "date": "2025-06-11T15:19:52Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.4.0p4", + "date": "2025-06-11T14:31:17Z" + }, + { + "name": "FlowiseAI/Flowise", + "version": "flowise@3.0.2", + "date": "2025-06-11T13:18:51Z" + }, + { + "name": "kimai/kimai", + "version": "2.36.0", + "date": "2025-06-11T12:31:07Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.17", + "date": "2025-06-11T12:07:38Z" + }, { "name": "cloudflare/cloudflared", "version": "2025.6.0", @@ -9,16 +79,16 @@ "version": "v1.63.1", "date": "2025-06-11T11:05:42Z" }, - { - "name": "home-assistant/core", - "version": "2025.5.3", - "date": "2025-05-23T15:10:33Z" - }, { "name": "n8n-io/n8n", "version": "n8n@1.95.3", "date": "2025-06-03T11:09:42Z" }, + { + "name": "fallenbagel/jellyseerr", + "version": "preview-forceipv4-axios", + "date": "2025-06-11T09:16:40Z" + }, { "name": "wazuh/wazuh", "version": "coverity-w24-4.13.0", @@ -44,11 +114,6 @@ "version": "server/public/v0.1.15", "date": "2025-06-11T03:56:25Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.3.0p34-rc1", - "date": "2025-06-10T20:08:37Z" - }, { "name": "keycloak/keycloak", "version": "26.2.5", @@ -129,11 +194,6 @@ "version": "v1.84.2", "date": "2025-06-09T23:43:27Z" }, - { - "name": "fallenbagel/jellyseerr", - "version": "v2.6.0", - "date": "2025-06-09T23:28:38Z" - }, { "name": "pocket-id/pocket-id", "version": "v1.3.1", @@ -174,11 +234,6 @@ "version": "v0.10.0", "date": "2025-06-09T13:37:07Z" }, - { - "name": "crowdsecurity/crowdsec", - "version": "v1.6.8", - "date": "2025-03-25T13:33:10Z" - }, { "name": "nzbgetcom/nzbget", "version": "v25.0", @@ -194,11 +249,6 @@ "version": "v1.5.2", "date": "2025-05-11T16:40:55Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "develop-20250609.1", - "date": "2025-06-09T03:59:04Z" - }, { "name": "neo4j/neo4j", "version": "5.26.8", @@ -209,11 +259,6 @@ "version": "ios/v1.7.0-1", "date": "2025-06-08T22:02:33Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.21.11", - "date": "2025-06-08T16:49:06Z" - }, { "name": "Luligu/matterbridge", "version": "3.0.5", @@ -234,11 +279,6 @@ "version": "v2.0.0.4645", "date": "2017-03-07T18:56:06Z" }, - { - "name": "Radarr/Radarr", - "version": "v5.25.0.10024", - "date": "2025-05-26T21:58:37Z" - }, { "name": "matze/wastebin", "version": "3.2.0", @@ -304,11 +344,6 @@ "version": "2025-05-31", "date": "2025-06-06T14:50:56Z" }, - { - "name": "bunkerity/bunkerweb", - "version": "v1.6.1", - "date": "2025-03-15T17:29:17Z" - }, { "name": "juanfont/headscale", "version": "v0.26.1", @@ -339,11 +374,6 @@ "version": "v2.37.0", "date": "2025-06-05T15:11:49Z" }, - { - "name": "theonedev/onedev", - "version": "v11.10.3", - "date": "2025-06-05T14:31:58Z" - }, { "name": "pi-hole/pi-hole", "version": "v6.1.2", @@ -409,11 +439,6 @@ "version": "v4.2.1", "date": "2025-06-03T20:04:28Z" }, - { - "name": "dgtlmoon/changedetection.io", - "version": "0.50.2", - "date": "2025-06-03T14:29:07Z" - }, { "name": "zitadel/zitadel", "version": "v2.71.12", @@ -429,21 +454,11 @@ "version": "v0.9.0", "date": "2025-06-03T11:49:40Z" }, - { - "name": "esphome/esphome", - "version": "2025.5.2", - "date": "2025-06-03T08:45:14Z" - }, { "name": "FreshRSS/FreshRSS", "version": "1.26.3", "date": "2025-06-02T22:00:14Z" }, - { - "name": "TandoorRecipes/recipes", - "version": "2.0.0-alpha-4", - "date": "2025-05-14T05:01:45Z" - }, { "name": "grokability/snipe-it", "version": "v8.1.15", @@ -479,11 +494,6 @@ "version": "2.4.0", "date": "2025-06-01T18:08:44Z" }, - { - "name": "kimai/kimai", - "version": "2.35.1", - "date": "2025-05-31T15:05:27Z" - }, { "name": "prometheus/prometheus", "version": "v3.4.1", @@ -524,11 +534,6 @@ "version": "v5.36.5", "date": "2025-05-29T17:06:01Z" }, - { - "name": "FlowiseAI/Flowise", - "version": "flowise@3.0.1", - "date": "2025-05-29T17:00:06Z" - }, { "name": "readeck/readeck", "version": "0.19.2", @@ -589,11 +594,6 @@ "version": "1.34.1", "date": "2025-05-26T21:40:54Z" }, - { - "name": "MediaBrowser/Emby.Releases", - "version": "4.8.11.0", - "date": "2025-03-10T06:39:11Z" - }, { "name": "jupyter/notebook", "version": "v7.4.3", From d6da26c6409497417d1575fb7a5ffcc9f89f6959 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 12 Jun 2025 01:15:39 +0100 Subject: [PATCH 248/274] Update CHANGELOG.md (#5104) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5cff818e7..d81631511 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-06-12 + ## 2025-06-11 ## 2025-06-10 From 076932014641a9d4eeba9321321b97d66a9d3f2c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 12 Jun 2025 14:07:39 +0200 Subject: [PATCH 249/274] Update versions.json (#5107) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 100 ++++++++++++++--------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index da8f568dc..ef363417d 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,9 +1,54 @@ [ + { + "name": "docker/compose", + "version": "v2.37.1", + "date": "2025-06-12T09:00:21Z" + }, + { + "name": "redis/redis", + "version": "8.2-m01-int2", + "date": "2025-06-12T08:52:10Z" + }, + { + "name": "hyperion-project/hyperion.ng", + "version": "2.1", + "date": "2025-06-12T06:58:03Z" + }, + { + "name": "zitadel/zitadel", + "version": "v3.3.0", + "date": "2025-06-12T06:54:48Z" + }, + { + "name": "bunkerity/bunkerweb", + "version": "v1.6.2-rc4", + "date": "2025-06-12T06:49:19Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2011", + "date": "2025-06-12T06:11:23Z" + }, + { + "name": "morpheus65535/bazarr", + "version": "v1.5.2", + "date": "2025-05-11T16:40:55Z" + }, + { + "name": "documenso/documenso", + "version": "v1.12.0-rc.4", + "date": "2025-06-12T00:27:41Z" + }, { "name": "theonedev/onedev", "version": "v11.10.4", "date": "2025-06-11T22:36:05Z" }, + { + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" + }, { "name": "Radarr/Radarr", "version": "v5.26.2.10099", @@ -29,11 +74,6 @@ "version": "4.8.11.0", "date": "2025-03-10T06:39:11Z" }, - { - "name": "bunkerity/bunkerweb", - "version": "testing", - "date": "2025-06-11T16:35:40Z" - }, { "name": "crowdsecurity/crowdsec", "version": "v1.6.8", @@ -99,11 +139,6 @@ "version": "7.2.8rc1", "date": "2025-06-11T06:50:19Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2008", - "date": "2025-06-11T05:58:00Z" - }, { "name": "openobserve/openobserve", "version": "v0.15.0-rc2", @@ -114,11 +149,6 @@ "version": "server/public/v0.1.15", "date": "2025-06-11T03:56:25Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.5", - "date": "2025-05-28T06:49:43Z" - }, { "name": "emqx/emqx", "version": "e5.10.0", @@ -169,11 +199,6 @@ "version": "v0.8.4", "date": "2025-06-10T07:57:14Z" }, - { - "name": "documenso/documenso", - "version": "v1.12.0-rc.3", - "date": "2025-06-10T02:49:37Z" - }, { "name": "go-gitea/gitea", "version": "v1.24.0", @@ -244,11 +269,6 @@ "version": "0.10.4", "date": "2025-02-25T18:13:42Z" }, - { - "name": "morpheus65535/bazarr", - "version": "v1.5.2", - "date": "2025-05-11T16:40:55Z" - }, { "name": "neo4j/neo4j", "version": "5.26.8", @@ -269,11 +289,6 @@ "version": "v2.0.1", "date": "2025-06-08T14:40:24Z" }, - { - "name": "redis/redis", - "version": "8.2-m01-int", - "date": "2025-06-08T13:48:51Z" - }, { "name": "Readarr/Readarr", "version": "v2.0.0.4645", @@ -369,11 +384,6 @@ "version": "1.6.14", "date": "2025-06-05T16:40:52Z" }, - { - "name": "docker/compose", - "version": "v2.37.0", - "date": "2025-06-05T15:11:49Z" - }, { "name": "pi-hole/pi-hole", "version": "v6.1.2", @@ -439,11 +449,6 @@ "version": "v4.2.1", "date": "2025-06-03T20:04:28Z" }, - { - "name": "zitadel/zitadel", - "version": "v2.71.12", - "date": "2025-06-03T14:11:41Z" - }, { "name": "influxdata/influxdb", "version": "v1.12.1rc3", @@ -704,6 +709,11 @@ "version": "1.21.3", "date": "2025-05-16T04:31:05Z" }, + { + "name": "Dolibarr/dolibarr", + "version": "18.0.7", + "date": "2025-05-15T08:24:30Z" + }, { "name": "Ombi-app/Ombi", "version": "v4.47.1", @@ -924,11 +934,6 @@ "version": "v1.10.0", "date": "2025-04-07T14:32:15Z" }, - { - "name": "Dolibarr/dolibarr", - "version": "21.0.1", - "date": "2025-04-06T19:22:59Z" - }, { "name": "azukaar/Cosmos-Server", "version": "v0.18.4", @@ -1234,11 +1239,6 @@ "version": "v4.4.3", "date": "2024-04-06T12:24:35Z" }, - { - "name": "hyperion-project/hyperion.ng", - "version": "2.0.16", - "date": "2024-01-18T16:11:07Z" - }, { "name": "deepch/RTSPtoWeb", "version": "v2.4.3", From 0e63437154c19b0f5dfc028c2359be876b9041e1 Mon Sep 17 00:00:00 2001 From: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> Date: Thu, 12 Jun 2025 17:26:12 +0200 Subject: [PATCH 250/274] install.func (#5109) --- misc/install.func | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/install.func b/misc/install.func index 842ed4a97..3aedd94e6 100644 --- a/misc/install.func +++ b/misc/install.func @@ -77,7 +77,7 @@ error_handler() { local command="$2" local error_message="${RD}[ERROR]${CL} in line ${RD}$line_number${CL}: exit code ${RD}$exit_code${CL}: while executing command ${YW}$command${CL}" echo -e "\n$error_message" - if [[ "$line_number" -eq 50 ]]; then + if [[ "$line_number" -eq 51 ]]; then echo -e "The silent function has suppressed the error, run the script with verbose mode enabled, which will provide more detailed output.\n" post_update_to_api "failed" "No error message, script ran in silent mode" else From dd4c5569598462d91defc1bd3f4aadf20dd4db2f Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Thu, 12 Jun 2025 17:28:05 +0200 Subject: [PATCH 251/274] Manage my Damn Life (#5100) * 'Add new script' * fix curl * curl * Update managemydamnlife-install.sh Remove unneeded msg --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> --- ct/headers/managemydamnlife | 6 ++ ct/managemydamnlife.sh | 78 ++++++++++++++++++++ frontend/public/json/managemydamnlife.json | 35 +++++++++ install/managemydamnlife-install.sh | 84 ++++++++++++++++++++++ 4 files changed, 203 insertions(+) create mode 100644 ct/headers/managemydamnlife create mode 100644 ct/managemydamnlife.sh create mode 100644 frontend/public/json/managemydamnlife.json create mode 100644 install/managemydamnlife-install.sh diff --git a/ct/headers/managemydamnlife b/ct/headers/managemydamnlife new file mode 100644 index 000000000..1ff4b5fcb --- /dev/null +++ b/ct/headers/managemydamnlife @@ -0,0 +1,6 @@ + __ ___ __ ___ ____ __ _ ____ + / |/ /___ _____ ____ _____ ____ / |/ /_ __ / __ \____ _____ ___ ____ / / (_) __/__ + / /|_/ / __ `/ __ \/ __ `/ __ `/ _ \ / /|_/ / / / / / / / / __ `/ __ `__ \/ __ \ / / / / /_/ _ \ + / / / / /_/ / / / / /_/ / /_/ / __/ / / / / /_/ / / /_/ / /_/ / / / / / / / / / / /___/ / __/ __/ +/_/ /_/\__,_/_/ /_/\__,_/\__, /\___/ /_/ /_/\__, / /_____/\__,_/_/ /_/ /_/_/ /_/ /_____/_/_/ \___/ + /____/ /____/ diff --git a/ct/managemydamnlife.sh b/ct/managemydamnlife.sh new file mode 100644 index 000000000..ee198b3d4 --- /dev/null +++ b/ct/managemydamnlife.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: vhsdream +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/intri-in/manage-my-damn-life-nextjs + +APP="Manage My Damn Life" +var_tags="${var_tags:-calendar;tasks}" +var_cpu="${var_cpu:-2}" +var_ram="${var_ram:-2048}" +var_disk="${var_disk:-6}" +var_os="${var_os:-debian}" +var_version="${var_version:-12}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + + if [[ ! -d /opt/mmdl ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/intri-in/manage-my-damn-life-nextjs/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "${RELEASE}" != "$(cat /opt/mmdl_version.txt)" ]] || [[ ! -f /opt/mmdl_version.txt ]]; then + msg_info "Stopping $APP" + systemctl stop mmdl + msg_ok "Stopped $APP" + + msg_info "Creating Backup" + cp /opt/mmdl/.env /opt/mmdl.env + msg_ok "Backup Created" + + msg_info "Updating $APP to v${RELEASE}" + curl -fsSLO "https://github.com/intri-in/manage-my-damn-life-nextjs/archive/refs/tags/v${RELEASE}.zip" + rm -r /opt/mmdl + unzip -q v"$RELEASE".zip + mv manage-my-damn-life-nextjs-"$RELEASE"/ /opt/mmdl + mv /opt/mmdl.env /opt/mmdl/.env + cd /opt/mmdl + $STD npm install + $STD npm run migrate + $STD npm run build + msg_ok "Updated $APP to v${RELEASE}" + + msg_info "Starting $APP" + systemctl start mmdl + msg_ok "Started $APP" + + msg_info "Cleaning Up" + rm -f ~/v"$RELEASE".zip + msg_ok "Cleanup Completed" + + # Last Action + echo "$RELEASE" >/opt/mmdl_version.txt + msg_ok "Update Successful" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" + fi + exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/frontend/public/json/managemydamnlife.json b/frontend/public/json/managemydamnlife.json new file mode 100644 index 000000000..137b06af8 --- /dev/null +++ b/frontend/public/json/managemydamnlife.json @@ -0,0 +1,35 @@ +{ + "name": "Manage My Damn Life", + "slug": "managemydamnlife", + "categories": [ + 0 + ], + "date_created": "2025-06-10", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 3000, + "documentation": "https://manage-my-damn-life-nextjs.readthedocs.io/en/latest/", + "config_path": "/opt/mmdl/.env", + "website": "https://github.com/intri-in/manage-my-damn-life-nextjs", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/manage-my-damn-life.webp", + "description": "Manage My Damn Life (MMDL) is a self-hosted front end for managing your CalDAV tasks and calendars.", + "install_methods": [ + { + "type": "default", + "script": "ct/managemydamnlife.sh", + "resources": { + "cpu": 2, + "ram": 2048, + "hdd": 6, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/install/managemydamnlife-install.sh b/install/managemydamnlife-install.sh new file mode 100644 index 000000000..41f9f48f3 --- /dev/null +++ b/install/managemydamnlife-install.sh @@ -0,0 +1,84 @@ +#!/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/intri-in/manage-my-damn-life-nextjs + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +NODE_VERSION="20" install_node_and_modules +MYSQL_VERSION="8.0" install_mysql + +msg_info "Setting up Database" +DB_NAME="mmdl" +DB_USER="mmdl" +DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) +$STD mysql -u root -e "CREATE DATABASE $DB_NAME;" +$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED by '$DB_PASS';" +$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +{ + echo "Manage My Damn Life Credentials" + echo "Database User: $DB_USER" + echo "Database Password: $DB_PASS" + echo "Database Name: $DB_NAME" +} >>~/mmdl.creds +msg_ok "Set up Database" + +msg_info "Installing ${APPLICATION}" +RELEASE=$(curl -fsSL https://api.github.com/repos/intri-in/manage-my-damn-life-nextjs/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSLO "https://github.com/intri-in/manage-my-damn-life-nextjs/archive/refs/tags/v${RELEASE}.zip" +unzip -q v"$RELEASE".zip +mv manage-my-damn-life-nextjs-"$RELEASE"/ /opt/mmdl +cp /opt/mmdl/sample.env.local /opt/mmdl/.env + +sed -i -e 's|db|localhost|' \ + -e "s|myuser|${DB_USER}|" \ + -e "s|mypassword|${DB_PASS}|" \ + -e 's|5433|3306|' \ + -e 's|DB_DIALECT=postgres|DB_DIALECT=mysql|' \ + -e "s|sample_install_mmdm|${DB_NAME}|" \ + -e "s|=PASSWORD|=$(openssl rand -base64 40 | tr -dc 'a-zA-Z0-9' | head -c40)|" \ + /opt/mmdl/.env + +cd /opt/mmdl +export NEXT_TELEMETRY_DISABLE=1 +export CI="true" +$STD npm install +$STD npm run migrate +$STD npm run build +echo "${RELEASE}" >/opt/mmdl_version.txt +msg_ok "Installed ${APPLICATION}" + +msg_info "Creating Service" +cat </etc/systemd/system/mmdl.service +[Unit] +Description=${APPLICATION} Service +After=network.target mysql.service + +[Service] +WorkingDirectory=/opt/mmdl +EnvironmentFile=/opt/mmdl/.env +ExecStart=/usr/bin/npm run start +Restart=on-abnormal + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now mmdl +msg_ok "Created Service" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -f ~/v${RELEASE}.zip +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From ba7ec5aa6869db4ae41a04711a40711b61e7ae01 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 12 Jun 2025 16:28:32 +0100 Subject: [PATCH 252/274] Update CHANGELOG.md (#5110) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d81631511..fb537ac45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-12 +### 🆕 New Scripts + + - Manage my Damn Life ([#5100](https://github.com/community-scripts/ProxmoxVE/pull/5100)) + ## 2025-06-11 ## 2025-06-10 From 46d9f85f5eb67a2be8a08b21df7929bb2173ae37 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 12 Jun 2025 16:28:37 +0100 Subject: [PATCH 253/274] Update date in json (#5111) Co-authored-by: GitHub Actions --- frontend/public/json/managemydamnlife.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/managemydamnlife.json b/frontend/public/json/managemydamnlife.json index 137b06af8..e7a3142b7 100644 --- a/frontend/public/json/managemydamnlife.json +++ b/frontend/public/json/managemydamnlife.json @@ -4,7 +4,7 @@ "categories": [ 0 ], - "date_created": "2025-06-10", + "date_created": "2025-06-12", "type": "ct", "updateable": true, "privileged": false, From c2c5159a2d79cf1b90aafb4c3174e84c44a81db9 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu, 12 Jun 2025 21:31:32 +0200 Subject: [PATCH 254/274] Kasm: Increase Ressources & Hint for Fuse / Swap (#5112) * Kasm: Increase Ressources & Hint for Fuse / Swap * extend info --- ct/kasm.sh | 2 +- frontend/public/json/kasm.json | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ct/kasm.sh b/ct/kasm.sh index c02d76373..0d7666bdb 100644 --- a/ct/kasm.sh +++ b/ct/kasm.sh @@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV APP="Kasm" var_tags="${var_tags:-os}" var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-4192}" +var_ram="${var_ram:-8192}" var_disk="${var_disk:-30}" var_os="${var_os:-debian}" var_version="${var_version:-12}" diff --git a/frontend/public/json/kasm.json b/frontend/public/json/kasm.json index e39f855be..73511efb0 100644 --- a/frontend/public/json/kasm.json +++ b/frontend/public/json/kasm.json @@ -20,7 +20,7 @@ "script": "ct/kasm.sh", "resources": { "cpu": 2, - "ram": 4096, + "ram": 8192, "hdd": 50, "os": "Debian", "version": "12" @@ -36,6 +36,10 @@ "text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.", "type": "warning" }, + { + "text": "Kasm needs swap (on Proxmox host) and activated FUSE to be installed successfully!", + "type": "warning" + }, { "text": "Show password: `cat ~/kasm.creds`", "type": "info" From d97620a390b59c3dc66c32e7ca8f0cdf558fb859 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 12 Jun 2025 22:13:21 +0100 Subject: [PATCH 255/274] Update CHANGELOG.md (#5115) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb537ac45..e3998bd9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,10 @@ All LXC instances created using this repository come pre-installed with Midnight - Manage my Damn Life ([#5100](https://github.com/community-scripts/ProxmoxVE/pull/5100)) +### 🚀 Updated Scripts + + - Kasm: Increase Ressources & Hint for Fuse / Swap [@MickLesk](https://github.com/MickLesk) ([#5112](https://github.com/community-scripts/ProxmoxVE/pull/5112)) + ## 2025-06-11 ## 2025-06-10 From edd4fb3cc25f401d94b3f31db953a95673b181b9 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 13 Jun 2025 02:15:05 +0200 Subject: [PATCH 256/274] Update versions.json (#5116) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 80 +++++++++++++++--------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index ef363417d..767bdab86 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,44 @@ [ + { + "name": "FlowiseAI/Flowise", + "version": "flowise@3.0.2", + "date": "2025-06-12T22:48:11Z" + }, + { + "name": "bunkerity/bunkerweb", + "version": "v1.6.1", + "date": "2025-03-15T17:29:17Z" + }, + { + "name": "leiweibau/Pi.Alert", + "version": "v2025-06-12", + "date": "2025-06-12T20:59:47Z" + }, + { + "name": "hyperion-project/hyperion.ng", + "version": "2.1.0", + "date": "2025-06-12T19:56:34Z" + }, + { + "name": "grafana/grafana", + "version": "v11.3.7+security-01", + "date": "2025-06-12T17:05:16Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.17", + "date": "2025-06-11T12:07:38Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.3.0p34", + "date": "2025-06-12T12:15:44Z" + }, + { + "name": "n8n-io/n8n", + "version": "n8n@1.95.3", + "date": "2025-06-03T11:09:42Z" + }, { "name": "docker/compose", "version": "v2.37.1", @@ -9,21 +49,11 @@ "version": "8.2-m01-int2", "date": "2025-06-12T08:52:10Z" }, - { - "name": "hyperion-project/hyperion.ng", - "version": "2.1", - "date": "2025-06-12T06:58:03Z" - }, { "name": "zitadel/zitadel", "version": "v3.3.0", "date": "2025-06-12T06:54:48Z" }, - { - "name": "bunkerity/bunkerweb", - "version": "v1.6.2-rc4", - "date": "2025-06-12T06:49:19Z" - }, { "name": "Jackett/Jackett", "version": "v0.22.2011", @@ -89,26 +119,11 @@ "version": "0.50.3", "date": "2025-06-11T15:19:52Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.4.0p4", - "date": "2025-06-11T14:31:17Z" - }, - { - "name": "FlowiseAI/Flowise", - "version": "flowise@3.0.2", - "date": "2025-06-11T13:18:51Z" - }, { "name": "kimai/kimai", "version": "2.36.0", "date": "2025-06-11T12:31:07Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.17", - "date": "2025-06-11T12:07:38Z" - }, { "name": "cloudflare/cloudflared", "version": "2025.6.0", @@ -119,11 +134,6 @@ "version": "v1.63.1", "date": "2025-06-11T11:05:42Z" }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.95.3", - "date": "2025-06-03T11:09:42Z" - }, { "name": "fallenbagel/jellyseerr", "version": "preview-forceipv4-axios", @@ -629,11 +639,6 @@ "version": "v2.0.113", "date": "2025-05-23T01:47:35Z" }, - { - "name": "grafana/grafana", - "version": "v11.2.10", - "date": "2025-05-22T23:50:45Z" - }, { "name": "0xERR0R/blocky", "version": "v0.26.2", @@ -724,11 +729,6 @@ "version": "0.42.1", "date": "2020-06-07T07:27:04Z" }, - { - "name": "leiweibau/Pi.Alert", - "version": "v2025-05-11", - "date": "2025-05-12T19:14:57Z" - }, { "name": "stackblitz-labs/bolt.diy", "version": "1.0.0", From abf233c94f899bf25b23b973c708cf2c965b22c7 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 13 Jun 2025 01:15:50 +0100 Subject: [PATCH 257/274] Update CHANGELOG.md (#5117) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e3998bd9d..8798df4a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-06-13 + ## 2025-06-12 ### 🆕 New Scripts From cd835c6791389366a1caaa5caad73761c18978d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 13 Jun 2025 12:34:42 +0200 Subject: [PATCH 258/274] Update alpine-zigbee2mqtt-install.sh (#5120) --- install/alpine-zigbee2mqtt-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/alpine-zigbee2mqtt-install.sh b/install/alpine-zigbee2mqtt-install.sh index 59c14ac30..6ccf52172 100644 --- a/install/alpine-zigbee2mqtt-install.sh +++ b/install/alpine-zigbee2mqtt-install.sh @@ -14,8 +14,8 @@ network_check update_os msg_info "Installing Alpine-Zigbee2MQTT" +mkdir -p /root/.z2m /etc/zigbee2mqtt $STD apk add zigbee2mqtt -mkdir -p /root/.z2m ln -s /etc/zigbee2mqtt/ /root/.z2m chown -R root:root /etc/zigbee2mqtt /root/.z2m sed -i -e 's/#datadir="\/var\/lib\/zigbee2mqtt"/datadir="\/etc\/zigbee2mqtt"/' -e 's/#command_user="zigbee2mqtt"/command_user="root"/' /etc/conf.d/zigbee2mqtt From 4fa7483d8b26ad9994dc4f225e8703bc41b5cfa6 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 13 Jun 2025 11:35:08 +0100 Subject: [PATCH 259/274] Update CHANGELOG.md (#5122) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8798df4a4..d2defd2a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-13 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - Zigbee2MQTT: Fix missing directory [@tremor021](https://github.com/tremor021) ([#5120](https://github.com/community-scripts/ProxmoxVE/pull/5120)) + ## 2025-06-12 ### 🆕 New Scripts From e0ccc1a0af45575c6bccb497cefd9f34dd8e6299 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 13 Jun 2025 14:07:32 +0200 Subject: [PATCH 260/274] Update versions.json (#5123) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 64 +++++++++++++++--------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 767bdab86..f9862eeff 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,18 +1,23 @@ [ { - "name": "FlowiseAI/Flowise", - "version": "flowise@3.0.2", - "date": "2025-06-12T22:48:11Z" + "name": "semaphoreui/semaphore", + "version": "v2.14.12", + "date": "2025-05-27T03:58:59Z" }, { - "name": "bunkerity/bunkerweb", - "version": "v1.6.1", - "date": "2025-03-15T17:29:17Z" + "name": "Jackett/Jackett", + "version": "v0.22.2015", + "date": "2025-06-13T05:53:23Z" }, { - "name": "leiweibau/Pi.Alert", - "version": "v2025-06-12", - "date": "2025-06-12T20:59:47Z" + "name": "grafana/grafana", + "version": "v12.0.1+security-01", + "date": "2025-06-13T04:15:18Z" + }, + { + "name": "msgbyte/tianji", + "version": "v1.21.13", + "date": "2025-06-13T04:11:30Z" }, { "name": "hyperion-project/hyperion.ng", @@ -20,9 +25,24 @@ "date": "2025-06-12T19:56:34Z" }, { - "name": "grafana/grafana", - "version": "v11.3.7+security-01", - "date": "2025-06-12T17:05:16Z" + "name": "FlowiseAI/Flowise", + "version": "flowise@3.0.2", + "date": "2025-06-12T22:48:11Z" + }, + { + "name": "bunkerity/bunkerweb", + "version": "testing", + "date": "2025-06-11T16:35:40Z" + }, + { + "name": "leiweibau/Pi.Alert", + "version": "v2025-06-12", + "date": "2025-06-12T20:59:47Z" + }, + { + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" }, { "name": "firefly-iii/firefly-iii", @@ -54,11 +74,6 @@ "version": "v3.3.0", "date": "2025-06-12T06:54:48Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2011", - "date": "2025-06-12T06:11:23Z" - }, { "name": "morpheus65535/bazarr", "version": "v1.5.2", @@ -74,11 +89,6 @@ "version": "v11.10.4", "date": "2025-06-11T22:36:05Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.5", - "date": "2025-05-28T06:49:43Z" - }, { "name": "Radarr/Radarr", "version": "v5.26.2.10099", @@ -109,11 +119,6 @@ "version": "v1.6.8", "date": "2025-03-25T13:33:10Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.21.12", - "date": "2025-06-11T16:25:27Z" - }, { "name": "dgtlmoon/changedetection.io", "version": "0.50.3", @@ -599,11 +604,6 @@ "version": "v3.4.1", "date": "2025-05-27T12:53:58Z" }, - { - "name": "semaphoreui/semaphore", - "version": "v2.14.12", - "date": "2025-05-27T03:58:59Z" - }, { "name": "dani-garcia/vaultwarden", "version": "1.34.1", From f0dde5a42d8e95d18283f93dc6633a07a0689321 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 13 Jun 2025 19:08:28 +0200 Subject: [PATCH 261/274] Update umbrel-os-vm.json (#5125) --- frontend/public/json/umbrel-os-vm.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/umbrel-os-vm.json b/frontend/public/json/umbrel-os-vm.json index 1e692a2d3..78e6c1a0c 100644 --- a/frontend/public/json/umbrel-os-vm.json +++ b/frontend/public/json/umbrel-os-vm.json @@ -21,7 +21,7 @@ "resources": { "cpu": 2, "ram": 4096, - "hdd": 20, + "hdd": 32, "os": "debian", "version": "12" } From 34aa3609201e806f0bdf9c3efce456a2ae7a4ff9 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 13 Jun 2025 18:09:10 +0100 Subject: [PATCH 262/274] Update CHANGELOG.md (#5126) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d2defd2a8..c0c5738e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,12 @@ All LXC instances created using this repository come pre-installed with Midnight - Zigbee2MQTT: Fix missing directory [@tremor021](https://github.com/tremor021) ([#5120](https://github.com/community-scripts/ProxmoxVE/pull/5120)) +### 🌐 Website + + - #### 📝 Script Information + + - Umbrel OS: Fix bad disk size shown on website [@tremor021](https://github.com/tremor021) ([#5125](https://github.com/community-scripts/ProxmoxVE/pull/5125)) + ## 2025-06-12 ### 🆕 New Scripts From a164d259e0ffbbfaa8d57d4476a8dfff2925fdd9 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 14 Jun 2025 02:14:32 +0200 Subject: [PATCH 263/274] Update versions.json (#5131) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 60 +++++++++++++++--------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index f9862eeff..b9f333e5d 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,29 @@ [ + { + "name": "home-assistant/core", + "version": "2025.6.1", + "date": "2025-06-13T20:16:18Z" + }, + { + "name": "homarr-labs/homarr", + "version": "v1.24.0", + "date": "2025-06-13T19:15:36Z" + }, + { + "name": "nzbgetcom/nzbget", + "version": "v25.0", + "date": "2025-05-12T09:12:04Z" + }, + { + "name": "Luligu/matterbridge", + "version": "3.0.6", + "date": "2025-06-13T15:02:37Z" + }, + { + "name": "jenkinsci/jenkins", + "version": "jenkins-2.514", + "date": "2025-06-10T14:27:57Z" + }, { "name": "semaphoreui/semaphore", "version": "v2.14.12", @@ -29,6 +54,11 @@ "version": "flowise@3.0.2", "date": "2025-06-12T22:48:11Z" }, + { + "name": "ollama/ollama", + "version": "v0.9.1-rc1", + "date": "2025-06-12T21:18:54Z" + }, { "name": "bunkerity/bunkerweb", "version": "testing", @@ -104,11 +134,6 @@ "version": "2025.5.2", "date": "2025-06-03T08:45:14Z" }, - { - "name": "home-assistant/core", - "version": "2025.6.0", - "date": "2025-06-11T19:35:25Z" - }, { "name": "MediaBrowser/Emby.Releases", "version": "4.8.11.0", @@ -179,11 +204,6 @@ "version": "v0.107.62", "date": "2025-05-27T12:10:19Z" }, - { - "name": "jenkinsci/jenkins", - "version": "jenkins-2.514", - "date": "2025-06-10T14:27:57Z" - }, { "name": "open-webui/open-webui", "version": "v0.6.14", @@ -249,11 +269,6 @@ "version": "v2.12.4.4658", "date": "2025-06-09T17:27:45Z" }, - { - "name": "ollama/ollama", - "version": "v0.9.1-ci3", - "date": "2025-06-07T16:12:57Z" - }, { "name": "Brandawg93/PeaNUT", "version": "v5.8.0", @@ -274,11 +289,6 @@ "version": "v0.10.0", "date": "2025-06-09T13:37:07Z" }, - { - "name": "nzbgetcom/nzbget", - "version": "v25.0", - "date": "2025-05-12T09:12:04Z" - }, { "name": "silverbulletmd/silverbullet", "version": "0.10.4", @@ -294,11 +304,6 @@ "version": "ios/v1.7.0-1", "date": "2025-06-08T22:02:33Z" }, - { - "name": "Luligu/matterbridge", - "version": "3.0.5", - "date": "2025-06-08T15:53:53Z" - }, { "name": "Forceu/Gokapi", "version": "v2.0.1", @@ -354,11 +359,6 @@ "version": "2025.6.6", "date": "2025-06-06T21:39:22Z" }, - { - "name": "homarr-labs/homarr", - "version": "v1.23.0", - "date": "2025-06-06T19:16:19Z" - }, { "name": "diced/zipline", "version": "v4.1.2", From 84469e2b5bfb71489f217a68b30da25f1420e874 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 14 Jun 2025 01:15:11 +0100 Subject: [PATCH 264/274] Update CHANGELOG.md (#5132) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c0c5738e8..e55a8d65e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-06-14 + ## 2025-06-13 ### 🚀 Updated Scripts From 138f90f09cfbae8a831c6460aac8722390852125 Mon Sep 17 00:00:00 2001 From: TJ Date: Sat, 14 Jun 2025 11:46:59 +0100 Subject: [PATCH 265/274] Update dolibarr-install.sh (#5127) On the sourceforge page Dolibar v18.0.7 was modified after v21.0.1 even though v21.0.1 is the latest version. The original line get the lastest modified folder, this line gets the largest numbered folder. https://sourceforge.net/projects/dolibarr/files/Dolibarr%20installer%20for%20Debian-Ubuntu%20%28DoliDeb%29/ --- install/dolibarr-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/dolibarr-install.sh b/install/dolibarr-install.sh index c90d013a3..0c98f5e74 100644 --- a/install/dolibarr-install.sh +++ b/install/dolibarr-install.sh @@ -32,7 +32,7 @@ msg_ok "Set up database" msg_info "Setup Dolibarr" BASE="https://sourceforge.net/projects/dolibarr/files/Dolibarr%20installer%20for%20Debian-Ubuntu%20(DoliDeb)/" -RELEASE=$(curl -fsSL "$BASE" | grep -oP '(?<=/Dolibarr%20installer%20for%20Debian-Ubuntu%20%28DoliDeb%29/)[^/"]+' | head -n1) +RELEASE=$(curl -fsSL "$BASE" | grep -oP '(?<=/Dolibarr%20installer%20for%20Debian-Ubuntu%20%28DoliDeb%29/)\d+(\.\d+)+(?=/)' | sort -V | tail -n1) FILE=$(curl -fsSL "${BASE}${RELEASE}/" | grep -oP 'dolibarr_[^"]+_all.deb' | head -n1) curl -fsSL "https://netcologne.dl.sourceforge.net/project/dolibarr/Dolibarr%20installer%20for%20Debian-Ubuntu%20(DoliDeb)/${RELEASE}/${FILE}?viasf=1" -o ""$FILE"" echo "dolibarr dolibarr/reconfigure-webserver multiselect apache2" | debconf-set-selections From b064127323cc5c0e1c31b8f537887baf9908df3f Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 14 Jun 2025 11:47:34 +0100 Subject: [PATCH 266/274] Update CHANGELOG.md (#5134) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e55a8d65e..d4b231509 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-14 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - Update dolibarr-install.sh - Get largest version number [@tjcomserv](https://github.com/tjcomserv) ([#5127](https://github.com/community-scripts/ProxmoxVE/pull/5127)) + ## 2025-06-13 ### 🚀 Updated Scripts From c2484b7c602d551b0aee590ee9650ab5835ce82b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 14 Jun 2025 14:06:48 +0200 Subject: [PATCH 267/274] Update versions.json (#5136) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 60 +++++++++++++++--------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index b9f333e5d..9e8e6ad8a 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,34 @@ [ + { + "name": "semaphoreui/semaphore", + "version": "v2.15.0", + "date": "2025-06-14T10:48:57Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.17", + "date": "2025-06-11T12:07:38Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2016", + "date": "2025-06-14T05:59:28Z" + }, + { + "name": "FlareSolverr/FlareSolverr", + "version": "v3.3.25", + "date": "2025-06-14T02:52:44Z" + }, + { + "name": "hyperion-project/hyperion.ng", + "version": "2.1.0", + "date": "2025-06-12T19:56:34Z" + }, + { + "name": "keycloak/keycloak", + "version": "26.2.5", + "date": "2025-05-28T06:49:43Z" + }, { "name": "home-assistant/core", "version": "2025.6.1", @@ -24,16 +54,6 @@ "version": "jenkins-2.514", "date": "2025-06-10T14:27:57Z" }, - { - "name": "semaphoreui/semaphore", - "version": "v2.14.12", - "date": "2025-05-27T03:58:59Z" - }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2015", - "date": "2025-06-13T05:53:23Z" - }, { "name": "grafana/grafana", "version": "v12.0.1+security-01", @@ -44,11 +64,6 @@ "version": "v1.21.13", "date": "2025-06-13T04:11:30Z" }, - { - "name": "hyperion-project/hyperion.ng", - "version": "2.1.0", - "date": "2025-06-12T19:56:34Z" - }, { "name": "FlowiseAI/Flowise", "version": "flowise@3.0.2", @@ -69,16 +84,6 @@ "version": "v2025-06-12", "date": "2025-06-12T20:59:47Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.5", - "date": "2025-05-28T06:49:43Z" - }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.17", - "date": "2025-06-11T12:07:38Z" - }, { "name": "Checkmk/checkmk", "version": "v2.3.0p34", @@ -424,11 +429,6 @@ "version": "v4.1.1", "date": "2025-06-04T19:10:05Z" }, - { - "name": "FlareSolverr/FlareSolverr", - "version": "v3.3.24", - "date": "2025-06-04T18:02:30Z" - }, { "name": "cockpit-project/cockpit", "version": "340", From 74c6df5aa699f9f64cf7d7199b2953b40efb93a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sat, 14 Jun 2025 23:13:59 +0200 Subject: [PATCH 268/274] Update install_mariadb func (#5138) --- misc/tools.func | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/misc/tools.func b/misc/tools.func index 430ff0275..f636db10d 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -227,6 +227,7 @@ install_mariadb() { local MARIADB_VERSION="${MARIADB_VERSION:-latest}" local DISTRO_CODENAME DISTRO_CODENAME="$(awk -F= '/^VERSION_CODENAME=/{print $2}' /etc/os-release)" + CURRENT_OS="$(awk -F= '/^ID=/{print $2}' /etc/os-release)" # grab dynamic latest LTS version if [[ "$MARIADB_VERSION" == "latest" ]]; then @@ -270,7 +271,7 @@ install_mariadb() { curl -fsSL "https://mariadb.org/mariadb_release_signing_key.asc" | gpg --dearmor -o /etc/apt/trusted.gpg.d/mariadb.gpg - echo "deb [signed-by=/etc/apt/trusted.gpg.d/mariadb.gpg] http://mirror.mariadb.org/repo/${MARIADB_VERSION}/debian ${DISTRO_CODENAME} main" \ + echo "deb [signed-by=/etc/apt/trusted.gpg.d/mariadb.gpg] http://mirror.mariadb.org/repo/${MARIADB_VERSION}/${CURRENT_OS} ${DISTRO_CODENAME} main" \ >/etc/apt/sources.list.d/mariadb.list $STD apt-get update From e058badee6e21f9946819fb7c0b3065f5815014a Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 14 Jun 2025 22:14:33 +0100 Subject: [PATCH 269/274] Update CHANGELOG.md (#5142) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d4b231509..78bcd1866 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts + - [core] Update install_mariadb func [@tremor021](https://github.com/tremor021) ([#5138](https://github.com/community-scripts/ProxmoxVE/pull/5138)) + - #### 🐞 Bug Fixes - Update dolibarr-install.sh - Get largest version number [@tjcomserv](https://github.com/tjcomserv) ([#5127](https://github.com/community-scripts/ProxmoxVE/pull/5127)) From 4ab71ccf003497175b790b5a8b0d5ce3969ec2ee Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sat, 14 Jun 2025 23:14:38 +0200 Subject: [PATCH 270/274] flowiseai: set NodeJS to Version 20 (#5130) doesnt Work with 2w --- install/flowiseai-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/flowiseai-install.sh b/install/flowiseai-install.sh index 04a38e4d0..55e364da4 100644 --- a/install/flowiseai-install.sh +++ b/install/flowiseai-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -NODE_VERSION="22" install_node_and_modules +NODE_VERSION="20" install_node_and_modules msg_info "Installing FlowiseAI (Patience)" $STD npm install -g flowise \ From 93906db2d123697f13c688d6b4289fd7ee2fdcc4 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 14 Jun 2025 22:15:02 +0100 Subject: [PATCH 271/274] Update CHANGELOG.md (#5143) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 78bcd1866..d68f0212c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - flowiseai: set NodeJS to Version 20 [@MickLesk](https://github.com/MickLesk) ([#5130](https://github.com/community-scripts/ProxmoxVE/pull/5130)) - Update dolibarr-install.sh - Get largest version number [@tjcomserv](https://github.com/tjcomserv) ([#5127](https://github.com/community-scripts/ProxmoxVE/pull/5127)) ## 2025-06-13 From b6d0b1ae6aaf738e0d7476348e1a1378a845311e Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 14 Jun 2025 22:15:15 +0100 Subject: [PATCH 272/274] Update CHANGELOG.md (#5144) Co-authored-by: github-actions[bot] From f6f6ca6bac3500d8dc80d6b53b6eb2526572253f Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 15 Jun 2025 02:16:25 +0200 Subject: [PATCH 273/274] Update versions.json (#5145) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 60 +++++++++++++++--------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 9e8e6ad8a..32d7e8ce4 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,34 @@ [ + { + "name": "advplyr/audiobookshelf", + "version": "v2.25.1", + "date": "2025-06-14T23:32:15Z" + }, + { + "name": "nzbgetcom/nzbget", + "version": "v25.0", + "date": "2025-05-12T09:12:04Z" + }, + { + "name": "hyperion-project/hyperion.ng", + "version": "2.1.1", + "date": "2025-06-14T17:45:06Z" + }, + { + "name": "bunkerity/bunkerweb", + "version": "v1.6.2-rc5", + "date": "2025-06-14T16:44:14Z" + }, + { + "name": "ollama/ollama", + "version": "v0.9.1-rc1", + "date": "2025-06-12T21:18:54Z" + }, + { + "name": "theonedev/onedev", + "version": "v11.11.0", + "date": "2025-06-14T13:23:36Z" + }, { "name": "semaphoreui/semaphore", "version": "v2.15.0", @@ -19,11 +49,6 @@ "version": "v3.3.25", "date": "2025-06-14T02:52:44Z" }, - { - "name": "hyperion-project/hyperion.ng", - "version": "2.1.0", - "date": "2025-06-12T19:56:34Z" - }, { "name": "keycloak/keycloak", "version": "26.2.5", @@ -39,11 +64,6 @@ "version": "v1.24.0", "date": "2025-06-13T19:15:36Z" }, - { - "name": "nzbgetcom/nzbget", - "version": "v25.0", - "date": "2025-05-12T09:12:04Z" - }, { "name": "Luligu/matterbridge", "version": "3.0.6", @@ -69,16 +89,6 @@ "version": "flowise@3.0.2", "date": "2025-06-12T22:48:11Z" }, - { - "name": "ollama/ollama", - "version": "v0.9.1-rc1", - "date": "2025-06-12T21:18:54Z" - }, - { - "name": "bunkerity/bunkerweb", - "version": "testing", - "date": "2025-06-11T16:35:40Z" - }, { "name": "leiweibau/Pi.Alert", "version": "v2025-06-12", @@ -119,11 +129,6 @@ "version": "v1.12.0-rc.4", "date": "2025-06-12T00:27:41Z" }, - { - "name": "theonedev/onedev", - "version": "v11.10.4", - "date": "2025-06-11T22:36:05Z" - }, { "name": "Radarr/Radarr", "version": "v5.26.2.10099", @@ -494,11 +499,6 @@ "version": "v0.24.4", "date": "2025-06-02T02:49:05Z" }, - { - "name": "advplyr/audiobookshelf", - "version": "v2.24.0", - "date": "2025-06-01T21:38:08Z" - }, { "name": "traccar/traccar", "version": "v6.7.2", From 9c90699ca29012f831f66731cacc1f7295ddb458 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 15 Jun 2025 01:17:09 +0100 Subject: [PATCH 274/274] Update CHANGELOG.md (#5146) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d68f0212c..777f6f0b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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. +## 2025-06-15 + ## 2025-06-14 ### 🚀 Updated Scripts