Skip to end of metadata
Go to start of metadata

Frequently Asked Questions

Getting Help

If you are having an SSH error please read the Troubleshooting SSH page

Participants using the Node.js Development SmartMachines receive support through our Knowledge Base and from the user community on our forum. Unfortunately, we cannot provide email or phone support for applications hosted on no.de.

We do hang out in FreeNode on #node.js and #joyent.

What is the Node.js Development SmartMachine Service for?

For developing Node.js applications. When you're ready to move to production you may want consider deploying on a paid Node.js SmartMachine in Joyent Cloud.

What does the Node.js Development SmartMachine service cost?

It’s free!

What is No.de?

The domain for Joyent’s Node.js Development SmartMachine Service.

How do I provision a Node.js Development SmartMachine

Go to no.de and fill in the form.

What's new in version 2?

See no.de Version 2

Will I get the Version 2 features if I have a Version 1 machine?

No, new features are only available on Version 2. You can delete your Version 1 machine and create a new Version 2 machine.

What if I had an account or machine before the Version 2 upgrade, what changes?

Nothing - your account and machine remains the same.

What counts as “having an account before the upgrade”?

If you were deployed and maintaining your machine per the Terms of Service.

How long will the Version 1 machines be in service?

Currently, there are no plans to change the Version 1 machines.

What if I was in the queue before the upgrade?

No more waiting! You now have access to Joyent’s Node.js Development SmartMachine service - just sign up at No.de

How many Node.js Development SmartMachines can I have on No.de?

One Node.js Development SmartMachine per user.

What happens if I was inactive and my Node.js Development SmartMachine was reclaimed?

No problem, simply provision a new one at No.de

What are the Terms of Service?

You can find our Terms of Service here.

What if I want to run my application in production?

The same Node.js SmartMachine image is now available for purchase in the Joyent Cloud and comes with its own IP address.
Learn more or buy one now.

What versions of Node.js are supported?

Out of the box with the git deployment, you get v0.4.11. But you can easily specify a different version; see Setting the Node.js Version.

The list of available Node.js is available at /opt/nodejs/NODE-BUILDS:

/opt/nodejs/NODE-BUILDS

If you need a different version than the ones Joyent provides, you can build it from source from the shell.

I need to run sudo

You can usually use pfexec in most cases where you would typically use sudo on other Unix-like machines.

Node.js Development SmartMachines use a Role-Based Access Control to allow users to elevate their privileges. Your Node.js Development SmartMachine is configured to let you use various utilities, such as gmake with elevated priviliges when you use pfexec.

In cases where you need root privileges, you can use the alternate admin account. This account allows you to use sudo without a password so you can do things like upgrading your pkgsrc repository .

I need to pass some API credentials to my Node.js process

You can add environment variables to /home/node/node-service/profile, and they'll be available in your Node.js appliction.

For example, to add an API key, you might add a line like this to /home/node/node-service/profile:

FLICKR_API_KEY='the.flickr.api.key.contents'

From your Node.js application, you would access the environment variable like this:

In some older Node.js Development SmartMachines, /home/node/node-service/profile may be a symlink to a read-only file. If that's the case, create a new profile file, taking care to preserve the original contents:
$ cd /home/node/node-service
$ cp profile newprofile
$ rm profile
$ mv newprofile profile

Because newer Node.js Development SmartMachine servers are started with npm, you can also set this via a package-specific config variable if you have pushed a package.json file with your repo.

For example, log into your machine and run:

where my-project is the name field in your package.json.

Then, run node-service-restart to pick up the new config, and you'll be able to do this:

The leading {_} character tells npm not to share this config value with any other package scripts that it may run.

I need more memory or disk!

As part of our service we have one size Node.js Development SmartMachine with 128MB of memory available. In our tests so far, few developers have hit those limits. If you are running out of disk or memory you may want to move to a full Node.js SmartMachine in the Joyent Cloud.

How do I modify NODE_ENV?

You can change the NODE_ENV environment variable by modifying this file:

You will need to ssh in as the 'admin' user in order to have the right permissions to make any changes to that file.

Adding Packages

pkgin is the packaging tool. "pkgin search" for finding packages, "pkgin install" for, well, installing. "pkgin list" shows what you're got already.

The first thing you should do is update your pkg repo as we expect to be adding a few packages based on test feedback leading up to and during the contest:

Then just add what you need:

redis

For 2.2.2 (latest and greatest) simply:

There you go:

If you want 1.2.6, or just want to build from source, that's pretty easy too by being specific about the compiler you want (GCC) and to use GNU Make:

MongoDB

See Installing MongoDB on a Node.js SmartMachine.

mysql

MySQL is installed with a blank root password by default_

GCC

To install GCC, make sure that you've upgraded to the latest pkgsrc repository. Use the pkgin up command to see which repository you're using. If the result looks like this, you're up to date.

If the result shows a different respository, 2010Q2 for instance, see Upgrading to Pkgsrc 2010Q4 to learn how to upgrade your pkgsrc repository.

The latest repository has two versions of GCC. To compile 64-bit binaries, you must use GCC 4.5.x.

To install the latest GCC, use this command:

  1. Log in to your Node.js SmartMachine user your node account:
  2. Install the new GCC compiler package
At a Glance

Answers to some questions you might have about Node.js Development SmartMachines.

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Mar 09, 2011

    Anonymous

    It seems, that there is no gcc installed on a Node SmartMachine, or am I mistaken? :/

    1. Apr 07, 2011

      Anonymous

      i noticed the same issue, when trying to install compile node 0.4.5

      error: could not configure a cxx compiler

      how does joyent not support their own latest version of node?

  2. Mar 21, 2011

    Anonymous

    Why is only mongodb@0.7.9 allowed? This is frustrating :/

    1. Apr 10, 2011

      Anonymous

      Later mongodb driver versions implement a native bson parser. It seems as if the host runs out of memory when compiling it:

      virtual memory exhausted: Resource temporarily unavailable

      cc1plus: out of memory allocating 1488 bytes after a total of 1458176 bytes

      1. Apr 10, 2011

        Anonymous

        It's running OOM because the build script tries to run 16 parallel build processes. Easy fix: JOBS=1 npm install mongodb

  3. Apr 09, 2011

    Anonymous

    I'm trying to do 'npm install now' but it fails becasue of this;

    BUILDING: C++ Component
    Checking for program g++ or c++          : not found 
    Checking for program c++                 : not found 
    /home/node/.node_libraries/.npm/node-proxy/0.3.2/package/src/wscript:9: error: could not configure a cxx compiler!
    cp: cannot stat `src/build/default/node-proxy.node': No such file or directory
    make: *** [all] Error 1
    BUILDING: C++ Component

    Checking for program g++ or c++          : not found 

    Checking for program c++                 : not found 

    /home/node/.node_libraries/.npm/node-proxy/0.3.2/package/src/wscript:9: error: could not configure a cxx compiler!

    cp: cannot stat `src/build/default/node-proxy.node': No such file or directory

    make: *** [all] Error 1

    And when I look around there doesn't seem to be any gcc/cpp compiler around. Is this by design, or could we get one?  I don't see any compiler in pkgin ls either.

  4. Apr 09, 2011

    Anonymous

    Doing pkgin list I see that gcc34-3.4.6nb3 is installed. Try creating an alias for it like so:

    alias gcc=gcc34-3.4.6nb3

  5. May 24, 2011

    Anonymous

    If you get the following error...

    check you have enough free space under /tmp.

    After emptying, pkgin installed gcc without problems.

    (thanks #joyent )