I converted billandchad.com from a physical machine in my house to an online server at DigitalOcean. I’ve been wanting to try out Digital Ocean for hosting chadweisshaar.com, but haven’t made the switch because of the size of my photo galleries. billandchad.com hosts my NextCloud instance and the touch table game repository and it is less than 5GB. This means I can use the smallest Digital Ocean server which costs $5 per month. Running the server in my house was more expensive. I was paying $5 for a static IP (which probably wasn’t required, but did make it easier) and about $3 for electricity. Plus the cost of occasional hardware replacements.
Getting setup at Digital Ocean was easy. One of their preconfigured machine setups is a LAMP (Linux, Apache, MySql, PHP) server which is what NextCloud needs. I had to setup SSH keys, had to install a couple extra PHP packages, and make some apache configuration changes for NextCloud. Doing the NextCloud migration was a bit of a hassle, but that was a NextCloud issue.
Since setting up NextCloud, I’ve also built a stand-alone web app on this server. To do that I installed GIT and the SSH plugin for Visual Studio Code so that I could develop right on the Digital Ocean server, but also have source control and a backup on my home machine.
Everything has been pretty simple and convenient. Their monitoring tools are adequate for diagnosing performance issues and their billing is automatic. I do need to log in occasionally to do software updates, but I was having to do that for my local server anyway. Overall I’m pretty happy and will probably move chadweisshaar.com over to them eventually. I “just” need to re-write my gallery webpage to use AWS instead of storing the photos locally.
Not having a home linux server does have some downsides. For one, it was just cool to have part of the internet in my house. But I also used the server to run my own DHCP and DNS. I had an ad blocking DNS server for my phone and also allowed me to create some short urls (like tt.com) for friends to use to connect to the touch table. I miss both of these capabilities.