Free Node.js hosting: what is actually included
Step by step
Create your account and server
Sign up at dash.waifly.com, open the Servers tab and click Create. Pick the NodeJS Egg, name the server, and choose location FR1 or FR2 — both are in Paris. The free-plan limits are applied automatically.
Upload your project
Through the panel's file manager or over SFTP. Include package.json: dependencies are installed from it when the server starts, so you do not upload node_modules yourself.
Set the startup command
In the Startup tab, point the entry to your main file — node index.js, or npm start if your package.json defines it. The port your app should bind to is provided as an environment variable; binding a hard-coded port is the most common reason a first deployment is unreachable.
Start and watch the console
The live console shows npm install and then your own output. Runtime errors appear there first, which is faster than guessing from an HTTP error.
Point a domain at it, optionally
Set your domain's A record to the server IP, then declare the domain on the domain management page — an Nginx reverse proxy is generated automatically. Mega and Giga plans also include a free Waifly subdomain with SSL.
The exact limits
| Resource | Free | Nano €4 | Mega €8 | Giga €16 |
|---|---|---|---|---|
| RAM | 300 MB | 4 GB | 8 GB | 16 GB |
| vCPU | 30% of a core | 2 | 3 | 4 |
| Storage | 1 GB | 20 GB | 50 GB | 100 GB |
| MySQL databases | 1 | 1 | 3 | 10 |
| Ports | 1 | 2 | 5 | 10 |
| Backups | included | 1 | 1 | 2 |
All paid plans are billed monthly and renew automatically until cancelled. An extra server slot costs €1 per month.
What fits in 300 MB
Comfortably: a Discord bot, an Express or Fastify REST API, a Telegram bot, a scheduled scraper, a webhook receiver, a small static site behind Nginx. Node.js itself takes roughly 40–50 MB before your code runs.
What does not fit: a Next.js application built on the server (the build alone exceeds the RAM ceiling — build locally and upload the output), Puppeteer or a headless Chrome instance, and anything doing audio or video transcoding. Those start at the Nano plan.
Why there is no root access
Servers run as containers orchestrated by Pterodactyl on Proxmox and Docker, not as full virtual machines. That is what makes a free tier viable at this density, and it is why there is no root account and no SSH shell. In practice you get a live console, a web file manager with an editor, SFTP for FileZilla and friends, MySQL databases, scheduled tasks and backups — everything except installing system packages.