From b34390343f1b338a180fd66b9fb96632fd636e43 Mon Sep 17 00:00:00 2001 From: MacRimi Date: Sat, 1 Mar 2025 19:29:41 +0100 Subject: [PATCH] Update --- .../docs/post-install/basic-settings/page.tsx | 12 +- web/app/docs/post-install/system/page.tsx | 366 +++++++++++++++++- 2 files changed, 349 insertions(+), 29 deletions(-) diff --git a/web/app/docs/post-install/basic-settings/page.tsx b/web/app/docs/post-install/basic-settings/page.tsx index a56025b..5d9abca 100644 --- a/web/app/docs/post-install/basic-settings/page.tsx +++ b/web/app/docs/post-install/basic-settings/page.tsx @@ -49,16 +49,10 @@ echo 'Acquire::Languages "none";' | sudo tee /etc/apt/apt.conf.d/99-disable-tran ` const timeSyncCode = ` -# Set timezone (replace 'America/New_York' with your timezone) -sudo timedatectl set-timezone America/New_York - -# Enable automatic time synchronization -sudo timedatectl set-ntp true - # Note: To set timezone automatically based on IP, you can use: -# IP=$(dig +short myip.opendns.com @resolver1.opendns.com) -# TIMEZONE=$(curl -s "https://ipapi.co/$IP/timezone") -# sudo timedatectl set-timezone "$TIMEZONE" +IP=$(dig +short myip.opendns.com @resolver1.opendns.com) +TIMEZONE=$(curl -s "https://ipapi.co/$IP/timezone") +sudo timedatectl set-timezone "$TIMEZONE" ` const updateUpgradeCode = ` diff --git a/web/app/docs/post-install/system/page.tsx b/web/app/docs/post-install/system/page.tsx index 6385004..33ae2e8 100644 --- a/web/app/docs/post-install/system/page.tsx +++ b/web/app/docs/post-install/system/page.tsx @@ -1,14 +1,224 @@ import type { Metadata } from "next" import { Server } from "lucide-react" +import CopyableCode from "@/components/CopyableCode" export const metadata: Metadata = { title: "ProxMenux Post-Install: System Settings", description: "Detailed guide to the System Settings category in the ProxMenux post-install script for Proxmox VE optimization.", - // ... (rest of the metadata remains the same) + openGraph: { + title: "ProxMenux Post-Install: System Settings", + description: + "Detailed guide to the System Settings category in the ProxMenux post-install script for Proxmox VE optimization.", + type: "article", + url: "https://macrimi.github.io/ProxMenux/docs/post-install/system", + images: [ + { + url: "https://macrimi.github.io/ProxMenux/system-settings-image.png", + width: 1200, + height: 630, + alt: "ProxMenux Post-Install System Settings", + }, + ], + }, + twitter: { + card: "summary_large_image", + title: "ProxMenux Post-Install: System Settings", + description: + "Detailed guide to the System Settings category in the ProxMenux post-install script for Proxmox VE optimization.", + images: ["https://macrimi.github.io/ProxMenux/system-settings-image.png"], + }, } export default function SystemSettingsPage() { + const fastRebootCode = ` +# Install kexec-tools +sudo apt-get install -y kexec-tools + +# Create kexec-pve service file +sudo tee /etc/systemd/system/kexec-pve.service > /dev/null <> ~/.bash_profile + ` + + const kernelPanicCode = ` +# Create kernel panic configuration file +sudo tee /etc/sysctl.d/99-kernelpanic.conf > /dev/null < /dev/null < /dev/null < /dev/null < /dev/null <> ~/.profile + +# Configure swappiness +sudo tee /etc/sysctl.d/99-swap.conf > /dev/null < /dev/null < /dev/null < /dev/null < /dev/null <
@@ -17,26 +227,142 @@ export default function SystemSettingsPage() {

The System Settings category in the customizable_post_install.sh script focuses on core system configurations - and optimizations for your Proxmox VE installation. -

-

Available Optimizations

-
    -
  • - Kernel Parameters: Optimize kernel settings for improved performance and stability. -
  • -
  • - System Limits: Adjust system limits for better resource management. -
  • -
  • - Scheduled Tasks: Set up important system maintenance tasks. -
  • - {/* Add more list items for each optimization in this category */} -
-

Usage

-

- When running the customizable_post_install.sh script, you'll be prompted to choose which System Settings - optimizations to apply. Select the ones that best suit your Proxmox VE environment and requirements. + and optimizations for your Proxmox VE installation. These settings are crucial for improving system performance, + stability, and resource management.

+ +

Available Optimizations

+ +
+

1. Enable Fast Reboots

+

+ This optimization configures kexec for quick reboots, significantly reducing the time needed for system + restarts. +

+

+ Why it's beneficial: Fast reboots are crucial in a virtualization environment where downtime + needs to be minimized. By using kexec, the system can skip the time-consuming hardware initialization process + during a reboot, resulting in much faster restart times. +

+

To apply this optimization manually, run these commands:

+ +
+ +
+

2. Configure Kernel Panic Behavior

+

+ This optimization sets up the system to automatically restart on kernel panic, improving system resilience and + uptime. +

+

+ Why it's beneficial: Automatic restarts on kernel panic help maintain system availability. + Instead of remaining in a crashed state, the system will attempt to recover by rebooting, potentially + resolving the issue without manual intervention. +

+

To apply this optimization manually, run these commands:

+ +
+ +
+

3. Ensure Entropy Pools are Populated

+

+ This optimization installs and configures haveged to ensure sufficient entropy, preventing potential slowdowns + in cryptographic operations. +

+

+ Why it's beneficial: Many cryptographic operations rely on a pool of random numbers. In + virtual environments, generating true randomness can be challenging, leading to potential bottlenecks. Haveged + helps maintain a healthy entropy pool, ensuring smooth operation of cryptographic tasks. +

+

To apply this optimization manually, run these commands:

+ +
+ +
+

4. Increase Various System Limits

+

+ This optimization increases various system limits to improve resource management and system performance. +

+

+ Why it's beneficial: Default system limits can be too restrictive for high-performance + virtualization environments. Increasing these limits allows for better utilization of system resources, + accommodating more concurrent operations and larger workloads without hitting artificial bottlenecks. +

+

To apply this optimization manually, run these commands:

+ +
+ +
+

5. Install Kernel Headers

+

This optimization installs the kernel headers for the current kernel version.

+

+ Why it's beneficial: Kernel headers are necessary for building kernel modules, which may be + required by certain software or drivers. Having them installed ensures that you can compile and use custom + kernel modules if needed, enhancing system flexibility and compatibility. +

+

To apply this optimization manually, run these commands:

+ +
+ +
+

6. Optimize Journald

+

This optimization configures journald for better performance and resource usage.

+

+ Why it's beneficial: Optimizing journald helps manage system logs more efficiently. By + limiting log sizes and adjusting logging levels, you can prevent logs from consuming excessive disk space + while still maintaining useful system information for troubleshooting. +

+

To apply this optimization manually, run these commands:

+ +
+ +
+

7. Optimize Logrotate

+

This optimization configures logrotate for better log management.

+

+ Why it's beneficial: Proper log rotation is crucial for managing disk space and maintaining + system performance. By compressing old logs and limiting their size, you prevent log files from growing + indefinitely and potentially filling up your disk. +

+

To apply this optimization manually, run these commands:

+ +
+ +
+

8. Optimize Memory Settings

+

+ This optimization adjusts various memory-related kernel parameters for better performance. +

+

+ Why it's beneficial: These memory optimizations can significantly improve system performance, + especially in virtualized environments. They help ensure that memory is used efficiently, reduce the + likelihood of out-of-memory errors, and improve the performance of memory-intensive applications. +

+

To apply this optimization manually, run these commands:

+ +
+
+

9. Synchronize Time Automatically

+

+ This optimization configures the system to automatically synchronize its time, ensuring accurate timekeeping. +

+

+ Why it's beneficial: Accurate timekeeping is crucial for many system operations, log + consistency, and proper functioning of time-sensitive applications. Automatic synchronization ensures your + Proxmox VE system maintains the correct time without manual intervention. +

+

To apply this optimization manually, run these commands:

+ +
+ +
+

Automatic Application

+

+ All of these optimizations are automatically applied when selected in the System section of the + customizable_post_install.sh script. This automation ensures that these beneficial settings are applied + consistently and correctly, saving time and reducing the potential for human error. +

+
) }