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

Having any kind of data shown on a tile, create your own integrations easily directly from the main webpage #469

Closed
ajnart opened this issue Oct 11, 2022 · 2 comments
Labels
🤔 Idea Tell us your ideas

Comments

@ajnart
Copy link
Owner

ajnart commented Oct 11, 2022

Description

Data needs to be shown underneath a tile to add some nice info about services that have no modules made for them yet.

image
On this image of Heimdarr, we can see that some info is written into the tiles, allowing to take a quick glace at info

How to implement this ?

Ideally in the future any integration could be added by editing a service to send a request to it and read data at a certain JSON path. Displaying the wanted info.

Perhaps we could make some global config file containing "presets"
i.e. Service preset is PiHole --> Requests {service}/api/stats and displays {global.requests.blocked} {t('presets.pihole.blocked'} (t is the translation function)
Also adding required fields for login/pass auth or API auth to the respective APIs when needed

The presets file

The presets file will be open source so that everyone can edit the data they want to show. Maybe we could even make a dynamic GitHub edit link to propose the changes.
The process I'm thinking about would be :
Fill in the custom integration form (shown on clicking "custom integration", replacing a Selector for already implemented presets) .It would show a box with the text to copy/paste at the end of the array of presets on GitHub to propose this integration, marked as in edit mode, it would also tell the user to open a PR of "new preset" type or something similar

Ideas

We probably want to only send one request to the backend with all the URLs to be fetched with the correct auth info
/api/customIntegrations body :

"items": [
    {
       "name": "get-stats-service-id",
        "url": "localhost:3000/api/getStats?apikey=bLahB14bl4h"
    }
    {
        "name": "get-other-stats-login",
        "url": "localhost:6868/api/getOtherStats?login=Toto&pass=SuperSecure"
    }
]

This is a LOT of work but is in my ideal roadmap for Homarr.

@1liminal1
Copy link

Awesome!!!

Thanks Thomas, these ideas sound great :)

@Meierschlumpf
Copy link
Collaborator

Moved to homarr-labs/homarr#2018

@github-project-automation github-project-automation bot moved this from 🆕 New to ✅ Done in Homarr Kanban Mar 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🤔 Idea Tell us your ideas
Projects
Status: ✅ Done
Development

No branches or pull requests

3 participants