this post was submitted on 30 Jan 2025
332 points (100.0% liked)

Selfhosted

44837 readers
887 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.

Resources:

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

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I think it's a good idea, everyone should be automating this anyway.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 129 points 1 month ago (3 children)

Those emails have warned me something was pooched in advance many times. I do find them useful.

Sad to see them go, but nice they mention an alternative.

[–] [email protected] 29 points 1 month ago (1 children)

Pretty much all monitoring solutions on the market track cert expiration nowadays. I get an alert when any of my certs have <5 days left

[–] [email protected] 5 points 1 month ago (3 children)

What monitoring solution do you use? I need to set something up for my own projects but haven't gotten around to it. Any experience with Nagios?

[–] [email protected] 5 points 1 month ago

I set up uptime kuma to also monitor certs this week when I got the reminder email about them stopping the email warnings, been using it for some time for uptime monitoring (mostly to see if some auto docker image update screws up my services) and the notification parts has worked nicely for that, so I’m also assuming it will work nicely for the certificates

[–] [email protected] 2 points 1 month ago

I use NewRelic myself. They are software agnostic and only connect to your URL to get the expiration date.

If you set up LE correctly, it should never get an alert. I haven't been alerted since I set it up, to the point that I wonder if I set up the monitor correctly.

The only thing I wish it could do is use custom ports. I have some services running on non standard ports.

[–] [email protected] 1 points 1 month ago

If you have the time to spare (a few weeks perhaps, if coming from zero) to experiment and read, Prometheus and Grafana offers a lot and can be really flexible. I use a pretty simple bash script that scrapes my desired https endpoints and writes out the results to a file Prometheus (node-exporter) understands, and from there I can write alert rules in Grafana to fire off notices by email or slack.

[–] [email protected] 12 points 1 month ago

I’ve mainly gotten false positives, myself. When I’ve added another subdomain or something and the certificate gets set up differently, so then you get 2-3 emails saying domain X will expire, but if you connect to the url you see it has 80+ days left. Setting up your own monitoring solution is probably long overdue for myself, and it’s nice I’m getting forced to do it, in a way

[–] [email protected] 5 points 1 month ago

Setup uptimekuma

[–] [email protected] 25 points 1 month ago (4 children)

Providing expiration notifications costs Let’s Encrypt tens of thousands of dollars per year

Not doubting them, but I don't understand how that's possible.

Storing the email addresses and expiration dates takes an irrelevant amount of storage space, even if they had billions of cutomers.

