An open-source, lightning-fast, and hyper-relevant search engine that fits effortlessly into your workflow.
One port needs to be allocated to run Meilisearch.
Name | Tag |
---|---|
ghcr.io/ptero-eggs/yolks:debian | ghcr.io/ptero-eggs/yolks:debian |
Name | Description | Environment Variable | Default Value | User Viewable | User Editable |
---|---|---|---|---|---|
Master key | In production, a Master key of at least 16 bytes is mandatory Sets the instance's master key, automatically protecting all routes except GET /health. This means you will need a valid API key to access all other endpoints. | MEILI_MASTER_KEY | Yes | Yes | |
Environment | Configures the instance's environment. Value must be either production or development. | MEILI_ENV | development | Yes | Yes |
Disable analytics | Deactivates Meilisearch's built-in telemetry when provided. | NO_ANALYTICS | 0 | Yes | Yes |
Dumps dir | Sets the directory where Meilisearch will create dump files. | MEILI_DUMP_DIR | /home/container/dumps | Yes | No |
DB PATH | Designates the location where database files will be created and retrieved. | MEILI_DB_PATH | /home/container/data.ms | Yes | No |
Log level | Defines how much detail should be present in Meilisearch's logs. | MEILI_LOG_LEVEL | INFO | Yes | Yes |
Config Path | Designates the location of the configuration file to load at launch. | MEILI_CONFIG_FILE_PATH | /home/container/config.toml | Yes | No |
Max threads | Sets the maximum number of threads Meilisearch can use during indexing | MEILI_MAX_INDEXING_THREADS | 2 | Yes | No |
#!/bin/bash
## get release info and download links
LATEST_JSON=$(curl --silent "https://api.github.com/repos/meilisearch/meilisearch/releases/latest")
RELEASES=$(curl --silent "https://api.github.com/repos/meilisearch/meilisearch/releases")
MATCH=$([[ "$(uname -m)" == "x86_64" ]] && echo "linux-amd64" || echo "linux-aarch64")
if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})
else
VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
if [ "${VERSION}" == "${VERSION_CHECK}" ]; then
DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})
else
echo -e "defaulting to latest release"
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)
fi
fi
mkdir -p /mnt/server
cd /mnt/server
## Config file
FILE=/mnt/server/config.toml
if [ -f "$FILE" ]; then
echo "Config file exits"
else
echo "Config does not exist. Making one"
curl -sSL -o config.toml https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml
fi
curl -sSL -o meilisearch ${DOWNLOAD_URL}
chmod +x meilisearch
# Make the needed directory's
mkdir -p /mnt/server/dumps
mkdir -p /mnt/server/data.ms
## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"