Have you been experimenting with Node.JS (as I have) and wished you had a place to host your Node.js apps? If so, you may want to check out NodeFu.com, a new hosting service that just launched today.
Created by my friend and co-worker Chris Matthieu out of frustration with not getting invites for some of the other new Node.js hosting services, NodeFu is hosted up in Amazon EC2 and currently offers free hosting of Node.js apps to anyone interested.
Getting Started
As shown on the NodeFu home page, the process of using NodeFu is fairly straightforward. You request a coupon (an invite) via a commandline curl:
curl -X POST -d "email=your_address@example.com" http://nodefu.com/coupon
When you get an email confirming your invite, you can register an account, provide our ssh public key, etc.
From then on out all deployments happen purely through git commands. You start out by registering a new NodeFu application via another command-line curl command:
curl -X POST -u "testuser:123" -d "appname=myapp&start=hello.js" http://api.nodefu.com/app
NodeFu will respond with some JSON that includes the port number your app will run on and the name of the git repo you will push to. You then just do two git commands:
git remote add nodefu the_url_returned_by_our_api
git push nodefu master
And your NodeFu app will be live at http://appname.nodefu.com. As you work on your app, you just do more commits to your local git repo and then do a “git push nodefu master” when you want to update the live app. Once you push to NodeFu, your app should automagically be updated.
A Very Basic Example
You can see NodeFu in action in a VERY basic form at:
http://dany2.nodefu.com
As I write this post today, that app is literally a super basic “Hello, World” Node.js app. The code is visible up on GitHub at https://github.com/danyork/nodefu-dany2 and hopefully in the next bit I’ll have a chance to turn it into something a bit more involved.
Building Voice and SMS Apps with NodeFu
I’ve also created a Tropo app at http://tropohello.nodefu.com which uses the Tropo WebAPI library for Node.js to return JSON to Tropo.com where you can connect to the app using voice, SMS, IM or Twitter. Right now I only have voice and SMS wired up, but you can try out the app at any of these numbers:
Voice & SMS Messaging: +1-850-462-8472
Skype Voice: +990009369991478810
SIP Voice: sip:9991478810@sip.tropo.com
INum Voice: +883510001827346
Tropo is providing the voice and SMS connectivity and then communicating with my app running over on NodeFu.com. Pretty cool stuff!
Learning More and Trying It Out
You can just go to NodeFu.com to learn more and ask for an invite. Chris has invited 50 people in so far and plans to be giving out more invites over the next few days. It’s notable that Chris has open-sourced the entire codebase for NodeFu, so anyone else could really just download Chris’ code and set themselves up with their own NodeFu-like site:
https://github.com/chrismatthieu/nodefu
Here’s a video explaining what Chris is trying to do:
Other Options
I should note that Chris isn’t alone in coming up with a service like this. The comments to the Hacker News story about Chris’ site (and also the Mashable story) show a range of other Node.js hosting options, including:
… and a couple of others were listed, too, but they seem to offer other forms of hosted JavaScript versus Node.JS hosting.
The key point of all of this is that for those of us experimenting with Node.JS, this is truly a wonderful time to be trying it out, because we now have so many options before us!