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:
Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.
No spam posting.
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.
Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
I hosted NPM in two servers for some time, I had it break too often and could not set custom configs easily. I switched to caddy and could not be happier.
When using caddy, you don’t even need to think about letsencrypt, unless you want to disable it in favor of something else.
Do you know if it’s just as friction-less to have a self signed cert up with Caddy for internal use? I was using Nginx PM recently and had the need to serve https but I can’t use letsencrypt because it’s not public-facing. Nginx PM only has letsencrypt as an option.
I wish there was a checkbox that just deployed a self-signed cert without bothering with the details (it’s 2024 ffs, HTTPS should be 1 click away, whether that’s self-signed or not).
I’m using a self signed CA for my home network with caddy. You just set it up to use a ca once and afterwards it just works. So yeah, really easy.
Iirc you can upload your own certificates and keys in npm, you’ll just have to manage the CA manually or with some other tool.
NPM also lets you use your own certificates. Pick the “Custom” option after you click “Add SSL certificate”.
If your services are not public-facing and you can’t use the HTTP challenge you have the alternative to use a real domain name and to ask the bot to verify access to your DNS service through an API token. In NPM it’s called “DNS challenge” in the certificate options.
So instead of using something like “service.local” as the domain you would use “service.local.realdomain.tld”, give the Let’s Encrypt bot a token to the DNS service that you use to manage realdomain.tld, and ask for a wildcard cert for *.local.realdomain.tld.
Of course you will also need *.local.realdomain.tld to resolve to your server’s private LAN IP. Typically people prefer do this in their LAN DNS but if it doesn’t support that you can do it in the public DNS.
true, and caddy works very well with docker compose setups.
Caddy combined with dns challenges are the dream!