[Project] TrueNASScale-TUI: A real-time terminal dashboard built for SCALE 25.04+

Hi everyone,

I wanted to share a project I’ve been working on: TrueNASScale-TUI.

With the release of TrueNAS SCALE 25.04 (Electric Eel) and the move away from the legacy REST API for middleware interactions, I felt there was a need for a lightweight, terminal-native dashboard that leverages the new JSON-RPC 2.0 WebSocket architecture.

Built with Python and the Textual framework, this TUI provides a low-latency “cockpit” view of your server without needing to open the web GUI.

Current Features:

  • Real-time Dashboard: Live system info (hostname, version, uptime) and hardware stats.

  • Storage Management: At-a-glance health for ZFS pools (including scrub status/triggers).

  • Service Control: Monitor and toggle system services (start/stop/restart) directly.

  • Modern Stack: Built for Python 3.13+ and uses uv for easy deployment.

It’s still early days, but the core architecture is solid and future-proof for the upcoming middleware changes. I’d love for some fellow homelabbers to test it out and let me know what features you’d like to see next!

Check it out on GitHub: https://github.com/SoumyaPurani/TrueNASScale-TUI

Looking forward to your feedback!

3 Likes

In the GitHub repository the following is stated:

Getting an API key

  1. Open the TrueNAS web UI
  2. Navigate to Credentials > API Keys
  3. Click Add
  4. Set a name and save — copy the key immediately (it’s shown only once)

But there is no such entry in “Credentials > API Keys”.

Am I missing something ?

Just a question, probably i’m missing something obvious… But how Is possible to use It without enabling developer mode, to install the needed dependency?
My 2 cents: i really would have preferred a containerized version

That may be accurate for 25.04, I can’t remember. In 25.10 or later you would click the username menu in the top right and select My API Keys from the dropdown.

1 Like

You install it on the client side.

As i said… I was missing something terribly obvious :flushed_face:

1 Like

Interesting. Any chance of uploading some screen shots to the repo?

in 25.10 it is under MY API keys when I was developing it I was using 25.04 that is why document says so I will update it soon. thanks for pointing it out.

Yes you do. It uses websockets and json rpc to interact with your server.

1 Like

Good idea will do soon thanks for the suggestion.

The following command from the Github installation instructions:

git clone https://github.com/SoumyaPurani/scale-cli.git” is requesting authentication.

Similar problem here, it prompts for credentials if I try to clone https://github.com/SoumyaPurani/scale-cli.git

But if I check out https://github.com/SoumyaPurani/TrueNASScale-TUI (which has a subdirectory of src/scale-cli) it works.

But uv run scale-cli fails with the following output on my Ubuntu 25.10 system:

Traceback (most recent call last):

  File "/home/garyp/git/TrueNASScale-TUI/.venv/bin/scale-cli", line 10, in <module>
    sys.exit(main())
             ~~~~^^
  File "/home/garyp/git/TrueNASScale-TUI/src/scale_cli/__init__.py", line 27, in main
    config = load_config()
  File "/home/garyp/git/TrueNASScale-TUI/src/scale_cli/config.py", line 56, in load_config
    server = data.get("server", {})
             ^^^^
UnboundLocalError: cannot access local variable 'data' where it is not associated with a value

I am not prompted for an API key, and no interactive setup form appears.

edit

It also fails with the same errors if I specify the server and API key on the command line.

We have internal in-progress work to deliver a TUI for truenas actually.

2 Likes

Hello I will look into it and I gave a thought about it that lots of things can happen due to version mismatch and everything so my plan is to containerize the application using docker. Thank you for your feedback.

Hi try this one please GitHub - SoumyaPurani/TrueNASScale-TUI: 🚀 A blazing fast, real-time Terminal UI for TrueNAS SCALE 25.04+ built with Textual and JSON-RPC 2.0 WebSockets. · GitHub

I will update the documentation. Thanks for pointing it out.

That is exciting @awalkerix . For me I wasn’t able to find any so I decided to make a small project by myself. And mine is still in very very early stages.

No problem. I appreciate the enthusiasm. We’re not quite where we’re ready to open up the work to the wider community, but we’ll put some thought how the community can be involved in it overall.

That said, it’s really beneficial to get yourself familiar with the API / API client because there are so many areas I think where people could have awesome community projects that improve integration and help with workflows. Your WIP stuff looks great.

On attempting to run the updated version, now getting a different error:

error: Failed to spawn: scale-cli
Caused by: No such file or directory (os error 2)

Hello all, I have gone through your comments thank you for your support and reviews I have fixed what has been discussed here it is running on my windows machine as well as wsl2. Please feel free to reach out. I have also renamed the whole project and updated documentation so the whole truenasscale-tui vs scale-cli naming confusion can go away. Thank you.

Got it running on my Debian laptop, and connecting to my TrueNAS host.
A nice piece of work, and I am sure you can build on it further.

Good Job.

1 Like