I’m looking into setting up https for my local services. Everything is currently set up using the official caddy docker image.

I want to use now connect caddy to cloudflare to resolve the DNS 01. It looks like this is possible with a drop in replacement for caddy from either https://github.com/CaddyBuilds/caddy-cloudflare or https://github.com/serfriz/caddy-custom-builds

Is anyone here using these builds? Are they reliable? Is there an alternative I havent considered?

  • ryper@lemmy.ca
    link
    fedilink
    English
    arrow-up
    5
    ·
    7 hours ago

    You could just build it yourself, there’s not much to it.

    Dockerfile:

    ARG VERSION=2
    
    FROM caddy:${VERSION}-builder AS builder
    
    RUN xcaddy build \
        --with github.com/caddy-dns/cloudflare
    
    FROM caddy:${VERSION}
    
    COPY --from=builder /usr/bin/caddy /usr/bin/caddy
    

    My Dockerfile is under dockerfile-dns and then in docker-compose.yaml instead of pointing to an image I have:

    services:
      caddy:
        build: ./dockerfile-dns
    

    I’m not 100% sure of the right way to update it, but I think I usually use something like docker compose build --pull --no-cache.

    • AzuraTheSpellkissed@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 hour ago

      I’m not entirely sure, but I think you can skip the “–no-cache” as it seems to still check for image updates. It helps to speed things up, especially if you check for updates more frequently.

    • anytimesoon@piefed.socialOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 hours ago

      This is basically the dockerfile these projects provide, so I guess I could do this myself. How do you keep the caddy container up to date? I have tugtainer (something like watchtower) update caddy automatically, but I guess this set up would break that

      • irmadlad@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        39 minutes ago

        I have tugtainer (something like watchtower) update caddy automatically, but I guess this set up would break that

        Does tugtainer (always makes me giggle) have to ability to label containers for exclusion like watchtower does?

      • ryper@lemmy.ca
        link
        fedilink
        English
        arrow-up
        3
        ·
        6 hours ago

        I can’t help you with automation. I update my containers manually, whenever I think to do it. Nothing is accessible outside my network so I’m not worried about staying on top of security updates.

    • hellmo_luciferrari@lemmy.zip
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      6 hours ago

      I have a Dockerifle like that:

      ARG CADDY_VERSION=2.11.3
      FROM caddy:${CADDY_VERSION}-builder-alpine AS builder
      
      RUN xcaddy build \
          --with github.com/caddy-dns/cloudflare
      
      FROM caddy:${CADDY_VERSION}-alpine
      
      COPY --from=builder /usr/bin/caddy /usr/bin/caddy
      
      

      and the docker-compose.yml file I use:

      services:
        caddy:
          pull_policy: build
          build:
            context: .
      
      

      And to build new versions I modify the Dockerfile after doing a docker compose down, and then to build the new version I use docker compose up.