diff --git a/compose/docker-compose.override.yml-all b/compose/docker-compose.override.yml-all
index eb558833..7322ceb8 100644
--- a/compose/docker-compose.override.yml-all
+++ b/compose/docker-compose.override.yml-all
@@ -243,6 +243,26 @@ services:
- bind
- httpd
+ # -----------------------------------------------------------------------------------------------
+ # Meilisearch
+ # -----------------------------------------------------------------------------------------------
+ meilisearch:
+ image: getmeili/meilisearch:${MEILI_SERVER:-latest}
+ hostname: meilisearch
+ command: meilisearch
+ environment:
+ - MEILI_MASTER_KEY=${MEILI_MASTER_KEY-""}
+ ports:
+ - "${LOCAL_LISTEN_ADDR}${HOST_PORT_MEILI:-7700}:7700"
+ networks:
+ app_net:
+ ipv4_address: 172.16.238.203
+ volumes:
+ - devilbox-meilisearch:/meili_data
+ depends_on:
+ - bind
+ - php
+ - httpd
###
### Volumes
@@ -252,3 +272,4 @@ volumes:
devilbox-solr:
devilbox-elastic:
devilbox-logstash:
+ devilbox-meilisearch:
diff --git a/compose/docker-compose.override.yml-meilisearch b/compose/docker-compose.override.yml-meilisearch
new file mode 100644
index 00000000..e3fcf442
--- /dev/null
+++ b/compose/docker-compose.override.yml-meilisearch
@@ -0,0 +1,29 @@
+# vim: set ft=yaml:
+---
+version: '2.3'
+
+services:
+
+ # -----------------------------------------------------------------------------------------------
+ # Meilisearch
+ # -----------------------------------------------------------------------------------------------
+ meilisearch:
+ image: getmeili/meilisearch:${MEILI_SERVER:-latest}
+ hostname: meilisearch
+ command: meilisearch
+ environment:
+ - MEILI_MASTER_KEY=${MEILI_MASTER_KEY-""}
+ ports:
+ - "${LOCAL_LISTEN_ADDR}${HOST_PORT_MEILI:-7700}:7700"
+ networks:
+ app_net:
+ ipv4_address: 172.16.238.203
+ volumes:
+ - devilbox-meilisearch:/meili_data
+ depends_on:
+ - bind
+ - php
+ - httpd
+
+volumes:
+ devilbox-meilisearch:
diff --git a/docs/_includes/links/documentation.rst b/docs/_includes/links/documentation.rst
index 4bb7f84e..c2c30b8e 100644
--- a/docs/_includes/links/documentation.rst
+++ b/docs/_includes/links/documentation.rst
@@ -135,3 +135,16 @@
GitHub: Kibana
+
+.. |ext_lnk_meilisearch_github| raw:: html
+
+
+ Github: Meilisearch
+
+
+.. |ext_lnk_meilisearch_dockerhub| raw:: html
+
+
+ Dockerhub: Meilisearch
+
+
diff --git a/docs/_includes/snippets/docker-compose-override-tree-view.rst b/docs/_includes/snippets/docker-compose-override-tree-view.rst
index 61d1f0cc..e4cb1eca 100644
--- a/docs/_includes/snippets/docker-compose-override-tree-view.rst
+++ b/docs/_includes/snippets/docker-compose-override-tree-view.rst
@@ -12,6 +12,7 @@ However, each example also exists in its standalone file as shown below:
├── docker-compose.override.yml-blackfire
├── docker-compose.override.yml-elk
├── docker-compose.override.yml-mailhog
+ ├── docker-compose.override.yml-meilisearch
├── docker-compose.override.yml-ngrok
├── docker-compose.override.yml-php-community
├── docker-compose.override.yml-python-flask
diff --git a/docs/custom-container/enable-meilisearch.rst b/docs/custom-container/enable-meilisearch.rst
new file mode 100644
index 00000000..3eca581e
--- /dev/null
+++ b/docs/custom-container/enable-meilisearch.rst
@@ -0,0 +1,153 @@
+.. include:: /_includes/all.rst
+.. include:: /_includes/snippets/__ANNOUNCEMENTS__.rst
+
+.. _custom_container_enable_meilisearch:
+
+********************************
+Enable and configure Meilisearch
+********************************
+
+This section will guide you through getting Meilisearch integrated into the Devilbox.
+
+.. seealso::
+ * |ext_lnk_meilisearch_github|
+ * |ext_lnk_meilisearch_dockerhub|
+ * :ref:`custom_container_enable_all_additional_container`
+ * :ref:`docker_compose_override_yml_how_does_it_work`
+
+
+**Table of Contents**
+
+.. contents:: :local:
+
+
+Overview
+========
+
+Available overwrites
+--------------------
+
+.. include:: /_includes/snippets/docker-compose-override-tree-view.rst
+
+
+Meilisearch settings
+--------------------
+
+In case of Meilisearch, the file is ``compose/docker-compose.override.yml-meilisearch``. This file
+must be copied into the root of the Devilbox git directory.
+
++-----------------------+--------------------------------------------------------------------------------------------------------+
+| What | How and where |
++=======================+========================================================================================================+
+| Example compose file | ``compose/docker-compose.override.yml-all`` or |br| ``compose/docker-compose.override.yml-meilisearch``|
++-----------------------+--------------------------------------------------------------------------------------------------------+
+| Container IP address | ``172.16.238.203`` |
++-----------------------+--------------------------------------------------------------------------------------------------------+
+| Container host name | ``meilisearch`` |
++-----------------------+--------------------------------------------------------------------------------------------------------+
+| Container name | ``meilisearch`` |
++-----------------------+--------------------------------------------------------------------------------------------------------+
+| Mount points | via Docker volumes |
++-----------------------+--------------------------------------------------------------------------------------------------------+
+| Exposed port | ``7700`` (can be changed via ``.env``) |
++-----------------------+--------------------------------------------------------------------------------------------------------+
+| Available at | ``http://localhost:7700`` (API and Admin WebUI) |
++-----------------------+--------------------------------------------------------------------------------------------------------+
+| Further configuration | none |
++-----------------------+--------------------------------------------------------------------------------------------------------+
+
+Meilisearch env variables
+-------------------------
+
+Additionally the following ``.env`` variables can be created for easy configuration:
+
++------------------------------+-------------------+----------------------------------------------------------------------------------+
+| Variable | Default value | Description |
++==============================+===================+==================================================================================+
+| ``HOST_PORT_MEILI`` | ``7700`` | Controls the host port on which Meilisearch API and WebUI will be available at. |
++------------------------------+-------------------+----------------------------------------------------------------------------------+
+| ``MEILI_SERVER`` | ``latest`` | Controls the Meilisearch version to use. |
++------------------------------+-------------------+----------------------------------------------------------------------------------+
+| ``MEILI_MASTER_KEY`` | none | Default Meilisearch master key. |
++------------------------------+-------------------+----------------------------------------------------------------------------------+
+
+
+Instructions
+============
+
+1. Copy docker-compose.override.yml
+-----------------------------------
+
+Copy the Meilisearch Docker Compose overwrite file into the root of the Devilbox git directory.
+(It must be at the same level as the default ``docker-compose.yml`` file).
+
+.. code-block:: bash
+
+ host> cp compose/docker-compose.override.yml-meilisearch docker-compose.override.yml
+
+.. seealso::
+ * :ref:`docker_compose_override_yml`
+ * :ref:`add_your_own_docker_image`
+ * :ref:`overwrite_existing_docker_image`
+
+
+2. Adjust ``.env`` settings (optional)
+--------------------------------------
+
+Meilisearch is using sane defaults, which can be changed by adding variables to the ``.env`` file
+and assigning custom values.
+
+Add the following variables to ``.env`` and adjust them to your needs:
+
+.. code-block:: bash
+ :caption: .env
+
+ # Meilisearch version to choose
+ #MEILI_SERVER=v0.26.0
+ #MEILI_SERVER=v0.27.0
+ #MEILI_SERVER=v0.28
+ MEILI_SERVER=latest
+
+ MEILI_MASTER_KEY=
+ HOST_PORT_MEILI=7700
+
+.. seealso:: :ref:`env_file`
+
+
+3. Start the Devilbox
+---------------------
+
+The final step is to start the Devilbox with Meilisearch.
+
+Let's assume you want to start ``php``, ``httpd``, ``bind``, ``meilisearch``.
+
+.. code-block:: bash
+
+ host> docker-compose up -d php httpd bind meilisearch
+
+.. seealso:: :ref:`start_the_devilbox`
+
+
+TL;DR
+=====
+
+For the lazy readers, here are all commands required to get you started.
+Simply copy and paste the following block into your terminal from the root of your Devilbox git
+directory:
+
+.. code-block:: bash
+
+ # Copy compose-override.yml into place
+ cp compose/docker-compose.override.yml-meilisearch docker-compose.override.yml
+
+ # Create .env variable
+ echo "# Meilisearch version to choose" >> .env
+ echo "#MEILI_SERVER=v0.26.0" >> .env
+ echo "#MEILI_SERVER=v0.27.0" >> .env
+ echo "#MEILI_SERVER=v0.28" >> .env
+ echo "MEILI_SERVER=latest" >> .env
+ echo "MEILI_MASTER_KEY=" >> .env
+ echo "HOST_PORT_MEILI=7700" >> .env
+
+ # Start container
+ docker-compose up -d php httpd bind meilisearch
diff --git a/docs/index.rst b/docs/index.rst
index c640a134..2ae61b4b 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -122,6 +122,7 @@ host is ready to be served with your custom domain.
custom-container/enable-blackfire
custom-container/enable-elk-stack
custom-container/enable-mailhog
+ custom-container/enable-meilisearch
custom-container/enable-ngrok
custom-container/enable-python-flask
custom-container/enable-rabbitmq