Welcome Nodesters!

There are many avenues to get help with hosting or deploying your node.js applications to Nodester. Here is what we recommend:

The General Help tab below includes a few basic tricks to get you started while the FAQ tab dives deeper into topics that we have encountered a few times.



Registering for AppFog

To use Nodester you have to sign-up for an AppFog account.

Register for AppFog


Registering for Original Nodester Service with a Coupon Code

curl -X POST -d "coupon=mycoupon&user=testuser&password=123&email=chris@nodester.com&rsakey=ssh-rsa AAAA..." http://nodester.com/user

Important RSA key instructions for Mac OSX | Linux | Windows

OR CHEAT



Getting Started with Original Nodester

Install Git - http://git-scm.com/download

Install the Nodester CLI and give it your credentials before blasting off

npm install nodester-cli -g 
nodester user setup <username> <password>
nodester user setkey

Create & Launch Your Node.JS Application on Original Nodester!

You are ready to deploy your test Hello World app with 2 commands.

nodester app create <appname>
nodester app init <appname>
http://<appname>.nodester.com

Updating Your Node.JS Application on Original Nodester!

Now that your Node.JS application is running, you can make changes to server.js and push your updates to Nodester. Note: Git push also restarts your application.

cd ./<appname>
git push origin master
http://<appname>.nodester.com

Do you have NPM dependencies?

You can install any npm module you want!

nodester npm install <appname> <package names>
nodester app restart <appname>

For Experienced Nodesters with Existing Node.JS Apps

Don't need a "hello world"? Simply skip the init command and add a nodester git remote to your existing project folder. Pushing to nodester will automatically restart your application!

nodester app create <appname>
git remote add nodester <the_url_returned_by_our_api>
git push nodester master
http://<appname>.nodester.com

Important Make sure you use the port given to you by nodester! Replacing the port in your listen method with listen(process.env['app_port'] || 3000)


Node.JS Version Nodester is currently running Node.JS versions 0.4.9, 0.4.12, 0.6.12, and 0.6.17. We are working to add support for more versions of Node.JS. You can specify which version your app runs on in its secured sandbox via your package.json file. More info at: http://blog.nodester.com/post/18702499832/nodester-now-running-node-js-0-6-12.
RSA Keys RSA/SSH keys are used with git to push or deploy your applications on Nodester. Mac and Linux users can copy and paste their RSA keys into nodester's registration form by running "cat ~/.ssh/id_rsa.pub | pbcopy" from the command line. RSA key instructions for Mac OSX | Linux | Windows
Ports Your application's port must match the port that we assign your application. This port is provided at the time of app creation but your can retrieve your application's port, starting javascript file, and nodester git repository address at any time by running nodester app info <appname> from the CLI. You can also simply use process.env['app_port'] as an environmental variable and Nodester will automatically use the port assigned or you could do something like this to make it easy to switch between localhost and production: appPort = process.env['app_port'] || 3000
Web Sockets Your application's server-side port must match the port that we assign your application (see ports section above). Your client side port should be set to port 80. For more information see http://blog.nodester.com/post/3634535277/running-websockets-on-nodester
Logs Your application's logs are very helpful at helping you troubleshoot issues. You can be access these logs from the CLI by running nodester app logs <appname>.
Local File Writes Your application can write to your local sandbox. Remember to include a directory in your project to write to and start the name/path of the file as "./directory/filename" or consider doing something like fs.readFile(__dirname + '/conf/mynode.conf'.
NPM Modules Most Node.JS applications use NPM modules especially ExpressJS. Remember to run nodester npm install <appname> < modulename1 modulename2 modulename3 from the CLI and restart your application after successfully updating NPM. Nodester also supports package.json allowing you to install all of your modules without listing them individually like so: nodester npm install <appname>
Environment Variables We support for following environment variables globally: port, host, PORT, HOST, app_host, app_port. This means that you can use our environment variable instead of hardcoding the port in your application like so: app.listen(process.env['app_port']);
Windows Users The most common problems experienced by Windows users typically come down to the RSA key not being setup properly or the files not being properly checked into git before pushing to Nodester. Both issues result in your code not actually being deployed to Nodester (hence the unhappy rocket).

In regards to the RSA key, please follow the instructions above for creating an RSA key on your system. Once you have a shiny new RSA key, you can run "nodester user setkey {full system path to the key file including the id_rsa.pub key name or whatever you called it.}". This will send your new RSA key to Nodester which will give your system git access to nodester to push your app.

Since git may or may not contain all of your updates at this point, we would that you edit one of your files in your app directory by adding a space or tab (whitespace) somewhere and saving it again. Run 'git add .' from the command line followed by a 'git commit -m "updated text"' to commit your change followed by a 'git push origin master' to re-push your files to Nodester. If everything is successful, git will push your app to Nodester and your application will automatically be restarted running the version of node.js listed in your package.js file. (See note above for changing versions of node.js.)
Password request on git pushes If you added a passphrase to your RSA key when generating one, git will prompt you for a password every time you push your app code to Nodester. This password is your RSA passphrase NOT your Nodester password.