This site is self hosted on Digital Ocean. There’s quite a few steps to get it to run properly, so on this page I share all the pertinent nerdy stuff related to it. Hopefully it’ll help you should you want to have your own website.
Digital Ocean – It costs $7.20/month (before tax) to run this website. It’s not managed hosting, but it’s secure and easy enough to learn. I’m using the smallest AMD premium droplet that they have for $6/month, and I’m paying an additional $1.20/month for automated backups.
OpenLiteSpeed WordPress – There’s a bunch of different ways to run WordPress. This particular setup is stable, fast, and has a built in caching plugin. If you’re using Digital Ocean, don’t even both with any other 1-click installations. This is THE one to get. Please note, you must increase the virtual memory via the command line to prevent memory issues. See notes below under miscellaneous.
Cloudflare – This is a must! It’s a free CDN that is the secret sauce that serves my website to the world. Without it, the performance of my website would be terrible since I’m using a small small and low resource VM at Digital Ocean. This reduces the load on my server and allows me to serve this site globally.
B2 Cloud Storage: Backblaze B2 storage is an affordable place to host large files that I don’t want using up my bandwidth. Their pricing model is easy to understand and relatively inexpensive compared to the competition. You can see their pricing here.
Akismet Anti-Spam: It’s free and blocks spammers. I haven’t had any issues with it at all.
Disable Generate Thumbnails: This is probably the most controversial section of this page. WordPress and themes generate a ridiculous amount of lower resolution images for everything from thumbnails to the media gallery to any and all images displayed on a web page. While this makes very good sense for reducing page load times, it has many disadvantages too:
- Lowers the quality fo the images displayed – horrible on a photography blog like this one.
- Creates thousands of images that are never used.
- Wastes tons of precious server space.
I optimize my own images using Lightroom. I want them displayed on this website in high resolution – even if that slows down the page. It’s a sacrifice that I’m willing to make in order to preserve quality. The thumbnails for image galleries are created with Justified Image Grid, so I have no need for WordPress to create tons of images automatically in addition to my preferred plugins. The only previews I want created are for the backend media library within WordPress. Here’s a screen shot of the options I have enabled/disabled within the plugin:
Justified Image Grid (JIG): This is the photo gallery plugin I use all over this site. It creates high quality thumbnails for galleries in its own cache separate from the default WordPress thumbnails – hence why I use the above referenced Disable Generate Thumbnails plugin. JIG has PhotoSwipe as an option (the best lightbox ever). One really awesome aspect of it, is that it’s a one time purchase of $27.
Presto Player: As of March 5th, 2021, I do not recommend this plugin. I’m using it for self hosted videos, but it’s not really necessary. Also, currently there are quite a few bugs. I purchased it during their soft release – early adopter sale. I’ve got lifetime support with it and can use it on a number of sites going forward. I hope it wasn’t a mistake as it has a lot of neat features. Stay tuned for updates…
Site Kit by Google: I mainly use this this to integrate with Google Analytics. Like many other plugins, it’s free and works.
WPvivid Backup Plugin: This is a free plugin that backs up my WordPress to Google Drive. I mainly use this for a secondary backup – just in case something happens with Digital Ocean or my installation completely gets corrupted.
Image Optimization Settings: I’ve tested out many settings and many different compression programs / algorithms. For any article newer than 3/13/21, most images displayed on this site will be resized to 2400 pixels wide and 40% compression as exported by Adobe Lightroom. Screen sharpening will be set to standard.
Increase Virtual Memory: If you follow the link, you’ll go to the original article. However, I’ve pasted the code below with one change. The author had a “#” before the line on his page. As of 2021-07-10 the error is still on his page. I’ve posted a comment to alert the author to that error and I hope he fixes it. Note that 1M * 2000 ~= 2GB of swap memory.
free -m mkdir -p /var/swapmemory cd /var/swapmemory dd if=/dev/zero of=swapfile bs=1M count=2000 mkswap swapfile swapon swapfile chmod 600 swapfile echo "/var/swapmemory/swapfile none swap sw 0 0" >> /etc/fstab cat /proc/meminfo free -m
In the comment section below the article, someone asked the original about reversing the virtual memory, and here was his reply.
cd /var/swapmemory sudo swapoff -v swapfile