Skip to main content

Nodejs Applications

Overview

This guide walks you through configuring and deploying a Node.js application using Nife. You'll learn how to set up a Multiplayer Snake Game, initialize it with Nife CLI, and deploy it to production.

info

We'll use this sample repository: Multiplayer Snake Game


Prerequisites

Before you start, make sure you have:

  • Nife account and CLI installed

Step 1: Install Nifectl CLI

Follow the official installation guide for your operating system: Nifectl Installation Guide


Step 2: Log In to Nifectl

Authenticate with your Nife account using nifectl auth command:

nifectl auth login

You'll be prompted to enter your credentials. A browser window will open to complete the authentication.


Step 3: Initialize Your Application

Initialize the Node.js application for deployment using nifectl init:

nifectl init

Interactive Configuration

The CLI will prompt you for the following information. Follow each step carefully:

1. App Name

? App Name (leave blank to use an auto-generated name)

Press Enter to generate a random name or enter your preferred app name (e.g., node).

2. Select Organization

? Select organization: [Use arrows to move, type to filter]
NIFE-APPS (nife-apps)

Use arrow keys to select your organization.

3. Deployment Source

? Deployment source: [Use arrows to move, type to filter]
Image Public Docker image
Docker Private registry image
Database S3/GS, Postgres, Redis, Mongo...
Loadbalancer Load balancer config
Runtime Language & framework runtimes

Select Runtime to use a language & framework runtime.

4. Select Builder

? Select builder: [Use arrows to move, type to filter]
None (Do not set a builder)
Image (Use a public Docker image)
deno Deno builtin
go Go Builtin
hugo-static Hugo static build with web server builtin
node Nodejs builtin
python Python builtin
ruby Ruby builtin

Select node for the Nodejs builtin runtime.

5. Deployment Type

? Deployment type (Kubernetes workload kind): Deployment

Leave as default (Deployment).

6. Workload and Resource Configuration

? Workload type: deployment
? Resource type: CPU
? Do You Wish To Add Volume (y/N): No
? Specify the Replicas Count for deployment(1): 1

Accept the defaults for a standard Node.js deployment.

7. Port Configuration

? Select Internal Port: 3000
? Select External Port: 80

Set internal port to 3000 (Node.js default) and external port to 80.

8. Memory and Routing

? Do You Wish To Add Memory Allocations: No
? Select Routing Policy: [Use arrows to move, type to filter]
Geolocation
Latency

Select Geolocation for global distribution.

9. Deployment Strategy

? Deployment strategy: [Use arrows to move, type to filter]
rolling
recreate
blue-green
canary
shadow
ab-testing

Select rolling for zero-downtime deployments.

10. Environment Variables

? Add environment variables? (y/N): No

Skip for now (can be added later if needed).

11. Region Selection

Available regions for this app (will be selected on first deploy):
IND - India, Mumbai
my-cluster - my-cluster

Your available deployment regions will be displayed. Default location is IND (Mumbai).

Configuration Complete

When initialization finishes, you'll see:

New app created
Name = node
Organization = nife-apps
Version = 0
Status = New
Hostname = <empty>

Update config file nife.toml

Your nife.toml configuration file has been created with all your settings.


Step 4: Deploy Your Application

Deploy the Node.js application using nifectl deploy:

nifectl deploy

When you run the deploy command, you'll be prompted to select a region:

? Select region for deployment: [Use arrows to move, type to filter]
IND - India, Mumbai
EUR - Europe
APAC - Asia Pacific
AMER - Americas
my-cluster - my-cluster

The deployment process includes:

  1. Validating app configuration
  2. Cloning repository
  3. Building Docker image
  4. Optimizing image
  5. Creating release and deployment

Expected Output

Deploying node

==> Validating App Configuration
--> Validating App Configuration done

==> Building Image from Repository
--> Cloning repository
--> Building Docker image

==> Optimizing Image
--> Done Optimizing Image

==> Creating Release
==> Creating Deployment

Release v1 created at: http://node.apps.nifetency.com
Deployment...Done
note

Your deployed application will be available at the URL shown in the output. Save this for later reference.


Step 5: Access Your Application

Once deployment completes successfully, your Node.js Multiplayer Snake Game is live! Navigate to your deployment URL:

http://node.apps.nifetency.com

info

Check the Nife Documentation if you encounter any issues.