Elasticsearch

Elasticsearch is a search and analytics engine, commonly used as a substitute for Solr or for collecting log and metrics data. You can easily add it to your Lando app by adding an entry to the services key in your app's .lando.yml.

Supported versions

Example

# elasticsearch example
name: elasticsearch

#
# You need to run `lando npm install` before you run `lando start` for this
# example to work
#

# Give me http://elasticsearch.lndo.site
proxy:
  appserver:
    - elasticsearch.lndo.site

# Spin up a basic nodes server with elasticsearch backend
services:

  # Spin up a memcache container called "search"
  # NOTE: "search" is arbitrary, you could just as well call this "theboss" or "eljefe"
  search:

    # Use version 5.4 of elasticsearch
    type: elasticsearch:5.4

    # Optionally allow access to the cache at localhost:9999
    # You will need to make sure port 9999 is open on your machine
    #
    # You can also set `portforward: true` to have Lando dynamically assign
    # a port. Unlike specifying an actual port setting this to true will give you
    # a different port every time you restart your app
    portforward: 9999

    # Optionally load in a custom config file. This is relative to the app root.
    #
    # config: customElasticsearch.yml

    # There are various envvars you can specify to further customize how
    # elasticsearch works.
    #
    # See: https://hub.docker.com/r/itzg/elasticsearch/
    #
    # overrides:
      # services:
        # environment:
          # ES_JAVA_OPTS: -Xms16g -Xmx16g
          # PLUGINS: elasticsearch/marvel/latest

  # Spin up services to run a basic node server
  appserver:
    type: node:6.10
    command: npm start

# Add some nice command routing
tooling:
  yarn:
    service: appserver_cli
  npm:
    service: appserver_cli
  node:
    service: appserver_cli

You will need to rebuild your app with lando rebuild to apply the changes to this file. You can check out the full code for this example over here.

Getting information

You can get connection and credential information about your elasticsearch instance by running lando info from inside your app.

# Navigate to the app
cd /path/to/app

# Get info (app needs to be running to get this)
lando info

{
  "search": {
    "type": "elasticsearch",
    "version": "5.4",
    "internal_connection": {
      "host": "search",
      "port": 9200
    },
    "external_connection": {
      "host": "localhost",
      "port": "9999"
    }
  },
  "appserver": {
    "type": "node",
    "version": "6.10",
    "urls": [
      "http://localhost:32780",
      "http://elasticsearch.lndo.site:8000"
    ]
  }
}

results matching ""

    No results matching ""