2025-05-17 23:16:23 +02:00
import type React from "react"
import type { Metadata } from "next"
import Link from "next/link"
import Image from "next/image"
2025-05-17 23:22:56 +02:00
import { HardDrive , Info , Database , Server , Monitor , Star , Cpu , Github } from "lucide-react"
2025-05-17 23:16:23 +02:00
import { Badge } from "@/components/ui/badge"
export const metadata : Metadata = {
title : "ProxMenux Documentation: System NAS Virtual Machines" ,
description :
"Guide for creating and configuring NAS virtual machines on Proxmox VE using ProxMenux, including Synology DSM, TrueNAS, and other storage systems." ,
openGraph : {
title : "ProxMenux Documentation: System NAS Virtual Machines" ,
description :
"Guide for creating and configuring NAS virtual machines on Proxmox VE using ProxMenux, including Synology DSM, TrueNAS, and other storage systems." ,
type : "article" ,
url : "https://macrimi.github.io/ProxMenux/docs/virtual-machines/system-nas" ,
images : [
{
url : "https://macrimi.github.io/ProxMenux/vm/system-nas-menu.png" ,
width : 1200 ,
height : 630 ,
alt : "ProxMenux System NAS Menu" ,
} ,
] ,
} ,
twitter : {
card : "summary_large_image" ,
title : "ProxMenux Documentation: System NAS Virtual Machines" ,
description :
"Guide for creating and configuring NAS virtual machines on Proxmox VE using ProxMenux, including Synology DSM, TrueNAS, and other storage systems." ,
images : [ "https://macrimi.github.io/ProxMenux/vm/system-nas-menu.png" ] ,
} ,
}
interface ImageWithCaptionProps {
src : string
alt : string
caption : string
}
function ImageWithCaption ( { src , alt , caption } : ImageWithCaptionProps ) {
return (
< div className = "flex flex-col items-center w-full max-w-[768px] mx-auto my-4" >
< div className = "w-full rounded-md overflow-hidden border border-gray-200" >
< Image
src = { src || "/placeholder.svg" }
alt = { alt }
width = { 768 }
height = { 400 }
style = { { height : "auto" } }
className = "object-contain w-full"
sizes = "(max-width: 768px) 100vw, 768px"
/ >
< / div >
< span className = "mt-2 text-sm text-gray-600" > { caption } < / span >
< / div >
)
}
interface NASSystemProps {
name : string
description : string
icon : React.ReactNode
features : string [ ]
technicalDetails : string [ ]
href : string
isExternal? : boolean
externalUrl? : string
}
function NASSystemItem ( {
name ,
description ,
icon ,
features ,
technicalDetails ,
href ,
isExternal ,
externalUrl ,
} : NASSystemProps ) {
return (
< div className = "border rounded-md mb-6 border-gray-200 overflow-hidden" >
< div className = "px-4 py-3 bg-gray-50 border-b border-gray-200 hover:bg-blue-50 transition-colors" >
< div className = "flex items-center justify-between" >
{ isExternal && externalUrl ? (
< a href = { externalUrl } target = "_blank" rel = "noopener noreferrer" className = "flex items-center gap-3" >
{ icon }
< h3 className = "text-lg font-medium text-black hover:text-blue-600" > { name } < / h3 >
< / a >
) : (
< Link href = { href } className = "flex items-center gap-3" >
{ icon }
< h3 className = "text-lg font-medium text-black hover:text-blue-600" > { name } < / h3 >
< / Link >
) }
{ isExternal && (
< div className = "flex items-center" >
< a
href = "https://github.com/R0GGER/proxmox-zimaos"
target = "_blank"
rel = "noopener noreferrer"
>
< Badge
variant = "outline"
className = "flex items-center gap-1 bg-gray-100 hover:bg-gray-200 text-gray-800 border-gray-300"
>
< Github className = "h-3.5 w-3.5 text-gray-700" / >
< span className = "text-xs font-medium" > External Script < / span >
< / Badge >
< / a >
{ /* Removed the external link icon since the title now links to the external URL */ }
< / div >
) }
< / div >
< / div >
< div className = "px-4 py-4" >
< div className = "space-y-4" >
< p className = "text-gray-700" > { description } < / p >
< div className = "grid grid-cols-1 md:grid-cols-2 gap-4" >
< div >
< h4 className = "font-semibold mb-2 text-black flex items-center" >
< Star className = "h-5 w-5 mr-2 text-green-500" / >
Key Features :
< / h4 >
< ul className = "list-disc pl-5 space-y-1 text-gray-700" >
{ features . map ( ( feature , index ) = > (
< li key = { index } > { feature } < / li >
) ) }
< / ul >
< / div >
< div >
< h4 className = "font-semibold mb-2 text-black flex items-center" >
< Cpu className = "h-5 w-5 mr-2 text-purple-500" / >
Technical Details :
< / h4 >
< ul className = "list-disc pl-5 space-y-1 text-gray-700" >
{ technicalDetails . map ( ( detail , index ) = > (
< li key = { index } > { detail } < / li >
) ) }
< / ul >
< / div >
< / div >
< / div >
< / div >
< / div >
)
}
export default function SystemNASPage() {
return (
< div className = "container mx-auto py-10 px-4 bg-white text-black" >
< div className = "mb-4" >
< div className = "flex items-center gap-3 mb-6" >
< HardDrive className = "h-8 w-8 mr-2 text-blue-500" / >
< h1 className = "text-3xl font-bold text-black" > System NAS Virtual Machines < / h1 >
< / div >
< div className = "space-y-4 mt-6" >
< p className = "text-lg text-black" >
ProxMenux provides automated scripts that create and configure virtual machines for various NAS systems on
Proxmox VE . These scripts simplify the process by handling the necessary configurations and optimizations
for each NAS platform .
< / p >
< / div >
< / div >
< ImageWithCaption
src = "https://macrimi.github.io/ProxMenux/vm/system-nas-menu.png"
alt = "System NAS Menu"
caption = "System NAS Menu"
/ >
< div className = "mt-8 mb-6" >
< div className = "flex items-center gap-2" >
< Info className = "h-5 w-5 text-blue-500" / >
< h2 className = "text-xl font-semibold text-black" > Available NAS Systems < / h2 >
< / div >
< p className = "mt-2 text-gray-600" >
Select one of the NAS systems below to view detailed documentation on installation and configuration .
< / p >
< / div >
< div className = "mt-6" >
< NASSystemItem
name = "Synology DSM"
description = "Synology DSM (DiskStation Manager) is a popular NAS operating system with a comprehensive set of features for home and business users."
icon = { < HardDrive className = "h-6 w-6 text-blue-500" / > }
features = { [
"User-friendly web interface" ,
"Extensive app ecosystem" ,
"File sharing and synchronization" ,
"Media streaming capabilities" ,
] }
technicalDetails = { [
"Base OS: Linux (Custom)" ,
"File Systems: Btrfs, ext4" ,
"Virtualization: Yes (Docker)" ,
"Hardware Requirements: Moderate" ,
] }
href = "/docs/virtual-machines/system-nas/synology"
/ >
< NASSystemItem
name = "TrueNAS SCALE"
description = "TrueNAS SCALE is a Linux-based version of TrueNAS that combines the simplicity of TrueNAS with the scalability of Linux, including support for containerization and hyperconvergence."
icon = { < Database className = "h-6 w-6 text-blue-500" / > }
features = { [
"Linux-based (Debian)" ,
"Docker container support" ,
"Kubernetes integration" ,
"Scale-out clustering capabilities" ,
] }
technicalDetails = { [
"Base OS: Debian Linux" ,
"File System: ZFS" ,
"Virtualization: Yes (KVM)" ,
"Hardware Requirements: High" ,
] }
href = "/docs/create-vm/system-nas/system-nas-others"
/ >
< NASSystemItem
name = "TrueNAS CORE"
description = "TrueNAS CORE (formerly FreeNAS) is a FreeBSD-based open-source NAS operating system that provides file and object storage with enterprise-grade reliability."
icon = { < Database className = "h-6 w-6 text-blue-500" / > }
features = { [ "FreeBSD-based" , "ZFS file system" , "Snapshots and replication" , "Encryption" ] }
technicalDetails = { [
"Base OS: FreeBSD" ,
"File System: ZFS" ,
"Virtualization: Yes (Jails)" ,
"Hardware Requirements: Moderate to High" ,
] }
href = "/docs/create-vm/system-nas/system-nas-others"
/ >
< NASSystemItem
name = "OpenMediaVault"
description = "OpenMediaVault (OMV) is a Debian-based NAS solution with a lightweight web interface designed for small home offices and personal use."
icon = { < Server className = "h-6 w-6 text-blue-500" / > }
features = { [
"Modular plugin architecture" ,
"Multiple filesystem support" ,
"Docker support via plugins" ,
"Low resource requirements" ,
] }
technicalDetails = { [
"Base OS: Debian Linux" ,
"File Systems: ext4, XFS, Btrfs" ,
"Virtualization: Yes (via plugins)" ,
"Hardware Requirements: Low" ,
] }
href = "/docs/create-vm/system-nas/system-nas-others"
/ >
< NASSystemItem
name = "Rockstor"
description = "Rockstor is a Linux-based NAS solution built on CentOS with the BTRFS file system, offering advanced storage features with a user-friendly interface."
icon = { < HardDrive className = "h-6 w-6 text-blue-500" / > }
features = { [
"BTRFS file system" ,
"Web-based UI" ,
"Docker-based app framework (Rock-ons)" ,
"Snapshots and replication" ,
] }
technicalDetails = { [
"Base OS: openSUSE based" ,
"File System: Btrfs" ,
"Virtualization: Yes (Docker)" ,
"Hardware Requirements: Moderate" ,
] }
href = "/docs/create-vm/system-nas/system-nas-others"
/ >
< NASSystemItem
name = "ZimaOS"
description = "ZimaOS is a lightweight, customizable NAS operating system designed for simplicity and performance, with a focus on media streaming and home automation."
2025-05-17 23:22:56 +02:00
icon = { < Monitor className = "h-6 w-6 text-blue-500" / > }
2025-05-17 23:16:23 +02:00
features = { [
"Low resource footprint" ,
"Docker support" ,
"Media streaming optimization" ,
"Home automation integration" ,
] }
technicalDetails = { [
"Base OS: ROGGER proxmox-zimaos" ,
"File Systems: ext4, XFS" ,
"Virtualization: Yes (Docker)" ,
"Hardware Requirements: Low" ,
] }
isExternal = { true }
externalUrl = "https://www.zimaspace.com/docs/zimaos/"
/ >
< / div >
< div className = "mt-12 p-6 bg-gray-50 rounded-lg border border-gray-200" >
< h2 className = "text-xl font-bold mb-4 text-black" > About NAS Virtual Machines < / h2 >
< div className = "space-y-4" >
< p className = "text-black" >
Network Attached Storage ( NAS ) systems provide file - level data storage services to other devices on the
network . Running NAS software in a virtual machine on Proxmox VE allows you to leverage the reliability and
management features of Proxmox while providing flexible storage solutions .
< / p >
< p className = "text-black" >
ProxMenux simplifies the creation of NAS virtual machines by automating the configuration process , including
network settings , storage allocation , and system optimization for each specific NAS platform .
< / p >
< / div >
< / div >
< / div >
)
}