Before installing Maestro, ensure that the following software services are installed and running:
Maestro uses Kafka for efficient data processing from incoming Song servers and Elasticsearch for indexing this data. Follow these steps to set up both services:
Make a docker-compose.yml
with the following information:
version: '2'services:zookeeper:image: confluentinc/cp-zookeeper:latestenvironment:ZOOKEEPER_CLIENT_PORT: 2181ZOOKEEPER_TICK_TIME: 2000ports:- 22181:2181kafka:image: confluentinc/cp-kafka:latestdepends_on:- zookeeperports:- 29092:29092- 9092:9092environment:KAFKA_BROKER_ID: 1KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://host.docker.internal:9092,PLAINTEXT_HOST://localhost:29092KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXTKAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXTKAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:7.17.12ports:- 9200:9200environment:- discovery.type=single-node- cluster.name=maestro.elasticsearch- "ES_JAVA_OPTS=-Xms512m -Xmx2048m"
After saving the docker-compose.yml file, execute the following command in the same directory:
docker-compose up