## The Problem
I was traveling and had a light bulb moment where I rewrote a lot of stuff for work. The problem? I didn't have Proxmox available outside of my homelab. Yes, I use Tailscale but I never setup on my Proxmox server and honestly I don't want to have that available like that ya know.
## Solution
I decided I'm going to put Proxmox on Digital Ocean. Now while I was wondering if this was possible I saw post asking why do nested virtualization. Because I want a travel server. How you solve this problem is your own business. I also figured out during this that I want to seriously deploy gitlab and a runner. I can build all these droplets and turn them on and off as I needed. I'll take this moment to say tagging is your friend, will always be your friend, and you should lean on them whenever you can.
## Proxmox Install
So let's step by step this in my way. The install reference can be found [here](https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_12_Bookworm), but I'm going to tailor this for my Digital Ocean droplet. I'm going to assume you have already deployed a droplet with debian 12 to save some time.
### Pre-step
Before doing anything else update your `/etc/hosts` file. There is a line that reads `127.0.1.1 blah blah`. Make sure to change `127.0.1.1` to the ip address of your droplet. What I like to do is open `/etc/hosts` in vim and use y-y-p on the line I want to change. That command allows me to make a copy of the line in case something goes wrong. I then comment out 1/2 lines and update the ip.
One of my biggest linux lessons is to always dump a copy of things you are going to change. From whole directories to a single file. Make sure you can revert.
### The Good Stuff
```bash
sudo apt update
sudo apt upgrade -y
echo "deb [arch=amd64] [http://download.proxmox.com/debian/pve](http://download.proxmox.com/debian/pve) bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
wget [https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg](https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg) -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
sha512sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
apt update && apt full-upgrade
apt install proxmox-default-kernel
systemctl reboot
apt install proxmox-ve postfix open-iscsi chrony
apt remove linux-image-amd64 'linux-image-6.1*'
update-grub
apt remove os-prober
passwd
```
After all those commands are ran update your firewall for the following:
```text
Incoming:
ssh - 22
http - 80
http - 443
custom - tcp 8006
Outgoing:
all tcp ports
all udp ports
```
Now you can go to https://<ip\>:8006 and do what you need to do.
### Troubleshooting
Make sure to check that the cluster, daemon, and proxy is running if going to the url doesn't work.
`systemctl status pve-cluster` , `systemctl status pvedaemon`, `systemctl status pveproxy`
When pveproxy wasn't generating certs and I figured out that I needed to add more cpu and ram (because that's always the problem). Even after this fix I had problems getting to the url. I discovered it's because I didn't do the `/etc/hosts` pre-step correctly. No worries though. I wrote it better above.
## What about Gitlab and the runner?
I haven't got there yet but those are pretty easy for me since I've done for work. If you want me to write out those steps bother me and I'll do it. The Gitlab tools aren't as important to me as Proxmox because I can run everything locally. Gitlab becomes important when I want to test a specific automation. Automation is the easiest portion for me to write though so like I always say, "manual first and then automate".
## Back to Proxmox..is the iso install better than this way?
I think so. Iso's are just clean and this cli way can be kinda sticky. I wasn't overly happy with all the kernel changes because I wasn't sure I knew what was really going on. I feel way more comfortable when I just set the kernel details from jump.
Nothing wrong with also trying both ways for your own knowledge. I don't think most people use this cli version though, so maybe understanding what you are gaining or giving up can help in the future of your career.