6.0.0 • Public • Published



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 to warn`.
  • --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.

Package Sidebar


npm i @nearform/trail-hapi-server

Weekly Downloads






Unpacked Size

15.6 kB

Total Files


Last publish


  • lucalanziani
  • donal.moynihan
  • simoneb
  • eamonn.frisby