Nodester.com home

29 8 / 2012

Special Thanks to Nodesters!

When I set out to start the Nodester open source PaaS project 1.5 years ago, I had no intention of building and running a 24x7 Node.JS PaaS. I simply wanted to learn Node.JS and the nuances of hosting Node.JS apps in a public and private cloud environment.  

With the help of the open source community (specifically @DavGlass and @DanBUK), I learned about Linux chroot sandbox securing of apps. I would also like to thank the following developers who have contributing to the Nodester project over the years: @_Alejandromg @Eschoff @Marcosvm @Abraham @MichealBenedict, @Crp_underground @AdamKumpf @Krwindham @Akavlie @eldios @Tenzer @Eocampospy @Fgnass @JP_pinilla Yawnt @WeAreFractal MintPlant Ckknight @Arvidhahldev @stephanepericat and @Kev_nz.  As of late, @_AlejandroMG has been my wingman on this rocketship ride and has proven himself to be an amazing Node.JS developer, thoughtleader, and most patient support engineer. I would work with any of you again in a heartbeat!

I would also like to give a shoutout to @Tropo @VoxeoLabs and @IrisCouch for their hosting sponsorships which have allowed us to offer our hosting services to the Node.JS community for free since day one!  

I am proud to say that Nodester was the first 100% open source Node.JS PaaS solution available for developers and it’s still one of the few Node.JS platforms that supports native WebSockets! The Nodester community is passionate about open source public, private, and hybrid cloud PaaS services and has proven that open source projects can become viable businesses.

Upon accepting a new career opportunity with Bechtel, it became clear to me that I could no longer support the growing demands of our susccessful open source project and free hosting service.  I looked at the various leading PaaS providers out there and it became clear that the only one with our vision and mission was AppFog. They, too, were very excited about taking over the Nodester project and ultimately adding our realtime websocket technology into their CloudFoundry platform.  

This partnership between AppFog and Nodester will give our Node.JS developers the very best public and private PaaS hosting solution as Node.JS continues to grow and extend into the enterprise.  I am very proud of our accomplishments and have made many new friends throughout this endeavor. With that, I have one last thing to say…..Hack the planet! \m/

Cheers,

@ChrisMatthieu

Links to the press coverage at the time of this post:

AppFog

TechCrunch

GigaOm

VentureBeat

eweek

Diversity

30 6 / 2012

Nodester CLI Reaches 1.0 Status!

We are happy to announce that the Nodester CLI (command line interface) has officially reached 1.0 status!  At the time of this article, we are actually on v1.0.2 which now supports Node.JS version 0.8.1 by default! 

Here is a list of the updates:

  • nodester app delete -> nodester app destroy (Because delete is reserved word in js) Almost every delete action is now destroy.
  • nodester app list: Alias to nodester apps (or viceverza)
  • nodester authors: Show the contributors for this tool.
  • Shorthands: e.g nodester app l maps to nodester app logs. 
  • Better help with headers and stuff.
  • JSHint code lint (All code is valid js)
  • Use of “use strict”
  • Partial node-0.8.1
  • Travis support
  • Bump to 1.0.0.
  • New “Hello World” app
  • More useful nodester app init command. Now it let you to choose between hello world or autoudpate remote (default to nodester)
  • Also no more “You need to restart your app” after npm installs
  • New Api nodester client with this command you are now able to interact with your personal instance easily. Running just nodester client set <endpoint> <brand> will setup your instance. Really useful.
The new CLI also creates a new and improved starter page / hello world app. This update includes links to getting started with websockets, tips and FAQs, as well as more information on the versions of Node.JS supported by our platform. 

The new CLI also walks you through deploying your app from scratch or as an existing application.  See below:

$ nodester app create 081

nodester info creating app: 081 server.js
nodester info successfully created app 081 to will run on port 19144 from server.js
nodester info run nodester app init 081 to setup this app.
nodester info ok!

$ nodester app init 081

