I’ve utilized and enjoyed Postgres.app and Redis.app for a while now. Most of my work is still using a rails stack, and both of these services are usually required for rails. Typically, I am using docker or a virtual machine to manage and network multiple rails apps, so I don’t always use these tools since they are installed on macOS, but they are very helpful for running stand-alone apps and experimenting with the services by themselves.
I wanted to experiment with elasticsearch the other day, and I realized there wasn’t an equivalent elasticsearch app. So, I decided to make a simple one. After reviewing some of the code for Redis.app, I decided to keep it as simple as possible. I discovered rumps, which looked fun and simple enough for a project like this. I basically just need a GUI element in the menu with a dropdown to start, stop, and inspect the elasticsearch service. I thought I could just utilize
brew services under the hood to keep it dead simple. After tinkering for a bit, and remembering some of the syntax of python, I had the app going! Here is the main code for the project.
From there, I used py2app to compile the app into a distributable package. You can see the app running and the menu options available in the image above.
There is more information in the github repo, including links to other articles I read during the process. In general, rumps and python is a really good option for little productivity apps like this. It can quickly be iterated on and expanded to include other features.
If you want to install this app, follow these steps (under MIT License):
- Ensure elasticsearch is installed with homebrew.
- Download the app here, extract it, and move it in your
- Launch the application to start. You will have to specifically Allow the app to be download/opened from
System Preferences > Security & Privacysince you are downloading the app from GitHub/me and not the official Apple Store. More info on that here.