Open-Balena dashboard project

Hello

I started to build Open Balena dashboard

It’s fully front-end now just a wrapper for balena-sdk, but feel free to raise an issue to port any functionality of Balena Dashboard
Github:

Dashboard dist:

For now it supports:
Listing applications
Listing devices and status in applications
Get logs
Attach to logs

Link - https://api.YOURBALENAINSTANCE
Login - your email
Password - your openbalena password

Greetings,
Adam

6 Likes

This is awesome, good job :tada:

Massive thanks for putting the time into this one!

Would be helpful if there was a demo available that didn’t involve entering server details into your hosted version. Even some screenshots on the repo would suffice, alongside a feature list?

1 Like

This is working fully on client side (full javascript), so no data is going over any server besides downloading index.html and js scripts, and then all requests are going over your open-balena instance

Page is also hosted on github, on “page” branch, and this is serving only static files

I will add some screenshoots

1 Like

Fantastic, what a difference a clean interface will make!

1 Like

Super cool to see this @Razikus!

I just added Dockerized version of it, and also some actions:
Editing device name
Editing device note
Rebooting device
Restarting device application
Refreshing state

Next step will be to add device environment variables probably, cause it’s very annoying to set them over CLI

3 Likes

Application environment variables added, so you can now set and delete application env variables (device env are coming)
Also i enchanced a bit the UI

2 Likes

Nice work!

John

Looking great @Razikus!

Hello

I just added and ported tunneling service.
Unfortunately it can’t be realized fully via frontend yet :frowning: (raw tcp sockets still not available)
I ported balena tunnel to python also

SSH is very slowly cause i used 8192 bit key with passphrase

Tunneling service is authorizing via token that you got from open-balena

It supports:
raw TCP socket (port -> tunnel -> device)
webssh raw TCP socket (port -> webssh -> tunnel -> device)
traefik (domain -> traefik -> tunnel -> device) XIP/own domain
ssh traefik (domain -> traefik -> webssh -> tunnel -> device) XIP/own domain

It realizes everything on docker containers and labels, cause i will add swarm implementation later later

Open-balena-dashboard can use tunneler service or not.
For now open-balena-dashboard supports only traefik domain and ssh traefik domain with XIP dns resolver

I will put more READMEs later

1 Like

I just released Android APP for open balena!

1 Like

It’s great to see progress, I’m sure a lot of people will find this useful, thanks again for contributing @razikus!

1 Like