nodester info What do you want to do:
(1) Setup a new app from scratch?
(2) You just want to setup your existent app?
note: if you choose 2 be sure that you are into your app’s dir
(1) 1

nodester info initializing git repo for 081 into folder 081
nodester warn this will take a second or two
nodester info cloning your new app in 081
nodester info clone complete
nodester info writing the default configuration
nodester info processing the initial commit
nodester info Nodester!
remote: 
remote:                           _          _
remote:           _ __   ___   __| | ___ ___| |_ ___ _ __
remote:          | ‘_ \ / _ \ / _  |/ _ \ __| __/ _ \ ‘__|
remote:          | | | | (_) | (_| |  __\__ \ |_  __/ |
remote:          |_| |_|\___/ \__,_|\___|___/\__\___|_|   
remote: 
remote:           Open Source Node.js Hosting Platform
remote:               http://github.com/nodester
remote: 
remote: 
remote: Syncing repo with chroot
remote: From /node/git/topher/10991-985dc656de547235fe586e3debb0ce6b
remote:  * [new branch]      master     -> origin/master
remote: Attempting to restart your app: 10991-985dc656de547235fe586e3debb0ce6b
remote: {“status”:”restarted”}
remote: App restarted..
remote: 
remote:   \m/ Nodester out \m/
remote: 
To git@nodester.com:/node/git/topher/10991-985dc656de547235fe586e3debb0ce6b.git
 * [new branch]      master -> master

nodester info 081 started.
nodester info Some helpful app commands:

      cd ./081
      curl http://081.nodester.com/
      nodester app info
      nodester app logs
      nodester app stop|start|restart

nodester info ok!

30 6 / 2012

Nodester Running Node.JS 0.8.1

3-2-1 BLAST OFF!  Nodester now runs Node.JS version 0.8.1 by default if you upgrade to our latest CLI v1.0.2!  You can upgrade from 0.4.12 or 0.6.17 to 0.8.1 by simply opening your package.json file and changing the following entry to:

“node”:”0.8.1”

Commit your change to git and push it to nodester:

git commit -am “upgrading to v0.8.1”

git push

Hack the planet!  Thanks again to @_AlejandroMG for performing this update!

18 6 / 2012

Nodester Runs CoffeeScript!

Thanks to @_AlejandroMG and Jeremy Zevin, Nodester now runs CoffeeScript apps right out-of-the-box ( for files ending in .coffee)!  Here’s a step-by-step example of how to get started with running your existing CoffeeScript application on Nodester.

Let’s start with the following hello world app written in CoffeeScript.  Let’s save it to server.coffee

http = require 'http' 
http.createServer (req, res) -> 
res.writeHead 200, 'Content-Type': 'text/plain' 
res.end 'Hello, World!' 
.listen 8000 
console.log 'Server running at http://127.0.0.1:8000/'

Run the following Nodester commands to setup this app in the cloud:

nodester app create coffeescripttest server.coffee
nodester app info coffeescripttest

Now we have an app created in the Nodester cloud and now we know it’s git repository and production port.  Let’s update our code to change the port from 8000 to your new Nodester production port and let’s finish setting up our local git repo and remote by running the following commands in your new app’s directory:

git init
git add .
git commit -m “initial checkin”
git remote add nodester {your repo URL from running the nodester app info command}
git push nodester master

That’s all there is to it!  Now direct your browser to http://coffeescripttest.nodester.com to see your new CoffeeScript application running on Nodester live!

Hack the Planet! 

Team Nodester \m/

09 5 / 2012

Nodester Platform Upgraded to Support Node.JS v0.6.17

We are happy to announce the support of Node.JS version 0.6.17 on the Nodester platform.  This update was prompted from receiving an urgent notice from the Node.JS project related to an HTTP Server Security Vulnerability detected in versions prior to 0.6.17.  The full security article can be found at http://blog.nodejs.org/2012/05/07/http-server-security-vulnerability-please-upgrade-to-0-6-17/

Please update your nodester CLI tool so that newly created apps will default to v0.6.17.  This can be done by running:

sudo npm install nodester-cli -g

Upgrading existing Nodester-hosted Node.JS apps to v0.6.17 is simple.  Open your package.json file and change the following entry to:

“node”:”0.6.17”

Commit your change to git and push it to nodester:

git commit -am “upgrading to v0.6.17”

git push

Hack the planet!  Thanks again to @_AlejandroMG for performing this update!



25 3 / 2012

New Nodester-CLI Fixes Windows Git Issue

Update your CLI by running “npm install nodester-cli -g” and Windows users will find that their git issues on nodester app init have been resolved!  

The main change in the update is that Windows uses && to join multiple commands together whereas Mac and Linux use semicolons.  We had a long string of commands that changed into the new app directory and did a “git add .” followed by a “git commit” and “git push”.  We were not properly breaking these commands up on Windows machines hence the initial app failing to start because the code was not added to the git repo properly to push to Nodester.

Hope this helps :)

