Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including @nearform/trail-hapi-server with all npm packages installed. Try it out:

var trailHapiServer = require("@nearform/trail-hapi-server")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

@nearform/trail-hapi-server v4.0.0

Server running Hapi plugin for the audit trail logging service



trail-hapi-server is a ready to use Hapi server with the trail-hapi-plugin registered.

It also provides a local instance of Swagger UI to easily check the REST API documentation.


To install via npm:

npm install @nearform/trail-hapi-server


npx run trail-hapi-server

This will start a server on localhost:8080. Swagger UI documentation is accessible at http://localhost:8080/documentation.


The server looks for the following environment variables:

  • TRAIL_DB_HOST: The hostname for the trail database.
  • TRAIL_DB_PORT: The port number for the trail database.
  • TRAIL_DB_NAME: The name of the trail database.
  • TRAIL_DB_USERNAME: The username for the trail database.
  • TRAIL_DB_PASSWORD: The password for the trail database.
  • TRAIL_DB_POOL_SIZE: The size of the trail DB pool.
  • TRAIL_DB_TIMEOUT: The trail database idle timeout, in milliseconds.
  • TRAIL_HTTP_HOST: The hostname the HTTP server is bound to.
  • TRAIL_HTTP_PORT: The port the HTTP server is bound to.
  • TRAIL_LOG_LEVEL: The logging level; defaults to warn.
  • TRAIL_DISABLE_REST_API: Switch indicating whether to disable the REST API.
  • TRAIL_DISABLE_GRAPHQL: Switch indicating whether to disable the graphql endpoint.

These can also be defined using a .env file.

The server also takes the following command line options:

  • --dbHost <host>: Set the database host name; defaults to localhost.
  • --dbPort <port>: Set the database port; defaults to 5432.
  • --dbName <name>: Set the database name; defaults to trails.
  • --dbUsername <user>: Set the database username; defaults to postgres.
  • --dbPassword <password>: Set the database password; defaults to postgres.
  • --dbPoolsize <size>: Set the database pool size; defaults to 10.
  • --dbTimeout <ms>: Set the database pool timeout, in milliseconds; defaults to 30000.
  • --httpHost <host>: Set the HTTP hostname; defaults to localhost.
  • --httpPort <port>: Set the HTTP port; defaults to 8080.
  • --logLevel <level>: Set the logger level; defaults towarn`.
  • --noRESTAPI: Switch to disable the REST API.
  • --noGraphQL: Switch to disable the graphQL endpoint.

Command line options take precedence over environment variable settings.


Copyright nearForm Ltd 2018. Licensed under MIT.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free