Standard Ebooks runs everything on a 2 GB VPS with no database and almost no JavaScript

In 2021 the Standard Ebooks server served about 1.4 million ebook downloads over 15.5 million page views. SE runs its entire operations using one single-core VPS with 2GB of RAM.
Read more →

You really need to set rsslimit in your Hugo config file

Hugo’s default RSS feed seems to include the full text of every post on your site. I learned this when the Hugo binary was running out of memory on my hosts, and when index.xml was 100 MB in size on my desktop. Setting rsslimit in your config file makes for a manageable RSS file.
Read more →

My ‘dynamic’ IP is pretty static

I have been running this web server on a Raspberry Pi Zero W in my coat closet for three months, and my dynamic IP still hasn’t changed. That’s good because I still haven’t implemented a script to change where my URL points from FreeDNS in the event that my home IP changes. At some point I guess it’ll happen, and the server will be offline until I figure it out.
Read more →

Google Cloud nuked the web server on my VM

I wasn’t paying for my Google Cloud VM, and it turns out the price was right. Since I started working on my own server in the coat closet, I haven’t been using my free Google VM. I got an email today saying that it’s been 120 days since I’ve opened Google Cloud Shell. If I didn’t log in, “in 7 days, your Cloud Shell home directory will be automatically scheduled for deletion.
Read more →

Permissions are hard

Read more →

Shared hosting does take care of a lot for you

As I build my own server — and this would be the same for a cloud VPS or a local computer, there is a lot to set up and configure. Shared hosts like NearlyFreeSpeech.net (which I will be using more soon) and Hostgator (which I’ve used for years and will probably be using less) take care of many things in a safe and secure way. Setting up your own server is very much like reinventing the wheel.
Read more →

Setting up FTP on my Raspberry Pi

Running your own servers — be they VPSes on Google, AWS or Digital Ocean, or Raspberry Pis in the closet — is a learning experience. You have to put on your sysadmin hat and get to work. Today I’m trying to figure out the ftp server. I’ve used a hundred of them but never installed and configured one. The hardest part to figure out is the SSL encryption. If you see this file, it means I’ve made some progress.
Read more →

Set umask in vsftpd so incoming files have 644 permissions

Read more →

File permissions and ownership that make Ode’s Indexette work on a Debian Buster server

This was easier on Hostgator, where everything is “owned” by my user account and everything works. To get Ode addins to work, the /data directory is owned by my user and is in the www-data group. The /data/addins/state directory has the same ownership and permissions (755). The /data/addins/state/Indexette directory is owned by www-data and is in the www-data group and has permissions 755. The files created by Indexette in /data/addins/state/Indexette are aux_index_file and primary_index_file.
Read more →