From 3dbc7f80d2fd62ef8878842ac4a271c9b99fecc8 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 9 Apr 2025 09:57:56 +0200 Subject: [PATCH] Move Scripts to Tools / Add-Ons --- frontend/public/json/add-lxc-iptag.json | 86 +++++----- frontend/public/json/add-netbird-lxc.json | 86 +++++----- frontend/public/json/add-tailscale-lxc.json | 86 +++++----- frontend/public/json/all-templates.json | 74 +++++---- frontend/public/json/clean-lxcs.json | 74 +++++---- frontend/public/json/clean-orphaned-lvm.json | 72 +++++---- frontend/public/json/code-server.json | 74 +++++---- frontend/public/json/cron-update-lxcs.json | 79 +++++----- frontend/public/json/crowdsec.json | 74 +++++---- frontend/public/json/filebrowser.json | 92 ++++++----- frontend/public/json/fstrim.json | 78 +++++---- frontend/public/json/glances.json | 80 +++++----- frontend/public/json/host-backup.json | 80 +++++----- frontend/public/json/kernel-clean.json | 72 +++++---- frontend/public/json/kernel-pin.json | 72 +++++---- frontend/public/json/lxc-delete.json | 72 +++++---- frontend/public/json/microcode.json | 78 +++++---- frontend/public/json/monitor-all.json | 126 ++++++++------- frontend/public/json/netdata.json | 74 +++++---- frontend/public/json/olivetin.json | 74 +++++---- frontend/public/json/pbs-microcode.json | 78 +++++---- frontend/public/json/post-pbs-install.json | 88 +++++------ frontend/public/json/post-pmg-install.json | 88 +++++------ frontend/public/json/post-pve-install.json | 80 +++++----- frontend/public/json/scaling-governor.json | 72 +++++---- frontend/public/json/update-lxcs.json | 74 +++++---- frontend/public/json/update-repo.json | 74 +++++---- frontend/public/json/webmin.json | 74 +++++---- frontend/src/app/category-view/page.tsx | 45 ++++-- .../src/app/json-editor/_schemas/schemas.ts | 4 +- frontend/src/app/json-editor/page.tsx | 148 +++++------------- .../scripts/_components/ScriptInfoBlocks.tsx | 57 ++----- .../app/scripts/_components/ScriptItem.tsx | 8 +- .../_components/ScriptItems/Buttons.tsx | 12 +- .../ScriptItems/InstallCommand.tsx | 138 ++++++++-------- frontend/src/components/CommandMenu.tsx | 26 ++- frontend/src/lib/types.ts | 4 +- install/daemonsync-install.sh | 2 +- misc/daemonsync_2.2.0.0059_amd64.deb | Bin 3008644 -> 0 bytes {misc => tools/addon}/add-netbird-lxc.sh | 0 {misc => tools/addon}/add-tailscale-lxc.sh | 0 {misc => tools/addon}/all-templates.sh | 0 {misc => tools/addon}/code-server.sh | 0 {misc => tools/addon}/crowdsec.sh | 0 {misc => tools/addon}/filebrowser.sh | 0 {misc => tools/addon}/glances.sh | 0 {misc => tools/addon}/netdata.sh | 0 {misc => tools/addon}/olivetin.sh | 0 {misc => tools/addon}/pyenv.sh | 0 {misc => tools/addon}/webmin.sh | 0 {misc => tools/pve}/add-lxc-iptag.sh | 0 {misc => tools/pve}/clean-lxcs.sh | 0 {misc => tools/pve}/clean-orphaned-lvm.sh | 0 {misc => tools/pve}/clean.sh | 0 .../pve}/container-restore-from-backup.sh | 0 .../pve}/core-restore-from-backup.sh | 0 {misc => tools/pve}/cron-update-lxcs.sh | 0 {misc => tools/pve}/frigate-support.sh | 0 {misc => tools/pve}/fstrim.sh | 0 {misc => tools/pve}/host-backup.sh | 0 {misc => tools/pve}/hw-acceleration.sh | 0 {misc => tools/pve}/kernel-clean.sh | 0 {misc => tools/pve}/kernel-pin.sh | 0 {misc => tools/pve}/lxc-delete.sh | 0 {misc => tools/pve}/microcode.sh | 0 {misc => tools/pve}/monitor-all.sh | 0 {misc => tools/pve}/pbs3-upgrade.sh | 0 {misc => tools/pve}/pbs_microcode.sh | 0 {misc => tools/pve}/post-pbs-install.sh | 0 {misc => tools/pve}/post-pmg-install.sh | 0 {misc => tools/pve}/post-pve-install.sh | 0 {misc => tools/pve}/pve8-upgrade.sh | 0 {misc => tools/pve}/scaling-governor.sh | 0 {misc => tools/pve}/update-lxcs-cron.sh | 0 {misc => tools/pve}/update-lxcs.sh | 0 {misc => tools/pve}/update-repo.sh | 0 {misc => tools/pve}/usb-passthrough.sh | 0 77 files changed, 1262 insertions(+), 1413 deletions(-) delete mode 100644 misc/daemonsync_2.2.0.0059_amd64.deb rename {misc => tools/addon}/add-netbird-lxc.sh (100%) rename {misc => tools/addon}/add-tailscale-lxc.sh (100%) rename {misc => tools/addon}/all-templates.sh (100%) rename {misc => tools/addon}/code-server.sh (100%) rename {misc => tools/addon}/crowdsec.sh (100%) rename {misc => tools/addon}/filebrowser.sh (100%) rename {misc => tools/addon}/glances.sh (100%) rename {misc => tools/addon}/netdata.sh (100%) rename {misc => tools/addon}/olivetin.sh (100%) rename {misc => tools/addon}/pyenv.sh (100%) rename {misc => tools/addon}/webmin.sh (100%) rename {misc => tools/pve}/add-lxc-iptag.sh (100%) rename {misc => tools/pve}/clean-lxcs.sh (100%) rename {misc => tools/pve}/clean-orphaned-lvm.sh (100%) rename {misc => tools/pve}/clean.sh (100%) rename {misc => tools/pve}/container-restore-from-backup.sh (100%) rename {misc => tools/pve}/core-restore-from-backup.sh (100%) rename {misc => tools/pve}/cron-update-lxcs.sh (100%) rename {misc => tools/pve}/frigate-support.sh (100%) rename {misc => tools/pve}/fstrim.sh (100%) rename {misc => tools/pve}/host-backup.sh (100%) rename {misc => tools/pve}/hw-acceleration.sh (100%) rename {misc => tools/pve}/kernel-clean.sh (100%) rename {misc => tools/pve}/kernel-pin.sh (100%) rename {misc => tools/pve}/lxc-delete.sh (100%) rename {misc => tools/pve}/microcode.sh (100%) rename {misc => tools/pve}/monitor-all.sh (100%) rename {misc => tools/pve}/pbs3-upgrade.sh (100%) rename {misc => tools/pve}/pbs_microcode.sh (100%) rename {misc => tools/pve}/post-pbs-install.sh (100%) rename {misc => tools/pve}/post-pmg-install.sh (100%) rename {misc => tools/pve}/post-pve-install.sh (100%) rename {misc => tools/pve}/pve8-upgrade.sh (100%) rename {misc => tools/pve}/scaling-governor.sh (100%) rename {misc => tools/pve}/update-lxcs-cron.sh (100%) rename {misc => tools/pve}/update-lxcs.sh (100%) rename {misc => tools/pve}/update-repo.sh (100%) rename {misc => tools/pve}/usb-passthrough.sh (100%) diff --git a/frontend/public/json/add-lxc-iptag.json b/frontend/public/json/add-lxc-iptag.json index ff19bcbfb..379b6e046 100644 --- a/frontend/public/json/add-lxc-iptag.json +++ b/frontend/public/json/add-lxc-iptag.json @@ -1,47 +1,45 @@ { - "name": "Proxmox VE LXC IP-Tag", - "slug": "add-lxc-iptag", - "categories": [ - 1 - ], - "date_created": "2024-12-16", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/proxmox.svg", - "description": "This script automatically adds IP address as tags to LXC containers using a Systemd service. The service also updates the tags if a LXC IP address is changed.", - "install_methods": [ - { - "type": "default", - "script": "misc/add-lxc-iptag.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "Proxmox VE LXC IP-Tag", + "slug": "add-lxc-iptag", + "categories": [1], + "date_created": "2024-12-16", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/proxmox.svg", + "description": "This script automatically adds IP address as tags to LXC containers using a Systemd service. The service also updates the tags if a LXC IP address is changed.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/add-lxc-iptag.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "type": "info" - }, - { - "text": "Configuration: `nano /opt/lxc-iptag/iptag.conf`. iptag.service must be restarted after change.", - "type": "info" - }, - { - "text": "The Proxmox Node must contain ipcalc and net-tools. `apt-get install -y ipcalc net-tools`", - "type": "warning" - } - ] + { + "text": "Configuration: `nano /opt/lxc-iptag/iptag.conf`. iptag.service must be restarted after change.", + "type": "info" + }, + { + "text": "The Proxmox Node must contain ipcalc and net-tools. `apt-get install -y ipcalc net-tools`", + "type": "warning" + } + ] } diff --git a/frontend/public/json/add-netbird-lxc.json b/frontend/public/json/add-netbird-lxc.json index b924bc66e..6ae68f4bc 100644 --- a/frontend/public/json/add-netbird-lxc.json +++ b/frontend/public/json/add-netbird-lxc.json @@ -1,47 +1,45 @@ { - "name": "NetBird", - "slug": "add-netbird-lxc", - "categories": [ - 1 - ], - "date_created": "2024-05-19", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": "https://docs.netbird.io/", - "website": "https://netbird.io/", - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/netbird.svg", - "description": "NetBird combines a configuration-free peer-to-peer private network and a centralized access control system in a single platform, making it easy to create secure private networks for your organization or home.", - "install_methods": [ - { - "type": "default", - "script": "misc/add-netbird-lxc.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "NetBird", + "slug": "add-netbird-lxc", + "categories": [1], + "date_created": "2024-05-19", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": "https://docs.netbird.io/", + "website": "https://netbird.io/", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/netbird.svg", + "description": "NetBird combines a configuration-free peer-to-peer private network and a centralized access control system in a single platform, making it easy to create secure private networks for your organization or home.", + "install_methods": [ + { + "type": "default", + "script": "tools/addon/add-netbird-lxc.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "After the script finishes, reboot the LXC then run `netbird up` in the LXC console", + "type": "info" }, - "notes": [ - { - "text": "After the script finishes, reboot the LXC then run `netbird up` in the LXC console", - "type": "info" - }, - { - "text": "Execute within the Proxmox main shell", - "type": "info" - }, - { - "text": "The script only works in Debian/Ubuntu, not in Alpine!", - "type": "warning" - } - ] + { + "text": "Execute within the Proxmox main shell", + "type": "info" + }, + { + "text": "The script only works in Debian/Ubuntu, not in Alpine!", + "type": "warning" + } + ] } diff --git a/frontend/public/json/add-tailscale-lxc.json b/frontend/public/json/add-tailscale-lxc.json index 82d9b5579..1b089e29f 100644 --- a/frontend/public/json/add-tailscale-lxc.json +++ b/frontend/public/json/add-tailscale-lxc.json @@ -1,47 +1,45 @@ { - "name": "Tailscale", - "slug": "add-tailscale-lxc", - "categories": [ - 1 - ], - "date_created": "2024-05-02", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": "https://tailscale.com/", - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/tailscale.svg", - "description": "Tailscale is a software-defined networking solution that enables secure communication between devices over the internet. It creates a virtual private network (VPN) that enables devices to communicate with each other as if they were on the same local network. Tailscale works even when the devices are separated by firewalls or subnets, and provides secure and encrypted communication between devices. With Tailscale, users can connect devices, servers, computers, and cloud instances to create a secure network, making it easier to manage and control access to resources. Tailscale is designed to be easy to set up and use, providing a streamlined solution for secure communication between devices over the internet.", - "install_methods": [ - { - "type": "default", - "script": "misc/add-tailscale-lxc.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "Tailscale", + "slug": "add-tailscale-lxc", + "categories": [1], + "date_created": "2024-05-02", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": "https://tailscale.com/", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/tailscale.svg", + "description": "Tailscale is a software-defined networking solution that enables secure communication between devices over the internet. It creates a virtual private network (VPN) that enables devices to communicate with each other as if they were on the same local network. Tailscale works even when the devices are separated by firewalls or subnets, and provides secure and encrypted communication between devices. With Tailscale, users can connect devices, servers, computers, and cloud instances to create a secure network, making it easier to manage and control access to resources. Tailscale is designed to be easy to set up and use, providing a streamlined solution for secure communication between devices over the internet.", + "install_methods": [ + { + "type": "default", + "script": "tools/addon/add-tailscale-lxc.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Only supported on Debian 12 LXCs", + "type": "warning" }, - "notes": [ - { - "text": "Only supported on Debian 12 LXCs", - "type": "warning" - }, - { - "text": "After the script finishes, reboot the LXC then run `tailscale up` in the LXC console", - "type": "info" - }, - { - "text": "Execute within the Proxmox shell", - "type": "info" - } - ] + { + "text": "After the script finishes, reboot the LXC then run `tailscale up` in the LXC console", + "type": "info" + }, + { + "text": "Execute within the Proxmox shell", + "type": "info" + } + ] } diff --git a/frontend/public/json/all-templates.json b/frontend/public/json/all-templates.json index da695ce89..6d6a7a1d5 100644 --- a/frontend/public/json/all-templates.json +++ b/frontend/public/json/all-templates.json @@ -1,39 +1,37 @@ { - "name": "All Templates", - "slug": "all-templates", - "categories": [ - 1 - ], - "date_created": "2024-05-02", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/proxmox.svg", - "description": "A script designed to allow for the creation of one of the many free LXC templates. Great for creating system LXCs.\r\nThe script creates a `*.creds` file in the Proxmox root directory with the password of the newly created LXC.\r\nPlease take note that if you plan to use this script for creating TurnKey LXCs, you'll need to modify the hostname after creation.", - "install_methods": [ - { - "type": "default", - "script": "misc/all-templates.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Resource and network settings are adjustable post LXC creation.", - "type": "info" - } - ] -} \ No newline at end of file + "name": "All Templates", + "slug": "all-templates", + "categories": [1], + "date_created": "2024-05-02", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/proxmox.svg", + "description": "A script designed to allow for the creation of one of the many free LXC templates. Great for creating system LXCs.\r\nThe script creates a `*.creds` file in the Proxmox root directory with the password of the newly created LXC.\r\nPlease take note that if you plan to use this script for creating TurnKey LXCs, you'll need to modify the hostname after creation.", + "install_methods": [ + { + "type": "default", + "script": "tools/addon/all-templates.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Resource and network settings are adjustable post LXC creation.", + "type": "info" + } + ] +} diff --git a/frontend/public/json/clean-lxcs.json b/frontend/public/json/clean-lxcs.json index 8c5c09c23..018fbd134 100644 --- a/frontend/public/json/clean-lxcs.json +++ b/frontend/public/json/clean-lxcs.json @@ -1,39 +1,37 @@ { - "name": "Proxmox VE LXC Cleaner", - "slug": "clean-lxcs", - "categories": [ - 1 - ], - "date_created": "2024-04-29", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/linuxcontainers.svg", - "description": "This script provides options to delete logs and cache, and repopulate apt lists for Ubuntu and Debian systems.", - "install_methods": [ - { - "type": "default", - "script": "misc/clean-lxcs.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "type": "info" - } - ] -} \ No newline at end of file + "name": "Proxmox VE LXC Cleaner", + "slug": "clean-lxcs", + "categories": [1], + "date_created": "2024-04-29", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/linuxcontainers.svg", + "description": "This script provides options to delete logs and cache, and repopulate apt lists for Ubuntu and Debian systems.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/clean-lxcs.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" + } + ] +} diff --git a/frontend/public/json/clean-orphaned-lvm.json b/frontend/public/json/clean-orphaned-lvm.json index 668fff33e..e009987dc 100644 --- a/frontend/public/json/clean-orphaned-lvm.json +++ b/frontend/public/json/clean-orphaned-lvm.json @@ -1,39 +1,37 @@ { - "name": "Proxmox Clean Orphaned LVM", - "slug": "clean-orphaned-lvm", - "categories": [ - 1 - ], - "date_created": "2025-01-29", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/proxmox.svg", - "description": "This script helps Proxmox users identify and remove orphaned LVM volumes that are no longer associated with any VM or LXC container. It scans all LVM volumes, detects unused ones, and provides an interactive prompt to delete them safely. System-critical volumes like root, swap, and data are excluded to prevent accidental deletion.", - "install_methods": [ - { - "type": "default", - "script": "misc/clean-orphaned-lvm.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "type": "info" - } - ] + "name": "Proxmox Clean Orphaned LVM", + "slug": "clean-orphaned-lvm", + "categories": [1], + "date_created": "2025-01-29", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/proxmox.svg", + "description": "This script helps Proxmox users identify and remove orphaned LVM volumes that are no longer associated with any VM or LXC container. It scans all LVM volumes, detects unused ones, and provides an interactive prompt to delete them safely. System-critical volumes like root, swap, and data are excluded to prevent accidental deletion.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/clean-orphaned-lvm.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" + } + ] } diff --git a/frontend/public/json/code-server.json b/frontend/public/json/code-server.json index fefdb2529..35931243f 100644 --- a/frontend/public/json/code-server.json +++ b/frontend/public/json/code-server.json @@ -1,41 +1,37 @@ { - "name": "VS Code Server", - "slug": "code-server", - "categories": [ - 1, - 20, - 11 - ], - "date_created": "2024-05-02", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": 8680, - "documentation": null, - "website": null, - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/visual-studio-code.svg", - "description": "VS Code Server is a service you can run on a remote development machine, like your desktop PC or a virtual machine (VM). It allows you to securely connect to that remote machine from anywhere through a vscode.dev URL, without the requirement of SSH.", - "install_methods": [ - { - "type": "default", - "script": "misc/code-server.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Execute within an existing LXC Console", - "type": "warning" - } - ] + "name": "VS Code Server", + "slug": "code-server", + "categories": [1, 20, 11], + "date_created": "2024-05-02", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": 8680, + "documentation": null, + "website": null, + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/visual-studio-code.svg", + "description": "VS Code Server is a service you can run on a remote development machine, like your desktop PC or a virtual machine (VM). It allows you to securely connect to that remote machine from anywhere through a vscode.dev URL, without the requirement of SSH.", + "install_methods": [ + { + "type": "default", + "script": "tools/addon/code-server.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within an existing LXC Console", + "type": "warning" + } + ] } diff --git a/frontend/public/json/cron-update-lxcs.json b/frontend/public/json/cron-update-lxcs.json index e02f37ea6..3cfc0bfc2 100644 --- a/frontend/public/json/cron-update-lxcs.json +++ b/frontend/public/json/cron-update-lxcs.json @@ -1,44 +1,41 @@ { - "name": "Proxmox VE Cron LXC Updater", - "slug": "cron-update-lxcs", - "categories": [ - 1 - ], - "date_created": "2024-04-29", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/lxc.svg", - "description": "This script will add/remove a crontab schedule that updates all LXCs every Sunday at midnight.", - "install_methods": [ - { - "type": "default", - "script": "misc/cron-update-lxcs.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "Proxmox VE Cron LXC Updater", + "slug": "cron-update-lxcs", + "categories": [1], + "date_created": "2024-04-29", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/lxc.svg", + "description": "This script will add/remove a crontab schedule that updates all LXCs every Sunday at midnight.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/cron-update-lxcs.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "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/misc/update-lxcs-cron.sh)' -s 103 111 >>/var/log/update-lxcs-cron.log 2>/dev/null`", - "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/misc/update-lxcs-cron.sh)' -s 103 111 >>/var/log/update-lxcs-cron.log 2>/dev/null`", + "type": "info" + } + ] } diff --git a/frontend/public/json/crowdsec.json b/frontend/public/json/crowdsec.json index 120014667..3f9d80972 100644 --- a/frontend/public/json/crowdsec.json +++ b/frontend/public/json/crowdsec.json @@ -1,39 +1,37 @@ { - "name": "CrowdSec", - "slug": "crowdsec", - "categories": [ - 6 - ], - "date_created": "2024-05-02", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": "https://crowdsec.net/", - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/crowdsec.svg", - "description": "CrowdSec is a free and open-source intrusion prevention system (IPS) designed to provide network security against malicious traffic. It is a collaborative IPS that analyzes behaviors and responses to attacks by sharing signals across a community of users. CrowdSec leverages the collective intelligence of its users to detect and respond to security threats in real-time. With CrowdSec, network administrators can set up protection against a wide range of threats, including malicious traffic, bots, and denial-of-service (DoS) attacks. The software is designed to be easy to use and integrate with existing security systems, making it a valuable tool for enhancing the security of any network.", - "install_methods": [ - { - "type": "default", - "script": "misc/crowdsec.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Execute within an existing LXC Console. Debian only!", - "type": "warning" - } - ] -} \ No newline at end of file + "name": "CrowdSec", + "slug": "crowdsec", + "categories": [6], + "date_created": "2024-05-02", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": "https://crowdsec.net/", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/crowdsec.svg", + "description": "CrowdSec is a free and open-source intrusion prevention system (IPS) designed to provide network security against malicious traffic. It is a collaborative IPS that analyzes behaviors and responses to attacks by sharing signals across a community of users. CrowdSec leverages the collective intelligence of its users to detect and respond to security threats in real-time. With CrowdSec, network administrators can set up protection against a wide range of threats, including malicious traffic, bots, and denial-of-service (DoS) attacks. The software is designed to be easy to use and integrate with existing security systems, making it a valuable tool for enhancing the security of any network.", + "install_methods": [ + { + "type": "default", + "script": "tools/addon/crowdsec.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within an existing LXC Console. Debian only!", + "type": "warning" + } + ] +} diff --git a/frontend/public/json/filebrowser.json b/frontend/public/json/filebrowser.json index 5d16785b4..9fa172eac 100644 --- a/frontend/public/json/filebrowser.json +++ b/frontend/public/json/filebrowser.json @@ -1,50 +1,48 @@ { - "name": "File Browser", - "slug": "filebrowser", - "categories": [ - 1 - ], - "date_created": "2024-05-02", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": 8080, - "documentation": null, - "website": "https://filebrowser.org/features", - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/file-browser.svg", - "description": "File Browser offers a user-friendly web interface for managing files within a designated directory. It allows you to perform various actions such as uploading, deleting, previewing, renaming, and editing files.", - "install_methods": [ - { - "type": "default", - "script": "misc/filebrowser.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - }, - { - "type": "alpine", - "script": "misc/filebrowser.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": "admin", - "password": "helper-scripts.com" + "name": "File Browser", + "slug": "filebrowser", + "categories": [1], + "date_created": "2024-05-02", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": 8080, + "documentation": null, + "website": "https://filebrowser.org/features", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/file-browser.svg", + "description": "File Browser offers a user-friendly web interface for managing files within a designated directory. It allows you to perform various actions such as uploading, deleting, previewing, renaming, and editing files.", + "install_methods": [ + { + "type": "default", + "script": "tools/addon/filebrowser.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } }, - "notes": [ - { - "text": "Execute within an existing LXC Console", - "type": "warning" - } - ] + { + "type": "alpine", + "script": "tools/addon/filebrowser.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": "admin", + "password": "helper-scripts.com" + }, + "notes": [ + { + "text": "Execute within an existing LXC Console", + "type": "warning" + } + ] } diff --git a/frontend/public/json/fstrim.json b/frontend/public/json/fstrim.json index 6a88ff83d..401f31976 100644 --- a/frontend/public/json/fstrim.json +++ b/frontend/public/json/fstrim.json @@ -1,43 +1,41 @@ { - "name": "Proxmox VE LXC Filesystem Trim", - "slug": "fstrim", - "categories": [ - 1 - ], - "date_created": "2024-04-29", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": "https://github.com/community-scripts/ProxmoxVE/discussions/805", - "website": null, - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/linuxcontainers.svg", - "description": "This maintains SSD performance by managing unused blocks. Thin-provisioned storage systems also require management to prevent unnecessary storage use. VMs automate fstrim, while LXC containers need manual or automated fstrim processes for optimal performance.", - "install_methods": [ - { - "type": "default", - "script": "misc/fstrim.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "Proxmox VE LXC Filesystem Trim", + "slug": "fstrim", + "categories": [1], + "date_created": "2024-04-29", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": "https://github.com/community-scripts/ProxmoxVE/discussions/805", + "website": null, + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/linuxcontainers.svg", + "description": "This maintains SSD performance by managing unused blocks. Thin-provisioned storage systems also require management to prevent unnecessary storage use. VMs automate fstrim, while LXC containers need manual or automated fstrim processes for optimal performance.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/fstrim.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "type": "info" - }, - { - "text": "This is designed to work with SSDs on ext4 filesystems only.", - "type": "warning" - } - ] + { + "text": "This is designed to work with SSDs on ext4 filesystems only.", + "type": "warning" + } + ] } diff --git a/frontend/public/json/glances.json b/frontend/public/json/glances.json index ad87ffbcd..dc4b532ae 100644 --- a/frontend/public/json/glances.json +++ b/frontend/public/json/glances.json @@ -1,43 +1,41 @@ { - "name": "Glances", - "slug": "glances", - "categories": [ - 9 - ], - "date_created": "2024-05-02", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": 61208, - "documentation": null, - "website": "https://nicolargo.github.io/glances/", - "logo": "https://raw.githubusercontent.com/nicolargo/glances/develop/docs/_static/Glances%20Logo.svg", - "description": "Glances is an open-source system cross-platform monitoring tool. It allows real-time monitoring of various aspects of your system such as CPU, memory, disk, network usage etc.", - "install_methods": [ - { - "type": "default", - "script": "misc/glances.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "Glances", + "slug": "glances", + "categories": [9], + "date_created": "2024-05-02", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": 61208, + "documentation": null, + "website": "https://nicolargo.github.io/glances/", + "logo": "https://raw.githubusercontent.com/nicolargo/glances/develop/docs/_static/Glances%20Logo.svg", + "description": "Glances is an open-source system cross-platform monitoring tool. It allows real-time monitoring of various aspects of your system such as CPU, memory, disk, network usage etc.", + "install_methods": [ + { + "type": "default", + "script": "tools/addon/glances.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within an existing LXC Console", + "type": "warning" }, - "notes": [ - { - "text": "Execute within an existing LXC Console", - "type": "warning" - }, - { - "text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.", - "type": "warning" - } - ] -} \ No newline at end of file + { + "text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.", + "type": "warning" + } + ] +} diff --git a/frontend/public/json/host-backup.json b/frontend/public/json/host-backup.json index 280425593..f78c98bee 100644 --- a/frontend/public/json/host-backup.json +++ b/frontend/public/json/host-backup.json @@ -1,43 +1,41 @@ { - "name": "Proxmox VE Host Backup", - "slug": "host-backup", - "categories": [ - 1 - ], - "date_created": "2024-04-29", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/bash-dark.svg", - "description": "This script serves as a versatile backup utility, enabling users to specify both the backup path and the directory they want to work in. This flexibility empowers users to select the specific files and directories they wish to back up, making it compatible with a wide range of hosts, not limited to Proxmox.", - "install_methods": [ - { - "type": "default", - "script": "misc/host-backup.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "Proxmox VE Host Backup", + "slug": "host-backup", + "categories": [1], + "date_created": "2024-04-29", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/bash-dark.svg", + "description": "This script serves as a versatile backup utility, enabling users to specify both the backup path and the directory they want to work in. This flexibility empowers users to select the specific files and directories they wish to back up, making it compatible with a wide range of hosts, not limited to Proxmox.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/host-backup.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "type": "info" - }, - { - "text": "A backup is rendered ineffective when it remains stored on the host", - "type": "info" - } - ] -} \ No newline at end of file + { + "text": "A backup is rendered ineffective when it remains stored on the host", + "type": "info" + } + ] +} diff --git a/frontend/public/json/kernel-clean.json b/frontend/public/json/kernel-clean.json index 251173904..4bb04af78 100644 --- a/frontend/public/json/kernel-clean.json +++ b/frontend/public/json/kernel-clean.json @@ -1,39 +1,37 @@ { - "name": "Proxmox VE Kernel Clean", - "slug": "kernel-clean", - "categories": [ - 1 - ], - "date_created": "2024-04-29", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/proxmox.svg", - "description": "Cleaning unused kernel images is beneficial for reducing the length of the GRUB menu and freeing up disk space. By removing old, unused kernels, the system is able to conserve disk space and streamline the boot process.", - "install_methods": [ - { - "type": "default", - "script": "misc/kernel-clean.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "type": "info" - } - ] + "name": "Proxmox VE Kernel Clean", + "slug": "kernel-clean", + "categories": [1], + "date_created": "2024-04-29", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/proxmox.svg", + "description": "Cleaning unused kernel images is beneficial for reducing the length of the GRUB menu and freeing up disk space. By removing old, unused kernels, the system is able to conserve disk space and streamline the boot process.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/kernel-clean.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" + } + ] } diff --git a/frontend/public/json/kernel-pin.json b/frontend/public/json/kernel-pin.json index a38129501..a2cca1212 100644 --- a/frontend/public/json/kernel-pin.json +++ b/frontend/public/json/kernel-pin.json @@ -1,39 +1,37 @@ { - "name": "Proxmox VE Kernel Pin", - "slug": "kernel-pin", - "categories": [ - 1 - ], - "date_created": "2024-05-08", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/proxmox.svg", - "description": "Kernel Pin is an essential tool for effortlessly managing kernel pinning and unpinning.", - "install_methods": [ - { - "type": "default", - "script": "misc/kernel-pin.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "type": "info" - } - ] + "name": "Proxmox VE Kernel Pin", + "slug": "kernel-pin", + "categories": [1], + "date_created": "2024-05-08", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/proxmox.svg", + "description": "Kernel Pin is an essential tool for effortlessly managing kernel pinning and unpinning.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/kernel-pin.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" + } + ] } diff --git a/frontend/public/json/lxc-delete.json b/frontend/public/json/lxc-delete.json index 4f61d7fdc..32eacb142 100644 --- a/frontend/public/json/lxc-delete.json +++ b/frontend/public/json/lxc-delete.json @@ -1,39 +1,37 @@ { - "name": "Container LXC Deletion", - "slug": "lxc-delete", - "categories": [ - 1 - ], - "date_created": "2025-01-21", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/linuxcontainers.svg", - "description": "This script helps manage and delete LXC containers on a Proxmox VE server. It lists all available containers, allowing the user to select one or more for deletion through an interactive menu. Running containers are automatically stopped before deletion, and the user is asked to confirm each action. The script ensures a controlled and efficient container management process.", - "install_methods": [ - { - "type": "default", - "script": "misc/lxc-delete.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "type": "info" - } - ] + "name": "Container LXC Deletion", + "slug": "lxc-delete", + "categories": [1], + "date_created": "2025-01-21", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/linuxcontainers.svg", + "description": "This script helps manage and delete LXC containers on a Proxmox VE server. It lists all available containers, allowing the user to select one or more for deletion through an interactive menu. Running containers are automatically stopped before deletion, and the user is asked to confirm each action. The script ensures a controlled and efficient container management process.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/lxc-delete.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" + } + ] } diff --git a/frontend/public/json/microcode.json b/frontend/public/json/microcode.json index 10d3c6ff6..8c7965bd1 100644 --- a/frontend/public/json/microcode.json +++ b/frontend/public/json/microcode.json @@ -1,43 +1,41 @@ { - "name": "Proxmox VE Processor Microcode", - "slug": "microcode", - "categories": [ - 1 - ], - "date_created": "2024-04-29", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://github.com/community-scripts/ProxmoxVE/blob/main/misc/images/processor.png?raw=true", - "description": "Processor Microcode is a layer of low-level software that runs on the processor and provides patches or updates to its firmware. Microcode updates can fix hardware bugs, improve performance, and enhance security features of the processor.\r\n\r\nIt's important to note that the availability of firmware update mechanisms, such as Intel's Management Engine (ME) or AMD's Platform Security Processor (PSP), may vary depending on the processor and its specific implementation. Therefore, it's recommended to consult the documentation for your processor to confirm whether firmware updates can be applied through the operating system.", - "install_methods": [ - { - "type": "default", - "script": "misc/microcode.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "Proxmox VE Processor Microcode", + "slug": "microcode", + "categories": [1], + "date_created": "2024-04-29", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://github.com/community-scripts/ProxmoxVE/blob/main/misc/images/processor.png?raw=true", + "description": "Processor Microcode is a layer of low-level software that runs on the processor and provides patches or updates to its firmware. Microcode updates can fix hardware bugs, improve performance, and enhance security features of the processor.\r\n\r\nIt's important to note that the availability of firmware update mechanisms, such as Intel's Management Engine (ME) or AMD's Platform Security Processor (PSP), may vary depending on the processor and its specific implementation. Therefore, it's recommended to consult the documentation for your processor to confirm whether firmware updates can be applied through the operating system.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/microcode.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "type": "info" - }, - { - "text": "After a reboot, you can check whether any microcode updates are currently in effect by running the following command. `journalctl -k | grep -E \"microcode\" | head -n 1`", - "type": "info" - } - ] + { + "text": "After a reboot, you can check whether any microcode updates are currently in effect by running the following command. `journalctl -k | grep -E \"microcode\" | head -n 1`", + "type": "info" + } + ] } diff --git a/frontend/public/json/monitor-all.json b/frontend/public/json/monitor-all.json index 52a14fd10..a7a0b97e3 100644 --- a/frontend/public/json/monitor-all.json +++ b/frontend/public/json/monitor-all.json @@ -1,67 +1,65 @@ { - "name": "Proxmox VE Monitor-All", - "slug": "monitor-all", - "categories": [ - 1 - ], - "date_created": "2024-04-29", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://github.com/community-scripts/ProxmoxVE/blob/main/misc/images/monitor.png?raw=true", - "description": "This script will add Monitor-All to Proxmox VE, which will monitor the status of all your instances, both containers and virtual machines, excluding templates and user-defined ones, and automatically restart or reset them if they become unresponsive. This is particularly useful if you're experiencing problems with Home Assistant becoming non-responsive every few days/weeks. Monitor-All also maintains a log of the entire process, which can be helpful for troubleshooting and monitoring purposes.\r\n\r\n\ud83d\udec8 Virtual machines without the QEMU guest agent installed must be excluded.\r\n\ud83d\udec8 Prior to generating any new CT/VM not found in this repository, it's necessary to halt Proxmox VE Monitor-All by running systemctl stop ping-instances.", - "install_methods": [ - { - "type": "default", - "script": "misc/monitor-all.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "Proxmox VE Monitor-All", + "slug": "monitor-all", + "categories": [1], + "date_created": "2024-04-29", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://github.com/community-scripts/ProxmoxVE/blob/main/misc/images/monitor.png?raw=true", + "description": "This script will add Monitor-All to Proxmox VE, which will monitor the status of all your instances, both containers and virtual machines, excluding templates and user-defined ones, and automatically restart or reset them if they become unresponsive. This is particularly useful if you're experiencing problems with Home Assistant becoming non-responsive every few days/weeks. Monitor-All also maintains a log of the entire process, which can be helpful for troubleshooting and monitoring purposes.\r\n\r\n\ud83d\udec8 Virtual machines without the QEMU guest agent installed must be excluded.\r\n\ud83d\udec8 Prior to generating any new CT/VM not found in this repository, it's necessary to halt Proxmox VE Monitor-All by running systemctl stop ping-instances.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/monitor-all.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "type": "info" - }, - { - "text": "Virtual machines without the QEMU guest agent installed must be excluded.", - "type": "warning" - }, - { - "text": "Prior to generating any new CT/VM not found in this repository, it's necessary to halt Proxmox VE Monitor-All by running `systemctl stop ping-instances`.", - "type": "warning" - }, - { - "text": "To make setup changes, first stop the service: `systemctl stop ping-instances`", - "type": "info" - }, - { - "text": "To edit pause time: `nano /usr/local/bin/ping-instances.sh`", - "type": "info" - }, - { - "text": "To add excluded instances: `nano /etc/systemd/system/ping-instances.service`", - "type": "info" - }, - { - "text": "After changes have been saved, `systemctl daemon-reload` and start the service: `systemctl start ping-instances`", - "type": "info" - }, - { - "text": "Monitor-All logs: `cat /var/log/ping-instances.log`", - "type": "info" - } - ] + { + "text": "Virtual machines without the QEMU guest agent installed must be excluded.", + "type": "warning" + }, + { + "text": "Prior to generating any new CT/VM not found in this repository, it's necessary to halt Proxmox VE Monitor-All by running `systemctl stop ping-instances`.", + "type": "warning" + }, + { + "text": "To make setup changes, first stop the service: `systemctl stop ping-instances`", + "type": "info" + }, + { + "text": "To edit pause time: `nano /usr/local/bin/ping-instances.sh`", + "type": "info" + }, + { + "text": "To add excluded instances: `nano /etc/systemd/system/ping-instances.service`", + "type": "info" + }, + { + "text": "After changes have been saved, `systemctl daemon-reload` and start the service: `systemctl start ping-instances`", + "type": "info" + }, + { + "text": "Monitor-All logs: `cat /var/log/ping-instances.log`", + "type": "info" + } + ] } diff --git a/frontend/public/json/netdata.json b/frontend/public/json/netdata.json index d1abf45a7..9d83debb5 100644 --- a/frontend/public/json/netdata.json +++ b/frontend/public/json/netdata.json @@ -1,39 +1,37 @@ { - "name": "Proxmox VE Netdata", - "slug": "netdata", - "categories": [ - 1 - ], - "date_created": "2024-04-29", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": "https://www.netdata.cloud/", - "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/netdata.svg", - "description": "Netdata is an open-source, real-time performance monitoring tool designed to provide insights into the performance and health of systems and applications. It is often used by system administrators, DevOps professionals, and developers to monitor and troubleshoot issues on servers and other devices.", - "install_methods": [ - { - "type": "default", - "script": "misc/netdata.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "type": "info" - } - ] -} \ No newline at end of file + "name": "Proxmox VE Netdata", + "slug": "netdata", + "categories": [1], + "date_created": "2024-04-29", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": "https://www.netdata.cloud/", + "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/netdata.svg", + "description": "Netdata is an open-source, real-time performance monitoring tool designed to provide insights into the performance and health of systems and applications. It is often used by system administrators, DevOps professionals, and developers to monitor and troubleshoot issues on servers and other devices.", + "install_methods": [ + { + "type": "default", + "script": "tools/addon/netdata.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" + } + ] +} diff --git a/frontend/public/json/olivetin.json b/frontend/public/json/olivetin.json index 45d9cc669..9d46542b9 100644 --- a/frontend/public/json/olivetin.json +++ b/frontend/public/json/olivetin.json @@ -1,39 +1,37 @@ { - "name": "OliveTin", - "slug": "olivetin", - "categories": [ - 10 - ], - "date_created": "2024-05-02", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": 1337, - "documentation": null, - "website": "https://www.olivetin.app/", - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/olivetin.svg", - "description": "OliveTin provides a secure and straightforward way to execute pre-determined shell commands through a web-based interface.", - "install_methods": [ - { - "type": "default", - "script": "misc/olivetin.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Configuration Path: `/etc/OliveTin/config.yaml`", - "type": "info" - } - ] -} \ No newline at end of file + "name": "OliveTin", + "slug": "olivetin", + "categories": [10], + "date_created": "2024-05-02", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": 1337, + "documentation": null, + "website": "https://www.olivetin.app/", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/olivetin.svg", + "description": "OliveTin provides a secure and straightforward way to execute pre-determined shell commands through a web-based interface.", + "install_methods": [ + { + "type": "default", + "script": "tools/addon/olivetin.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Configuration Path: `/etc/OliveTin/config.yaml`", + "type": "info" + } + ] +} diff --git a/frontend/public/json/pbs-microcode.json b/frontend/public/json/pbs-microcode.json index 1541a82a8..f81819b28 100644 --- a/frontend/public/json/pbs-microcode.json +++ b/frontend/public/json/pbs-microcode.json @@ -1,43 +1,41 @@ { - "name": "Proxmox Backup Server Processor Microcode", - "slug": "pbs-microcode", - "categories": [ - 1 - ], - "date_created": "2025-02-07", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://github.com/community-scripts/ProxmoxVE/blob/main/misc/images/processor.png?raw=true", - "description": "Processor Microcode is a layer of low-level software that runs on the processor and provides patches or updates to its firmware. Microcode updates can fix hardware bugs, improve performance, and enhance security features of the processor. This script is adapted for the Proxmox Backup Server environment and will only run on bare metal systems. If running in a virtualized environment, the script will exit. Note that firmware update mechanisms, such as Intel's Management Engine (ME) or AMD's Platform Security Processor (PSP), may vary depending on your processor and its implementation. Please consult your processor's documentation to verify if firmware updates can be applied through the operating system.", - "install_methods": [ - { - "type": "default", - "script": "misc/pbs_microcode.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "Proxmox Backup Server Processor Microcode", + "slug": "pbs-microcode", + "categories": [1], + "date_created": "2025-02-07", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://github.com/community-scripts/ProxmoxVE/blob/main/misc/images/processor.png?raw=true", + "description": "Processor Microcode is a layer of low-level software that runs on the processor and provides patches or updates to its firmware. Microcode updates can fix hardware bugs, improve performance, and enhance security features of the processor. This script is adapted for the Proxmox Backup Server environment and will only run on bare metal systems. If running in a virtualized environment, the script will exit. Note that firmware update mechanisms, such as Intel's Management Engine (ME) or AMD's Platform Security Processor (PSP), may vary depending on your processor and its implementation. Please consult your processor's documentation to verify if firmware updates can be applied through the operating system.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/pbs_microcode.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox Backup Server shell on a bare metal system. The script will exit if it detects that it is running in a virtualized environment.", + "type": "info" }, - "notes": [ - { - "text": "Execute within the Proxmox Backup Server shell on a bare metal system. The script will exit if it detects that it is running in a virtualized environment.", - "type": "info" - }, - { - "text": "After a reboot, you can check whether any microcode updates are currently in effect by running the following command: `journalctl -k | grep -E \"microcode\" | head -n 1`", - "type": "info" - } - ] + { + "text": "After a reboot, you can check whether any microcode updates are currently in effect by running the following command: `journalctl -k | grep -E \"microcode\" | head -n 1`", + "type": "info" + } + ] } diff --git a/frontend/public/json/post-pbs-install.json b/frontend/public/json/post-pbs-install.json index 3fb6e93e0..c8df62220 100644 --- a/frontend/public/json/post-pbs-install.json +++ b/frontend/public/json/post-pbs-install.json @@ -1,47 +1,45 @@ { - "name": "Proxmox Backup Server Post Install", - "slug": "post-pbs-install", - "categories": [ - 1 - ], - "date_created": "2024-04-29", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/proxmox.svg", - "description": "The script will give options to Disable the Enterprise Repo, Add/Correct PBS Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Backup Server and Reboot PBS.", - "install_methods": [ - { - "type": "default", - "script": "misc/post-pbs-install.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "Proxmox Backup Server Post Install", + "slug": "post-pbs-install", + "categories": [1], + "date_created": "2024-04-29", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/proxmox.svg", + "description": "The script will give options to Disable the Enterprise Repo, Add/Correct PBS Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Backup Server and Reboot PBS.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/post-pbs-install.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Proxmox Backup Server ONLY", + "type": "info" }, - "notes": [ - { - "text": "Proxmox Backup Server ONLY", - "type": "info" - }, - { - "text": "Execute within the Proxmox Backup Server Shell", - "type": "info" - }, - { - "text": "It is recommended to answer “yes” (y) to all options presented during the process.", - "type": "info" - } - ] -} \ No newline at end of file + { + "text": "Execute within the Proxmox Backup Server Shell", + "type": "info" + }, + { + "text": "It is recommended to answer “yes” (y) to all options presented during the process.", + "type": "info" + } + ] +} diff --git a/frontend/public/json/post-pmg-install.json b/frontend/public/json/post-pmg-install.json index 70f906d42..05ba59cdd 100644 --- a/frontend/public/json/post-pmg-install.json +++ b/frontend/public/json/post-pmg-install.json @@ -1,47 +1,45 @@ { - "name": "Proxmox Mail Gateway Post Install", - "slug": "post-pmg-install", - "categories": [ - 1 - ], - "date_created": "2025-01-20", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/proxmox.svg", - "description": "The script will give options to Disable the Enterprise Repo, Add/Correct PMG Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Mail Gateway and Reboot PMG.", - "install_methods": [ - { - "type": "default", - "script": "misc/post-pmg-install.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "Proxmox Mail Gateway Post Install", + "slug": "post-pmg-install", + "categories": [1], + "date_created": "2025-01-20", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/proxmox.svg", + "description": "The script will give options to Disable the Enterprise Repo, Add/Correct PMG Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Mail Gateway and Reboot PMG.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/post-pmg-install.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Proxmox Mail Gateway ONLY", + "type": "warning" }, - "notes": [ - { - "text": "Proxmox Mail Gateway ONLY", - "type": "warning" - }, - { - "text": "Execute within the Proxmox Mail Gateway Shell", - "type": "info" - }, - { - "text": "It is recommended to answer “yes” (y) to all options presented during the process.", - "type": "info" - } - ] -} \ No newline at end of file + { + "text": "Execute within the Proxmox Mail Gateway Shell", + "type": "info" + }, + { + "text": "It is recommended to answer “yes” (y) to all options presented during the process.", + "type": "info" + } + ] +} diff --git a/frontend/public/json/post-pve-install.json b/frontend/public/json/post-pve-install.json index f849aaa8c..4a1031e8b 100644 --- a/frontend/public/json/post-pve-install.json +++ b/frontend/public/json/post-pve-install.json @@ -1,43 +1,41 @@ { - "name": "Proxmox VE Post Install", - "slug": "post-pve-install", - "categories": [ - 1 - ], - "date_created": "2024-04-28", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/proxmox.svg", - "description": "This script provides options for managing Proxmox VE repositories, including disabling the Enterprise Repo, adding or correcting PVE sources, enabling the No-Subscription Repo, adding the test Repo, disabling the subscription nag, updating Proxmox VE, and rebooting the system.", - "install_methods": [ - { - "type": "default", - "script": "misc/post-pve-install.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "Proxmox VE Post Install", + "slug": "post-pve-install", + "categories": [1], + "date_created": "2024-04-28", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/proxmox.svg", + "description": "This script provides options for managing Proxmox VE repositories, including disabling the Enterprise Repo, adding or correcting PVE sources, enabling the No-Subscription Repo, adding the test Repo, disabling the subscription nag, updating Proxmox VE, and rebooting the system.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/post-pve-install.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "type": "info" - }, - { - "text": "It is recommended to answer “yes” (y) to all options presented during the process.", - "type": "info" - } - ] -} \ No newline at end of file + { + "text": "It is recommended to answer “yes” (y) to all options presented during the process.", + "type": "info" + } + ] +} diff --git a/frontend/public/json/scaling-governor.json b/frontend/public/json/scaling-governor.json index 3c4be95b8..3c1332545 100644 --- a/frontend/public/json/scaling-governor.json +++ b/frontend/public/json/scaling-governor.json @@ -1,39 +1,37 @@ { - "name": "Proxmox VE CPU Scaling Governor", - "slug": "scaling-governor", - "categories": [ - 1 - ], - "date_created": "2024-04-29", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": "https://www.kernel.org/doc/html/latest/admin-guide/pm/cpufreq.html?#generic-scaling-governors", - "website": null, - "logo": "https://github.com/community-scripts/ProxmoxVE/blob/main/misc/images/cpu.png?raw=true", - "description": "The CPU scaling governor determines how the CPU frequency is adjusted based on the workload, with the goal of either conserving power or improving performance. By scaling the frequency up or down, the operating system can optimize the CPU usage and conserve energy when possible. Generic Scaling Governors", - "install_methods": [ - { - "type": "default", - "script": "misc/scaling-governor.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "type": "info" - } - ] + "name": "Proxmox VE CPU Scaling Governor", + "slug": "scaling-governor", + "categories": [1], + "date_created": "2024-04-29", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": "https://www.kernel.org/doc/html/latest/admin-guide/pm/cpufreq.html?#generic-scaling-governors", + "website": null, + "logo": "https://github.com/community-scripts/ProxmoxVE/blob/main/misc/images/cpu.png?raw=true", + "description": "The CPU scaling governor determines how the CPU frequency is adjusted based on the workload, with the goal of either conserving power or improving performance. By scaling the frequency up or down, the operating system can optimize the CPU usage and conserve energy when possible. Generic Scaling Governors", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/scaling-governor.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" + } + ] } diff --git a/frontend/public/json/update-lxcs.json b/frontend/public/json/update-lxcs.json index 4b2ee3d1f..0c11fcdd1 100644 --- a/frontend/public/json/update-lxcs.json +++ b/frontend/public/json/update-lxcs.json @@ -1,39 +1,37 @@ { - "name": "Proxmox VE LXC Updater", - "slug": "update-lxcs", - "categories": [ - 1 - ], - "date_created": "2024-04-29", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/linuxcontainers.svg", - "description": "This script has been created to simplify and speed up the process of updating all LXC containers across various Linux distributions, such as Ubuntu, Debian, Devuan, Alpine Linux, CentOS-Rocky-Alma, Fedora, and ArchLinux. It's designed to automatically skip templates and specific containers during the update, enhancing its convenience and usability.", - "install_methods": [ - { - "type": "default", - "script": "misc/update-lxcs.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "type": "info" - } - ] -} \ No newline at end of file + "name": "Proxmox VE LXC Updater", + "slug": "update-lxcs", + "categories": [1], + "date_created": "2024-04-29", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/linuxcontainers.svg", + "description": "This script has been created to simplify and speed up the process of updating all LXC containers across various Linux distributions, such as Ubuntu, Debian, Devuan, Alpine Linux, CentOS-Rocky-Alma, Fedora, and ArchLinux. It's designed to automatically skip templates and specific containers during the update, enhancing its convenience and usability.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/update-lxcs.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" + } + ] +} diff --git a/frontend/public/json/update-repo.json b/frontend/public/json/update-repo.json index 5366c9280..a155c52a9 100644 --- a/frontend/public/json/update-repo.json +++ b/frontend/public/json/update-repo.json @@ -1,39 +1,37 @@ { - "name": "Proxmox Update Repositories", - "slug": "update-repo", - "categories": [ - 1 - ], - "date_created": "2024-11-04", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": null, - "website": null, - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/linuxcontainers.svg", - "description": "This script updates repository links in LXC containers, replacing old links from the tteck repository with links to the new community-scripts repository to fix issues related to updating scripts.", - "install_methods": [ - { - "type": "default", - "script": "misc/update-repo.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Execute within the Proxmox shell", - "type": "info" - } - ] -} \ No newline at end of file + "name": "Proxmox Update Repositories", + "slug": "update-repo", + "categories": [1], + "date_created": "2024-11-04", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": null, + "website": null, + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/linuxcontainers.svg", + "description": "This script updates repository links in LXC containers, replacing old links from the tteck repository with links to the new community-scripts repository to fix issues related to updating scripts.", + "install_methods": [ + { + "type": "default", + "script": "tools/pve/update-repo.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Execute within the Proxmox shell", + "type": "info" + } + ] +} diff --git a/frontend/public/json/webmin.json b/frontend/public/json/webmin.json index 1f90782be..5f6df559d 100644 --- a/frontend/public/json/webmin.json +++ b/frontend/public/json/webmin.json @@ -1,39 +1,37 @@ { - "name": "Webmin System Administration", - "slug": "webmin", - "categories": [ - 1 - ], - "date_created": "2024-05-02", - "type": "misc", - "updateable": false, - "privileged": false, - "interface_port": 10000, - "documentation": null, - "website": "https://webmin.com/", - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/webmin.svg", - "description": "Webmin provides a graphical user interface (GUI) for tasks such as user account management, package management, file system configuration, network configuration, and more.", - "install_methods": [ - { - "type": "default", - "script": "misc/webmin.sh", - "resources": { - "cpu": null, - "ram": null, - "hdd": null, - "os": null, - "version": null - } - } - ], - "default_credentials": { - "username": "root", - "password": "root" - }, - "notes": [ - { - "text": "Execute within an existing LXC Console", - "type": "info" - } - ] -} \ No newline at end of file + "name": "Webmin System Administration", + "slug": "webmin", + "categories": [1], + "date_created": "2024-05-02", + "type": "misc", + "updateable": false, + "privileged": false, + "interface_port": 10000, + "documentation": null, + "website": "https://webmin.com/", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/webmin.svg", + "description": "Webmin provides a graphical user interface (GUI) for tasks such as user account management, package management, file system configuration, network configuration, and more.", + "install_methods": [ + { + "type": "default", + "script": "tools/addon/webmin.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": "root", + "password": "root" + }, + "notes": [ + { + "text": "Execute within an existing LXC Console", + "type": "info" + } + ] +} diff --git a/frontend/src/app/category-view/page.tsx b/frontend/src/app/category-view/page.tsx index 1d5a9e91c..e44508f6b 100644 --- a/frontend/src/app/category-view/page.tsx +++ b/frontend/src/app/category-view/page.tsx @@ -1,12 +1,12 @@ "use client"; -import React, { useEffect, useState } from "react"; -import { useRouter } from "next/navigation"; -import { Card, CardContent } from "@/components/ui/card"; -import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; -import { ChevronLeft, ChevronRight } from "lucide-react"; +import { Button } from "@/components/ui/button"; +import { Card, CardContent } from "@/components/ui/card"; import { Category } from "@/lib/types"; +import { ChevronLeft, ChevronRight } from "lucide-react"; +import { useRouter } from "next/navigation"; +import React, { useEffect, useState } from "react"; const defaultLogo = "/default-logo.png"; // Fallback logo path const MAX_DESCRIPTION_LENGTH = 100; // Set max length for description @@ -17,11 +17,11 @@ const formattedBadge = (type: string) => { case "vm": return VM; case "ct": - return ( - LXC - ); - case "misc": - return MISC; + return LXC; + case "pve": + return PVE; + case "addon": + return ADDON; } return null; }; @@ -100,9 +100,7 @@ const CategoryView = () => { }; const truncateDescription = (text: string) => { - return text.length > MAX_DESCRIPTION_LENGTH - ? `${text.slice(0, MAX_DESCRIPTION_LENGTH)}...` - : text; + return text.length > MAX_DESCRIPTION_LENGTH ? `${text.slice(0, MAX_DESCRIPTION_LENGTH)}...` : text; }; const renderResources = (script: any) => { @@ -111,9 +109,24 @@ const CategoryView = () => { const hdd = script.install_methods[0]?.resources.hdd; const resourceParts = []; - if (cpu) resourceParts.push(CPU: {cpu}vCPU); - if (ram) resourceParts.push(RAM: {ram}MB); - if (hdd) resourceParts.push(HDD: {hdd}GB); + if (cpu) + resourceParts.push( + + CPU: {cpu}vCPU + , + ); + if (ram) + resourceParts.push( + + RAM: {ram}MB + , + ); + if (hdd) + resourceParts.push( + + HDD: {hdd}GB + , + ); return resourceParts.length > 0 ? (
diff --git a/frontend/src/app/json-editor/_schemas/schemas.ts b/frontend/src/app/json-editor/_schemas/schemas.ts index ad9d16bae..9ffe8f3a1 100644 --- a/frontend/src/app/json-editor/_schemas/schemas.ts +++ b/frontend/src/app/json-editor/_schemas/schemas.ts @@ -24,8 +24,8 @@ export const ScriptSchema = z.object({ slug: z.string().min(1, "Slug is required"), categories: z.array(z.number()), date_created: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format").min(1, "Date is required"), - type: z.enum(["vm", "ct", "misc", "turnkey"], { - errorMap: () => ({ message: "Type must be either 'vm', 'ct', 'misc' or 'turnkey'" }) + type: z.enum(["vm", "ct", "pve", "addon", "turnkey"], { + errorMap: () => ({ message: "Type must be either 'vm', 'ct', 'pve', 'addon' or 'turnkey'" }) }), updateable: z.boolean(), privileged: z.boolean(), diff --git a/frontend/src/app/json-editor/page.tsx b/frontend/src/app/json-editor/page.tsx index 4e161557f..fc99f2a98 100644 --- a/frontend/src/app/json-editor/page.tsx +++ b/frontend/src/app/json-editor/page.tsx @@ -5,18 +5,8 @@ import { Button } from "@/components/ui/button"; import { Calendar } from "@/components/ui/calendar"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; -import { - Popover, - PopoverContent, - PopoverTrigger, -} from "@/components/ui/popover"; -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/components/ui/select"; +import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; +import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { Switch } from "@/components/ui/switch"; import { Textarea } from "@/components/ui/textarea"; import { fetchCategories } from "@/lib/data"; @@ -66,29 +56,26 @@ export default function JSONGenerator() { .catch((error) => console.error("Error fetching categories:", error)); }, []); - const updateScript = useCallback( - (key: keyof Script, value: Script[keyof Script]) => { - setScript((prev) => { - const updated = { ...prev, [key]: value }; + const updateScript = useCallback((key: keyof Script, value: Script[keyof Script]) => { + setScript((prev) => { + const updated = { ...prev, [key]: value }; - if (key === "type" || key === "slug") { - updated.install_methods = updated.install_methods.map((method) => ({ - ...method, - script: - method.type === "alpine" - ? `${updated.type}/alpine-${updated.slug}.sh` - : `${updated.type}/${updated.slug}.sh`, - })); - } + if (key === "type" || key === "slug") { + updated.install_methods = updated.install_methods.map((method) => ({ + ...method, + script: + method.type === "alpine" + ? `${updated.type}/alpine-${updated.slug}.sh` + : `${updated.type}/${updated.slug}.sh`, + })); + } - const result = ScriptSchema.safeParse(updated); - setIsValid(result.success); - setZodErrors(result.success ? null : result.error); - return updated; - }); - }, - [], - ); + const result = ScriptSchema.safeParse(updated); + setIsValid(result.success); + setZodErrors(result.success ? null : result.error); + return updated; + }); + }, []); const handleCopy = useCallback(() => { navigator.clipboard.writeText(JSON.stringify(script, null, 2)); @@ -101,13 +88,13 @@ export default function JSONGenerator() { const jsonString = JSON.stringify(script, null, 2); const blob = new Blob([jsonString], { type: "application/json" }); const url = URL.createObjectURL(blob); - + const a = document.createElement("a"); a.href = url; a.download = `${script.slug || "script"}.json`; document.body.appendChild(a); a.click(); - + URL.revokeObjectURL(url); document.body.removeChild(a); }, [script]); @@ -120,16 +107,13 @@ export default function JSONGenerator() { ); const formattedDate = useMemo( - () => - script.date_created ? format(script.date_created, "PPP") : undefined, + () => (script.date_created ? format(script.date_created, "PPP") : undefined), [script.date_created], ); const validationAlert = useMemo( () => ( - + {isValid ? "Valid JSON" : "Invalid JSON"} {isValid @@ -160,21 +144,13 @@ export default function JSONGenerator() { - updateScript("name", e.target.value)} - /> + updateScript("name", e.target.value)} />
- updateScript("slug", e.target.value)} - /> + updateScript("slug", e.target.value)} />
@@ -197,11 +173,7 @@ export default function JSONGenerator() { onChange={(e) => updateScript("description", e.target.value)} />
- +
@@ -209,10 +181,7 @@ export default function JSONGenerator() {
- updateScript("type", value)}> LXC Container Virtual Machine - Miscellaneous + PVE-Tool + Add-On
- - updateScript("updateable", checked) - } - /> + updateScript("updateable", checked)} />
- - updateScript("privileged", checked) - } - /> + updateScript("privileged", checked)} />
@@ -269,12 +226,7 @@ export default function JSONGenerator() { placeholder="Interface Port" type="number" value={script.interface_port || ""} - onChange={(e) => - updateScript( - "interface_port", - e.target.value ? Number(e.target.value) : null, - ) - } + onChange={(e) => updateScript("interface_port", e.target.value ? Number(e.target.value) : null)} />
- updateScript("documentation", e.target.value || null) - } + onChange={(e) => updateScript("documentation", e.target.value || null)} />
- +

