This blog as well as git.deck.sh are entirely self-hosted. All of my webapps and services are virtualized. WordPress and gitea are in LXC containers, some apps are in docker containers inside LXC containers, and some are in VMs. All of this is managed in Proxmox.
All of this was setup during the COVID-19 pandemic, and I didn’t know a whole lot about networking and Proxmox before this. I have VMs and containers for just about everything; my OPNsense router is virtualized with PCIe passthrough of a 4-port intel NIC, my DNS servers with pi-Hole, and I also have a workstation VM which has PCIe passthrough of my RX Vega GPU, 32GB of ram, and access to half of the cores of my main server’s Ryzen 9 3950x.
The node labelled “fuzzy” is my more important server, it’s the one actually running my public sites, router, and mail server, and some other high-importance software for the house. The node is rarely rebooted, is relatively low power (160w Pico PSU at max, usually less than 100w) and it has a custom 3D printed case.
The Proxmox datacenter also runs other software, such as a NAS, media server, backup server, photo library, public file storage, and more.
All of the web based stuff are reverse proxied through nginx (which is also in a container). I have a wildcard let’s encrypt certificate automatically renewed using the Cloudflare API for the DNS record challenges. However you’ll notice that here on the blog the cert is signed by Cloudflare, and that’s because they have an additional layer of proxy with DDOS protection and more. But gitea and most of my private services are direct to my server so there you will see the let’s encrypt cert.
In terms of backups, everything with exception of the windows workstation VM (the over 1 TB of data is just too annoying to deal with, and everything important is on the NAS or another backed up service) is backed up encrypted to the NAS weekly, and then the NAS backup data is synced to a remote VPS ($6 a month for the VPS + 512gb block storage) on the other side of the country. While I do have gigabit internet, it’s not symmetric, so upload speed is only 25 Mbps which really limits what I can do. At least I am using Proxmox backup server which takes incremental backups, so it’s not like I am uploading hundreds of gigabytes each week – it’s only what has changed since the previous week.
I am continuing to expand, when my parents purchased their new house recently, the previous owners ran the place as a business and left a Supermicro rackmounted server, among other things. Once I have finished migrating the security camera software from that machine, I will replace its Windows 10 Pro installation (eek) with Proxmox and add it to the cluster.