Node.js
Node.js is the default deployment target for Rakkas. After building your application with rakkas build, you can run it with node dist/server/index.js/index.js.
Environment variables
You can use the following environment variables to configure the runtime behavior of a Rakkas application:
HOST
The hostname to bind the server to. Defaults to localhost.
PORT
The port to bind the server to. Defaults to 3000.
TRUST_PROXY
Whether to trust X-Forwarded-* headers. If set to 1, X-Forwarded-Proto and X-Forwarded-Host are used to determine the origin when ORIGIN is not set. X-Forwarded-For is used to determine the IP address. The leftmost value is used if multiple values are set.
ORIGIN
Set the URL origin, e.g. https://example.com. If not set, the origin will be computed from the protocol and hostname. To determine the protocol, req.protocol is tried first. If TRUST_PROXY is set, X-Forwarded-Proto header is used. Otherwise, req.socket.encrypted is used. To determine the hostname, X-Forwarded-Host (if TRUST_PROXY is set) or Host header is used.
Custom entry
To define a custom Node.js entry point, you must first provide a HatTip entry. Then you can create a src/entry-node.js (or .ts) file that exports a Node ((req, res) => {}) request handler function. A minimal custom Node.js entry would look like this:
import { createMiddleware } from "rakkasjs/node-adapter";
import hattipHandler from "./entry-hattip";
export default createMiddleware(hattipHandler);
Express integration
A custom Node.js entry makes it possible to integrate Rakkas with Express and other Node.js frameworks: