Hey don’t worry :)
Yeah, this could be a time saver in case you should/need to revoke certificates in your homelab setup ! Imagine changing the rootCA store on 20 devices … Ugh !
Happy reading/tweaking ! Have fun !
Hey don’t worry :)
Yeah, this could be a time saver in case you should/need to revoke certificates in your homelab setup ! Imagine changing the rootCA store on 20 devices … Ugh !
Happy reading/tweaking ! Have fun !
Certificate chain of trust: I assume you’re talking about PKI infrastructure and using root CAs + Derivative CAs? If yes, then I must note that I’m not planning to run derivative CAs because it’s just for my lab and I don’t need that much of infrastructure.
An intermediate CA could potentially be useful, but isn’t really needed in self-signed CA. But in case you have to revoke your rootCA, you have to replace that certificate on all your devices, which can become a lot of hassle if you share that trusted root CA with family/friends. By having a intermediate CA and hiding your root CAs private key somewhere offline, you could take away that overheat by just revoking the intermediate CA and updating the server certificate with the newly signed Intermediate bundle and serving that new certificate through the proxy. (Hope that makes sense? :|)
I do not know what X.509 extensions are and why I need them. Could you tell me more?
This will probably give you some better explanation than I could :| I have everything written in a markdown file, and reading through my notes I remember I had to put some basic constraints TRUE in my certificates to make them work on my android root store ! Some are necessary to make your root CA work properly (like CA:True). Also if you want SAN certificates (multidomaine) you have to put them in your x509 extensions.
’m also considering client certificates as an alternative to SSO, am I right in considering them this way?
Ohhh, I don’t know… I haven’t installed or used any SSO service and thinking of MFA/SSO with authelia in the future ! My guess would be that those are 2 different technologies and could work together? Having self-signed CA with a 2FA could possible work in a homelab but I have no idea how because I haven’t tested it out. But thinks to consider if you want clients certificates for your family/friends is to have a intermediate CA in case of revocation, you don’t have to replace the certificate in their root store every time you sign a new Intermediate CA.
I’ll mention that I plan to run an instance of HAProxy per podman pod so that I terminate my encrypted traffic inside the pod and exclusively route unencrypted traffic through local host inside the pod.
I have no idea about HAProxy and podman and how they work to encrypt traffic. All my traffic passes through a wireguard tunnel to my docker containers/proxy which I consider safe enough? Listening to all my traffic with wireshark seamed to do exactly what I’m expecting but I’m not an expert :L So I cannot help you further on that topic. But I will keep your idea in my notes to see If there could be further improvement in my setup with HAProxy and podman compared to docker and traefik through wireguard tunnel.
Of course, that means that every pod on my network (hosting an HAProxy instance) will be given a distinct subdomain, and I will be producing certificates for specific subdomains, instead of using a wildcard.
Openssl SAN certificates are going to be a life/time saver in your setup ! One certificat with multidomian !
I’m just a hobby homelaber/tinkerer so take everything with caution and always double check with other sources ! :) Hope it helps !
Thinking of your use case I would personally create a rootCA and an intermediateCA + certificate bundle. Put the rootCA in the trusted store on all your devices and serve the intermediateCA/certificate bundle with your proxy of choice. Signing the certificate with SAN X.509 extension for all your domains. Save your rootCA’s key somwhere offline to keep it save !
The links I gave you are very useful but every bit of information is a bit dispatched and you have to combine them by yourself, but it’s a gold mine of information !
If you want to run your own pki with self-signed certificate in your homelab I really encourage you to read through this tutorial. There is a lot to process and read and it will take you some time to set everything up and understand every terminology but after that:
After everything is in place, you can write your own script that revoks, write and generates your certificate, but that is another story !
Put everything behind your reverse proxy of choice (traefik in my case) and serve all your docker services with your own self-signed wildcard certificates ! It’s complex but if you have spare time and are willing to learn something new, it’s worth the effort !
Keep in mind to never expose such certificates on the wild wild west ! Keep those certificate in a closed homelab you access through a secure tunnel on your LAN !
Always take notes, to keep track of what you did and how you solved some issues and always make some visuals to have a better understanding on how things work !
Step CA is really nice if you want to learn more about how a real CA works. Had some fun playing with it but yeah it’s a bit overkill for home lab xD.
You can achieve the same result with openssl with less complexity !
Then, I tried ownCloud for the first time. Wow, it was fast! Uploading an 8GB folder took just 3 minutes compared to the 25 minutes it took with Nextcloud. Plus, everything was lightning quick on the same machine. I really loved using it. Unfortunately, there’s currently a vulnerability affecting it, which led me to uninstall it.
I have no idea on how you access your self-hosted services but wireguard could help you out to access all your service from all your devices, with less security risks and only one point of failure (the wireguard port). Also this takes away most of the vulnerabilities you could be exposed to, because you access all your home services through a secure tunnel without directly exposing the api ports on your router !
I personally run all my services with docker-compose + traefik + self signed CA certificats + adguardhome dns rewrite. And access all my services through https://service.home.lab on all my devices ! It took me some time to set everything up nicely but right now I’m pretty happy how everything works !
About the current ownCloud vulnerability, they already took some measure and the new docker image has the phpinfo fix (uhhg). Also while I wouldn’t take their word for granted:
"The importance of ownCloud’s open source in the enterprise and public-sector markets is embraced by both organizations.”
That’s way exposing your home services to the internet is a bad idea. Accessing it through a secure tunnel is the way to go.
Also, they already “fixed” the docker image with an update, something todo with phpinfo…
I used nextcloud for a year or so, but found the web GUI/apps slow, bloated and sometimes way to buggy ! Switch to owncloud for the simplicity of only having a cloud system without to much bloat.
I just read through the seafile documentation and yeah this is also not going to happen. Maybe I should switch to a simple webdav server…
Hummm… This kinda sucks ! Moving to seafile then ! Hope their native apps are as good as owncloud’s !
While rsync is great, I recovered partially from an outtage… Containers with databases need special care: dumping there database…
Lesson learned !
Yeah, nginx is way to overcomplicated if you aren’t familiar with it and using it on a daily basis in a coporate environment.
Traefik is elegant and simple when you get the basics, but lacks serious documentation for more complicated stuff.
Haven’t tried other proxies, but why should I, traefik works great and never had any relevant issues that would make me wanna change !
Have you managed to selfhost it ? Funkwhale looks great, but the installation process with another proxy than nginx in a container setup is far from ready and accessible to hobby selfhosters.
If you have no idea about proxies and headers forwarder… just don’t waste your time and go straight to audiobookshelf !
I tried it 3 months ago. It looked nice had some cool features, but It didn’t fit into my personal selfhosted Home server.
This is more or like to help less-tech savy people to secure their infrastructure, which is a good point, but can’t replace a complex wireguard, VPN, opnsense, 2FA , self-signed CA, docker installation.
It’s a bit like Nginx proxy manager, it’s good enough, does what it is suposed to do with minimal user inputs. Less prone to error, security issues…
Here you go !
Took me to much time to make everything work perfectly together, but learned alot along the road ! Everything hosted on a old spare laptopt with docker containers.
Yeah, because there isn’t a native linkding app for android there is a way to make it work in firefox, with HTTP shortcut
See here
It works flawlessly and never had any issue with it.
Thank you :) Will look at it, right now I’m happy with selfhosted linkding, but I really miss the native bookmarking way of firefox (tags, folder, subfolders, keywords.)
I use Linkding, which even as an android workaround for mobile. I have no idea if it works with brave, but does work with Firefox/chrome !
It’s pretty cool piece of software, but something it’s missing is a way to groupe tags together or have some folder structure.
If you don’t have a tag structure beforehead, your tags can quickly get messy :/!
Didn’t knew that was possible… seems not easy to set-up :/ is also an old article, you sure this still works?
I wish It could be so simple for everyone… Docker is great when you have an old spare laptop and want to self host a few nice things: vaultwarden, traefik, searxng… Sure it’s relatively new compared to VMs and is going to have some security flaws and reworks during the maturing process… But VMs had also their ups and downs long time ago before It got in a stable maturing state !
VM are nice but we (in my opinion) as human species need to find other solutions to get away from energy, rare metal hungry devices… something in between docker and VMs. But that’s just my opinion.
Plus, docker and derivatives are also really interesting technologies where you have to read manuals and gain deep and durable knowledge to understand the future of virtualization.
I don’t know, nginx gave me some really hard time… Traefik was way easier to setup, specially with my docker containers.
But that’s probably because I’m more into yaml formatting, than pure nginx syntax.
As long as they continue to maintain the github repository and keep it free without any hidden ads/spyware or restrictions, I will continue to use their service.