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.
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:
- Validating app configuration
- Cloning repository
- Building Docker image
- Optimizing image
- 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
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
Check the Nife Documentation if you encounter any issues.