Secure Node.js instances powered by Rectost

Deploy your Node.js apps in seconds.

Rectost gives you isolated Node.js containers with full control, automatic restarts, logs, and resource limits managed through Pterodactyl.

Choose a Node.js plan Start a free Node.js trial

No credit card required for trial. Cancel anytime.

  • PM2‑style process management
  • Custom startup command
  • Logs & console in real time
  • Auto‑restart on crash

Instance

Node.js • Production API

node01.rectost.com

Running hn21 • eu-west-1
Status Healthy
CPU 18%
RAM 512 / 2048 MB
Restarts 0 in 24h
Your Node.js, always online.

Change the way you create on the internet.

A better way to host your applications.

app.js
// Simple REST API example – Express + in-memory storage
// Perfect for quick prototypes or small services on Rectost

import express from 'express';
import cors from 'cors';
import { randomUUID } from 'crypto';

const app = express();
const port = process.env.PORT || 3000;

app.use(cors());
app.use(express.json());

// In-memory storage (replace with DB in production)
let todos = [];

// Health check endpoint
app.get('/health', (req, res) => {
res.status(200).json({
status: 'healthy',
uptime: process.uptime(),
timestamp: new Date().toISOString()
});
});

// GET /todos - List all todos
app.get('/todos', (req, res) => {
res.json(todos);
});

// POST /todos - Create a new todo
app.post('/todos', (req, res) => {
const { title } = req.body;
if (!title || typeof title !== 'string' || title.trim() === '') {
return res.status(400).json({ error: 'Title is required' });
}

const todo = {
id: randomUUID(),
title: title.trim(),
completed: false,
createdAt: new Date().toISOString()
};

todos.push(todo);
res.status(201).json(todo);
});

// PATCH /todos/:id - Toggle completion
app.patch('/todos/:id', (req, res) => {
const { id } = req.params;
const todo = todos.find(t => t.id === id);

if (!todo) {
return res.status(404).json({ error: 'Todo not found' });
}

todo.completed = !todo.completed;
res.json(todo);
});

// DELETE /todos/:id - Remove todo
app.delete('/todos/:id', (req, res) => {
const { id } = req.params;
const initialLength = todos.length;
todos = todos.filter(t => t.id !== id);

if (todos.length === initialLength) {
return res.status(404).json({ error: 'Todo not found' });
}

res.status(204).end();
});

// Start the server
app.listen(port, () => {
console.log(`API running on http://localhost:${port}`);
console.log('Ready for requests: GET/POST/PATCH/DELETE /todos');
});

// Graceful shutdown (useful on Rectost restart)
process.on('SIGTERM', () => {
console.log('SIGTERM received - shutting down');
process.exit(0);
});
JavaScript • 68 lines • 1.8 kB
UTF-8 • LF • Prettier

Easy application creation

Create your application easily in a intuitive interface.

Secure service

Your application is stored and executed on our nodes.

Deploy, scale and manage

You need more storage ? No problem, you can upgrade your instance easily.

Multiple Locations

Your application is stored and executed on one of our multiple locations.

Get the control on your application

With us, you can do whatever you want with your instance.

Open ports

You can open up to 10 ports with Plus plan for your application.

Peace of mind for production apps

See your app in real time

Live console, file editing, and more — right from the Rectost panel.

Real-time console

Follow every request, error and debug message as it happens — no refresh needed.

Look at your app

Look at your app's console, files, and more — and go where you want.

Stay up-to-date
Console • instance@dc056c77
rectost.com
Rectost Console

Frequently asked questions

Can I upgrade my plan later?

Yes — upgrade RAM, CPU, storage or backups anytime from the panel. No data loss or downtime.

How does billing work?

Monthly, quarterly, semiannual, or annual options available. Lifetime on select plans. Cancel anytime.