diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 8a0e6b6..aa50ab9 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -48,6 +48,7 @@ "27017": { "label": "mongo" }, "9201": { "label": "elasticsearch710" }, "9301": { "label": "elasticsearch710" }, + "7700": { "label": "meilisearch184" }, "9202": { "label": "opensearch12" }, "9600": { "label": "opensearch12" }, "8081": { "label": "schema-registry" }, diff --git a/Makefile b/Makefile index 66a9c3d..625dd0c 100644 --- a/Makefile +++ b/Makefile @@ -186,17 +186,19 @@ dev.provision.%: dev.check-memory ## Provision specified services. echo $* bash ./provision.sh $* -dev.backup: dev.up.mysql80+mongo+elasticsearch710+opensearch12+coursegraph ## Write all data volumes to the host. +dev.backup: dev.up.mysql80+mongo+elasticsearch710+meilisearch184+opensearch12+coursegraph ## Write all data volumes to the host. docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mysql80) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/mysql80.tar.gz /var/lib/mysql docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mongo) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/mongo.tar.gz /data/db docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.elasticsearch710) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/elasticsearch710.tar.gz /usr/share/elasticsearch/data + docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.meilisearch184) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/meilisearch184.tar.gz /usr/share/elasticsearch/data docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.opensearch12) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/opensearch12.tar.gz /usr/share/opensearch/data docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.coursegraph) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/coursegraph.tar.gz /data -dev.restore: dev.up.mysql80+mongo+elasticsearch710+opensearch12+coursegraph ## Restore all data volumes from the host. WILL OVERWRITE ALL EXISTING DATA! +dev.restore: dev.up.mysql80+mongo+elasticsearch710+meilisearch184+opensearch12+coursegraph ## Restore all data volumes from the host. WILL OVERWRITE ALL EXISTING DATA! docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mysql80) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/mysql80.tar.gz docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mongo) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/mongo.tar.gz docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.elasticsearch710) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/elasticsearch710.tar.gz + docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.meilisearch184) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/meilisearch184.tar.gz docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.opensearch12) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/opensearch12.tar.gz docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.coursegraph) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/coursegraph.tar.gz diff --git a/docker-compose.yml b/docker-compose.yml index 87c5e83..c975ba9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -66,6 +66,21 @@ services: - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" + meilisearch184: + container_name: "edx.${COMPOSE_PROJECT_NAME:-devstack}.meilisearch184" + hostname: meilisearch184.devstack.edx + image: getmeili/meilisearch:v1.8.4 + networks: + default: + aliases: + - meilisearch + ports: + - "7700:7700" + volumes: + - meilisearch184_data:/usr/share/meilisearch/data + environment: + - MEILI_MASTER_KEY=my_super_secret_key + # This is meant to be used to test OS upgrades. opensearch12: container_name: "edx.${COMPOSE_PROJECT_NAME:-devstack}.opensearch12" @@ -642,7 +657,7 @@ services: container_name: "edx.${COMPOSE_PROJECT_NAME:-devstack}.cms" hostname: cms.devstack.edx depends_on: - - elasticsearch710 + - meilisearch184 - lms - memcached - mongo @@ -1242,6 +1257,7 @@ volumes: edxapp_lms_assets: edxapp_cms_assets: elasticsearch710_data: + meilisearch184_data: mongo_data: mongo_config_data: opensearch12_data: diff --git a/options.mk b/options.mk index a934498..a1418df 100644 --- a/options.mk +++ b/options.mk @@ -90,4 +90,4 @@ credentials+cms+discovery+ecommerce+insights+lms+registrar # All third-party services. # Separated by plus signs. Listed in alphabetical order for clarity. THIRD_PARTY_SERVICES ?= \ -chrome+coursegraph+elasticsearch710+firefox+memcached+mongo+mysql80+opensearch12+redis+namenode+datanode+resourcemanager+nodemanager+sparkmaster+sparkworker+vertica +chrome+coursegraph+elasticsearch710+meilisearch184+firefox+memcached+mongo+mysql80+opensearch12+redis+namenode+datanode+resourcemanager+nodemanager+sparkmaster+sparkworker+vertica diff --git a/py_configuration_files/cms.py b/py_configuration_files/cms.py index 25c9427..a85f96b 100644 --- a/py_configuration_files/cms.py +++ b/py_configuration_files/cms.py @@ -146,15 +146,7 @@ def should_show_debug_toolbar(request): # lint-amnesty, pylint: disable=missing ################################ SEARCH INDEX ################################ FEATURES['ENABLE_COURSEWARE_INDEX'] = True FEATURES['ENABLE_LIBRARY_INDEX'] = False -SEARCH_ENGINE = "search.elastic.ElasticSearchEngine" - -ELASTIC_SEARCH_CONFIG = [ - { - 'use_ssl': False, - 'host': 'edx.devstack.elasticsearch710', - 'port': 9200 - } -] +SEARCH_ENGINE = "search.meilisearch.MeilisearchEngine" ################################ COURSE DISCUSSIONS ########################### FEATURES['ENABLE_DISCUSSION_SERVICE'] = True