Sending the emails should also not cost thousands, even if a significant amount of customers regularly let their certificates expire (which hopefull isn't the case).

So where are the tens of thousands of yearly costs coming from?

[–] [email protected] 33 points 1 month ago

As with all things email, they probably really wanted to make sure that the mails were delivered and thus were using a commercial MTA to ensure that.

I'd wager, even at 20 or 30 or 40k a year, that's way less than it'd cost to host infra and have at least two if not three engineers available 24/7 to maintain critical infra.

Looking at my mail, over the years I've gotten a couple hundred email from them around certificates and expirations (and other things), and if you assume there's a couple million sites using these certs, I could easily see how you'd end up in a situation where this could scale in cost very very slowly, until it's suddenly a major drain.

[–] [email protected] 18 points 1 month ago (1 children)

If they send 2 emails per subdomain per year, that could easily be 10s of millions which would make the cost per email measured in thousandths of a cent. And I could see the number of subdomains being larger by a factor of 10, maybe more.

Another angle: someone with IT experience needs to manage the system that seems emails, and other engineers need to integrate other systems with the email reminder system. The time spent on engineering could easily add up to thousands per year, if not tens of thousands.

I'm guessing their figure is based on both running costs and engineering costs.

[–] [email protected] 9 points 1 month ago* (last edited 1 month ago) (1 children)

According to their stats page, Let's Encrypt's certificates are used by around 500M domains.

[–] [email protected] 2 points 1 month ago

So sendgrid checking does 2.5M emails a month for $90/month, and if call them the Cadillac provider. More than that you have to contact sales, so I'm still wondering how it's that expensive to them

[–] [email protected] 11 points 1 month ago* (last edited 1 month ago) (1 children)

Transactional email services are about $15 per 10,000 emails. I'll round down to $10 to consider b2b deals and let's just say it's $10,000 per year. That would be like idk 84k emails a month.

Keep in mind this doesn't consider the DB hosting and the processing of expiring emails and salaries, so yeah, I could see it.

Edit: before anyone yells at me. I can't math.

[–] [email protected] 2 points 1 month ago

Not yelling, but pointing out, to people who also dont math, that if we assume $10 per 10k emails (or $1 per 1k, for simpler math), that’d be $84 for 84000 emails in a month, so you need to add another 0 to the figure (ie 840k emails in a month)

[–] [email protected] 5 points 1 month ago (1 children)

I just realized I have no idea who pays for Let's Encrypt. I just run the server commands, automate it, and move on.

[–] [email protected] 13 points 1 month ago (1 children)

Let's Encrypt is run by a non-profit (Internet Security Research Group), they list their major sponsors and funders on their website.

[–] [email protected] 11 points 1 month ago

Notable mention of Mozilla being a Platinum sponsor.

[–] [email protected] 19 points 1 month ago (2 children)

I did setup UptimeKuma for notifications on this. let's see if it works out when the expiry arrives in a month

[–] [email protected] 4 points 1 month ago

I think I'll need to add notifications for my uptime kuma as well now. So far I've used it mostly for historical data but without the mails, I would like to get a notice

[–] [email protected] 3 points 1 month ago (1 children)

UptimeKuma looks nice. Simple, but it does what it is supposed to.

load more comments (1 replies)
[–] [email protected] 12 points 1 month ago (1 children)

I think it's a good idea, everyone should be automating this anyway.

This is still not possible in all scenarios. For example, wildcard certificates for DNS providers with no API support.

[–] [email protected] 17 points 1 month ago (1 children)

Then swap you nameservers to a DNS provider that allows that?

[–] [email protected] 4 points 1 month ago (1 children)

There are a lot of embedded systems that do not offer API support to swap out certificates. Things like switches, dvr, nas devices, etc.

[–] [email protected] 1 points 1 month ago

How are those devices affected by having no notification anymore? The manual labor exists anyway.

Most network switches and devices have a web gui to switch them out. Those can be automated.

[–] [email protected] 12 points 1 month ago* (last edited 1 month ago) (1 children)

I manage all my certs using Cert Warden which has a dashboard that displays the expiry date. It does lack alerting, so I use Uptime-kuma to monitor the expiry dates of the certs. So not a big loss for me.

[–] [email protected] 4 points 1 month ago

TIL Cert Warden is a thing. Looks awesome!

[–] [email protected] 9 points 1 month ago (4 children)

I just wish I wouldn't have to renew certs so often.

[–] [email protected] 17 points 1 month ago (2 children)

You're not supposed to do it manually.

[–] [email protected] 10 points 1 month ago (1 children)

Tell that to all the embedded device manufacturers… switches, appliances, nas, etc.

There’s a whole load of things that will have a massive administrative burden if the frequency is dropped.

[–] [email protected] 7 points 1 month ago

Skill issue.

[–] [email protected] 6 points 1 month ago (2 children)

My server does it automatically, but I have few services I can't make to read the certs from server storage, so I have to manually copy cert content. Especially Adguard Home for some reason refuses to read my certs.

[–] [email protected] 11 points 1 month ago (1 children)

Have the same problem. But symlinks or copying them via cron solved it for me.

[–] [email protected] 4 points 1 month ago

Yes! yes | cp -Lrf /etc/letsencrypt/live/..domain.../*.pem /var/snap/adguard-home/current

[–] [email protected] 5 points 1 month ago

You could use a reverse proxy to terminate tls, and take the tls off of ad guard itself.

[–] [email protected] 15 points 1 month ago (1 children)
[–] [email protected] 8 points 1 month ago

Fuck Apple and Microshit

[–] [email protected] 2 points 1 month ago (1 children)

Have you tried to automate it?

[–] [email protected] 2 points 1 month ago (1 children)

Fullchain.pem works. Privkey doesn't. I've tried chmod 777 (yes, I know, just testing) and still can't access the file.

[–] [email protected] 1 points 1 month ago (1 children)

Whole path has to be accessible, not just the file itself. All dirs above the file need to have the executable bit set that affects the user accessing the file.

load more comments (1 replies)
[–] [email protected] 2 points 1 month ago

Its done for better security

[–] [email protected] 3 points 1 month ago

If you're using Prometheus, Blackbox exporter checks cert expiration as well

[–] [email protected] 3 points 1 month ago (1 children)

PSA: If you use Cloudflare to proxy, you can get a free decade long certificate and not worry about it for awhile.

[–] [email protected] 4 points 1 month ago (1 children)

Oh, look: the NSA dangling a carrot on a line.

[–] [email protected] 6 points 1 month ago

Hey, if you wanna put your home server out there so the first person who gets pissy at you can DDoS you off the net until your ISP decides to cancel your service, that's a perfectly acceptable decision to make for yourself.

[–] [email protected] 2 points 1 month ago (1 children)

Mine just auto renews anyway

[–] [email protected] 3 points 1 month ago

I think thats the case for most of us. But for some like myself, it does mean I have to do the monitoring myself now. I can't complain it was a free service. But it did warn me about a renewal problem before the cert expired, so it was a useful service for me.

[–] [email protected] 2 points 1 month ago

I have my home assistant check and also my nagios, better safe then sorry

[–] [email protected] 1 points 1 month ago

Dietpi has an automatic letsencrypt recert service which could probably be ported since its just a whiptail script

[–] [email protected] 1 points 1 month ago

emails

\sigh

load more comments
view more: next ›