Skip to content

GSA/search-services

Repository files navigation

search-services

This repo includes a centralized configuration for services used by Search.gov applications, including:

Prerequisites

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.

Services

The docker-compose.yml file configures each service. You can refer to Matrix on how to run required services for each application.

Docker services matrix:

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.

Elasticsearch 7

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.

About

Centralized configuration for services used by Search.gov applications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 9