Skip to content
Sample Node App to Habitize!
Branch: master
Clone or download
Latest commit 493d972 Jul 21, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
habitat Replace scaffolding and add some docs Jun 20, 2018
public Fix alignment on home page, replace README screenshot Apr 23, 2018
routes Replace scaffolding and add some docs Jun 20, 2018
.gitignore clean up README, add in gitignore Sep 29, 2017 Use port 8000 by default Jun 27, 2018
dev-config.json Replace scaffolding and add some docs Jun 20, 2018
index.js Use port 8000 by default Jun 27, 2018
package-lock.json Bump Express to latest Jul 20, 2018
package.json Bump Express to latest Jul 20, 2018

Habitat Sample Node App

This simple Express app is an example of how to package a Node.js application with Habitat. It's intended to accompany the walkthroughs on the Habitat website, but it can also be run locally on its own.

Follow the Demos!

For the full experience, we recommend following the demos on the Habitat website. They walk you through getting set up with Habitat, Builder, automated builds and publishing to Docker Hub.

Alternatively, you can follow the instructions below if you simply want to build and run the app locally.



To package and run this application with Habitat, you'll need to:

Setup for First-time Users

Before you can build the app, you'll need to create an origin and accompanying keys. The quickest way to do this is by running hab setup as described in the Habitat docs and following the prompts:

$ hab setup

Note: The origin name you use during setup will need to be specified in the file mentioned in the next section.

Building the Package

From the habitat directory in this repository, open the file. It should look like this:


First, change the value of pkg_origin from your_origin to the origin you created in the previous section. If you're following the demo, use the origin you created in Habitat Builder.

Next, let's change the version number:


Save and close the file, then enter the Habitat Studio:

$ hab studio enter

And run a build:

[1][default:/src:0]# build

Habitat will produce a package (a .hart file) and place it in the results directory.

Running the Package with Docker

Still in the Studio, right after the build, export that package as a Docker image:

[2][default:/src:0]# source results/last_build.env
[3][default:/src:0]# hab pkg export docker results/$pkg_artifact

Then exit the Studio:

[4][default:/src:0]# exit

And start a Docker container with your newly created image:

$ docker run -it -p 8000:8000 <YOUR_ORIGIN>/sample-node-app

Now head to http://localhost:8000 and see your running app!

You can’t perform that action at this time.