@nearform/trail-fastify-server
trail-fastify-server is a ready to use Fastify server with the trail-fastify-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-fastify-server
Usage
npx run trail-fastify-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_CORS_ORIGIN
: The value for Access-Control-Allow-Origin header as per fastify-cors plugin. -
TRAIL_USE_REST_API
: Flag indicating whether to mount the REST API. -
TRAIL_USE_GRAPHQL
: Flag indicating whether to mount the graphql endpoint.
These can also be defined using a .env
file.
The server also takes the following command line options:
-
--dbHost <host>
: The hostname for the trail database. Defaults tolocalhost
. -
--dbPort <port>
: The port number for the trail database. Defaults to5432
. -
--dbName <name>
: The name of the trail database. Defaults totrails
. -
--dbUsername <user>
: The username for the trail database. Defaults topostgres
. -
--dbPassword <password>
: The password for the trail database. Defaults topostgres
. -
--dbPoolsize <size>
: The size of the trail DB pool. Defaults to10
. -
--dbTimeout <ms>
: The trail database idle timeout, in milliseconds. Defaults to30000
. -
--httpHost <host>
: The hostname the HTTP server is bound to. Defaults tolocalhost
. -
--httpPort <port>
: The port the HTTP server is bound to. Defaults to8080
. -
--corsOrigin <origin>
: set value forAccess-Control-Allow-Origin
header. Defaults to ``. -
--useRESTAPI
: Flag indicating whether to start with the Trail's REST API. Defaults totrue
. -
--useGraphql
: Flag indicating whether to start with the graphql query endpoint. Defaults totrue
.
Command line options take precedence over environment settings.
License
Copyright nearForm Ltd 2020. Licensed under MIT.