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!
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.