diff --git a/web/app/docs/create-vm/synology/page.tsx b/web/app/docs/create-vm/synology/page.tsx index 699f6be..d415b2c 100644 --- a/web/app/docs/create-vm/synology/page.tsx +++ b/web/app/docs/create-vm/synology/page.tsx @@ -1,7 +1,19 @@ "use client" import Image from "next/image" -import { Wrench, Target, CheckCircle, Github } from "lucide-react" +import { + Wrench, + Target, + CheckCircle, + Github, + Server, + HardDrive, + Download, + Settings, + Cpu, + Zap, + Sliders, + } from "lucide-react" import { useState } from "react" export default function Page() { @@ -9,16 +21,18 @@ export default function Page() { return (
-

Create VM Synology DSM

+

ProxMenuX Synology VM Creator Script

-

Introduction

+

+ + Introduction +

- ProxMenux provides an automated script that creates and configures a VM to install Synology DSM (DiskStation - Manager). This script simplifies the process by downloading and adding one of the available loaders to the VM - boot, giving you the option between three different choices: + ProxMenux provides an automated script that creates and configures a virtual machine (VM) to install Synology + DSM (DiskStation Manager) on Proxmox VE. This script simplifies the process by downloading and adding one of + the available loaders to the VM boot, giving you the option between four different choices:

- -

- You also have the option to add a custom loader if you prefer to modify or create your own configuration. -

-

- All loaders are similar although each has its own structure and configuration methods. This guide describes - the 6 basic steps involved in setting up a Synology DSM loader. The exact steps may vary depending on the - loader and/or changes introduced by the developer, so understanding the basic steps similar in all of them - will help you know how to build the loader of your choice for the proper functioning of Synology DSM. -

+

The script simplifies the VM creation process by offering the following options:

+
    +
  • Selection of default or advanced configuration
  • +
  • Configuration of CPU, RAM, BIOS, and machine type
  • +
  • Choice between virtual disk or physical disk passthrough
  • +
  • Automatic VM startup and configuration for Synology DSM
  • +
+ +
+

+ + Default and Advanced Configuration +

+

The script offers two configuration modes:

+ +

+ + Default Configuration +

+

+ If you select default configuration, the script will automatically apply the following values: +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDefault Value
Machine Typeq35
BIOS TypeOVMF (UEFI)
CPU TypeHost
Core Count2
RAM Size4096 MB
Bridgevmbr0
MAC AddressAutomatically generated
Start VM on CompletionNo
+
+

+ If you want to customize the configuration, select the Advanced Settings option in the menu. +

+ +

+ + Advanced Configuration +

+

+ If you select advanced configuration, the script will allow you to customize each parameter: +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterOptions
Machine Typeq35 or i440fx
BIOS TypeOVMF (UEFI) or SeaBIOS (Legacy)
CPU TypeHost or KVM64
Core CountNumber of CPU cores
RAM SizeAmount of memory allocated to the VM
BridgeNetwork bridge for connection
MAC AddressCustom MAC address
VLANVLAN tag (if used)
MTUMaximum Transmission Unit size
+
+
+ +
+

+ + Disk Selection +

+

+ Once the machine is configured, the script allows you to choose between two types of disks: +

+ +

Virtual Disk

+
    +
  • The script lists the storage options available in Proxmox
  • +
  • The user selects the disk type and size in GB
  • +
  • + The script automatically assigns the disk to the VM if more disks are added (e.g., sata0, sata1, etc.) +
  • +
+ +

Physical Disk Passthrough

+
    +
  • The script detects all available physical disks (not mounted on the system)
  • +
  • The user selects the physical disk they want to use
  • +
  • The physical disk is directly assigned to the VM via passthrough
  • +
+
+ +
+

+ + Loader Installation +

+

The script automatically downloads the loader from the developer's repository:

+
    +
  • + AuxXxilium Arc: Automatically downloaded and extracted. If the download fails, the script + will display an error message. +
  • +
  • + RedPill rr: Automatically downloaded and extracted. If the download fails, the script + will display an error message. +
  • +
  • + TinyCore RedPill M-shell: Automatically downloaded and extracted. If the download fails, + the script will display an error message. +
  • +
  • + Custom Loader: The script looks for compatible files in /var/lib/vz/template/iso. If + there are multiple files, the user must select the desired file. +
  • +
+
+ +
+

+ + VM Creation +

+

Once the loader is downloaded, the script creates the VM using the following commands:

+
    +
  • + qm create – Creates the virtual machine with the configured parameters +
  • +
  • + qm importdisk – Imports the loader file to the VM. For greater compatibility and to prevent + loaders from adding the boot to DSM, the loader is imported as an IDE disk +
  • +
  • + qm set – Assigns configuration values such as CPU, RAM, and storage +
  • +
  • + qm set -boot – Configures the boot order +
  • +
+
-

+

- Step-by-Step Guide + Step-by-Step Boot Loader Configuration Guide

-

- This guide will walk you through the process of configuring the loader. Select your - loader type below to see the steps for that loader. +

+ While all loaders share similarities, each one has its own structure and configuration methods. + This section provides a basic guide covering the 6 steps involved in setting up a Synology DSM loader. + The exact steps may vary depending on the loader and any changes introduced by the developer. + Therefore, understanding these common basic steps is crucial to correctly building and configuring + the loader of your choice for proper Synology DSM functionality.

+ {/* Selector de loader global */} -
+

Select your loader type:

- {/* STARTING DSM INSTALLATION */} + + {/* STARTING DSM INSTALLATION */}

@@ -592,6 +765,9 @@ export default function Page() { ) } + + + function ImageWithCaption({ src, alt, caption }: { src: string; alt: string; caption: string }) { return (