Skip to content

crs4/Beacon4Biobanks

 
 

Repository files navigation

Beacon v2.x

This repository is an implementation of the Beacon v2.0 Model and extends the Reference Implementation by implementing a FHIR endpoint that allows to query /individuals and /biosamples endpoints from a FHIR Store that contains data represented as FHIR Resources compliant with the BBMRI Sample Locator model.

For the deployment and the documentation of the Beacon reference implementation please refer to the main repository.

Here only the deployment with a FHIR backend is documented

Deployment

To deploy a Beacon service that queries data from a FHIR store, it is possible to use Docker.

Conf file

The docker image needs a configuration file mounted at /beacon/config.yml path of the container

To create a config.yml file, use the conf/config.fhir.yml template and edit it with the information of your beacon.

In particular fill:

  • Info section: just some data about the beacon
  • Organization: information about the organization that is exposing the beacon
  • Project Info:
  • FHIR Store Info: connection parameters of the FHIR Store to use as backend

Environment variables

Three environment variables, all related to Nginx, must be set:

  • SERVER_NAME: same as Nginx's server name directive
  • PORT: the port used for the service
  • SSL_ENABLED: true or false to enable SSL (recommended)

SSL

In case SSL is enabled, the key-certificate pair must be mounted on /etc/ssl/certs/beacon.key and /etc/ssl/certs/beacon.cert

Example

The /deploy/docker-compose.fhir.yaml is an example that deploy a Beacon and the FHIR store to query.

An example of a standalone Beacon service that queries an external FHIR store is:

docker run -e SERVER_NAME=beacon -e PORT=5050 -e SSL_ENABLED=false -v <conf-file>:/beacon/beacon/conf.py -p 5050:5050 crs4/beacon:2.0-fhir

About

Beacon implementation for Biobanks Backends

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 85.8%
  • HTML 7.2%
  • CSS 2.7%
  • Dockerfile 1.4%
  • JavaScript 1.3%
  • Shell 1.1%
  • Makefile 0.5%