Spryker in Docker Services
  • Updated on 14 Jan 2020
  • 2 minutes to read
  • Print
  • Share
  • Dark
    Light

Spryker in Docker Services

  • Print
  • Share
  • Dark
    Light

General Information

This page describes the how you can get direct access to the services shipped with Spryker in Docker by default. Find the list of the services you can get direct access to below:

  • ElasticSearch
  • Kibana UI
  • RabbitMQ
  • Swagger UI
  • Redis
  • Before proceeding to configuring a service, make sure to install or update Docker SDK to the latest version:
git clone https://github.com/spryker/docker-sdk.git ./docker
  • After enabling a service, make sure to apply the new configuration:

    1. Bootstrap docker setup:
    docker/sdk boot {deploy.dev.yml}
    
    1. Once the job finishes, build and start the instance:
    docker/sdk up
    

ElasticSearch

Elasticsearch is a search engine based on the Lucene library. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.

See Configuring Elasticsearch to learn more about Elastcisearch configuration in Spryker.

Configuration

Adjust deploy.*.yml in the services: section to open the port used for accessing ElasticSearch:

services:
    search:
    engine: elastic
    endpoints:
        localhost:9200
           protocol: tcp

Kibana UI

Kibana is an open source analytics and visualization platform designed to work with Elasticsearch. You use Kibana to search, view, and interact with data stored in Elasticsearch indices. You can easily perform advanced data analysis and visualize your data in a variety of charts, tables, and maps.

In Docker SDK, Kibana UI is provided as a service by default.

Configuration

  1. Adjust deploy.*.yml in the services: section:
services:
    ...
    kibana:
      engine: kibana
      endpoints:
         kibana.spryker.local:
  1. Adjust host file:
echo "127.0.0.1 kibana.spryker.local" | sudo tee -a /etc/hosts

RabbitMQ

RabbitMQ is a messaging broker - an intermediary for messaging. It gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.

Configuration

Adjust deploy.*.yml in the services: section to open the port used for accessing RabbitMQ:

services:
 broker:
 ...
 endpoints:
 ... 
     localhost:5672:
           protocol: tcp
     api.queue.spryker.local:

Swagger UI

Swagger UI allows anyone — be it your development team or your end consumers — to visualize and interact with the API’s resources without having any of the implementation logic in place. It’s automatically generated from your OpenAPI (formerly known as Swagger) Specification, with the visual documentation making it easy for back end implementation and client-side consumption.

In Docker SDK, Swagger UI is provided as a service by default.

Rest API Reference in Spryker

Spryker provides the basic functionality to generate OpenApi schema specification for REST API endpoints. This document provides an overview of REST API endpoints. For each endpoint, you will find the URL, REST request parameters as well as the appropriate request and response data formats.

Configuration

  1. Run the command to install the required Docker SDK version:
    git clone https://github.com/spryker/docker-sdk.git 1.3.0 ./docker
  1. Adjust deploy.*.yml in the services: section:
services:
    ...
    swagger:
      engine: swagger-ui
      endpoints:
         {endpoint}:
  1. Adjust the host file:
echo "127.0.0.1 {endpoint name e.g swagger.spryker.local}" | sudo tee -a /etc/hosts

Redis

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams.

Configuration

services:
    key_value_store:
    engine: redis
    endpoints:
        localhost:16379:
           protocol: tcp
Was this article helpful?