Clément Barbaza  Now  About  Posts  Uses

How I easily manage my servers on Mac

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.

Shuttle, a simple SSH shortcut menu on OSX

My secret is Shuttle, a free open-source software that brings a SSH shortcut menu on my MacBook Pro.

How Shuttle works

Server management

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:

You 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 👍.

Personalization

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.

Synchronization

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.

Alternative method

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!