Skip to main content

Deploy a Node.js App

This tutorial walks through deploying a Node.js application to Sprintsail.

Prerequisites

  • Sprintsail CLI installed (npm i -g @sprintsail/cli)
  • Logged in (ss login)
  • An org and space set up

Create a sample app

mkdir my-node-app && cd my-node-app
npm init -y
npm install express

Create server.js:

const express = require('express');
const app = express();
const PORT = process.env.PORT || 8080;

app.get('/', (req, res) => {
res.json({ message: 'Hello from Sprintsail!', timestamp: new Date().toISOString() });
});

app.get('/health', (req, res) => {
res.json({ status: 'ok' });
});

app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});

Add a start script to package.json:

{
"scripts": {
"start": "node server.js"
}
}

Deploy

ss create my-node-app
ss push

Sprintsail auto-detects Node.js via package.json and uses Paketo Buildpacks to create a production-optimized container.

View logs

ss logs my-node-app

Set environment variables

ss env set my-node-app NODE_ENV=production API_KEY=secret123

Scale

ss scale my-node-app --instances 3 --memory 512Mi

Enable autoscaling

ss autoscale my-node-app --min 2 --max 10 --cpu-target 70