Dashy: Homepage for Your Homelab
dashy.to
dashy.to
I do run a (distributed!) homelab, but it's not clear to me what problem these dashboards solve.
I can split the things I run on my homelab in two categories: either "infrastructure", things like VPNs, routing, DB, etc, or "actual apps", like a wiki and whatnot.
For the first category, I basically don't "do" anything to them once they're set up.
For the second, I type directly the URL as I do with any other website.
For my monitoring needs I have a bunch of Grafana dashboards connected to Prometheus. I check them from time to time because I like looking at the pretty colored graphs for some reason, but that's about it.
Personally I get a nice feeling of accomplishment from looking at a dashboard with all the services I've set up. It's maybe not super useful but it's nice.
It's true that in my case, one of the first things I did was set up DNS. My lab also has a public domain name that I manage through Cloudflare, which also gives me easy SSL [0] for my services.
---
[0] "easy" as in I don't have to have an open port for Let's Encrypt. And I'm also uncomfortable with giving full DNS access to every service, because I haven't yet found a registrar with sane access control for zone management.
At one point I set up an internal Smallstep CA [0], which kinda worked but was pretty fragile, so I abandoned it.
I didn't know about ACME-DNS. It looks interesting, but for the time being tunneling everything through Cloudflared works well enough for my needs.
There isn't much excuse for that though. In a homelab setting in particular I think you should just run your own DNS and CA with your own domain. The Name Constraints option is handy there for containing scope (also useful for restricting the scope of any other internal CAs a business might ask you to run for example via cross signing).
But for a homelab whatever one wants ultimately is fine, whole point is to experiment after all!
One commenter mentioned sharing some apps with other people, so browser bookmarks may not be the best solution.
I've actually been looking into self-hosted bookmark managers yesterday, some of which can handle sharing. These may work.
My use case is somewhat similar, in that I sometimes use PCs different from my main one, and they also use different browsers. But I haven't found anything that I felt like taking for a spin.
I'm guessing if you are self-hosting these things they are used often enough that they would be in the top of your autocomplete?
I can share one homepage to all of them, and only update one place if there are changes.
Dashy also has status lights for services, which isn't a replacement for real monitoring, but has been useful.
0: https://developers.cloudflare.com/cloudflare-one/application...
One of the most useful things for my case is the access control. Basically, I want my services to be accessible from anywhere, but only by me. This allows me set up authentication before the requests even hit my server.
If you want your services to be world accessible, that works well, too. They even have an agent that initiates the connection from the server, so it works well behind ISP CG-NAT, dynamic IPs, etc, and you don't have to mess around with incoming connection filtering.
Is the cloudflared smart enough to route connections locally? Hm, not sure how that would work.
I'm sitting at home, but accessing my nextcloud through the cloud flare. Is there a way to get it to talk to nextcloud locally or is it going through the net?
Do you mean have cloudflared expose your local server locally? No. It's just a reverse proxy of sorts between cloudflare's network and your local server.
What you want can be achieved with local DNS, so that nc.tra3.com resolves to <cloudflare-ip> from outside and to 192.168.1.2 from inside. But you should probably also have a local certificate for this to be fully transparent.
It is my ‘job to be done’, and it does it well.
That is the problem these things solve.
For me, if I have the browser already open, it's control-L type a few characters enter to get to most of my usual destinations.
It's really unfortunate that the Dashy homepage doesn't start by answering this question, and explaining why you need one.
As nice as the page is, it falls victim to the same conceit that has plagued many OSS project pages since forever, by implicitly suggesting that "if you're here, you already know what you're looking at".
Check out <https://www.reddit.com/r/homelab> if you want a feel for the hobby.
I am sort of weirded out that having a computer and random tools that you do geeky things with needs a term, but hey, humans sure do love naming things.
There does seem to be a blurry and moving line between "homelab" and "selfhosting" though, which doesn't help clarify things.
Whereas selfhosting is hosting, though by oneself. The big difference is the level of dependence, how much one requires the stuff being up to the extent if it isn't that's an immediate blocker on other work. In the same way one would typically expect a commercial host to be more focused on uptime, redundancy and overall lack of surprises, selfhosting tends to be more conservative, throw more hardware at a problem, invest more time and effort in polish and smoothing interaction with the wider world, etc. Basically the stuff you'd expect for something where "if this goes down on Friday my weekend is shot" vs "if this goes down on Friday eh maybe I'll poke at it Sunday night or next week sometime".
Of course, one can also have both of these in the same home/SOHO/barn or whatever, just as businesses with decent IT will have some sort of minimal "lab" at least to do a bit of testing with before even getting to early staging. I myself am primarily on the selfhosting side of the spectrum at this point, but I do have a semi-isolated lab section as well where breaking world won't impact my work (nor result in upset family members!). No one right way to do it.
Edit: also on topic, no I don't have a dashboard :). I've at times considered products like Prometheus/Grafana/Heimdall and I guess now there's another one I could look at here, but I've never really been able to justify it vs other stuff. They're often fairly heavy or seem to have side effects to worry about (including security, I like to keep dashboards and IPMI highly isolated on VLANs or their own independent physical network entirely), and while it could be pretty and satisfying my stuff tends to either be working or it's glaringly obvious something is broken since I depend on it, or if it's an emergency condition it's blaring notifications at my phone anyway. And same as commercial service dashboards, to me it seems like to really be an addition a dashboard would need a fairly independent chain from what it's monitoring. Otherwise if the core goes down the dashboard also drops too. That means more dedicated hardware, even if only something like an RPi.
I could see a dashboard potentially being handy for unified monitoring of stats and softer errors, stuff that isn't an emergency itself but might be indicative of upcoming issues or issues with world (ISP always having problems at a certain time or failing to meet SLA say). But hasn't been truly compelling yet. Though sometimes the screenshots people put up make me quite tempted!
Edit 2: upon a bit more reflection, non-technical stakeholders are a factor as well. Just because something is selfhosted doesn't mean it's for oneself only, on the contrary selfhosters having stuff for friends/family, or a group of neighbors in an apartment/dorm having some shared resources is a common use case. A decent dashboard could serve the purpose of giving others a feel for what's going on. Both in terms of understanding/reporting issues without having to go to the admin(s)(you), but also just plain seeing more of what they heck you're up to. A lot of infra stuff in particular can take a certain investment of time and money but not look like much on the outside. Selling others can be valuable in and of itself, humans overall are visual creatures.
Self-hosting makes a lot of sense to me. I approve of its proper noun status.
Homelab with an emphasis on testing out K8S or different configurations? Sure. It gets a pass. Sort of like how folks used to assemble their own Heathkit power supplies.
Calling any desk that has a computer, tools and a few RasPis belonging to someone who is comfortable writing code a Homelab? Still icky.
Still, everyone is free to use whatever terms they like. I’m going to finish up in my Plantlab, spend time in my Exerciselab and then go make a sandwich in my Calorielab.
>Calling any desk that has a computer, tools and a few RasPis belonging to someone who is comfortable writing code a Homelab? Still icky.
Everyone starts somewhere! You can do a great deal with not much which is one of the magic things about tech these days. A few tools and RPis could be more power in some respects than state of the art facilities a couple decades ago. I think it's the spirit as much as anything, whether someone is digging and experimenting. And really don't forget our bubbles, for most people having a single RPi at all, let alone one dedicated to messing around with vs serving a specific purpose, would be unusual. And then if the bug bites them and they want to start going further, what term should be the umbrella under which they head down the 'ol rabbit hole? "Homelab" seems pretty on-point and innocuous?
>I’m going to finish up in my Plantlab, spend time in my Exerciselab and then go make a sandwich in my Calorielab.
Well, if you're actually breeding brand new experimental plants, inventing new exercises or probing the limits of your body with cutting edge bio monitoring/hacking, or spending lots of time coming up with new recipes then no matter how small scale by all means call those all $Xlabs! But by this terminology I think you might be more correct calling them your Selffarm, Selfgym, and Selfrestaurant if you're mostly using them to perform routines you're already practiced at and are interesting primarily in results... :p
Homelab is a slightly older term, and has more of a hardware emphasis and makes me picture people with older enterprise gear (Dell R710s/R720s are perennial favorites among that group), older Cisco networking gear, actual server racks and VMWare based setups.
Selfhosted is a bit more modern, and more software focused. More likely to be someone running a bunch of stuff on kubernetes across a bunch of Pis or an old desktop, with Unifi or Mikrotik networking gear
This seems unnecessarily reductive given what a “homelab” typically refers to.
See also https://www.reddit.com/r/homelab/
https://www.youtube.com/watch?v=qp0HIF3SfI4
Of course, it's their choice. But don't conflate that with being the best thing for the project or the visitor. Presumably the site exists to convince people to use it, no?
While I'm completely in favour of having documentation that is explicit, there is a fine line between that and flooding your landing page with super basic content that doesn't help your target audience just so that those who don't need this can understand why they don't need it. If you can't understand why that is a problem then think for a moment who the audience is and why it's important that your content be tailored for them.
Clearly, it's not as common a term as you believe that it is.
Though it does sound like you operate in a different domain. I’ve generally heard the term in relation to sysadmin and related fields. While there’s nothing stopping an electrical engineer nor inventors from having a home lab I’ve generally heard them talk about their environment in more physical terms (eg soldering station) whereas a home lab (in computing context) is often just a rack in a cupboard. So it’s more of an ethereal space. This is all hugely generally speaking, of course. But it might go some what into explaining why you hadn’t heard of the term before.
I've moved away from dashboards in favour of building my own out of HTML and sticking it in a CI/CD that redeploys it on changes.
For what is essentially just a handful of links they're quite heavy & problem prone.
e.g. I spent literally hours troubleshooting a login issue on a self-hosted service. Root cause? Dashboard (heimdall) hammering the service with logins so hard that the service thought it's under attack. All to animate the shiny button on a dash...
I wanted something that loads instantly for my homepage, Dashy took 2-3 seconds while Heimdall was instant.
Cloudflare Tunnels or just proxying is so ease.
Radarr, Jackett, Sonarr