November 4th, 2024

Moving my website from Netlify to Caddy

Alex Chan migrated their website from Netlify to a Linux server using Caddy to reduce costs, achieving 1TB bandwidth for $5/month, with minimal downtime and improved control over configurations.

Read original articleLink Icon
Moving my website from Netlify to Caddy

Alex Chan recently migrated their website from Netlify to a Linux server using Caddy, primarily due to rising bandwidth costs associated with Netlify's pricing structure. Chan was on the Starter plan, which allowed for 100GB of bandwidth per month, but increasing traffic, especially after a popular post, led to overage charges. The new setup on Linode offers a more cost-effective solution at $5 per month with 1TB of bandwidth. Chan chose Caddy for its ease of use, particularly in managing HTTPS certificates, and found the migration process smooth. They implemented a testing suite to ensure the website's functionality during the transition, which also helped identify previous configuration errors on Netlify. After successfully updating the DNS records and configuring Caddy, the migration resulted in minimal downtime. Chan expressed satisfaction with the new setup, appreciating the flexibility and control it provides compared to Netlify. They plan to share insights about their Caddy configuration in future posts, emphasizing the benefits of running a personal web server for the open web.

- Alex Chan migrated their website from Netlify to a Linux server using Caddy to reduce bandwidth costs.

- The new hosting on Linode costs $5 per month and includes 1TB of bandwidth.

- Caddy was chosen for its user-friendly setup and management of HTTPS certificates.

- A testing suite was created to ensure website functionality during the migration.

- The transition resulted in minimal downtime and improved control over the website's configuration.

Link Icon 8 comments
By @jicea - 2 months
I really loves Caddy, it has replaced nginx in my go-to HTTP server. It's really simple and powerfull, one nice example is how simple you can deploy applications with zero downtine [1].

On testing HTTP requests, I'd suggest Hurl [2], (I'm one of the maintainer). You will trade Ruby unit tests for a tailored HTTP text file format but I think it can shine for this kind of migration. Tests will be run in parallel, really fast.

For instance, test_site_is_up.rb will be replaced by a simple text file:

  GET https://alexwlchan.net
  HTTP 200
  [Asserts]
  body contains "This website is a place to share stuff I find interesting or fun."
  
  
  GET https://alexwlchan.net/articles/
  HTTP 200
  [Asserts]
  body contains "Articles"
  
  # etc...
Testing alternate domains (test_alternate_domains.rb) could be:

  GET http://alexwlchan.net
  HTTP 308
  Location: https://alexwlchan.net/
  
  
  GET http://alexwlchan.net/contact/
  HTTP 301
  Location https://alexwlchan.net/
  
  # etc...

Give it a try!

[1]: https://www.lambrospetrou.com/articles/server-deploy-scripts...

[2]: https://hurl.dev

By @Imustaskforhelp - 2 months
cloudflare pages github pages

/ basically any git provider provides pages like codeberg / framagit / disroot git

You don't need to pay literally anything.

You could point it to your own domain.

I have seen many professional people use github pages as their blog pages.

You can use ci / cd actions to basically just write markdown push it and it would convert to html and automatically reload github pages

Comments can be used via cactus and many many others I think https://rochacbruno.github.io/marmite/enabling-comments.html

I just installed caddy on my local linux archlinux system , I love golang but I had never bothered installing caddy locally , well it seems really cool , I have currently installed marmite as well locally .

My problem though to moving to caddy is why even pay 5$ when you can get it for free. I have installed it on my pc just for learning experiences :)

By @colesantiago - 2 months
I don't get why anyone would use Netlify for a personal website or any website nowadays.

Unless I am missing something, there are places where you can host a website for as close to $0, even if you start to get over 100GB of traffic, wouldn't get a huge uncontrolled bill.

By @nchmy - 2 months
Caddy is great. But why didn't they just put any cdn in front of netlify (or caddy as well)? Not only would it reduce the traffic to the static site to essentially 0, it would serve requests nearly instantaneously from the edge.
By @_joel - 2 months
Caddy and self-hosting's cool and all, but I think I'd miss push to git to deploy and just not having to manage 'stuff'. Although, I did move a site from netlify to cloudflare (free) and still have this facility.
By @nunez - 2 months
Going with Ruby for the test suite but not using RSpec and Capybara is an interesting choice. Why?
By @nusl - 2 months
Netlify's pricing is pretty insane for bandwidth, yeah. They also are quite brutal when it comes to your site getting DOSed or some other form of traffic flood.