Add proxmox-install.sh
This commit is contained in:
parent
cf21d608f1
commit
46cf723aea
1 changed files with 94 additions and 0 deletions
94
proxmox-install.sh
Normal file
94
proxmox-install.sh
Normal file
|
@ -0,0 +1,94 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Proxmox 8 Installation Script for Raspberry Pi 4B
|
||||
# This script should be run as root after installing Raspberry Pi OS 64-bit
|
||||
|
||||
# Exit on any error
|
||||
set -e
|
||||
|
||||
# Function to print messages
|
||||
print_message() {
|
||||
echo "============================================"
|
||||
echo "$1"
|
||||
echo "============================================"
|
||||
}
|
||||
|
||||
# Check if running as root
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo "Please run as root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Install required tools
|
||||
print_message "Installing required tools..."
|
||||
apt install -y neofetch tmux
|
||||
|
||||
# Update system
|
||||
print_message "Updating system packages..."
|
||||
apt update && apt upgrade -y
|
||||
|
||||
# Backup sources files
|
||||
print_message "Backing up and updating sources files..."
|
||||
cp /etc/apt/sources.list /etc/apt/sources.list.bck
|
||||
cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bck
|
||||
|
||||
# Update to Bookworm
|
||||
print_message "Updating sources to Bookworm..."
|
||||
sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list
|
||||
sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list.d/raspi.list
|
||||
sed -i -e 's/non-free/non-free-firmware/g' /etc/apt/sources.list
|
||||
|
||||
# Perform distribution upgrade
|
||||
print_message "Performing distribution upgrade to Bookworm..."
|
||||
apt update
|
||||
DEBIAN_FRONTEND=noninteractive apt dist-upgrade -y
|
||||
|
||||
# Install ifupdown2
|
||||
print_message "Installing ifupdown2..."
|
||||
apt install -y ifupdown2
|
||||
|
||||
# Add Proxmox repository key
|
||||
print_message "Adding Proxmox repository..."
|
||||
curl https://mirrors.apqa.cn/proxmox/debian/pveport.gpg -o /etc/apt/trusted.gpg.d/pveport.gpg
|
||||
|
||||
# Add Proxmox repository
|
||||
echo "deb https://global.mirrors.apqa.cn/proxmox/debian/pve bookworm port" > /etc/apt/sources.list.d/pveport.list
|
||||
|
||||
# Update package lists
|
||||
apt update
|
||||
|
||||
# Install Proxmox packages
|
||||
print_message "Installing Proxmox packages..."
|
||||
DEBIAN_FRONTEND=noninteractive apt install -y proxmox-ve postfix open-iscsi
|
||||
|
||||
# Update cmdline.txt for proper cgroup support
|
||||
print_message "Updating cmdline.txt for cgroup support..."
|
||||
if ! grep -q "cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory" /boot/cmdline.txt; then
|
||||
sed -i '$ s/$/ cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory/' /boot/cmdline.txt
|
||||
fi
|
||||
|
||||
# Install dark theme
|
||||
print_message "Installing PVE Discord Dark theme..."
|
||||
bash <(curl -s https://raw.githubusercontent.com/Weilbyte/PVEDiscordDark/master/PVEDiscordDark.sh) install
|
||||
|
||||
# Disable subscription popup
|
||||
print_message "Disabling subscription popup..."
|
||||
sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\({ \/\/\1/g" \
|
||||
/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
|
||||
systemctl restart pveproxy.service
|
||||
|
||||
# Configure swap
|
||||
print_message "Configuring swap..."
|
||||
echo "CONF_SWAPSIZE=1024" > /etc/dphys-swapfile
|
||||
|
||||
# Final message
|
||||
print_message "Installation complete! Please reboot your system."
|
||||
print_message "After reboot, access the web interface at https://your-ip:8006"
|
||||
print_message "Default credentials: root / your-root-password"
|
||||
|
||||
# Prompt for reboot
|
||||
read -p "Would you like to reboot now? (y/n) " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
reboot
|
||||
fi
|
Loading…
Reference in a new issue