Last active
May 12, 2024 22:01
-
-
Save noahbliss/20573e515ed78d84fde3b286fa963396 to your computer and use it in GitHub Desktop.
Proxmox Setup for General Dev Use
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Swap to free repo | |
wget -qO- https://gitlab.com/shebang/bashengine/raw/master/root/proxmox/aptfix | bash | |
apt update | |
apt upgrade -y | |
apt dist-upgrade -y | |
# Remove Nag. (Needs to be done after most upgrades that impact pve-manager) | |
cat <<EOF > /etc/apt/apt.conf.d/80pvenagfix | |
//Removes PVE nagware. If you like a software, support the devs. | |
DPkg::Post-Invoke {"if [ -f /usr/share/perl5/PVE/API2/Subscription.pm ] && grep 'notfound' /usr/share/perl5/PVE/API2/Subscription.pm >/dev/null; then sed -i.bak 's/notfound/active/g' /usr/share/perl5/PVE/API2/Subscription.pm &>/dev/null && systemctl restart pveproxy.service; fi";}; | |
EOF | |
#Just once: | |
#sed -i.bak 's/NotFound/Active/g' /usr/share/perl5/PVE/API2/Subscription.pm && systemctl restart pveproxy.service | |
# Replace thin LVM with directory storage on an LVM volume. (Don't forget to rework the datacenter storage settings after this.) | |
lvremove pve/data | |
lvcreate -l +100%FREE -n data pve | |
mkfs.ext4 /dev/pve/data | |
echo "/dev/pve/data /var/lib/vz ext4 errors=remount-ro 0 1" >> /etc/fstab | |
mount -a | |
# Custom web interface logo (megaman) | |
wget https://gitlab.com/shebang/bashengine/-/raw/master/root/proxmox/proxmox_logo.png -O /usr/share/pve-manager/images/proxmox_logo-custom.png | |
mv /usr/share/pve-manager/images/proxmox_logo.png /usr/share/pve-manager/images/proxmox_logo-original.png | |
ln -s /usr/share/pve-manager/images/proxmox_logo-custom.png /usr/share/pve-manager/images/proxmox_logo.png | |
# Custom web interface logo (simon from gurren lagann) | |
wget https://gitlab.com/shebang/bashengine/-/raw/master/root/proxmox/simon_proxmox_logo.png -O /usr/share/pve-manager/images/proxmox_logo-custom.png | |
mv /usr/share/pve-manager/images/proxmox_logo.png /usr/share/pve-manager/images/proxmox_logo-original.png | |
ln -s /usr/share/pve-manager/images/proxmox_logo-custom.png /usr/share/pve-manager/images/proxmox_logo.png | |
# Protect from updates: | |
cat <<EOF > /etc/apt/apt.conf.d/81pvecustomlogo | |
//Preserves custom interface logo. | |
DPkg::Post-Invoke {"if [ -f /usr/share/pve-manager/images/proxmox_logo-custom.png ] && ! [ -h /usr/share/pve-manager/images/proxmox_logo.png ]; then echo 'Restoring custom logo...'; mv /usr/share/pve-manager/images/proxmox_logo.png /usr/share/pve-manager/images/proxmox_logo-original.png; ln -s /usr/share/pve-manager/images/proxmox_logo-custom.png /usr/share/pve-manager/images/proxmox_logo.png; fi";}; | |
EOF | |
# Install trusted certificates when proxmox is part of a freeipa domain. | |
hostname $(hostname -f) && hostname -f > /etc/hostname # Make sure we default to long hostnames. | |
cat <<'EOF' > /usr/local/sbin/ipa-pveproxyupdate.sh | |
#!/usr/bin/env bash | |
CERT_FILE=/etc/pki/tls/certs/$(hostname -f).pem | |
KEY_FILE=/etc/pki/tls/private/$(hostname -f).key | |
cat $CERT_FILE /etc/ipa/ca.crt > /etc/pve/local/pveproxy-ssl.pem | |
cat $KEY_FILE > /etc/pve/local/pveproxy-ssl.key | |
systemctl restart pveproxy | |
EOF | |
chmod +x /usr/local/sbin/ipa-pveproxyupdate.sh | |
CERT_FILE=/etc/pki/tls/certs/$(hostname --fqdn).pem; KEY_FILE=/etc/pki/tls/private/$(hostname --fqdn).key; \ | |
mkdir -p /etc/pki/tls/{certs,private}; \ | |
ipa-getcert request -f ${CERT_FILE} -k ${KEY_FILE} -C "/usr/local/sbin/ipa-pveproxyupdate.sh" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment