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