This commit is contained in:
MacRimi 2025-03-01 23:27:36 +01:00
parent acf4d0ec04
commit 0837c61ca5

View File

@ -1,7 +1,6 @@
import type { Metadata } from "next" import type { Metadata } from "next"
import { Settings } from 'lucide-react' import { Settings } from "lucide-react"
import CopyableCode from "@/components/CopyableCode" import CopyableCode from "@/components/CopyableCode"
import { Steps } from "@/components/ui/steps"
export const metadata: Metadata = { export const metadata: Metadata = {
title: "ProxMenux Post-Install: Basic Settings", title: "ProxMenux Post-Install: Basic Settings",
@ -31,8 +30,6 @@ export const metadata: Metadata = {
}, },
} }
export default function BasicSettingsPage() { export default function BasicSettingsPage() {
return ( return (
<div className="container mx-auto px-4 py-8"> <div className="container mx-auto px-4 py-8">
@ -47,110 +44,124 @@ export default function BasicSettingsPage() {
</p> </p>
<h2 className="text-2xl font-semibold mt-8 mb-4">Available Optimizations</h2> <h2 className="text-2xl font-semibold mt-8 mb-4">Available Optimizations</h2>
<Steps> <div className="space-y-12 my-8">
<Steps.Step title="Install Common System Utilities"> {/* Optimization 1 */}
<p>This optimization installs a set of common system utilities that are useful for system administration and troubleshooting.</p> <div className="relative">
</Steps.Step> <div className="flex items-start">
<div className="flex-shrink-0 flex flex-col items-center mr-4">
<div className="rounded-full bg-blue-500 text-white w-10 h-10 flex items-center justify-center font-bold text-lg">
1
</div>
<div className="h-full w-0.5 bg-blue-200 mt-2"></div>
</div>
<div className="flex-grow">
<h3 className="text-xl font-semibold mb-4">Install Common System Utilities</h3>
<section className="mb-8">
<p className="mb-4">
This optimization installs a set of common system utilities that are useful for system administration
and troubleshooting.
</p>
<p className="mb-4"> <p className="mb-4">
<strong>Why it's beneficial:</strong> Having these utilities pre-installed saves time when managing your <strong>Why it's beneficial:</strong> Having these utilities pre-installed saves time when managing
Proxmox VE system. They provide essential tools for monitoring system performance, managing files, and your Proxmox VE system. They provide essential tools for monitoring system performance, managing
troubleshooting issues, enhancing your ability to maintain and optimize your virtualization environment. files, and troubleshooting issues, enhancing your ability to maintain and optimize your virtualization
</p> environment.
<h4 className="text-lg font-semibold mb-2">Utilities installed:</h4> </p>
<ul className="list-disc pl-5 mb-4"> <h4 className="text-lg font-semibold mb-2">Utilities installed:</h4>
<li> <ul className="list-disc pl-5 mb-4">
<strong>axel</strong>: A light command-line download accelerator <li>
</li> <strong>axel</strong>: A light command-line download accelerator
<li> </li>
<strong>curl</strong>: A tool for transferring data using various protocols <li>
</li> <strong>curl</strong>: A tool for transferring data using various protocols
<li> </li>
<strong>dialog</strong>: A tool for creating TUI interfaces <li>
</li> <strong>dialog</strong>: A tool for creating TUI interfaces
<li> </li>
<strong>dnsutils</strong>: DNS utilities including dig and nslookup <li>
</li> <strong>dnsutils</strong>: DNS utilities including dig and nslookup
<li> </li>
<strong>dos2unix</strong>: Text file format converter <li>
</li> <strong>dos2unix</strong>: Text file format converter
<li> </li>
<strong>gnupg-agent</strong>: GNU privacy guard - password agent <li>
</li> <strong>gnupg-agent</strong>: GNU privacy guard - password agent
<li> </li>
<strong>grc</strong>: Generic colouriser for everything <li>
</li> <strong>grc</strong>: Generic colouriser for everything
<li> </li>
<strong>htop</strong>: An interactive process viewer <li>
</li> <strong>htop</strong>: An interactive process viewer
<li> </li>
<strong>btop</strong>: A resource monitor that shows usage and stats for processor, memory, disks, <li>
network and processes <strong>btop</strong>: A resource monitor that shows usage and stats for processor, memory, disks,
</li> network and processes
<li> </li>
<strong>iftop</strong>: A tool to display bandwidth usage on an interface <li>
</li> <strong>iftop</strong>: A tool to display bandwidth usage on an interface
<li> </li>
<strong>iotop</strong>: A tool to display I/O usage by processes <li>
</li> <strong>iotop</strong>: A tool to display I/O usage by processes
<li> </li>
<strong>iperf3</strong>: A tool for active measurements of the maximum achievable bandwidth on IP <li>
networks <strong>iperf3</strong>: A tool for active measurements of the maximum achievable bandwidth on IP
</li> networks
<li> </li>
<strong>ipset</strong>: A tool to manage IP sets in the Linux kernel <li>
</li> <strong>ipset</strong>: A tool to manage IP sets in the Linux kernel
<li> </li>
<strong>iptraf-ng</strong>: An interactive colorful IP LAN monitor <li>
</li> <strong>iptraf-ng</strong>: An interactive colorful IP LAN monitor
<li> </li>
<strong>mlocate</strong>: A tool to find files by name quickly <li>
</li> <strong>mlocate</strong>: A tool to find files by name quickly
<li> </li>
<strong>msr-tools</strong>: Tools for accessing CPU model-specific registers <li>
</li> <strong>msr-tools</strong>: Tools for accessing CPU model-specific registers
<li> </li>
<strong>nano</strong>: A small, friendly text editor <li>
</li> <strong>nano</strong>: A small, friendly text editor
<li> </li>
<strong>net-tools</strong>: A collection of programs that form the base set of the NET-3 networking <li>
distribution for the Linux operating system <strong>net-tools</strong>: A collection of programs that form the base set of the NET-3 networking
</li> distribution for the Linux operating system
<li> </li>
<strong>omping</strong>: An open multicast ping tool <li>
</li> <strong>omping</strong>: An open multicast ping tool
<li> </li>
<strong>software-properties-common</strong>: Provides an abstraction of the used apt repositories <li>
</li> <strong>software-properties-common</strong>: Provides an abstraction of the used apt repositories
<li> </li>
<strong>sshpass</strong>: A tool for non-interactive ssh password authentication <li>
</li> <strong>sshpass</strong>: A tool for non-interactive ssh password authentication
<li> </li>
<strong>tmux</strong>: A terminal multiplexer <li>
</li> <strong>tmux</strong>: A terminal multiplexer
<li> </li>
<strong>unzip</strong>: A tool for extracting and viewing files in .zip archives <li>
</li> <strong>unzip</strong>: A tool for extracting and viewing files in .zip archives
<li> </li>
<strong>vim</strong> and <strong>vim-nox</strong>: A highly configurable text editor <li>
</li> <strong>vim</strong> and <strong>vim-nox</strong>: A highly configurable text editor
<li> </li>
<strong>wget</strong>: A utility for non-interactive download of files from the Web <li>
</li> <strong>wget</strong>: A utility for non-interactive download of files from the Web
<li> </li>
<strong>whois</strong>: A client for the whois directory service <li>
</li> <strong>whois</strong>: A client for the whois directory service
<li> </li>
<strong>zip</strong>: A compression and file packaging utility <li>
</li> <strong>zip</strong>: A compression and file packaging utility
<li> </li>
<strong>libguestfs-tools</strong>: A set of tools for accessing and modifying virtual machine disk <li>
images <strong>libguestfs-tools</strong>: A set of tools for accessing and modifying virtual machine disk
</li> images
</ul> </li>
<h4 className="text-lg font-semibold mb-2">To apply this optimization manually, run:</h4> </ul>
<CopyableCode <h4 className="text-lg font-semibold mb-2">To apply this optimization manually, run:</h4>
code={` <CopyableCode
code={`
# Update package lists # Update package lists
sudo apt-get update sudo apt-get update
@ -159,63 +170,106 @@ sudo apt-get install -y axel curl dialog dnsutils dos2unix gnupg-agent grc htop
sudo apt-get install -y iperf3 ipset iptraf-ng mlocate msr-tools nano net-tools omping sudo apt-get install -y iperf3 ipset iptraf-ng mlocate msr-tools nano net-tools omping
sudo apt-get install -y software-properties-common sshpass tmux unzip vim vim-nox wget whois zip sudo apt-get install -y software-properties-common sshpass tmux unzip vim vim-nox wget whois zip
sudo apt-get install -y libguestfs-tools sudo apt-get install -y libguestfs-tools
`} `}
/> />
</section>
</div>
</div>
</div>
{/* Optimization 2 */}
<div className="relative">
<Steps.Step title="Skip Downloading Additional Languages"> <div className="flex items-start">
<p>This optimization configures APT to skip downloading additional language packages, which can save disk space and speed up package operations.</p> <div className="flex-shrink-0 flex flex-col items-center mr-4">
</Steps.Step> <div className="rounded-full bg-blue-500 text-white w-10 h-10 flex items-center justify-center font-bold text-lg">
2
<p className="mb-4"> </div>
<strong>Why it's beneficial:</strong> By skipping unnecessary language packages, you can reduce disk usage <div className="h-full w-0.5 bg-blue-200 mt-2"></div>
and improve the speed of package management operations. This is particularly useful in server environments </div>
where multiple language support is often not required. <div className="flex-grow">
</p> <h3 className="text-xl font-semibold mb-4">Skip Downloading Additional Languages</h3>
<h4 className="text-lg font-semibold mb-2">To apply this optimization manually, run:</h4> <section className="mb-8">
<CopyableCode <p className="mb-4">
code={` This optimization configures APT to skip downloading additional language packages, which can save disk
space and speed up package operations.
</p>
<p className="mb-4">
<strong>Why it's beneficial:</strong> By skipping unnecessary language packages, you can reduce disk
usage and improve the speed of package management operations. This is particularly useful in server
environments where multiple language support is often not required.
</p>
<h4 className="text-lg font-semibold mb-2">To apply this optimization manually, run:</h4>
<CopyableCode
code={`
# Configure APT to skip downloading additional languages # Configure APT to skip downloading additional languages
echo 'Acquire::Languages "none";' | sudo tee /etc/apt/apt.conf.d/99-disable-translations echo 'Acquire::Languages "none";' | sudo tee /etc/apt/apt.conf.d/99-disable-translations
`} `}
/> />
</section>
</div>
</div>
</div>
{/* Optimization 3 */}
<div className="relative">
<Steps.Step title="Synchronize Time Automatically"> <div className="flex items-start">
<p>This optimization configures the system to automatically synchronize its time, ensuring accurate timekeeping.</p> <div className="flex-shrink-0 flex flex-col items-center mr-4">
</Steps.Step> <div className="rounded-full bg-blue-500 text-white w-10 h-10 flex items-center justify-center font-bold text-lg">
3
<p className="mb-4"> </div>
<strong>Why it's beneficial:</strong> Accurate timekeeping is crucial for many system operations, log <div className="h-full w-0.5 bg-blue-200 mt-2"></div>
consistency, and proper functioning of time-sensitive applications. Automatic synchronization ensures your </div>
Proxmox VE system maintains the correct time without manual intervention. <div className="flex-grow">
</p> <h3 className="text-xl font-semibold mb-4">Synchronize Time Automatically</h3>
<h4 className="text-lg font-semibold mb-2">To apply this optimization manually, run:</h4> <section className="mb-8">
<CopyableCode <p className="mb-4">
code={` This optimization configures the system to automatically synchronize its time, ensuring accurate
timekeeping.
</p>
<p className="mb-4">
<strong>Why it's beneficial:</strong> 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.
</p>
<h4 className="text-lg font-semibold mb-2">To apply this optimization manually, run:</h4>
<CopyableCode
code={`
# Note: To set timezone automatically based on IP, you can use: # Note: To set timezone automatically based on IP, you can use:
IP=$(dig +short myip.opendns.com @resolver1.opendns.com) IP=$(dig +short myip.opendns.com @resolver1.opendns.com)
TIMEZONE=$(curl -s "https://ipapi.co/$IP/timezone") TIMEZONE=$(curl -s "https://ipapi.co/$IP/timezone")
sudo timedatectl set-timezone "$TIMEZONE" sudo timedatectl set-timezone "$TIMEZONE"
`} `}
/> />
</section>
</div>
</div>
</div>
{/* Optimization 4 */}
<div className="relative">
<Steps.Step title="Update and Upgrade System"> <div className="flex items-start">
<p>This optimization updates the system's package lists, upgrades installed packages, and configures Proxmox repositories.</p> <div className="flex-shrink-0 flex flex-col items-center mr-4">
</Steps.Step> <div className="rounded-full bg-blue-500 text-white w-10 h-10 flex items-center justify-center font-bold text-lg">
4
<p className="mb-4"> </div>
<strong>Why it's beneficial:</strong> Keeping your system up-to-date is essential for security, stability, </div>
and performance. This optimization ensures you have the latest patches and features, while also <div className="flex-grow">
configuring the correct repositories for Proxmox VE, enabling access to necessary updates and tools. <h3 className="text-xl font-semibold mb-4">Update and Upgrade System</h3>
</p> <section className="mb-8">
<h4 className="text-lg font-semibold mb-2">To apply this optimization manually, run:</h4> <p className="mb-4">
<CopyableCode This optimization updates the system's package lists, upgrades installed packages, and configures
code={` Proxmox repositories. It also includes additional steps to properly set up Debian repositories and
disable certain warnings.
</p>
<p className="mb-4">
<strong>Why it's beneficial:</strong> Keeping your system up-to-date is essential for security,
stability, and performance. This optimization ensures you have the latest patches and features, while
also configuring the correct repositories for Proxmox VE, enabling access to necessary updates and
tools.
</p>
<h4 className="text-lg font-semibold mb-2">To apply this optimization manually, run:</h4>
<CopyableCode
code={`
# Disable enterprise Proxmox repository # Disable enterprise Proxmox repository
if [ -f /etc/apt/sources.list.d/pve-enterprise.list ]; then if [ -f /etc/apt/sources.list.d/pve-enterprise.list ]; then
sudo sed -i 's/^deb/#deb/g' /etc/apt/sources.list.d/pve-enterprise.list sudo sed -i 's/^deb/#deb/g' /etc/apt/sources.list.d/pve-enterprise.list
@ -251,11 +305,13 @@ pveam update
# Install additional packages # Install additional packages
sudo apt-get install -y zfsutils-linux proxmox-backup-restore-image chrony sudo apt-get install -y zfsutils-linux proxmox-backup-restore-image chrony
`} `}
/> />
</section>
</div>
</Steps> </div>
</div>
</div>
<section className="mt-12 p-4 bg-blue-100 rounded-md"> <section className="mt-12 p-4 bg-blue-100 rounded-md">
<h2 className="text-xl font-semibold mb-2">Automatic Application</h2> <h2 className="text-xl font-semibold mb-2">Automatic Application</h2>