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

28 8 / 2012

Nodester Joins AppFog!

Dear Nodester customers,

We are incredibly excited to bring together the Nodester and the AppFog communities, and delighted to welcome you into the AppFog family!

We have been big fans of Nodester, Chris Matthieu, Alejandro Morales Gámez, and the entire Nodester team and contributors from day one. We feel that Nodester’s Open Source, developer-centric approach to solving the needs of the Node developer looking for a PaaS is very synergistic with what we do here at AppFog and believe that the combination of AppFog and Nodester is going to be huge a win for our customers - AppFog and Nodester customers equally.

"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.” said Chris Matthieu, founder of Nodester. “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. This partnership will give our Node.JS developers the very best PaaS solution as Node.JS continues to grow and extend into the Enterprise.”

The first question on many of your minds might be what does this mean for the Nodester service? AppFog will now run and maintain the Nodester service as it is, but we also have Node support in our AppFog.com service. We are going to start incorporating Nodester technology into our AppFog.com Node service, and once we have completed this process, we will provide a seamless migration path from the Nodester service into the AppFog service. The transition will be completed by January 15, 2013. We want it to be as painless as possible and will work closely with you if you have any questions, feel free to reach out to support@appfog.com.

As part of the AppFog family, the Nodester users will now be able to use the same PaaS for their Ruby and Java apps that they use for their Node apps. It brings the serious support and operational excellence of AppFog to our users, enabling them to run production and enterprise workloads on their developer PaaS. Perhaps most significant of all - it allows Nodester users to deploy apps to a wide range of different IaaS providers - at a highly competitive price.

We will treat you with the same respect and care that has resulted in an incredibly loyal Nodester community of users. Welcome again to the AppFog family!

Truly yours,

Lucas Carlson
CEO, AppFog.

Permalink 6 notes

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! 

19 2 / 2012

Rocketeers Wanted

In just a little over 1 year, Nodester has grown to over 3,000 registered Node.JS developers hosting nearly 4,000 apps on our free open source PaaS.  We would like to thank Tropo for continuing to fund our hosting fees on AWS as well as the following key individuals for making Nodester what it is today: Chris Matthieu, Contra, Dav Glass, and Daniel Bartlett.  

Our mission has been to bring an open source Node.JS PaaS and free hosting services to the market in an attempt to accelerate the adoption of Node.JS as well as to provide fellow nodesters and companies with a platform to deploy private nodester clouds.  We believe that we have succeeded on our original mission.  Now what?

Most of the original team has moved on to other projects except Chris Matthieu, the founder of Nodester.  He is still supporting the ongoing operations and contributing to the code base as time permits (evenings and weekends). Despite having no funding or full-time resources dedicated to this open source project, Nodester still stacks up nicely against the commercial Node.JS hosting providers in the industry including: Joyent and Heroku! There is even a new commercial offering called CloudNode that is built on top of the Nodester PaaS.  Here is the hosting services matrix maintained on Joyent’s repo:

https://github.com/joyent/node/wiki/Node-Hosting

We still have big ideas for Nodester including:

  • Better sandboxing with support for any version of node.js
  • NPM installer for dead simple private cloud deployments
  • Public Amazon Machine Image availability
  • Admin panel for an easier browser-based view of your account
  • Horizontal scaling of the platform with application auto-scaling capabilities
  • OpenStack Integration for simple Rackspace deployments

The community has big ideas for Nodester too but we need your help to continue to support the service and contribute to advancing our open source Node.JS PaaS forward! Every little bit helps from ideas to documentation to working on the admin panel or installer to even jumping into the core Nodester code base on github. In addition to Node.JS development assistance, we are also looking for a few strong Linux system engineers to help us maintain the nodester.com service platform as well as assist us with new sandboxing techniques such as deploying LXC containers or other innovative ideas.

What’s in it for you? How about: Nodester fame, contributing back to the Node.JS community, solving interesting new PaaS problems, working with cutting-edge technology, free Node.JS hosting resources and all of the Nodester stickers that you can pass out to your friends.

Rocketeers Wanted: If you are interested in becoming a Nodester Rocketeer, please contact Chris Matthieu via Twitter or email him at chris [at] nodester.com.  Any assistance would be greatly appreciated!

H A C K     T H E     P L A N E T     !     !     !