Show HN: ServerBuddy – GUI SSH client for managing Linux servers from macOS
17 hours ago (serverbuddy.app)
Hi HN,
I've built an app for macOS that allows performing common SSH operations on Linux servers using a native GUI.
The problem:
Managing multiple Linux servers usually means juggling terminal windows and copy-pasting snippets/scripts. After dealing with tens of production/staging VPSes at previous jobs, I realized there had to be a better way for common operations I did on a daily basis than my collection of bash snippets.
Features:
- Quickly switch between different servers. Tag servers with arbitrary key values for easy search.
- Real-time dashboard with CPU/memory graphs, disk usage, and uptime.
- Table based interface for processes (sortable/filterable), Docker containers, systemd services, network ports, and system logs etc.
- Built-in file browser.
- Full-featured terminal when you need to drop to the command line.
You can check out the screenshots at https://serverbuddy.app/screenshots for a quick overview of the features supported.
All the above are done through SSH, there are no agents/scripts to install on your servers.
From using the app for a few weeks(admittedly a short duration), I can say I much prefer the ServerBuddy based workflow to my previous workflows.
Pricing:
Free forever for one server, $59 one-time for unlimited servers (includes 1 year of updates).
If you're a developer or sysadmin managing Linux servers from Mac, please do try out the app. I'd love your feedback regarding additional features/workflows etc.
Thank you!
The GUI looks useful but for the core problem:
> Managing multiple Linux servers usually means juggling terminal windows and copy-pasting snippets/scripts. [...]
There is already a plethora of tooling for many of these points. Not a lot of GUI stuff but ansible seems to cover a lot of ground (inventory, organized playbooks instead of shell scripts). Ansible also "just" uses SSH as a transplrt mechanism.
This feels like a solution that tries to support a flawed workflow instead a solution improving the workflow itself.
Ah, I should have clarified. I'd say ServerBuddy's probably a complementary tool alongside Ansible/Puppet/Salt etc. I have used Ansible quite a bit.
When I need to accomplish something relatively large and standard(e.g. two node MySQL installation with a replica), I'd reach for my Ansible playbooks.
However, there are certain one-off flows for which I think SB has a sweet spot. Let's say I'm an agency managing web apps for multiple clients with separate VPS(es)/bare metal servers for each client.
If I get a ticket saying something's wrong with one of their app or its dependencies(let's say MySQL), it would be very easy for me to check the container health in the Docker tab and then check the detailed logs in the Logs tab to identify the issue. During this investigation, I might also check the Ports and other tabs to check external connectivity.
Another quick one off flow I can think of is to quickly check if everything's working after running an Anisble playbook on my server(s).
It might be worth writing Ansible playbooks for these workflows if one keeps finds they're doing them over and over, but I feel that a GUI option has some merit as well.
Thank for you expanding/clarifying on the intended use case.
That does make a lot more sense. Apologies if the initial comment came off to negative there, I'm likely just not the target audience.
I wish you the best of luck with your product.
ServerCat is very similar to this, for a GUI option. If you need features suitable to a more diverse and/or complex setup, Devolutions’ Remote Desktop Manager offers a fairly full-featured free version of their enterprise-grade software.
The former is OSS, and I’m not sure how active its development is at this point, although it’s available in the App Store for desktop and mobile. RDM is proprietary, and also offers a mobile app.
Not only ssh, it has a pluggable connection scheme to include a wide range of "how do I talk to the system," which includes AWS Session Manager, docker, kubectl, and a bunch of network appliance protocols
But I also recognize that I'm not the target audience for a GUI management app so I don't mean to pile on the "you're holding it wrong" but I do mean to draw attention to any robust solution not getting stuck in a local minima or else the user will need a separate app for each mental model of what managing "a Linux" means
Tell me how you use Ansible to check cron jobs, docker container states and read logs.
Very nice indeed. I am too much of a terminal person to use it myself, but I would rather have this than install cockpit on a server (which I then tend to forget about).
For initial setup and all those one-offs that tend to come with development work, it seems nice, and the pricing is sane (no stupid subscriptions).
This is a great looking app that certainly fills a niche (don't listen to the naysayers here). Seems like your target niche might be indie hacker types who are not as familiar with all the server management and setup stuff (or just want to make it easier). Does this help with initial server setup (from a bare VPS) or running/deploying new apps? That would be an great next step to help less technically inclined folks use this app!
I haven't tried the app yet but I have managed Linux servers for 20 years and still think this app can be pretty useful.
You can use whatever tools to set up the initial state of a server using this app.
Thank you for the kind words. I welcome all feedback(good or bad) as I think there's plenty of value in both.
Yep, indie hackers are definitely a target group.
There is support for initial setup such as adding a new sudo user, installing Docker etc. but this isn't a single step operation. I'll write a document for this today or tomorrow.
I've though of adding support for Dokku(or something similar) in a separate tab to make managing apps easier. I will investigate and see what the best option might be.
This looks pretty neat. I may replace my current quick-connect client (ServerCat) with this.
Thanks for trying it out!
I don't understand what makes this Linux specific. Does it upload binaries or something? I'm failing to see the bigger picture here.
SB is Linux specific(actually even only a few Distro specific such as Debian/Centos flavors) as there are tabs like "Packages" which are very dependent on what package manager is used. There's also functionality for managing Systemd services and I'm not sure if Systemd's being used by other Unixes.
In theory, the app can work on any Posix compliant Unix box and have fallbacks for tabs/sections where functionality is not implemented. However, this would require quite a bit of testing overhead. My current test suite matrix for a bunch of VMs with different auth methods already took quite a bit of effort to get working. I'm not sure I'd be able to ship new features/fixes quickly if the supported OSes list increases, at least for the time being.
Best of luck! Seems to fill a niche.
Bro, the download link is sending the download file as "content-type: text/plain; charset=utf-8", hence, instead of triggering download, the browser is just trying to render it on the page..
Nice and useful app btw.
Ah, the content type has been fixed now. Thank you for the report.
Nice work! How about something that also watches GPUs on the system? Specifically looking for AMD MI300x support.
Thanks, that's a good suggestion. I will incorporate GPU info and maybe even a distinct Hardware section/tab for other device metrics after some planning.
I tried your app and thought it was very functional and nice. Congratulations!
Thank you!