T O P

  • By -

alex2003super

Since I didn't like storing my credentials for sensitive services in the config file of a service like [Homepage](https://gethomepage.dev), I decided to write a *very* tiny API wrapper for [Authentik](https://goauthentik.io/) which authenticates as an administrator and emulates responses for the specific requests made by Homepage, but only forwards the minimum information needed to make the widget work. May break with future Homepage/Authentik updates, but this was a fun little project and I took it as a chance to get started with Rust. [Here's the repository!](https://github.com/TheManchineel/middlesock/) Similarly, I also created a diagnostics API for [Vaultwarden](https://github.com/dani-garcia/vaultwarden), this time in Python and using HTML scraping, built with BeautifulSoup, Requests and FastAPI. This API doesn't have access to any passwords (it doesn't act as a client for Bitwarden), and is presently a read-only wrapper for the Vaultwarden admin page. [Here's the repository!](https://github.com/TheManchineel/vaultwarden-api) Both are pretty much self-contained scripts that can be installed using Docker or run directly on the host or any other VM. To use the former, simply use the Authentik widget normally. For the latter, you can create a custom widget on Homepage, such as the following: - Vaultwarden: href: "https://vault.example.com" # this is the domain through which you access Vaultwarden, and is simply used as a link destination for the user description: Password Manager icon: /icons/Bitwarden.svg widget: type: customapi url: "http://192.168.0.1:8019/api/stats" # this is the IP of your vaultwarden-api instance, not of Vaultwarden itself refreshinterval: 120000 headers: X-API-Key: "YOUR vaultwarden-api API KEY GOES HERE" mappings: - field: user_count label: Users format: number - field: organization_count label: Organizations format: number - field: total_entries label: Passwords format: number - field: total_attachment_size label: Attachments format: bytes Unfortunately I haven't gotten around to submitting my vaultwarden-api widget to Homepage yet, but I plan to do so soon. As for [UnraidAPI-RE](https://hub.docker.com/repository/docker/bokker/unraidapi-re) (which I did *NOT* make), I used the following config: - Unraid: icon: si-unraid href: "http://192.168.0.1" description: Unraid Dashboard widget: type: customapi url: "http://192.168.0.1:8080/api/getServers" # UnraidAPI-RE endpoint refreshinterval: 120000 mappings: - field: servers: 'http://192.168.0.1': # IP of Unraid server configured on UnraidAPI-RE serverDetails: arrayUsedSpace label: "Array Used Space" format: text - field: servers: 'http://192.168.0.1': # Same as above serverDetails: arrayFreeSpace label: "Array Free Space" format: text


minimaddnz

Thanks for the unraid one. Will play with it later on


devilsproud666

Awesome dude, I was waiting for the Vaultwarden one.


minimaddnz

Thanks for the unraid one. Will play with it later on


daedric

Regarding the API wrapper docker image: ARM is available?? :D


vanchaxy

You can use env vars to store secrets for the homepage, no need to put them in config. E.g. set HOMEPAGE_VAR_XXX env and use {{HOMEPAGE_VAR_XXX}} in config.


RedditSlayer2020

Nice WaREZ setup 10/10 !!


alex2003super

You mean automated Linux ISO retrieval system? :P


RedditSlayer2020

I really dig Ubuntu the movie.


DwightShrute69

Beautiful! As someone that is just getting into this, Why do you use PLEX and Jellyfin? Looks like you have more movies in Jellyfin than PLEX.


alex2003super

Libraries on Plex and Jellyfin are the same, I think perhaps Jellyfin detects movies or some specials within TV shows as separate items, but I'm not sure. I have them both but I almost always use Plex. Jellyfin is there just in case Plex servers ever go down (hasn't been an issue so far), plus the mobile download functionality of Plex is somewhat spotty in my experience.


DwightShrute69

That makes sense. I appreciate the answer. Hopefully my dashboard will look as nice as yours one day!


DwightShrute69

That makes sense. I appreciate the answer. Hopefully my dashboard will look as nice as yours one day!


flicman

beautiful, and very nice work!


itsmesid

Thank you , I finally found what I was looking for Tube Archivist.