My website is one part of a personal project I have been working on for a while now. It is hosted on a Virtual Machine (VM) that is running in Proxmox. I have 2 servers in a Proxmox Hyper Visor Cluster, and another that is running TrueNas. The Proxmox servers run in a cluster where each server is a node on that cluster. This allows me to maintain a small degree of high availability. For instance, there is a VM running a Windows Domain Controller (DC) on each node. This allows me to perform maintenance on either server or experience hardware issues without interrupting service availability. I also run backups of VMs and Containers that get sent to the TrueNas that allow me to restore previous versions of VMs in case something breaks or is lost. If I wanted to increase redundancy I would have a secondary TrueNas server that would contain a copy of the data stored on the primary TrueNas server.
Within TrueNas the data is stored on a ZFS array of disks set up with a raid configuration that allows for one drive failure. The data on the TrueNas server is accessible over the network via an SMB share. Permissions for accessing the share are managed by Active Directory (AD) allowing services and users to connect to it and use the storage.
Another key aspect of the infrastructure I have set up is Nginx Proxy Manager. What this allows me to do is create subdomains with DNS A records that all point to my public IP that then point to different servers on my network. Nginx also managers SSL certificates for each subdomain so that the traffic is always secure no matter how many services I run and make available to me from the internet. npmoyer.com is what brought you to this website, but whoogle.npmoyer.com will bring you to a service hosted on a separate server.
Link to Github for the File Manager project. I started working on this because I wanted a file Manager that could upload to an FTP server on a regular basis. There are a lot of apps out there that can do that, but every one I have tried doesn't work how I like it or doesn't work at all. I will add a download for the app when it is in a working state. Currently it is something I just started working on.