@nearform/trail-hapi-server
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.
Install
To install via npm:
npm install @nearform/trail-hapi-server
Usage
npx run trail-hapi-server
This will start a server on localhost:8080
. Swagger UI documentation is accessible at http://localhost:8080/documentation/
.
Configuration
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 towarn
. -
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 tolocalhost
. -
--dbPort <port>
: Set the database port; defaults to5432
. -
--dbName <name>
: Set the database name; defaults totrails
. -
--dbUsername <user>
: Set the database username; defaults topostgres
. -
--dbPassword <password>
: Set the database password; defaults topostgres
. -
--dbPoolsize <size>
: Set the database pool size; defaults to10
. -
--dbTimeout <ms>
: Set the database pool timeout, in milliseconds; defaults to30000
. -
--httpHost <host>
: Set the HTTP hostname; defaults tolocalhost
. -
--httpPort <port>
: Set the HTTP port; defaults to8080
. -
--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.
License
Copyright nearForm Ltd 2018. Licensed under MIT.