Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE_REQUEST] support Compose labels to automatically add services to Dashy #639

Closed
zilexa opened this issue May 8, 2022 · 7 comments
Labels
🦄 Feature Request [ISSUE] Suggestion for new feature, update or change

Comments

@zilexa
Copy link

zilexa commented May 8, 2022

Is your feature request related to a problem? If so, please describe.

Currently, Docker services need to be added manually to Dashy. Either via the UI or via yaml file directly.
However if one is already using Docker Compose to run its services, including Dashy, the compose.yml file already contains basic configuration of each service.

Describe the solution you'd like

By adding support for Docker Compose Labels, the Dashy dashboard can automatically add services, when one runs docker-compose up -d.
Just 4 labels: a label for a name, category and icon, optionally a URL if it has a webUI would be enough.

These need to be added by the user to each service in their Compose file that they want to add to Dashy.

Dashy would need Docker API support, but it probably already has since it can check its health checks and status etc.

I think this would be very useful but can imagine if others see it as nice to have.

For example, look at Plugsy, it does this exactly and does it pretty well (but it seems to have been abandoned and has a nasty bug, preventing users from proxying Plugsy):
https://github.com/plugsy/core

Priority

Medium (Would be very useful)

Is this something you would be keen to implement

No

A simple, pluggable dashboard and status page. Contribute to plugsy/core development by creating an account on GitHub.
@zilexa zilexa added the 🦄 Feature Request [ISSUE] Suggestion for new feature, update or change label May 8, 2022
@liss-bot

This comment was marked as resolved.

@liss-bot liss-bot closed this as completed May 8, 2022
@Lissy93
Copy link
Owner

Lissy93 commented May 9, 2022

Possibly similar to: #496 and #429 and #550 ?

@Lissy93
Copy link
Owner

Lissy93 commented May 9, 2022

Dashy would need Docker API support, but it probably already has since it can check its health checks and status etc.

It actually doesn't, as the status checking is just done through web requests. Since exposing the docker.sock obviously comes with some serious security concerns.


Maybe you should add this feature in your own fork of Dashy? Or use another dashboard app, here are some alternatives.

Btw that Plugsy error, would likely just be a mis-matched certificate, rather than an actual error, so there might still be hope ;)

@zilexa
Copy link
Author

zilexa commented May 10, 2022

Thank you Lissy for your quick responses!
I had not noticed the older requests. I do believe this new request is different: it is only about adding support for Docker Compose Labels. I did not know that you don't need Docker API integration for that. This simplifies the request.

I am not a developer, not a coder. I can do a little via bash scripts, that is it. If I could do more I would definitely like to contribute to projects like yours, but that is not an option.

Except for Flame and Plugsy, there are no alternatives that support Docker Compose Labels. Plus, they come with other downsides.

I really like your solution and your recent updates. I respect your choice of what features make sense with your vision for Dashy of course. I do believe adding Labels support would really make Dashy even more awesome, as you get a nice headstart when you launch it for the first time. Making it especially handy for new selfhosters.

Flame has its strange quirks, for example, if you just want a title at the top of the page instead of human greetings (which make little sense for your own homeserver), you need to use the greetings fields and enter that title 4 times. The developer has also refused to support categorizing what he calls applications, while the UI does show categories for bookmarks, design choices that are not consistent and not really align with any common sense. Anyway, it forces users to "misuse" Flame features to make it useable (several discussions confirm this, removing the Compose Labels and manually adding your docker services as external website bookmarks instead, loosing some functionality, turning Flame in a very basic, static homepage).

Plugsy is reall nice but the issue with proxies is really a Plugsy bug, it has nothing to do with certificates since the error is already present with a normal proxy (http), not reverse/https. and it happens with nginx and caddy (which the developer uses, but he must be referring to a very old version). It exists for a long time and the developer seems to have shifted his priorities away from Plugsy.

Your solution I might like even more than Plugsy as it is more than just a startpage :)

@Lissy93
Copy link
Owner

Lissy93 commented May 10, 2022

Maybe I could make a separate service, that interacts with the Docker sock, then securley exposes the required info through an API, to be used by apps like Dashy, without the need for Dashy to have full and direct access to Docker.

I agree that it would be very useful for a lot of people. I will consider it for a future update, and when / if complete, I'll let you know here :)

@zilexa
Copy link
Author

zilexa commented May 10, 2022

In my case I don't even expose a dashboard online. Only the things that I really, absolutely need to be able to use when not at home or through apps on my phone or laptop.

The rest van be accessed through VPN :)

Firefox Sync Server, Vaultwarden password manager and FileRun, a file manager, are exposed via https.
The rest is only accessible through Wireguard VPN.
Using Docker API in Dashy therefore doesn't really matter to me, from a security perspective once I'm on VPN, I can access everything anyway :)

I'd say don't overcomplicate. But I like that you care about security.

@mbjurstrom
Copy link

mbjurstrom commented Sep 28, 2024

Sorry to bump this old issue. But I just started using Dashy the other day and love it this far. Great work.

I am also missing this feature though, and would love to have it implemented.

Maybe I could make a separate service, that interacts with the Docker sock, then securley exposes the required info through an API, to be used by apps like Dashy, without the need for Dashy to have full and direct access to Docker.

I agree that it would be very useful for a lot of people. I will consider it for a future update, and when / if complete, I'll let you know here :)

For my containers that require access to the docker socket I use this https://github.com/fluencelabs/docker-socket-proxy to minimize the security risk. I run multiple instances with the various combinations of APIs enabled and pass in the one with the most minium amount enabled for each container. It is a bit messy though and require the user to understand which api each container need. I think that Dashy would only need read only access to the containers part of the api to add this functionality. It is a real shame that docker do not support restricted access to this natively.

If there is no interest to implement this in the official repo I might try to implement something for my self.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🦄 Feature Request [ISSUE] Suggestion for new feature, update or change
Projects
None yet
Development

No branches or pull requests

4 participants