w wokku
Get Started
~/docs
/
frameworks

# Deploy Node.js / Express

Updated · Edit on GitHub ↗

Deploy any Node HTTP server (Express, Fastify, Koa, Hono, plain http) to Wokku.

Prerequisites

1. Create the app

Apps → New App → server, name my-node-app, box size, Create.

2. Prepare your app

The Node buildpack reads package.json. Provide a start script and listen on
process.env.PORT:

json
{
  "scripts": { "start": "node server.js" },
  "engines": { "node": ">=20" }
}
js
const port = process.env.PORT || 3000;
app.listen(port, () => console.log(`listening on ${port}`));
// careful

Optionally pin the start command with a Procfile:

procfile
web: npm start

3. Environment variables

App → Config → add NODE_ENV=production and your secrets.

4. Add a database (optional)

bash
wokku addons:create postgres my-node-app

Read process.env.DATABASE_URL in your pg/Prisma/Drizzle client. See
Create & Link a Database.

5. Deploy

bash
git remote add wokku git@git.wokku.cloud:my-node-app
git push wokku main

Live at https://my-node-app.wokku.app.

Add a custom domain

Custom Domains — SSL is automatic.

Troubleshooting

  • Crashes on boot — hardcoded port. Use process.env.PORT.
  • npm ci fails — commit your package-lock.json.
  • Wrong Node version — pin it via "engines": { "node": ... }.

Next steps

Was this page helpful?