diff --git a/web/app/docs/about/code-of-conduct/page.tsx b/web/app/docs/about/code-of-conduct/page.tsx
index cbe96b15..d147e719 100644
--- a/web/app/docs/about/code-of-conduct/page.tsx
+++ b/web/app/docs/about/code-of-conduct/page.tsx
@@ -64,4 +64,4 @@ export default async function CodeOfConductPage() {
)
-}
\ No newline at end of file
+}
diff --git a/web/app/docs/about/faq/page.tsx b/web/app/docs/about/faq/page.tsx
index 48cf871b..5b8a9527 100644
--- a/web/app/docs/about/faq/page.tsx
+++ b/web/app/docs/about/faq/page.tsx
@@ -206,4 +206,4 @@ export default function FaqPage() {
);
-}
\ No newline at end of file
+}
diff --git a/web/app/docs/create-vm/page.tsx b/web/app/docs/create-vm/page.tsx
index ebf98d73..b98a2dcf 100644
--- a/web/app/docs/create-vm/page.tsx
+++ b/web/app/docs/create-vm/page.tsx
@@ -84,7 +84,7 @@ export default function VirtualMachinesPage() {
You can upload custom loaders from the local storage options:
Follow the on-screen steps to complete the DSM installation.
viostor folder contains storage drivers, and you'll find subfolders organized by version (e.g., Windows 10, 11, Server).
NetKVM folder and selecting the correct subfolder for your Windows version.
You will be presented with a list of your LXC containers to choose from.
-The script applies the following changes to your container:
diff --git a/web/app/docs/help-info/page.tsx b/web/app/docs/help-info/page.tsx index 66955d1c..c6b06588 100644 --- a/web/app/docs/help-info/page.tsx +++ b/web/app/docs/help-info/page.tsx @@ -97,7 +97,7 @@ export default function HelpAndInfoPage() {The installation process will look like this:
@@ -83,7 +83,7 @@ export default function BasicSettingsPage() {
Example usage:
dialog --title "Hello" --msgbox "Hello, World!" 10 20
@@ -103,7 +103,7 @@ export default function BasicSettingsPage() {
To start htop, simply type:
htop
@@ -113,7 +113,7 @@ export default function BasicSettingsPage() {
To start btop, type:
btop
@@ -123,7 +123,7 @@ export default function BasicSettingsPage() {
To start iftop (requires root):
iftop
@@ -133,7 +133,7 @@ export default function BasicSettingsPage() {
To start iotop (requires root):
siotop
@@ -155,7 +155,7 @@ export default function BasicSettingsPage() {
To start iptraf-ng:
iptraf-ng
@@ -212,7 +212,7 @@ export default function BasicSettingsPage() {
@@ -383,4 +383,3 @@ sudo apt-get install -y zfsutils-linux proxmox-backup-restore-image chrony
ProxMenux
@@ -252,7 +252,7 @@ systemctl enable --now pve-ha-lrm pve-ha-crm corosync
Proxmox
@@ -260,7 +260,7 @@ systemctl enable --now pve-ha-lrm pve-ha-crm corosync
Helper-Scripts
@@ -268,7 +268,7 @@ systemctl enable --now pve-ha-lrm pve-ha-crm corosync
Home-Labs-Club
@@ -276,7 +276,7 @@ systemctl enable --now pve-ha-lrm pve-ha-crm corosync
Proxmology
@@ -336,7 +336,7 @@ echo "clear && fastfetch" >> ~/.bashrc
)
}
-
diff --git a/web/app/docs/post-install/performance/page.tsx b/web/app/docs/post-install/performance/page.tsx
index fef51750..bf9760ea 100644
--- a/web/app/docs/post-install/performance/page.tsx
+++ b/web/app/docs/post-install/performance/page.tsx
@@ -139,4 +139,3 @@ export default function PerformanceSettingsPage() {
- This guide explains how to assign a dedicated physical disk to a container (CT) in{" "} - Proxmox VE using ProxMenux. Assigning a full disk to a container is useful - when you need isolation, ease of access, or the ability to move the disk between systems, especially for - services handling large volumes of data such as Samba, Nextcloud, or video surveillance software, among others. + This guide explains how to assign physical disks to virtual machines (VMs) in Proxmox VE using ProxMenux. + Disk passthrough allows a VM to have direct access to a physical disk, providing improved performance and compatibility for certain applications.
- -- While it's more common to passthrough entire disks to virtual machines (VMs), there are scenarios where giving - full disk access to an LXC container can be very useful. -
- -- As you can see, there are many different use cases where assigning a physical disk directly to a CT is the ideal - solution. -
- -The script automates the following steps:
The user selects the destination LXC container (CT) to which the disk will be assigned.
+
+ The script scans the system and displays a list of available physical disks, excluding the system disk.
- The script lists all physical disks, excluding those used by the system. It also displays metadata like ZFS, - LVM, and RAID, and shows warnings if the disk is already in use. -
+The user selects the virtual machine (VM) to which the disk(s) will be assigned.
The script performs the following actions:
/mnt/disk_passthrough).
- - The selected disk is mounted inside the container at the specified path, and permissions are set - automatically. -
+The script verifies the operation and confirms the successful disk passthrough.
Important:
-- The container must be privileged to allow direct read/write access to the physical disk. -
-
+
The script scans the system and displays a list of available physical disks, excluding the system disk.
The user selects the virtual machine (VM) to which the disk(s) will be assigned.
+
The script performs the following actions:
edition.
Access the Utilities section in ProxMenux and select "UUP Dump ISO Creator".
tags
.replace(/```[\s\S]*?```/g, (match) => {
const code = match.replace(/```/g, "").trim()
- return `\n${code}\n`
+ return `${code}
`
})
- // Convert - bullet points to •
- .replace(/^- /gm, "• ")
- // Clean up multiple newlines
- .replace(/\n{3,}/g, "\n\n")
- // Remove backslashes used for line breaks
- .replace(/\\\s*$/gm, "")
+ // Convert - bullet points to - tags
+ .replace(/^- (.+)$/gm, "
- $1
")
+ // Wrap consecutive - tags in
+ .replace(/(- .*?<\/li>\s*)+/g, (match) => `
${match}
`)
+ // Convert double newlines to
for paragraphs
+ .replace(/\n\n/g, "
")
// Clean up extra spaces
.replace(/\s+/g, " ")
.trim()
@@ -75,7 +74,7 @@ async function parseChangelog(): Promise {
currentEntry = {
version,
date,
- url: `https://macrimi.github.io/ProxMenux/changelog#${version}`,
+ url: `https://proxmenux.com/changelog#${version}`,
title: `ProxMenux ${version}`,
}
} else if (dateMatch) {
@@ -83,7 +82,7 @@ async function parseChangelog(): Promise {
currentEntry = {
version: date,
date,
- url: `https://macrimi.github.io/ProxMenux/changelog#${date}`,
+ url: `https://proxmenux.com/changelog#${date}`,
title: `ProxMenux Update ${date}`,
}
}
@@ -115,13 +114,13 @@ async function parseChangelog(): Promise {
export async function GET() {
const entries = await parseChangelog()
- const siteUrl = "https://macrimi.github.io/ProxMenux"
+ const siteUrl = "https://proxmenux.com"
const rssXml = `
-
+
ProxMenux Changelog
- Latest updates and changes in ProxMenux
+ Latest updates and changes in ProxMenux - An Interactive Menu for Proxmox VE Management
${siteUrl}/changelog
en-US
@@ -134,7 +133,7 @@ export async function GET() {
(entry) => `
-
${entry.title}
- 1000 ? entry.content.substring(0, 1000) + "..." : entry.content}]]>
+
${entry.url}
${entry.url}
${new Date(entry.date).toUTCString()}
diff --git a/web/components/footer.tsx b/web/components/footer.tsx
index 6a0dc375..b765fe5c 100644
--- a/web/components/footer.tsx
+++ b/web/components/footer.tsx
@@ -22,7 +22,7 @@ export default function Footer() {
className="hover:opacity-90 transition-opacity flex items-center"
>
)
}
-
diff --git a/web/components/footer2.tsx b/web/components/footer2.tsx
index f10e72a0..02ba795d 100644
--- a/web/components/footer2.tsx
+++ b/web/components/footer2.tsx
@@ -19,7 +19,7 @@ export default function Footer() {
className="hover:opacity-90 transition-opacity"
>
)
}
-
diff --git a/web/components/hero2.tsx b/web/components/hero2.tsx
index b471f349..36805668 100644
--- a/web/components/hero2.tsx
+++ b/web/components/hero2.tsx
@@ -36,7 +36,7 @@ export default function Hero() {
)
}
-
diff --git a/web/components/mouse-move-effect.tsx b/web/components/mouse-move-effect.tsx
index d2d9f1c8..3b91f02e 100644
--- a/web/components/mouse-move-effect.tsx
+++ b/web/components/mouse-move-effect.tsx
@@ -26,4 +26,3 @@ export default function MouseMoveEffect() {
/>
)
}
-
diff --git a/web/components/navbar.tsx b/web/components/navbar.tsx
index eac7443a..76217d63 100644
--- a/web/components/navbar.tsx
+++ b/web/components/navbar.tsx
@@ -20,13 +20,7 @@ export default function Navbar() {
-
+
ProxMenux
@@ -46,7 +40,7 @@ export default function Navbar() {
{/* RSS Feed Link */}
setIsMenuOpen(false)}
target="_blank"
diff --git a/web/components/rss-link.tsx b/web/components/rss-link.tsx
index 34daa213..9557681b 100644
--- a/web/components/rss-link.tsx
+++ b/web/components/rss-link.tsx
@@ -6,7 +6,7 @@ import { useState } from "react"
export default function RSSLink() {
const [copied, setCopied] = useState(false)
- const rssUrl = "https://macrimi.github.io/ProxMenux/rss.xml"
+ const rssUrl = "https://proxmenux.com/rss.xml"
const copyToClipboard = async () => {
try {
diff --git a/web/components/support-project.tsx b/web/components/support-project.tsx
index 9cd06c56..9e16ed83 100644
--- a/web/components/support-project.tsx
+++ b/web/components/support-project.tsx
@@ -26,4 +26,3 @@ export default function SupportProject() {
)
}
-
diff --git a/web/components/testimonials.tsx b/web/components/testimonials.tsx
index 90441969..da84986c 100644
--- a/web/components/testimonials.tsx
+++ b/web/components/testimonials.tsx
@@ -32,4 +32,3 @@ export default function Testimonials() {
)
}
-
diff --git a/web/components/ui/image-with-caption.tsx b/web/components/ui/image-with-caption.tsx
index 57b7ed95..2bf5bf13 100644
--- a/web/components/ui/image-with-caption.tsx
+++ b/web/components/ui/image-with-caption.tsx
@@ -23,4 +23,4 @@ export function ImageWithCaption({ src, alt, caption, width = 800, height = 450
{caption}
)
-}
\ No newline at end of file
+}
diff --git a/web/components/ui/steps.tsx b/web/components/ui/steps.tsx
index 58c6ae91..0aafab47 100644
--- a/web/components/ui/steps.tsx
+++ b/web/components/ui/steps.tsx
@@ -32,4 +32,3 @@ const Steps: React.FC & { Step: typeof Step } = ({ children }) => (
Steps.Step = Step
export { Steps }
-