DEV Community

Cover image for I Built an App to Manage My Servers From My Phone
Fatih Kurt
Fatih Kurt

Posted on

I Built an App to Manage My Servers From My Phone

For a while, I noticed that I was doing the same things over and over again when managing my own servers. Whenever I needed to check something, I would open my computer, launch a terminal, connect to the server over SSH, and run a few commands. I would check CPU and RAM usage, look at the disk, check my Docker containers, and then close the terminal when I was done.

None of this is difficult. But after doing it over and over again, opening my laptop just to check the current state of a server started to feel unnecessary.

So I started building something to make this workflow a little easier for myself. It's called ServerGlance.

The basic idea behind ServerGlance is pretty simple. I wanted to be able to quickly check my servers from my phone and, when necessary, connect to them and actually do something. I wasn't trying to build another huge monitoring platform or a complete DevOps tool. I mostly wanted a small tool that solved a problem I was personally running into.

When I open the app, the first thing I want to see is the overall state of the server. Is it online? Which operating system is it running? How long has it been up? How much RAM and disk space is being used? For me, having that information on a single screen is enough.

For example, the screen above shows the Ubuntu version, uptime, and some basic system resource information. I intentionally kept this part simple. I want to open the app and understand what's happening with the server within a few seconds.

But monitoring alone isn't always enough.

There are always moments when I need a terminal. Maybe I need to restart a container, check some logs, or just run a simple command like df -h or docker ps. I didn't want to go back to my computer every time that happened, so I added an SSH terminal directly into the app.

I also tried to think about how the terminal would actually be used on a phone. Typing commands with a mobile keyboard isn't exactly fun, so I added quick buttons for some of the keys and actions I use frequently. Having separate buttons for TAB, ESC, CTRL+C, UP, and DOWN might seem like a small detail, but it makes a noticeable difference when you're using a terminal from a phone.

I also added a small snippet system for commands that I run frequently.

If there's a Docker command I use regularly or a command I keep typing to check something on the server, I can save it once and use it again later. Again, it's not meant to be a huge feature. I just don't want to type the same few commands over and over again on a phone.

After using the app for a while, I also noticed another small problem. Sometimes I want to show someone the current state of a server, but sending a screenshot of a terminal isn't exactly the nicest way to do it. So I added a server status sharing feature to ServerGlance.

It turns the current server information into a cleaner image that can be shared. Things like CPU, RAM, disk usage, and uptime can all be seen in one place.

While building ServerGlance, I've also been trying not to turn it into another massive monitoring platform. There are already plenty of great tools for monitoring servers. The problem I'm trying to solve is much smaller.

You're away from your computer and suddenly wonder if your server is still running. You take out your phone, open the app, check the server, and if something needs to be done, you connect through the terminal and run the command.

That's basically the workflow I'm building ServerGlance around.

The project is still under development and there are plenty of things I want to improve. I especially want to add more control around Docker, improve the terminal experience, and make it possible to handle more small server-management tasks directly from the phone. At the same time, I don't want the app to become unnecessarily complicated.

One of the reasons I enjoy working on this project is that it's solving a problem I actually have.

I manage servers, I use SSH, I work with Docker containers, and I run the same commands all the time. Eventually, opening my computer just to answer the question "What's going on with my server?" started to feel unnecessary, so I decided to build my own solution.

That's ServerGlance for now.

If you manage a few Linux servers yourself and want a quick way to check them from your phone or connect to them over SSH when needed, you can take a look at the project:

https://serverglance.fktyazilim.com

I'm also curious how other developers manage their servers. Maybe the workflow I'm trying to solve is something other people deal with too, or maybe I'm just someone who uses the terminal a little too much. 😄

Top comments (0)