# Dougal web server

Backend server for the user interface

## Install

Clone / copy this directory to the destination directory and then run

```
npm install
```

## Run

In production this should be run as a system service, but for development or a one-off run:

```
node index.js
```

or

```
npm start
```

### Options

The following environment variables affect the behaviour of the application:

* `NODE_ENV`: If `NODE_ENV=test` some output messages are suppressed.
* `HTTP_PORT`: Port to listen on. Default is 3000.
* `HTTP_PATH`: Path to prepend to the API routes. Default is null.
* `DOUGAL_API_CONFIG`: Location of the API configuration file. Default is `$HOME/etc/www/config.json`.

The server always listens on 127.0.0.1. Use a proxy like Nginx to expose it to the network.

## Use

The API specification may be found under [`./spec`](./spec).

Generate the documentation with:

```bash
./node_modules/.bin/redoc-cli bundle ./spec/openapi.yaml
```
