When I first set up my web server I don’t think Caddy was really a sensible choice. It was still immature (The big “version 2” rewrite was in beta). But it’s about five years from when that happened, so I decided to give Caddy a try.

Wow! My config shrank to about 25% from what it was with Nginx. It’s also a lot less stuff to deal with, especially from a personal hosting perspective. As much as I like self-hosting, I’m not like “into” configuring web servers. Caddy made this very easy.

I thought the automatic HTTPS feature was overrated until I used it. The fact is it works effortlessly. I do not need to add paths to certificate files in my config anymore. That’s great. But what’s even better is I do not need to bother with my server notes to once again figure out how to correctly use Certbot when I want to create new certs for subdomains, since Caddy will do it automatically.

I’ve been annoyed with my Nginx config for a while, and kept wishing to find the motivation to streamline it. It started simple, but as I added things to it over the years the complexity in the config file blossomed. But the thing that tipped me over to trying Caddy was seeing the difference between the Nginx and Caddy configurations necessary for Jellyfin. Seriously. Look at what’s necessary for Nginx.

https://jellyfin.org/docs/general/networking/nginx/#https-config-example

In Caddy that became

jellyfin.example.com {
  reverse_proxy internal.jellyfin.host:8096
}

I thought no way this would work. But it did. First try. So, consider this a field report from a happy Caddy convert, and if you’re not using it yet for self-hosting maybe it can simplify things for you, too. It made me happy enough to write about it.

  • N0x0n@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    11 hours ago

    You have already made your choice :) But Traefik is also a good alternative ! Specially if you work with a lot of docker containers !

    Once you get how Traefik works, it just simple as adding a few lines into your yaml file and everything is handled by Traefik !

    • GnuLinuxDude@lemmy.mlOP
      link
      fedilink
      arrow-up
      1
      ·
      3 hours ago

      Is my understanding correct? Traefik itself isn’t a traditional web server. The primary thing I host is my blog, so I would need another web server to serve that content.

      • N0x0n@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        4 minutes ago

        It’s primarily a reverse proxy! However you can host a nginx docker container and serve it this way.

        I had no idea caddy is also a web server/reverse proxy? I though of caddy being more similar to Treafik than nginx.