I have finally got my selfhost wiki up to a satisfying shape. Its here: https://wiki.gardiol.org
Take a look i hope it can help somebody.
I am open to any suggestions about it.
Note: the most original part is the one about multi-homed routing and failbacks and advanced routing.
Thanks for sharing, very cool stuff in there and great job ! Bookmarked !
While reading through your reverse proxy concept post, I think this statement is wrong:
As a sub-domain: - Cons: require additional certificates for HTTPS/SSL for each sub-domain
There are actually wildcard SAN certificates where you can access all your subdomains with a single certificate:
https://*.mydomain.com
Or you can add all your subdomains in a single certificate.
Great work and thanks for sharing !
using wildcards is really bad security practice. and at age of ACME absolutely unnecessary.
Can you elaborate on why it is a bad security practice? It’s the first time I’m reading about it and I’d like to read more about it. Thanks!
One of the risks associated with wildcard SSL certificates is the increased attack surface they introduce. If one subdomain becomes compromised, it opens the door for potential attackers to gain unauthorized access to all subdomains secured under the wildcard certificate. (first google link)
While this argument is valid for a larger domain, it doesn’t really matter for the small selfhoster.
Using let’s encrypt certbot is so easy and automated that I never bothered for wildcards anyway, so.
The advantage of wildcard certificates is that you don’t have to expose each single subdomain over internet. Which is great if you want to have https on local only subdomains.
If you still use HTTP for cert verification on ACME, you are doing it wrong. Use DNS-01 only, there is no need to allow any inbound traffic to your servers. and HTTP will not give you wildcard anyway.
Might be worth adding a section for web UIs that make managing certain things easier. For example, Cockpit or Nginx Proxy Manager.
I think NPM is useless (in my use-case…) and can get things more messy, but I plan to check on cockpit later on indeed.
NPM isn’t bad in itself, but NGINX configuration is basically static and IMHO don’t require a dedicated GUI.
What lead you to believe NPM is useless/messy?
Yeah, i kind of wrote badly. I mean NGINX configuration is simple enough and static enough not to need a dedicated service for my use case. I don’t feel the need to mess with NPM. I have a neat folder structure under nginx config so that adding one service is pretty clean and simple and editing one too.