Docker compose to launch FAIR EVA
- Docker + Docker Compose v2 (
docker compose)
Build the images and start the services (API + web UI):
docker compose -f compose.yml up -d --buildURLs:
- Web UI:
http://localhost:8000 - API:
http://localhost:9090(for examplehttp://localhost:9090/v1.0/openapi.json)
docker compose -f compose.yml ps
docker compose -f compose.yml logs -fLogs for a specific service:
docker compose -f compose.yml logs -f fair-eva
docker compose -f compose.yml logs -f fair-eva-webStop and remove containers/network:
docker compose -f compose.yml downStop without removing containers:
docker compose -f compose.yml stopFAIR EVA needs at least one plugin to run evaluations (in API requests it is selected with repo, e.g. oai_pmh).
In this repo, plugins are installed at build time (reproducible) via FAIR_EVA_PLUGINS, which is passed as a --build-arg to the backend image.
Examples:
- Keep the default (installs
fair-eva-plugin-oai-pmhfrom GitHub):
docker compose -f compose.yml up -d --build- Choose plugins explicitly (for example, a plugin from Git):
FAIR_EVA_PLUGINS="git+https://github.com/IFCA-Advanced-Computing/fair-eva-plugin-oai-pmh@main" \
docker compose -f compose.yml up -d --build2b) Install more than one plugin (space-separated pip specs):
FAIR_EVA_PLUGINS="git+https://github.com/IFCA-Advanced-Computing/fair-eva-plugin-oai-pmh@main git+https://github.com/<ORG>/<ANOTHER_PLUGIN>@<REF>" \
docker compose -f compose.yml up -d --build- Change plugins and rebuild only the backend:
FAIR_EVA_PLUGINS="..." docker compose -f compose.yml build --no-cache fair-eva
docker compose -f compose.yml up -dNote: FAIR_EVA_PLUGINS accepts any pip spec (PyPI packages, pkg==x.y, or git+https://...).