Come on and fight me…

I just tried out caddy for the first time and found it to be fantastic, I have used both Traefik and Nginx Proxy Manager extensively and although they were both great, the simplicity of the Caddfilr is fantastic. With a few snippets configured, I can add a host with a single line that just defines the port and url, it’s like magic.

Has anyone got any known traps ( or tips) with caddy to make it useful.

The issues I have had previously with Traefik were the need to have multiplelines to configure it (and configure the host and router separately), and the difference between local docker services ( I do like using labels to configure, but with lots of services it gets a bit fragmented and difficult toanahe) and remote services ( had to use the file config).

With NPM, I find using the GUI to configure the servers difficult ( and challenging to keep consistent ) and I had a time that it forgot something ( can’t remember if it was certificates or something else ) and that was the straw that broke the camel’s back for me.

Anyway, currently I am happy with caddy and am not planning on replacing it (at least for a month or two :D ). It would be nice if there was a GUI, but no big drama honestly, and the text config is great.

  • unwritten@kbin.social
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    At the first time move to Caddy, I had an issue adding Caddy container to all the current docker networks.
    How do you tackle that issue?

    • Perhyte@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      I use docker-compose, and basically just end all my docker-compose.yaml files with

      networks:
        default:
          external:
            name: proxynet
      

      This redefines the default network to a pre-existing proxynet network. All services that do not specify a network configuration automatically get added to that network. Because this refers to the same network in each file, it is shared even with services defined in other yaml files (which is not the default).

      The proxynet network was created manually using docker network create proxynet.

  • Osayidan@social.vmdk.ca
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I’m that weird person who just uses nginx and does the config files in a text editor. Been doing it that way since 2010 or so and I’m too used to it to appreciate proxy manager.

  • Lupec@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Man, I started with Apache back in the day which is just nightmarish to manage for simple projects imo, then moved to NGINX, which felt a bit better but still not super intuitive, then NPM, which did make it significantly more user friendly.
    Then Caddy came along and swept me off my feet, I still can’t believe it’s as dead simple as it is lol. I tried Traefik for a while because it sounded super interesting and I do love the idea, but it brought a lot of the complexity back with it for admittedly very neat docker integration.
    Went right back to Caddy after I moved away from docker as a whole and I couldn’t be happier, I just find it so pleasant to use. Just pure KISS goodness!

    So I guess my ranking goes Caddy > Traefik > the rest

    • karlthemailman@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Any specific reason you think they should be backwards? I have only limited exposure to the alternatives, but caddy was the easiest for me to set up when I was looking for a reverse proxy.

      My main issue with caddy was having to compile in any extensions manually, but you don’t even need to do that anymore.

      • Protegee9850@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Eh, personally I just found NPM super easy to set up and manage, especially when it came to setting up letsencrypt etc. Everything just works. Easy to update, easy to manage, easy to take down and spin back up again. My OP had a bit of snark though, I’m not exactly an expert, I’m sure there are very good reasons why the OP and other smart nerds on this community may disagree

  • Edo78@feddit.it
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    It’s interesting how different people have different approaches … I migrate from Caddy to Traefik because I found it magical … Whenever I need to add another selfhosted service I just adapt a docker-compose like this one

    version: '3.8'
    
    services:
      homeassistant:
        container_name: homeassistant
        image: ghcr.io/home-assistant/home-assistant:stable
        #image: homeassistant/raspberrypi4-homeassistant:stable
        volumes:
          - ./media/:/media
          - ./config/:/config
          - /etc/localtime:/etc/localtime:ro
        environment:
          - TZ=${TZ}
        restart: unless-stopped
        networks:
          - t2_proxy
          - backend
        labels:
          - traefik.enable=true
          - traefik.docker.network=t2_proxy
          - traefik.http.routers.homeassistant.rule=Host(`home.mydomain.bla.bla`)
          - traefik.http.routers.homeassistant.entrypoints=websecure
          - traefik.http.routers.homeassistant.tls.certresolver=myresolver
          - traefik.http.services.homeassistant.loadbalancer.server.port=8123
    
    networks:
      backend:
        external: true
      t2_proxy:
        external: true
    

    As you can see I just need to change the host and the port in the labels to have a new domain pointing to the right port … I wasn’t able to find an easier way to add a new service to caddy

    • Andreas@feddit.dk
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      First time I heard of migrating from Caddy to Traefik and not the other way around. The usual complaint about Traefik is that it’s too complicated to manage all of the moving parts. I have only used Caddy with Dockerized setups though so I don’t know what the others are like.