25 3 / 2012

Tips for Windows Users

Installing Node.JS apps on Nodester using Windows was slightly different that the steps for Mac and Linux users.  Last night, I used Bootcamp on my Mac to walk through installing Node.JS as an MSI on Windows 7 and installing the Nodester-CLI and deploying the “hello world” app.  My recap is below:

  1. Download and install Node.JS by clicking on the Download and Windows links on http://nodejs.org.  Next reboot your PC to get the paths working to run Node. (There is probably an easier way to do this but I am slightly Windows challenged ;)
  2. Install Git for Windows and generate your RSA key using GitHub’s instructions here: http://help.github.com/win-set-up-git/
  3. Rather than using the Windows CMD prompt, I had much better results using the Git Bash prompt on Windows for the remainder of these steps. 

     
  4. Install Nodester-CLI by running:
    npm install nodester-cli -g
  5. Link the CLI to your Nodester account by running:
    nodester user setup yourusername yourpassword
  6. Submit your RSA key to Nodester so that your git commands work as follows:
    nodester user setkey
  7. Create and deploy your first Node.JS “hello world” app on Nodester using the following 2 commands:
    nodester app create mycoolnewappname
    nodester app init  mycoolnewappname
  8. This created a new app directory for me and a git repo but the CLI failed to add the new nodester files (server.js and package.json) to my git repo and thus failed to push files to Nodester (because they were not added to git.)  I manually added these files to git and pushed and the app came up as expected.  Here were the steps that I used:
    git add .
    git commit -m “initial commit”
    git push origin master

If everything worked for you as it did for me, your new Node.JS application should now be running online at: mycoolnewappname.nodester.com

Special thanks to Nirahiel for helping us troubleshoot our CLI on Windows!

03 3 / 2012

Nodester Now Running Node.JS 0.6.12

Thanks to Alejandro Morales and “n”TJ Holowaychuk’s Node Version Management project, Nodester is now able to run multiple versions of Node.JS!  In addition to Node.JS version 0.4.9 that we have been running for months, we now also support Node.JS version 0.4.12 and 0.6.12.  

Once you update your Nodester CLI ( sudo npm install nodester-cli -g ), your next hello world app that you init will automatically create a package.json set to run on version 0.6.12.  

nodester app create nodesterrox
nodester app init nodesterrox

 Browsing to http://nodesterrox.nodester.com results in the following:

Hello World
App (nodesterrox) is running on Node.JS v0.6.12

The new magic in our package.json comes from the “node” version definition.  You can currently specify 0.4.9, 0.4.12, or 0.6.12

{

  “name”:”nodesterrox”,

  “node”:”0.6.12”,

  “author”:”chris matthieu”

}

Simply update this file in your existing hosted apps and push it to nodester to change and restart your app running under a new version of Node.JS!  ( git commit -am “updated node version” and git push ).

Hack the planet!