Merge pull request #910 from minhchu/support-meilisearch

Add support for meilisearch
This commit is contained in:
cytopia 2022-12-20 10:46:40 +01:00 committed by GitHub
commit 2828e837d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 218 additions and 0 deletions

View File

@ -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:

View File

@ -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:

View File

@ -135,3 +135,16 @@
<a target="_blank" href="https://github.com/elastic/kibana">
GitHub: Kibana <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
</a>
.. |ext_lnk_meilisearch_github| raw:: html
<a target="_blank" href="https://github.com/meilisearch/meilisearch">
Github: Meilisearch <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
</a>
.. |ext_lnk_meilisearch_dockerhub| raw:: html
<a target="_blank" href="https://hub.docker.com/r/getmeili/meilisearch">
Dockerhub: Meilisearch <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
</a>

View File

@ -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

View File

@ -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

View File

@ -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