selfhosting my own website

As of the 13th of March 2024, kjelsrud.dev is hosted on own server, eastblue <3. This was such a milestone for myself, and I’m really proud of it! 🎉 Finally, I really own my website a 100% and I learned so much from the process! All from gaining more knowledge on GitHub Actions to learning how Caddy works. 📚

It all began with setting up Caddy, since the VM on my server was already up and running. Configuring Caddy was surpisingly straightforward, even with a lot of help/inspiration from Mike Valstars blogpost on Simple static site self-hosting for Astro with Caddy. Here’s a snippet of my Caddyfile:

kjelsrud.dev {
    tls {EMAIL}
    encode zstd gzip

    root * /var/www/kjelsrud.dev/

    file_server {
        precompressed br gzip
    }

    handle_errors {
        rewrite * /404.html
        file_server
    }

    log {
        output file /var/log/caddy/access.log
    }
}

When this file was saved and the DNS was pointing to my server, it was supposed to work just fine. But, when checking out the log with sudo systemctl status caddy, I saw the HTTPS certificate was failing. Not understanding why and searching for a while I contacted by friend, Mathias Haugsbø, asking if he knew what the error could be.

He gave me some tips on using dig and nmap to get info on the DNS and network for the server. Using this, we saw that the ports 80 and 443 was marked as filtered when they should say open for a server where everything is good. Well, the ports weren’t portforwarded… I forgot to do it hehe lesson learned! 😅

Next up was automating the deployment process using GitHub Actions! This setup was easily done, with some inspiration from the workflow for fribyte.no. Now, the website could seamlessly build and deploy whenever changes were pushed!

In the future, I might even containerize my website using Docker, but we’ll see!

Again, a big thanks to both Mike, for writing the blogpost, and Mathias for helping me understanding Caddy and the setup a bit more!

PS: I know this is over a month ago, but the bachelor thesis and sunbathing at the beach is taking up a lot of time.. ☀️

My custom jolly roger