FAIR Data Station API
The recommended use is with Docker and Docker Compose and configuration via environment variables:
fds:
image: fairdata/fairdatastation:latest
restart: unless-stopped
# ports:
# - 127.0.0.1:8080:8080
depends_on:
- postgres
# volumes:
# - ${PROJECT_ROOT}/application.fds.yml:/app/application.yml:ro
environment:
FDS_FDP_URL: http://fdp-client
FDS_POSTGRES_DB: ${POSTGRES_DB}
FDS_POSTGRES_USER: ${POSTGRES_USER}
FDS_POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
# FHIR endpoint (for FHIR Trains)
FDS_FHIR_BASE_URL: ${FHIR_API_BASE}
# Triple Store (for SPARQL Trains)
FDS_TRIPLE_STORE_TYPE: 4
FDS_TRIPLE_STORE_URL: ${GRAPHDB_URL}
FDS_TRIPLE_STORE_REPOSITORY: ${GRAPHDB_DATA_REPO}
FDS_TRIPLE_STORE_USERNAME: ${GRAPHDB_USERNAME}
FDS_TRIPLE_STORE_PASSWORD: ${GRAPHDB_PASSWORD}
For development, we highly recommend using IDE and run Maven commands or the Spring Boot application from it.
- Java (JDK 17)
- PostgreSQL DB (13 or higher)
- Maven (3.6 or higher)
- Docker (20.10 or higher) - for building Docker image only
To run the application, a PostgreSQL DB is required to be running. To configure the standard connection
suitable for development (postgresql://localhost/fds
), simply instruct Spring Boot to use the dev
profile:
$ mvn spring-boot:run -Dspring-boot.run.profiles=dev
Alternatively, create an application.yml
file (or edit appropriate one) in the project root, and then run:
$ mvn spring-boot:run
Run from the root of the project:
$ mvn test
Run from the root of the project:
$ mvn package
Run from the root of the project (requires building jar
file using mvn package
as shown above):
$ docker build -t fairdatastation:local .
Note: Supplied Dockerfile
is multistage and as such does not require Java nor Maven to be
installed directly.
We maintain a CHANGELOG, you should also take a look at our Contributing Guidelines and Security Policy.
This project is licensed under the MIT License - see the LICENSE file for more details.
This code is based on work contucted across a number of projects, in particular C4yourself (funder: Health Holland—Top Sector Life Sciences and Health, grant number: LSHM 21044_C4YOUR- SELF) and Personal Genetic Locker (funder: Nederlandse Organisa- tie voor Wetenschappelijk Onderzoek, grant number: 628.011.022).