Userserver and postgres are running e.g. with Julius' Docker Compose.
The [flotte-user-management server](https://github.com/fLotte-meets-HWR-DB/flotte-user-management) and postgres are running. Set the [environment variables](#Environment-Variables) accordingly.
## Usage
## Usage
### Docker
### Docker
You can build and run a docker image with
```bash
```bash
docker build -t <imagename> .
docker build -t <imagename> .
docker run --rm -p 4000:4000 <imagename>
docker run --rm -p 4000:4000 <imagename> -e ...
```
```
### Compile and run
Don't forget to pass all the [environment variables](#Environment-Variables) with the -e option.
### Compile and Run
Install gulp if not installed
Install gulp if not installed
```bash
```bash
npm -g gulp
npm -g gulp
@ -21,25 +23,28 @@ npm install
gulp
gulp
npm start
npm start
```
```
You can set the [environment variables](#Environment-Variables) in a _.env_ file.
### For Development
### For Development
Install node\_modules and gulp
Install node\_modules and gulp
```bash
```bash
npm -g gulp
npm -g gulp
npm install
npm install
```
```
And start gulp in watch mode
Start gulp in watch mode to recompile the type script
```bash
```bash
gulp watch
gulp watchTs
```
```
This will watch *.ts files in _./src_ and recompile to _./dist_ and finally restart the server.
This will watch *.ts files in _./src_ and recompile to _./dist_. You will have to restart the server yourself.
## Environment Variables
## Environment Variables
The following environment variables can be used to configure the server:
The following environment variables can be used to configure the server:
- __RPC_HOST__ is used for the connection with the userserver.
- __RPC_HOST__ is used for the connection with the [flotte-user-management server](https://github.com/fLotte-meets-HWR-DB/flotte-user-management).
- __NODE_ENV__ will not check authentication if set to development
- __NODE_ENV__ will not check authentication if set to development
- __POSTGRES_CONNECTION_URL__ for connection with the postgres database
- __POSTGRES_CONNECTION_URL__ for connection with the postgres database
If the API server cannot connect to the [flotte-user-management server](https://github.com/fLotte-meets-HWR-DB/flotte-user-management) or the postgres data base. It will try to reconnect in an endless loop.