Victus Spiritus

home

Setting up Redis.app on Mac OS X

26 Mar 2011

I've been spoiled by CouchBase which comes with a prepackaged OS X app. It includes a sharp C logo, which sits nicely on my Dock bar (not to be confused with a dickbar*). The database server is ready to launch up with a click although I prefer the relaxing couch image of couchdbx.

But while whipping through a nodejs walkthrough which was homework for last year's Node.js Camp, I ran into a slight snag. Everything worked fine, but I wanted a Mac OS X clickable app to fire up redis with a Terminal log showing access. Below is the walkthrough homework:

Node.js Camp Homework: How to Get Ready

1. Install Node on your laptop.

Instructions here.

Pick one of the install methods in this gist.

2. Explore creationix's Game Code

npm install connect socket.io

Attempt to run it locally.

3. Get WebOS emulator running on your laptop

Instructions here.

4. Install node-redis and redis

# start the redis server

wget http://redis.googlecode.com/files/redis-2.0.4.tar.gz

tar -zxf redis-2.0.4.tar.gz

cd redis-2.0.4

make

./redis-server

# install the node library:

npm install redis hiredis

I first turned to the appify script I used late last year. Unfortunately the script (see chromium updater updated) no longer converted bash shell scripts in running .app files. They'd convert but fail to execute, raising an error based on an incompatible OS version. Luckily a little web browsing revealed the AppleScript Editor (path /Applications/Utilities/AppleScript Editor.app) which can perform the leg work of converting a shell script into an app by saving as an Application.
The code:

set the_shell_script to "echo $PATH"
tell application "Terminal"
activate
do script "/Users/messel/Desktop/Dropbox/scripts/redis-2.0.4/redis-server"
end tell

The AppleScript Editor:

I've included a few 512x512.png (os x app icon size) logos that I modified. The background of the official one wasn't legible on the dock bar:


The original wasn't legible on the docking bar:

Notes:
* = the dickbar is community nickname for the twitter trending banner where paid advertisements go, named after Twitter CEO Dick Costolo.