blob: e72bb011b72c7117320484bdf35165476dc0206e [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ============================================================
# NOTICE
# ============================================================
# This docker-compose file is for validating releases only. To use StreamPipes, use the installation instructions
# provided on https://streampipes.apache.org/download
#
version: "3.8"
# global logging
x-logging:
&default-logging
options:
max-size: '12m'
max-file: '5'
driver: json-file
services:
#### apache/incubator-streampipes
backend:
build:
context: ./streampipes-backend
dockerfile: Dockerfile
args:
BASE_IMAGE: adoptopenjdk/openjdk8-openj9:alpine-slim
image: incubator-streampipes_backend:release-validation
depends_on:
- consul
- couchdb
volumes:
- backend:/root/.streampipes
- files:/spImages
logging: *default-logging
networks:
spnet:
connect-master:
build:
context: ./streampipes-connect-container-master
dockerfile: Dockerfile
args:
BASE_IMAGE: adoptopenjdk/openjdk8-openj9:alpine-slim
image: incubator-streampipes_connect-master:release-validation
depends_on:
- consul
- couchdb
environment:
- EXECUTION_MODE=MASTER
- SP_CONNECT_CONTAINER_HOST=connect-master
- SP_CONNECT_CONTAINER_WORKER=connect-worker
logging: *default-logging
networks:
spnet:
ui:
build:
context: ./ui
dockerfile: Dockerfile
args:
BASE_IMAGE: nginx
image: incubator-streampipes_ui:release-validation
ports:
- "80:80"
depends_on:
- couchdb
- activemq
- consul
- connect-master
- backend
logging: *default-logging
networks:
spnet:
#### Mandatory external services
activemq:
image: fogsyio/activemq:5.15.9
logging: *default-logging
networks:
spnet:
consul:
image: fogsyio/consul:1.7.1
environment:
- "CONSUL_LOCAL_CONFIG={\"disable_update_check\": true}"
- "CONSUL_BIND_INTERFACE=eth0"
- "CONSUL_HTTP_ADDR=0.0.0.0"
entrypoint:
- consul
- agent
- -server
- -bootstrap-expect=1
- -data-dir=/consul/data
- -node=consul-one
- -bind={{ GetInterfaceIP "eth0" }}
- -client=0.0.0.0
- -enable-script-checks=true
- -ui
logging: *default-logging
volumes:
- consul:/consul/data
networks:
spnet:
ipv4_address: 172.31.0.9
couchdb:
image: fogsyio/couchdb:2.3.1
logging: *default-logging
volumes:
- couchdb:/opt/couchdb/data
networks:
spnet:
kafka:
image: fogsyio/kafka:2.2.0
hostname: kafka
depends_on:
- zookeeper
environment:
# see: https://github.com/confluentinc/schema-registry/issues/648
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://:9092
KAFKA_LISTENERS: PLAINTEXT://:9092
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_ADVERTISED_HOST_NAME: kafka
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_MESSAGE_MAX_BYTES: 5000012
KAFKA_FETCH_MESSAGE_MAX_BYTES: 5000012
KAFKA_REPLICA_FETCH_MAX_BYTES: 10000000
volumes:
- kafka:/kafka
- /var/run/docker.sock:/var/run/docker.sock
logging: *default-logging
networks:
spnet:
zookeeper:
image: fogsyio/zookeeper:3.4.13
logging: *default-logging
volumes:
- zookeeper:/opt/zookeeper-3.4.13
networks:
spnet:
influxdb:
image: fogsyio/influxdb:1.7
environment:
- INFLUXDB_DATA_ENGINE=tsm1
- INFLUXDB_REPORTING_DISABLED=false
- INFLUXDB_ADMIN_ENABLED=true
volumes:
- influxdb:/var/lib/influxdb
logging: *default-logging
networks:
spnet:
volumes:
kafka:
files:
consul:
couchdb:
zookeeper:
influxdb:
backend:
networks:
spnet:
name: spnet
driver: bridge
ipam:
config:
- subnet: 172.31.0.0/16