Moving to Caddy

Preface

When I originally provisioned this web server, I actually used the Linode one-click Marketplace. I selected the OpenLiteSpeed WordPress option and I was off to the races. I’ve manually installed WordPress in the past; using both Apache and NGINX guides that I found online. I’ve attempted to get WordPress working even on Lighttpd. I had been demoing and breaking OpenLiteSpeed for a few days and this was my final set-up and keep. I’d call it Production-ready. Plot twist, we are far away from WordPress and NEVER going back!

Implement Process

OpenLiteSpeed is actually really cool. I found the GUI to be responsive and easy to use. It has all the features you would need to host multiple websites on a single VM. The downside is that for a low-memory environment, it’s just not the perfect fit. Since this website is just composed of static, rarely changing content; I can use something more lightweight like Caddy’s file server function. If you are reading this, my deployment was successful!

Official Caddy Docs - Installing

Following the Caddy docs was simple enough. Nothing unusual happened. Then I stopped the Port 80 and Port 443 listeners on OpenLiteSpeed to make way for Caddy.

I edited the Caddyfile located at /etc/caddy/Caddyfile to look a bit something like this.

example.net {
        encode gzip
        root * /my/file/path/here
        file_server
}

www.example.net {
        redir https://example.net{uri}
}

While I’d only lightly tinkered with Caddy in the past, I read a ton of documentation on their website before this deployment. I knew I would need my CNAME record to resolve directly to my server. So a few hours prior I updated my DNS records with 15 minute TTLs. After a few tries to get the config just the way I wanted it was working!

I found caddy adapt -c Caddyfile --validate to be useful. I did crash it out a couple of times with improperly formatted tweaks for things like HTTP3/QUIC support and better logging.

Keep It Simple

Simple systems are often reliable systems. OpenLiteSpeed is rather complex and requires the use of a database. I don’t need any of that! So now here we are. My DNS records are back to normal 1 Hour TTLs and the website latency has remained consistent over the last 24 hours. Now I have fewer attack vectors, simpler config, and utilizing over 50% less memory!

2024

Javascript Cat!

how-to add oneko.js to the minimal-mistakes jekyll template.

Back to top ↑

2023

Ditching WordPress

Method of Procedure for migrating from WordPress to plain HTML.

Mom Said Redefine Success

In High School I had one dream that stands out. Own a Porsche by the time I was 26. Looking back, I have no idea where this dream came from; because I was ra...

Back to top ↑

2022

Back to top ↑

2021

Back to top ↑