Live documentation for the development version.
There’s also the possibility to run FROST-Server and the needed database inside one or multiple Docker containers. It is possible to use a non-dockerised database with a dockerised FROST-Server.
If you have docker and docker-compose
Download our docker-compose file:
wget https://raw.githubusercontent.com/FraunhoferIOSB/FROST-Server/v2.x/scripts/docker-compose.yaml
docker-compose upFetch a json file with some demo entities:
wget https://gist.githubusercontent.com/hylkevds/4ffba774fe0128305047b7bcbcd2672e/raw/demoEntities.json
Post it to the server:
curl -X POST -H "Content-Type: application/json" -d @demoEntities.json http://localhost:8080/FROST-Server/v1.1/Things
There are three docker images available:
To make deployment of these images easier, two example docker-compose files are provided.
The docker-compose.yaml file uses the all-in-one server, and adds the required postgresql / postgis database.
The docker-compose-separated.yaml file uses the separated HTTP and MQTT packages,
adds the required postgresql / postgis database, and adds a mosquitto server as a message bus.
You can start the all-in-one docker image by running docker-compose up, or you can start the separated docker images using docker-compose -f docker-compose-separated.yaml up.
This will download the latest version of the specified FROST-Server packages, and any dependencies, and starts it all.
You can access the server by opening http://localhost:8080/FROST-Server/ in your browser.
If you want to build your own docker images, you can do this by calling:
mvn install
mvn dockerfile:build -pl FROST-Server.HTTP,FROST-Server.MQTT,FROST-Server.MQTTP
All data is stored inside the PostGIS database. To keep this state there’s a volume automatically mapped to the PostGIS container.
For more information see the docker-compose.yaml file and the https://hub.docker.com/r/postgis/postgis/[PostGIS container documentation]
You can override all configuration settings by using environment variables in the docker-compose files.
The logging of FROST-Server components in the Docker container can be controlled in a limited way by
the following environment variables. All take one of the values OFF, ERROR, WARN, INFO, DEBUG, TRACE.
INFO.d.f.i.i.frostserver.parser package. Default: INFO.d.f.i.i.frostserver.settings package. Default: INFO.INFO.io.moquette package. Default: WARN.liquibase package. Default: INFO.org.jooq package. Default: INFO.