Moving my website from Netlify to Caddy
alexwlchan.net
alexwlchan.net
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
/ 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 :)
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.
Most websites don't require backend logic.
CloudFlare Pages is great, and so is GitHub Pages for developer websites.
EXCEPT redirects of .html to / (slash) that you can't control.
rsync -e "ssh -p $(SSH_PORT)" -P -rvzc --cvs-exclude --delete $(LOCAL_CONTENT) $(SSH_USER)@$(SSH_HOST):$(REMOTE_DIR)
Self-hosting then essentially just means doing apt install nginx once.In any case this is supposed to only sync the rendered content from $(LOCAL_CONTENT), not the templates used for rendering.
It is only one time setup pain point, after that you are all set.