Take a Noderyx application to a server, a container, or a platform—and know it is healthy when it arrives.
01
What ships
A Noderyx application is a normal Node.js project: source files, package.json, and production dependencies. There is no bundler step for the server, and no build artefact you must keep in sync.
TERMINAL
npm ci --omit=dev
NODE_ENV=production node server.js
NOTE
Run npm run build only when you also want static HTML in public/generated.
02
Environment on the server
Set configuration through your host's environment settings where possible, and treat these four as mandatory.
ENVIRONMENT
NODE_ENV=production
APP_KEY=<a unique 32+ character key>
SITE_URL=https://www.example.com
PORT=3000
NOTE
The application refuses to start in production without APP_KEY—that is deliberate, not a bug to work around.
03
Start command
Platforms that read a Procfile need one line. Process managers and systemd units call the same command.
Procfile
web: node server.js
04
Docker
The generated Dockerfile is deliberately short: install production dependencies, copy the source, drop privileges, and run the server.
Dockerfile
FROM node:24-alpine
ENV NODE_ENV=production
WORKDIR /app
COPY package*.json ./
RUN npm install --omit=dev
COPY . .
EXPOSE 3000
USER node
CMD ["node", "server.js"]
NOTE
Pass secrets as container environment variables—never bake .env into an image.
05
Behind a proxy
Terminate TLS in front of the application so Secure cookies and HSTS work. Then—and only then—let the app trust forwarded headers.
.env
TRUST_PROXY=true
NOTE
With trustProxy off behind a proxy, every client looks like the proxy to the rate limiter. With it on and no proxy, any client can spoof its address. Match the setting to reality.
06
Health checks
Generated projects expose a health endpoint. Point your platform's health check, your load balancer, and your uptime monitor at it.