When you’re a freelance or a business owner, and you or your clients have web products/services online, you have a lot of servers to handle.
My secret is Shuttle, a free open-source software that brings a SSH shortcut menu on my MacBook Pro.
Shuttle manage your servers in a .shuttle.json
file.
So, you set your servers in JSON format.
For information, here’s the default .shuttle.json file.
You need to specify 2 keys for a server:
cmd
: the cmd to launch (usually ssh [email protected] -p 1234
)name
: the name of the server that appears on ShuttleYou can specify folders and sub folders for your servers.
Personally, I created 3 folders:
Hint: you can add emojis in your server folders and names to help you recognize them quickly 👍.
This is a simple software, but you can personalize it.
I only changed 2 settings.
Of course, if you want more information about Shuttle options, you can read the documentation.
OK, so, as we saw above, the settings and the servers are specified in a .shuttle.json
.
It could be very useful if we could synchronize it in the cloud, don't you think?
The documentation shows that we can change the JSON path.
You just have to create a .shuttle.path
file in your home directory and insert the path of the JSON settings file.
Then, you can specify a folder synchronised with your Dropbox/Google Drive/iCloud/… account.
Unfortunately, I try to change the .shuttle.json
path but it didn’t work for me.
I use iCloud to sync my folder, so maybe the problem is specific to this service because of the weird path (there is a space in the path for iCloud).
For information, iCloud folder path is:
~/Library/Mobile\ Documents/com~apple~CloudDocs
So, I simply used an alternative method to sync my .shuttle.json
file, and this method consists in replacing the file by a symbolic link.
I moved my .shuttle.json
file in a specific iCloud folder for Shuttle:
$ mkdir /Users/clement/Library/Mobile\ Documents/com~apple~CloudDocs/Shuttle
$ mv .shuttle.json /Users/clement/Library/Mobile\ Documents/com~apple~CloudDocs/Shuttle
Then I created the symbolic link in my home directory:
$ ln -s /Users/clement/Library/Mobile\ Documents/com~apple~CloudDocs/Shuttle/.shuttle.json .
My Shuttle setting file is now synchronised with my iCloud account!
This was a quick presentation of Shuttle, and how I manage the servers for my projects and my clients. I hope you would find my method interesting and maybe you would use this awesome app for managing your servers!