this post was submitted on 28 Feb 2026
39 points (97.6% liked)

Selfhosted

56990 readers
525 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

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?

top 32 comments
sorted by: hot top controversial new old
[–] RxBrad@infosec.pub 2 points 1 hour ago* (last edited 1 hour ago)

It's not Let's Encrypt, but I've been happy with this Cloudflare-flavored ACME through Caddy.

https://github.com/CaddyBuilds/caddy-cloudflare

I really only use it for my local-hosted stuff that I don't expose to the web. So, when I'm at home, https://radarr/.[mydomain].com resolves to 192.168.1.145:7878. That sort of thing...

[–] hamFoilHat@lemmy.world 3 points 2 hours ago

I didn't understand, why not use nginx? It has built in support for let's encrypt by default, you just have to activate it in the nginx config. https://nginx.org/en/docs/http/ngx_http_acme_module.html

[–] philboydstudge@lemmy.world 1 points 5 hours ago

You might check docker swag. It's got built in certbot client and has preconfigured support for a couple hundred common self-hosted services.

[–] JRaccoon@discuss.tchncs.de 17 points 13 hours ago (2 children)

I use Caddy and it's great. ACME is very easy to configure, as is everything else. I haven't tried running it in a container tho but they have official images published so it should work without issues.

[–] mereo@piefed.ca 4 points 5 hours ago (1 children)

I don't think running Caddy in a container is needed. All my apps are docker images and Caddy is a system app. I treated as an important OS app.

[–] motruck@lemmy.zip 2 points 4 hours ago* (last edited 4 hours ago)

I run it in a container without problems. All you have you do is bind it to port 80 and 443. I prefer the container to running it directly within the host OS for ease of portability.

Also strongly recommend building it with support for DNS based validation. Using DNS validation you can have multiple instances running across the different servers you have to easily switch to or provide better local routing. For example please. I run one caddy frontend on a VPS that routes my traffic most of the time, but when I'm at home my DNS points me at a caddy instance that is running on my server on my home network avoiding the path of out to the internet and back home. Using http based validation would require me to sync certs around.

[–] SpicySquid@lemmy.ml 18 points 13 hours ago (1 children)

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.

[–] cybervseas@lemmy.world 13 points 13 hours ago (1 children)

Yep I use caddy for all that. Bonus is caddy has a docker compose proxy plugin where all your domain/port/cert config can be part of your each application’s compose file, rather than needing to make adjustments in caddy centrally. Works great for my purposes.

[–] pr3d@eviltoast.org 9 points 12 hours ago

thanks for mentioning the Caddy-Docker-Proxy plugin.

[–] kureta@lemmy.ml 2 points 8 hours ago

I use Zoraxy and it is great if you like GUIs.

[–] UnpledgedCatnapTipper@piefed.blahaj.zone 9 points 12 hours ago (2 children)

If you want to be able to manage it via a web page instead of config files, nginx proxy manager works well, and can be run via docker/docker compose.

https://nginxproxymanager.com/guide/

[–] kaotic@lemmy.world 4 points 11 hours ago

Can confirm running Nginx Proxy Manager with 30 configurations. Been running solid for years.

[–] scottmeme@sh.itjust.works 2 points 11 hours ago (2 children)

I've been having constant issues for over a year where it's not able to auto update any of my certs. It has been erroring when I even try to do a manual update, but the second it's deleted and reset up it's fine (for the time being).

[–] vaionko@sopuli.xyz 1 points 29 minutes ago

I recently installed on a new system, and it took of lot of tries with nondescript errors to get new certs fetched

[–] irmadlad@lemmy.world 1 points 2 hours ago (1 children)

Weird. With port 80/443 it should have no issues updating.

[–] scottmeme@sh.itjust.works 2 points 2 hours ago (1 children)

I've only used it on 80/443 but this issue has been happening on numerous different VMs enough to the point I've just stopped using it for new installs.

[–] irmadlad@lemmy.world 1 points 1 hour ago

That sucks. Can't say I've ever had that issue and I used it for years before switching to the evil Cloudflare Tunnels/Zero Trust.

[–] silenium_dev@feddit.org 10 points 13 hours ago* (last edited 13 hours ago) (1 children)

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)

[–] reabsorbthelight@lemmy.world 3 points 13 hours ago (1 children)

I'm considering moving to Talos, so I imagine Traefik would work better in k8s right?

[–] silenium_dev@feddit.org 2 points 9 hours ago* (last edited 9 hours ago) (1 children)

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/

[–] reabsorbthelight@lemmy.world 1 points 5 hours ago

Which gateway implementations would you recommend?

I'm looking to support HTTPS and Webdav

[–] prenatal_confusion@feddit.org 2 points 9 hours ago

Don't know if this fits for your use case but I am in love with pangolin.

[–] Scipitie@lemmy.dbzer0.com 8 points 13 hours ago

Traefik and caddy were mentioned, the third in the game is usually nginxproxymanager.

I'm using both traefik and nginx in two different setups. The nginxproxymanager can be configured via UI natively which makes checking configurations a bit easier.

Traefik on the other hand is configured easily within the compose itself and you have everything in one place.

This turned out to be tiresome though if you don't have a monolithic compose file - that's actually even hr history why I switched to npm in the first place.

I don't have any experience with caddy so can't provide anecdotal insights there.

[–] brainstorm@feddit.org 4 points 13 hours ago

I use traefik since I'm hosting stuff in docker and it works great. I think, Caddy is another popular pick, but I haven't tried it and cannot tell you anything about it.

[–] twelvety@fedia.io 1 points 11 hours 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.

[–] ikidd@lemmy.world 1 points 12 hours ago (1 children)

Take a look at Zoraxy or NPM.

[–] femtek@lemmy.blahaj.zone 2 points 3 hours ago (1 children)

Yeah, I switched to Zoraxy from NPM and it's been great.

[–] ikidd@lemmy.world 2 points 1 hour ago (1 children)

I find some of the workflows in it a bit strange, like not having an Add button on the list of host proxies, it's a separate menu item on the left which weird. And the way you request a SSL cert by hitting OK and then you get a popup asking if you want a cert, and you'd better have already set your options for how you want the cert, but if you create a host without a cert you have to go through all the options again and check them because it doesn't keep track of your preference.

IDK, in any case it fixed a bunch of problems I was having with NPM so it has that going for it, which is nice.

[–] femtek@lemmy.blahaj.zone 2 points 24 minutes ago

I have the same issues you listed. I only have one wildcard domain so it was only an issue once but I do think a UI change/workflow would help.

[–] Decronym@lemmy.decronym.xyz 1 points 12 hours ago* (last edited 19 minutes 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
VPS Virtual Private Server (opposed to shared hosting)
k8s Kubernetes container management package
nginx Popular HTTP server

6 acronyms in this thread; the most compressed thread commented on today has 12 acronyms.

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

[–] chris@programming.dev 1 points 13 hours ago

I use docker to host all kinds of containers - I use unbuntu but that doesn’t matter. I use Let’s encrypt for the certs. Then I use a nginx container to proxy all of that. It’s super easy. Any shell scripts are small and easily understood. I’m not sure why you struggle. I can give you samples that have you up in minutes.