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, OpenSearch, OpenSearch Dashboards | |
| search-gov | docker compose --profile search-gov up |
search-gov | MySQL, Elasticsearch, Kibana, Redis, OpenSearch, OpenSearch Dashboards, search-gov, i14y, resque-workers, resque-scheduler, spider, spider-scheduler, spider-sitemap |
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 uses the Redis key-value store for caching, queue workflow via Resque, and some analytics. Optionally, you can install the Redis CLI.
OpenSearch is an open-source search and analytics suite used by search-gov. Locally, it runs on port 9300.
OpenSearch Dashboards is not required by the applications, but can be very useful for debugging OpenSearch. OpenSearch Dashboards are available at http://localhost:5701.
Kibana is not required by the applications, but can be very useful for debugging Elasticsearch. Kibana for the Elasticsearch 7 cluster is available at http://localhost:5601.