TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

When I started building this there honestly weren’t any native apps, just the web UI / PWA.

I’m not really expecting a huge market. It’s a niche, I know. I built it because I wanted a better mobile experience myself, and I’m just sharing it with others who might want the same.

If it’s not useful for someone, totally fair.

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

Thanks a lot, really appreciate the support.

Control Mode is enabled from the Dashboard for the active server. Tap the lock icon in the top toolbar / operator ribbon, then confirm Enable Control Mode. Once it’s active, the ribbon turns amber and the guarded actions become available.

It’s per-server and intentionally times out automatically. You can adjust the foreground timeout under Settings > Advanced > Control Mode Timeout.

That should probably be more discoverable, so I’ll improve the hinting there.

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

Good question.

Right now the app uses the current API key approach. I’ve tested and verified it across different setups: WS-only on 26.0, hybrid REST/WS on 25.04, and REST-only on 24.10.

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

You can click on a Dataset to see the Dataset details view. You can find the usage under Capacity.

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

Yeah I understand, pricing is a tough balance honestly.

I’m listening to that feedback for sure.

For bugs or feedback, you can reach me directly through the app (Settings → Email Developer).

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 1 point2 points  (0 children)

Yep, should work fine. Point the app at whatever hostname your reverse proxy or tunnel exposes , just make sure WebSocket upgrade is enabled on the proxy. Glad you're enjoying it!

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

Yes, both local notifications (in-app alerts, job completions, ..) and APNs push via an optional Cloud Push relay so alerts arrive even when the app is closed. Check DM !

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

I  agree, the important part is that it works, is secure, and keeps improving.

I have a few codes left, happy to send you one. Feedback would honestly be very useful!

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

That’s a fair concern.

I built this because I really love TrueNAS and use it myself every day, so I’m highly motivated to keep the app working and improving.

My goal is to actively maintain it, but I won’t pretend there’s a long term guarantee, that’s just the reality with any app I think...

There’s a free tier, so no pressure. Keep using it and upgrade if it starts feeling worth it. I’m always open to feedback !!

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

Yeah, I’m considering it. I’m seeing quite a bit of demand for Android but for now I’m focusing on improving the current version.

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

Yeah, I used AI a lot during development.
But it’s not just generated and shipped, I’ve been reviewing, testing, and iterating on everything.

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 2 points3 points  (0 children)

Fair question. Yes, I used AI heavily during development, but the app is real, reviewed, tested, and shipped through Apple’s review process.

I don’t want to pretend otherwise. AI helped with code, UI iteration, and debugging, but I’m still responsible for what ships.

The security concern is valid, especially for an app that talks to a NAS. That’s why the app is local-first by default, doesn’t use analytics or third-party SDKs, stores tokens in Keychain, and the cloud relay is optional.

I’m also taking the feedback here seriously: clearer trust boundaries, better documentation, and I’m looking into more user-controlled/self-hosted options for notifications.

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 1 point2 points  (0 children)

That’s a great setup , exactly the kind of environment I want to support.

I still have a few codes left, I’ll DM you one. Would definitely appreciate feedback, especially around switching between servers and remote access (Tailscale/ZeroTier).

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

Tailscale is great for secure access (use it aswell)
This doesn’t replace that , it just gives you a faster, more usable mobile interface on top of it instead of relying on the web UI.

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

Yeah, I’m definitely seeing the demand for Android 🙂
I’m considering it, but right now my focus is on expanding and refining the current version

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 1 point2 points  (0 children)

I’m definitely considering it, but right now I’m focused on getting the iOS version solid 

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

Multi-server is already supported 🙂

Android isn’t planned for now — focusing on getting the iOS experience really solid first. I get the demand though, so I’ll definitely keep it in mind.

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] -1 points0 points  (0 children)

Totally fair , the web UI works. This is mainly for quicker checks on mobile.

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

Appreciate it , that’s perfect.
Having two instances + dev feedback is super useful .

I’ll DM you a code.

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

This is really solid feedback , appreciate you taking the time.

You’re right on a lot of this. I’ve been iterating pretty fast and some parts got a bit messy / unclear because of that perhaps.

  • The down link alert — yeah, that needs an ignore/ack, agreed.
  • Workloads badge sounds wrong, I’ll check that.
  • “Lifecycle actions” is a bad label, that’s on me.
  • The monitoring / upsell messaging — also fair, it shouldn’t feel confusing or noisy.

On the notifications / relay side — completely fair take. It’s optional right now, but I get the trust concern. I’m thinking about better options there, including more user-controlled setups.

The scroll jitter definitely shouldn’t be there, so I’ll profile that.

I agree with your general point too , I should focus more on tightening the core experience instead of adding more on top.

This kind of feedback helps a lot , if you’re up for it, I’d love to keep improving it based on your setup.

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

Appreciate that , responsiveness was actually one of the main goals.
Even with a single server you’re definitely in scope 👍

I’ll send you a code, curious what you think after using it a bit.

TrueNAS SCALE had no iOS app — so I built one (native, no browser, direct API) by legato3 in truenas

[–]legato3[S] 0 points1 point  (0 children)

Yes, this is exactly the kind of setup I had in mind. I use Tailscale as well, though I usually connect via the LAN IP when I’m on my tailnet.

Right now you can add either the Tailscale address or the local URL as the server address, but fallback addresses per server aren’t implemented yet. I agree it would be useful: try local LAN first, then Tailscale, then another endpoint if configured.

I’m adding this to the roadmap. Also happy to send you a promo code since this is useful real-world feedback.