Habitat Sample Node App
Welcome to the Habitat Sample Node App!
Follow the demo instructions
For the full experience, check out the Habitat Demo instructions on the habitat.sh website. This will walk you through getting setup on the Habitat Builder web app and publishing this sample app to Docker Hub.
Alternatively, you can use the instructions below if you simply want to build and run the app locally.
Instructions
To practice packaging/running this app with Habitat
Workstation Prerequisites
- Install and set up Habitat (Instructions here)
- Install Docker (Instructions here)
- Clone this repository
$ git clone https://github.com/habitat-sh/sample-node-app.git
- Change directories
$ cd sample-node-app
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
and following the prompts.
$ hab setup
Note - the origin name you enter during setup will need to be added to the plan.sh file mentioned in the next section.
Building the Package
From the /habitat
directory in this repo, open the habitat/plan.sh file:
Your habitat/plan.sh should look like this:
pkg_name=sample-node-app
pkg_origin=your_origin
pkg_scaffolding="core/scaffolding-node"
First, change the value of your_origin
to the origin name your created in the previous section.
If you're following the demo instructions, then use the origin name you created in the Builder web app.
Next, let's add in a version number
pkg_name=sample-node-app
pkg_origin=your_origin
pkg_scaffolding="core/scaffolding-node"
pkg_version="1.0.1"
Now save and close the file.
Enter the Habitat Studio
$ hab studio enter
And run build
(studio) $ build
Running the Package with Docker
Still in your studio, right after the build, export that package to a docker image
(studio) $ hab pkg export docker ./results/<habitat artifact>.hart
Then exit out of the studio:
(studio) $ exit
Now start a Docker container from that image.
$ docker run -it -p 8000:8000 your_origin/sample-node-app
Now head to http://localhost:8000 and see your running app!
something