Open-Balena dashboard project

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

2 Likes

I just released Android APP for open balena!

2 Likes

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

1 Like

Super cool idea, I’ve often thought of doing something similar! Would you consider an option to use an API key to login instead of an email and password? I think that’d feel a bit more secure from a user standpoint.

@ca1ebd hmm why not, you mean not api key but token of logged open balena user?
it uses your backend and your openbalena instance, and implementation besides tunneler is fully front end

What i mean here is that if i want to implement api tokens it needs to be implemented inside open balena itself

Btw, today i added device environment editor
Probably i will add release manager and pinner soon

1 Like

@Razikus Looking at the documentation I believe I do mean an auth token, such as the login_with_token() call exposed here in the Python SDK: Balena Python SDK - Balena Documentation

Ok i understand, so you will login outside the login form, and just pass the token

I will consider that

This is awesome @Razikus! I’m loving your work. :grin:

1 Like

This is great! keep going!

@Razikus tested your project a bit. Very nice work.

I am struggling a little with the tunnel however. GitHub - scribe-systems-sp/open-balena-tunneler the repo doesnt make clear where exactly to install it. Could you provide some info on how you set it up?

@barryjump

Unfortunately there is a lot of configuration possibilities here

Do you want to use let’s encrypt (SSL) or XIP (dynamic dns resolver)?

I figured. Would love to get to what you show in the demo with xip just to test it out.

Hi there!
Recenly I created a fork of Open-Baleba Dashboard to make little improvements. PR also created

  • dark, light theme
  • increased accesibility
  • reimplemented and impoved UI side
  • little bug fixes
  • added Russian locale, Ukrainian WIP
    Started devoping Balena api proxy container, for avoiding self-signed cert reliability issue. It will be like - backend with frontend for Open-Balena API.
    Will publish link for docker container soon :slight_smile:
    Some screenshots:
    Devices list

    Device View

    Dark mode

    Russian locale

What will be added soon - proxying TCP with using balena cli inside docker container with backend for Open-Balena.
Ports will be tunneled with using balena tunnel command inside the container, to url like https://dashboard.myopenbalenainstance.com/tunell/deviceUUIDHere
Using OID like Keycloak/Okta etc. for authentication and API-key creating. For future role-based dividing.

4 Likes

WOW! Awesome work here Dmytro!

Looks great! I would merge it after testing. Check comment inside your PR - we recently created solution for tunnels that can be good entry for it

1 Like

Hi everyone, recently I published proxy for open-balena-api to avoid self-signed cert issues using your own cert - GitHub - markFieldman/open-balena-dashboard-backend
Next month I will publish part with web UI login from balena CLI
Also main idea - is creating dashboard with healthcheck charts of devices, and dashboard for device status checking

3 Likes

For anyone who gives this a try, be sure to let @teslov know how it goes! :slight_smile:

Sure, feedback is most importantly part