Pre-built Docker images for the Masterkey Harvester and Harvester-Admin are available from the Index Data Github Packages container registry.
docker pull ghcr.io/indexdata/harvester:master
docker pull ghrc.io/indexdata/harvester-admin:master
See https://github.com/indexdata/localindices/pkgs/container/harvester and https://github.com/indexdata/localindices/pkgs/container/harvester-admin for other tags and releases options.
The docker images can also be built directly from this repository.
git clone https://github.com/indexdata/localindices
cd localindices
docker build -t harvester --target harvester .
docker build -t harvester-admin --target harvester-admin .
The Harvester container requires MySQL connection information which can be passed to the container at runtime as the following environment variables.
- MYSQLUSER - The username for the MySQL DB
- MYSQLPASS - The password for the MySQL DB
- MYSQLURL - The MySQL JDBC connection string to the MySQL database.
Example:
docker run -d --networks harvester -e MYSQLUSER='localidxadm' -e MYSQLPASS='localidxadmpass' -e MYSQLURL="jdbc:mysql://mysql:3306/localindices?autoReconnect=true" --name harvester harvester
The Harvester Admin container requires the following environment variable:
- HARVESTER_HOST - The hostname ofthe Harvester container
Example:
docker run -d --networks harvester -p 8081:8081 -e HARVESTER_HOST=harvester harvester-admin
Example:
docker compose up -d
This command should install
- a mysql database with the latest localindices schema, without any data, accessible from the host at port 3306
- a harvester responding at port 8080, i.e. to be accessed from FOLIO mod-harvester-admin
- a legacy harvester admin responding at port 8081, i.e. open the legacy admin UI in a browser with http://localhost:8081/harvester-admin
This is supporting harvest jobs populating FOLIO Inventory but does not include a solr back-end.
When creating the storage definition for harvest jobs that will populate a FOLIO Inventory installed on localhost, the
Harvester storage definition should use http://host.docker.internal:9130/
for "Server URL". This is Docker's internal
name for the host's localhost, followed by Okapi's standard port.