This repo includes a centralized configuration for services used by Search.gov applications, including:
In order to run the services, you will need to install Docker. We recommend setting the max memory alloted to Docker to 4GB (in Docker Desktop, Preferences > Resources > Advanced). See the wiki for more documentation on basic Docker commands.
The docker-compose.yml file configures each service. You can refer to Matrix on how to run required services for each application.
Application/Repo | Command | Profile name | Services |
---|---|---|---|
docker compose up |
N/A | MySQL, Elasticsearch, Kibana, Redis, Tika | |
search-gov | docker compose --profile search-gov up |
search-gov | MySQL, Elasticsearch, Kibana, Redis, Tika, search-gov, resque-worker, resque-scheduler |
i14y | docker compose --profile i14y up |
i14y | MySQL, Elasticsearch, Kibana, Redis, Tika, i14y, resque-worker, resque-scheduler |
ASIS | docker compose --profile asis up |
asis | MySQL, Elasticsearch, Kibana, Redis, Tika, asis, sidekiq |
Alternatively, you can run a subset of the services, i.e.:
docker compose up mysql elasticsearch7
Each repo uses one or more of the following services:
Database backend required by search-gov.
Services for Elasticsearch 7 are provided here.
Elasticsearch plugins:
Some specs depend upon Elasticsearch having a valid trial license. A 30-day trial license is automatically applied when the cluster is initially created. If your license expires, you can rebuild the cluster by rebuilding the container and its data volume.
All of our applications use Elasticsearch 7 in production for full-text search. Locally, it runs on the default port 9200.
search-gov and ASIS use the Redis key-value store for caching, queue workflow via Resque (search-gov) and Sidekiq (ASIS), and some analytics. Optionally, you can install the Redis CLI.
Used by search-gov for extracting plain text from PDFs, etc. The Tika REST server runs on port 9998.
Kibana is not required by the applications, but can be very useful for debugging Elasticsearch. Confirm Kibana is available for the Elasticsearch 6 cluster by visiting http://localhost:5601. Kibana for the Elasticsearch 7 cluster should be available at http://localhost:5607.