Skip to main content
Hostwares

Where can you host a Node.js or Express app?

On a Frontend pack: connect the GitHub repository, the Node app is detected from package.json, and it runs as a long-lived server with its own CPU, memory and disk. Because it is a real server and not a function, WebSockets, background timers, queues and long requests all work. One flat price covers the pack; traffic is not metered and each push to the branch deploys.

Step by step

  1. 1

    Check the start script

    package.json needs a start script, and the server must listen on the port in the PORT variable and on all interfaces, not only localhost.

    server.js

    const port = process.env.PORT || 3000;
    app.listen(port, "0.0.0.0");
  2. 2

    Deploy the repository

    Dashboard → Deployments → New: select the repository, a branch and a pack. The order creates an invoice and the build starts once it is paid.

    From an agent over MCP

    deploy  →  price + approval link, then get_status until the site is running
  3. 3

    Add variables and a database

    Set secrets on the Environment tab. If the app needs PostgreSQL, MySQL, MongoDB or Redis, create a database pack and set its connection string on the site.

    Variables are read at build time, so the site rebuilds after you change them; the current version keeps serving until the new build is ready.

  4. 4

    Attach the domain and check the API

    Site → Domains tab → enter the domain and create the DNS record it shows. Then call one endpoint; http_check over MCP does it and reads the logs if it fails.

What breaks, and the fix

502 after deploy
The server is listening on a different port or only on localhost. Listen on PORT and 0.0.0.0, or set the port with set_app_port.

What it costs

  • A Frontend pack from $1/mo; $5/mo for the pack most production apps pick (1 vCPU / 4 GB / 25 GB).
  • A database, if you need one, from $10/mo.

App

$1/mo

Starter Frontend pack, 1 vCPU / 1 GB RAM / 10 GB

Database, users and files

$5/mo

Smallest dedicated Supabase pack; several projects fit on one

Questions

Do WebSockets work?+

Yes. The app is a long-lived server, so socket.io and plain WebSocket connections stay open.

Does the app sleep when idle?+

No. The pack runs all the time.

Can I control the Node version or the image?+

Yes. Add a Dockerfile to the repository and it is used for the build instead of the detected setup.

Can I run a worker beside the API?+

Deploy the worker as a second site from the same repository, or use a Cloud Instance when you want several processes on one server.

Can I use Bun, NestJS or Fastify?+

Yes. Anything that starts from package.json and listens on the given port deploys the same way.

What does it cost?+

From $1/mo, flat for the term.