# Query proxy

## Installation

This proxy has been written in [Node.js](https://nodejs.org/) using the framework [Express](https://expressjs.com/) and the [http-proxy](https://github.com/http-party/node-http-proxy) node module to proxy requests.

You will need to install Node.js on your computer. Then you will need to install the project's dependencies. Go to the root of the project and run the following command.

```bash
npm install
```

## Environment variables

In order to run the code, some environment variables are needed. They are specified in the `template.env` file at the root of the project.

For a local deployment:

1. `cp template.env .env`
2. Edit .env according to the chosen configuration

The values will be read from the file by default when running with docker. If you run the service outside of docker you can export those variables.

## Running the app without docker

```bash
# development
npm run start
```

## Running the app with docker

```bash
# build
docker-compose build

# deploy
docker-compose up [-d]

# build and deploy
docker-compose up --build [-d]
```