Servers¶
I have three server nodes in my homelab and they all run Proxmox. Some of the notes I took when setting up my first Proxmox host are still quite useful to me so I'm leaving them here since I don't know where else to put them. They are based on the excellent tutorial from Alex Kretzschmar for his "Perfect Media Server".
Proxmox¶
Download the Proxmox iso and verify the checksum:
Flash it to a USB drive and then boot from it. During the setup process, you'll be asked to specify several things like the hostname, IP address, and an email address. The hostname is just something for proxmox to use internally. I usually go with something like my-server-name.local since it does require a full FDQN name.
Run the Proxmox VE Helper Script to disable the subscription nag as well as enterprise features like HA and Ceph. I usually disable the "enterprise" and "test" repos, and then enable the "no-subscription" repo. If you leave the enterprise repo enabled, you may run into issues when updating packages.
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pve-install.sh)"
Now is a good time to install sudo, vim, and curl.
Give yourself a username and password:
Put yourself in the sudo group and give yourself some special proxmox permissions:
usermod -aG sudo dominic
pveum useradd dominic@pve -comment "New Admin User"
pveum aclmod / -user dominic@pve -role Administrator
Optional: Transfer SSH key
You likely already have an ssh key on your personal computer. If you're on a Mac, you can run the following commands from your Mac's terminal so that you can log into your server without a password:
Docker¶
I've been running my Docker containers directly on the Proxmox host for a while and have never had any issues. I know it would be better to run Docker inside an LXC container (lightweight, OS-level virtualization) but it's more complicated and most of the time I just don't give a fuck. It would be nice for backups though.
Install docker:
Check your user's uid and gid as well as the groups they are in:
Add your user to the docker group so that you can run docker commands without being root:
Note
You'll have to log out and log back in for those changes to take effect.