Deploy Express in minutes
Express apps deploy on Darmi Cloud with the Node.js preset. Your API runs in its own container behind automatic HTTPS, with live runtime logs so you can debug requests in real time.
How to deploy Express
Darmi Cloud has a dedicated Node.js / Express preset, so there is no configuration to write.
- 1
Sign in with GitHub
Open darmicloud.tech and sign in with GitHub (or Google). On first sign-in you grant read access so the deploy worker can clone your repositories.
- 2
Import your repository
Click New Project, pick your Express repository, and choose the branch to deploy — the default branch is preselected.
- 3
Select the Node.js / Express preset
Choose the Node.js / Express preset. The commands are prefilled (build: (optional) npm run build, start: npm run start) — adjust them only if your project differs.
- 4
Add environment variables
Add any environment variables your app needs (database URLs, API keys, secrets). Mark sensitive values as secrets — they are injected into the container and hidden in the UI afterwards.
- 5
Deploy and watch it go live
Click Deploy. Watch the live build and runtime logs, and your app goes live on an automatic HTTPS subdomain. Every push to your branch redeploys automatically.
Preset defaults
- Preset
- Node.js / Express
- Container port
- 3000
- Build command
- (optional) npm run build
- Start command
- npm run start
Tips for Express on Darmi Cloud
- Read the port from process.env.PORT and call app.listen(port, '0.0.0.0') so the container is reachable.
- Add a start script to package.json (for example "start": "node server.js") — the preset runs npm run start.
- Enable trust proxy (app.set('trust proxy', 1)) so req.protocol and client IPs are correct behind the Traefik reverse proxy.
Express deployment FAQ
Which preset should I pick for Express?
Choose the Node.js / Express preset. It installs dependencies and runs npm run start, which should launch your Express server.
Why is my Express app unreachable after deploy?
Almost always because it listens on the wrong host or port. Bind to 0.0.0.0 and use process.env.PORT (default 3000) instead of a hard-coded value.
Can I use my own custom domain?
Yes. Connect an existing domain or buy one inside Darmi Cloud. DNS is configured automatically and every domain gets free SSL via Let's Encrypt.
Is there a free plan?
Yes. The Free plan deploys one project on an automatic HTTPS subdomain with auto-deploy on every push. Paid plans add custom domains, PR preview deployments and more projects.
Deploy other frameworks
Ready to deploy your Express app?
Connect GitHub and ship in minutes — on a free HTTPS subdomain, or on your own custom domain.
Deploy Express now