Getting started¶
To quickly install the service for development/testing purposes, we recommend
deployment via Docker Compose, as
described below. For more durable deployments on cloud native infrastructure,
we also provide a Helm chart in the
deployment/
directory (see Deployment). The FOCA deployment
guide explains how FOCA
apps, such as this one, are configured with Docker Compose and Helm (base
config, overlays and secrets).
Quick start¶
With Git (tested with 2.17.1) and Docker with the Compose plugin (version 2) installed, clone the repository and start the registry with its MongoDB database:
git clone https://github.com/elixir-cloud-aai/cloud-registry.git
cd cloud-registry
docker compose up --build -d
The API is then served at http://localhost:8080/ga4gh/registry/v1/, with a
Swagger UI at
http://localhost:8080/ga4gh/registry/v1/ui:
Note
Where versions are indicated, they were used to test deployment. Other versions with the same major version numbers will likely work as well, especially newer ones.
MongoDB is only reachable from the app container; its data is kept in the
Compose project's mongodb-data volume (e.g., cloud-registry_mongodb-data,
see docker volume ls). Earlier versions kept the data elsewhere (see
Upgrading).
Other useful commands¶
To shut down the service, run:
Add --volumes to also delete the database.
If you need to inspect the logs, call:
Usage¶
Note
The image's Gunicorn listens on port 8080 (--bind, see
Server);
docker-compose.yaml
publishes it on the host's loopback interface (127.0.0.1) only, as its
development config accepts tokens for any audience. If you change the
published port, update the URLs above accordingly. server.port of the
config
only sets the port of the development server
(python -m cloud_registry.app).
Endpoints
can be probed with curl, as above. Requests that change data need an access
token (see Authentication). See
API for all endpoints, and Configuration
to change the config of the Docker Compose setup.