I’ve been self hosting traditionally in debian, but I would like to be able to add services easier using docker. As such, I’m looking to move to a container based architecture.

One place I struggle is that I can’t seem to find a good container where the default image supports ACME to support Let’s encrypt for automatic cert renewal.

For Nginx, I would have you build my container. HAproxy ACME support seems to be a shell script.

Any suggestions?

  • SpicySquid@lemmy.ml
    link
    fedilink
    English
    arrow-up
    9
    ·
    7 months ago

    This is usually where something like Traefik comes in. It will reverse proxy the docker instance and it can be configured to handle let’s encrypt. The are also other options I like nginx proxy manager and I think Caddy also can do this, by I don’t have experience with that.

  • silenium_dev@feddit.org
    link
    fedilink
    English
    arrow-up
    8
    ·
    7 months ago

    Caddy or Traefik, depending on whether you want quick and simple (Caddy), or integration with docker, so you don’t have to write config files by hand (Traefik)

      • silenium_dev@feddit.org
        link
        fedilink
        English
        arrow-up
        2
        ·
        7 months ago

        Traefik also supports running on K8s, yes.

        On that note, if you’re moving to K8s, I recommend looking into K8s Gateway API, it’s the successor to the old Ingress API. There are other, more complete, implementations of it than Traefik. See https://gateway-api.sigs.k8s.io/

          • silenium_dev@feddit.org
            link
            fedilink
            English
            arrow-up
            1
            ·
            7 months ago

            I’m using istio (in ambient mode, so it doesn’t put its sidecar into every pod I create), and Nextcloud behind it, works flawlessly. It does consume a bit of time to set up properly though.

            TLS certificates are handled via cert-manager, which works with both Ingress and Gateway API, independent of which implementation you choose.

            I’ve also tried envoy gateway (had issues with uploading larger files via Nextcloud Web UI and Gradle publish to maven repo).

            Cilium (a CNI) also has an integrated Gateway and Ingress API implementation, works fine, but lacks some of the most recent stable features, and quite some experimental features. But if you just need a HTTPS gateway without much fuss, it’s rock-solid. Setup time is also minimal for the Ingress/Gateway controller part. Cilium CNI on the other hand takes a lot of time to understand and configure, if you’re unfamiliar with networking in general.

            Traefik’s featureset is comparable with Cilium’s Gateway API implementation, also works, simple to setup, and might be better suited, if you’re already familiar with it using docker, as it’s the same concepts, just slightly different config (docker labels vs. Ingress/Gateway API with Traefik specific annotations).

  • stratself@lemdro.id
    link
    fedilink
    English
    arrow-up
    4
    ·
    7 months ago

    Caddy supports the HTTP-01 and TLS-ALPN-01 challenges by default, you just need to expose 80/443 and it just works. But if you want to use the DNS-01 challenge you’d need to build it with a plugin of your DNS provider.

    Traefik supports all 3 challenges equally ootb, with a wide range of DNS providers. But it is a bit harder to configure and doesn’t support being a web server.

  • twelvety@fedia.io
    link
    fedilink
    arrow-up
    1
    ·
    7 months ago

    I use:

    • Apache with Letsencrypt client for single host reverse proxies or those with more complex needs. Not the easiest but when you understand it, it’s fine. Lightweight, solid and very flexible.
    • NPM (Nginx Proxy Manager), either service or docker, where there’s a lot of proxies on one host. Very simple, very reliable, baked in authentication.
    • Traefik, when building or deploying services, especially with docker swarm. Tags make it very smooth once you’ve got things set up and in your workflow.

    All are good choices, but each has a specialism that make it a little bit better than the others.

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    7 months ago

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters
    DNS Domain Name Service/System
    HTTP Hypertext Transfer Protocol, the Web
    HTTPS HTTP over SSL
    SSL Secure Sockets Layer, for transparent encryption
    TLS Transport Layer Security, supersedes SSL
    VPS Virtual Private Server (opposed to shared hosting)
    k8s Kubernetes container management package
    nginx Popular HTTP server

    [Thread #122 for this comm, first seen 28th Feb 2026, 06:40] [FAQ] [Full list] [Contact] [Source code]

  • motogo@feddit.dk
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 months ago

    You can bake haproxy and acme.sh into a container yourself. Haproxy is hands down the best performing/least resource consuming RP. Dynamic management, like mimicing Traefiks service discovery, can be a bit tricky though. Yes, it doesn’t support ACME itself but once you get passed the “hello world” RP’ing and need something more advanced, like ACME DNS01, Haproxy with acme.sh is your buddy for life.