Summary
The Beacon v2 Reference Implementation is a software that must be installed locally in a Linux server/workstation.
The software is distributed in two different GitHub repositories:
-
The data ingestion tools (beacon2-ri-tools).
-
The API (beacon2-ri-api).
Tip
The data ingestion tools can function without the API, so you can download one without the other.
The software also needs external dependencies to work. In this regard, we provide several alternatives for download and installation.
Before starting, it will be necessary to install:
Containerized (Recommended)
Method 1: All containers in one
Setting up all the containers, beacon2-ri-tools
and beacon2-ri-api
together using the beacon2-ri-api repository.
Clone beacon2-ri-api
GitHub repository.
git clone https://github.com/EGA-archive/beacon2-ri-api.git
From now on, the commands should be executed from the deploy directory.
cd beacon2-ri-api/deploy
Light up all the containers.
docker network create my-app-network
docker-compose up -d --build
Deploying external tools in beacon2-ri-tools
container
External Tools Architecture Alert
Please note that the external tools are compiled specifically for x86-64
architecture. Consequently, they are not compatible with newer ARM-based Macs.
This step will inject the external tools and DBs into the image and modify the configuration files. It will also run a test to check that the installation was successful. Note that running deploy_external_tools.sh
will take some time (and disk space!!!).
Go inside beacon2-ri-tools
container.
docker exec -it deploy_beacon-ri-tools_1 bash
bash /usr/share/beacon-ri/beacon2-ri-tools/BEACON/bin/deploy_external_tools.sh
Important
The container's name should be similar to deply_beacon-ri-tools_1
. It can be extracted from docker ps (docker exec–it<container_name>bash
)
With mongo-express
it is possible to see the contents of the data base at http://localhost:8081.
For more installation options, please follow the instructions provided in the README.
Method 2: Independent containers
Download the beacon2-ri-tools
container and the beacon2-ri-api
container independently.
Data ingestion tools (beacon2-ri-tools
)
Note
The original version of the tools is now deprecated and unmaintained. Due to restricted access to the original EGA-archive repository, development has continued in a new forked repository. The latest and actively maintained version of beacon2-ri-tools
can be found in the following repository.
See installation instructions here.
External Tools Architecture Alert
Please note that the external tools are compiled specifically for x86-64
architecture. Consequently, they are not compatible with newer ARM-based Macs.
About MongoDB Community version
We're deliberately installing mongodb
package provided by Ubuntu, which is not maintained by MongoDB Inc. The official distribution of MongoDB Community is called mongodb-org
and can be obtained here.
Important
We will be installing MongoDB with a single node/server configuration. Note that MongoDB allows for other topologies such as as replica sets that we won't be covering in this documentation.
Beacon v2 REST API (beacon2-ri-api
)
See installation intructions here
Non containerized (beacon2-ri-tools
)
Message
This alternative requires a few more steps than the containerized one, but it gives the deployer more control over the tools. Only recommended for advanced users.
See instructions here.