Default Credentials

- +
{validationAlert}
- -
- +
             {JSON.stringify(script, null, 2)}
           
diff --git a/frontend/src/app/scripts/_components/ScriptInfoBlocks.tsx b/frontend/src/app/scripts/_components/ScriptInfoBlocks.tsx index 3713a165b..7ee300aac 100644 --- a/frontend/src/app/scripts/_components/ScriptInfoBlocks.tsx +++ b/frontend/src/app/scripts/_components/ScriptInfoBlocks.tsx @@ -1,12 +1,5 @@ import { Button } from "@/components/ui/button"; -import { - Card, - CardContent, - CardDescription, - CardFooter, - CardHeader, - CardTitle, -} from "@/components/ui/card"; +import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@/components/ui/card"; import { basePath, mostPopularScripts } from "@/config/siteConfig"; import { extractDate } from "@/lib/time"; import { Category, Script } from "@/lib/types"; @@ -23,7 +16,8 @@ export const getDisplayValueFromType = (type: string) => { return "LXC"; case "vm": return "VM"; - case "misc": + case "pve": + case "addon": return ""; default: return ""; @@ -35,7 +29,7 @@ export function LatestScripts({ items }: { items: Category[] }) { const latestScripts = useMemo(() => { if (!items) return []; - + const scripts = items.flatMap((category) => category.scripts || []); // Filter out duplicates by slug @@ -47,8 +41,7 @@ export function LatestScripts({ items }: { items: Category[] }) { }); return Array.from(uniqueScriptsMap.values()).sort( - (a, b) => - new Date(b.date_created).getTime() - new Date(a.date_created).getTime(), + (a, b) => new Date(b.date_created).getTime() - new Date(a.date_created).getTime(), ); }, [items]); @@ -59,7 +52,7 @@ export function LatestScripts({ items }: { items: Category[] }) { const goToPreviousPage = () => { setPage((prevPage) => prevPage - 1); }; - + const startIndex = (page - 1) * ITEMS_PER_PAGE; const endIndex = page * ITEMS_PER_PAGE; @@ -74,18 +67,12 @@ export function LatestScripts({ items }: { items: Category[] }) {

Newest Scripts

{page > 1 && ( -
+
Previous
)} {endIndex < latestScripts.length && ( -
+
{page === 1 ? "More.." : "Next"}
)} @@ -94,10 +81,7 @@ export function LatestScripts({ items }: { items: Category[] }) { )}
{latestScripts.slice(startIndex, endIndex).map((script) => ( - +
@@ -107,10 +91,7 @@ export function LatestScripts({ items }: { items: Category[] }) { height={64} width={64} alt="" - onError={(e) => - ((e.currentTarget as HTMLImageElement).src = - `/${basePath}/logo.png`) - } + onError={(e) => ((e.currentTarget as HTMLImageElement).src = `/${basePath}/logo.png`)} className="h-11 w-11 object-contain" />
@@ -126,9 +107,7 @@ export function LatestScripts({ items }: { items: Category[] }) {
- - {script.description} - + {script.description}